mesonbuild / meson

The Meson Build System
http://mesonbuild.com
Apache License 2.0
5.58k stars 1.62k forks source link

KeyError: 'b_vscrt' #6758

Open HappyPK opened 4 years ago

HappyPK commented 4 years ago

Describe the bug A clear and concise description of what the bug is.

To Reproduce Please include your meson.build files, preferably as a minimal toy example showing the issue. You may need to create simple source code files (don't include private/proprietary code).

Expected behavior D:\mesa-20.0.0-rc3> meson builddir --backend=vs The Meson build system Version: 0.53.1 Source dir: D:\mesa-20.0.0-rc3 Build dir: D:\mesa-20.0.0-rc3\builddir Build type: native build Program python found: YES (C:\Python38\python.EXE) Project name: mesa Project version: 20.0.0-rc3 C compiler for the host machine: gcc (gcc 8.1.0 "gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0") C linker for the host machine: gcc GNU ld.bfd 2.30 C++ compiler for the host machine: c++ (gcc 8.1.0 "c++.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0") C++ linker for the host machine: c++ GNU ld.bfd 2.30 Auto detected Visual Studio backend: vs2017 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program pkg-config found: YES (C:\ProgramData\chocolatey\bin\pkg-config.EXE) Program C:\Python38\python found: YES (C:\Python38\python.exe) Fetching value of define "ETIME" : 137 Checking for function "bswap32" : YES Checking for function "bswap64" : YES Checking for function "clz" : YES Checking for function "clzll" : YES Checking for function "ctz" : YES Checking for function "expect" : YES Checking for function "ffs" : YES Checking for function "ffsll" : YES Checking for function "popcount" : YES Checking for function "popcountll" : YES Checking for function "unreachable" : YES Checking if "attribute((const))" compiles: YES Checking if "attribute((flatten))" compiles: YES Checking if "attribute((malloc))" compiles: YES Checking if "attribute((pure))" compiles: YES Checking if "attribute((unused))" compiles: YES Checking if "attribute((warn_unused_result))" compiles: YES Checking if "attribute((weak))" compiles: YES Checking if "attribute((format(...)))" compiles: YES Checking if "attribute((packed))" compiles: YES Checking if "attribute((returns_nonnull))" compiles: YES Checking if "attribute((visibility(...)))" compiles: YES Checking if "attribute((alias(...)))" compiles: YES Checking if "attribute((noreturn))" compiles: YES Checking if "__uint128_t" compiles: YES Compiler for C supports arguments -Werror=implicit-function-declaration: YES Compiler for C supports arguments -Werror=missing-prototypes: YES Compiler for C supports arguments -Werror=return-type: YES Compiler for C supports arguments -Werror=empty-body: YES Compiler for C supports arguments -Werror=incompatible-pointer-types: YES Compiler for C supports arguments -Werror=int-conversion: YES Compiler for C supports arguments -Wno-missing-field-initializers -Wmissing-field-initializers: YES Compiler for C supports arguments -Wno-format-truncation -Wformat-truncation: YES Compiler for C supports arguments -fno-math-errno: YES Compiler for C supports arguments -fno-trapping-math: YES Compiler for C supports arguments -Qunused-arguments: NO Compiler for C++ supports arguments -Werror=return-type: YES Compiler for C++ supports arguments -Werror=empty-body: YES Compiler for C++ supports arguments -Wno-non-virtual-dtor -Wnon-virtual-dtor: YES Compiler for C++ supports arguments -Wno-missing-field-initializers -Wmissing-field-initializers: YES Compiler for C++ supports arguments -Wno-format-truncation -Wformat-truncation: YES Compiler for C++ supports arguments -fno-math-errno: YES Compiler for C++ supports arguments -fno-trapping-math: YES Compiler for C++ supports arguments -Qunused-arguments: NO Compiler for C supports arguments -Wno-override-init -Woverride-init: YES Compiler for C supports arguments -Wno-initializer-overrides -Winitializer-overrides: NO Compiler for C supports arguments -fvisibility=hidden: YES Compiler for C supports arguments -Werror=pointer-arith: YES Compiler for C++ supports arguments -Werror=pointer-arith: YES Compiler for C supports arguments -Werror=vla: YES Compiler for C++ supports arguments -Werror=vla: YES Compiler for C supports arguments -Werror=gnu-empty-initializer: NO Compiler for C++ supports arguments -Werror=gnu-empty-initializer: NO Compiler for C++ supports arguments -fvisibility=hidden: YES Checking if "GCC atomic builtins" compiles: YES Checking if "GCC atomic builtins required -latomic" links: YES Checking if "GCC 64bit atomics" with dependency not-found links: YES Library ws2_32 found: YES Header <sys/sysmacros.h> has symbol "major" : NO Header <sys/mkdev.h> has symbol "major" : NO Checking if "xlocale.h" compiles: NO Checking if "sys/sysctl.h" compiles: NO Checking if "linux/futex.h" compiles: NO Checking if "endian.h" compiles: NO Checking if "dlfcn.h" compiles: NO Checking if "execinfo.h" compiles: NO Checking if "sys/shm.h" compiles: NO Checking if "cet.h" compiles: YES Checking for function "strtof" : YES Checking for function "mkostemp" : NO Checking for function "timespec_get" : NO Checking for function "memfd_create" : NO Checking for function "random_r" : NO Checking for function "flock" : NO Checking for function "strtok_r" : YES Header has symbol "program_invocation_name" : NO Checking whether type "struct dirent" has member "d_type" : NO Checking if "strtod has locale support" links: NO Checking if "Bsymbolic" links: YES Checking if "gc-sections" links: YES Checking if "version-script" links: YES Checking if "dynamic-list" links: YES Compiler for C supports link arguments -Wl,--build-id=sha1: YES Checking for function "dlopen" : NO Library dl found: NO Checking for function "dladdr" with dependency -ldl: NO Checking for function "dl_iterate_phdr" : NO Found pkg-config: C:\ProgramData\chocolatey\bin\pkg-config.EXE (0.28) Found CMake: C:\Program Files\CMake\bin\cmake.EXE (3.15.2) Run-time dependency zlib found: YES 1.2.11 Run-time dependency libzstd found: NO (tried pkgconfig and cmake) Run-time dependency threads found: YES Library m found: YES Run-time dependency libdrm found: NO (tried pkgconfig and cmake) Run-time dependency LLVM found: NO (tried cmake) Looking for a fallback subproject for the dependency llvm Subproject directory not found and llvm.wrap file not found Subproject subprojects\llvm is buildable: NO (disabling) Dependency llvm from subproject subprojects\llvm found: NO Run-time dependency valgrind found: NO (tried pkgconfig) Program win_flex found: YES (C:\ProgramData\chocolatey\bin\win_flex.EXE) Program win_bison found: YES (C:\ProgramData\chocolatey\bin\win_bison.EXE) Run-time dependency libunwind found: NO (tried pkgconfig and cmake) Library sensors found: NO Program dumpbin found: NO Program symbols-check.py found: YES (python D:\mesa-20.0.0-rc3\bin\symbols-check.py) Program install_megadrivers.py found: YES (c:\python38\python.exe D:\mesa-20.0.0-rc3\bin\install_megadrivers.py) DEPRECATION: build_always is deprecated. Combine build_by_default and build_always_stale instead. Message: Configuration summary:

    prefix:          c:/
    libdir:          lib
    includedir:      include

    OpenGL:          yes (ES1: no ES2: no)
    OSMesa:          no

    EGL:             no
    GBM:             no
    EGL/Vulkan/VL platforms:   windows

    Vulkan drivers:  no

    llvm:            no

    Gallium drivers: swrast
    Gallium st:      mesa
    HUD lmsensors:   no

    Shared-glapi:    no

Build targets in project: 83

mesa 20.0.0-rc3

Subprojects llvm: NO

Traceback (most recent call last): File "c:\python38\lib\site-packages\mesonbuild\mesonmain.py", line 129, in run return options.run_func(options) File "c:\python38\lib\site-packages\mesonbuild\msetup.py", line 245, in run app.generate() File "c:\python38\lib\site-packages\mesonbuild\msetup.py", line 159, in generate self._generate(env) File "c:\python38\lib\site-packages\mesonbuild\msetup.py", line 215, in _generate intr.backend.generate(intr) File "c:\python38\lib\site-packages\mesonbuild\backend\vs2010backend.py", line 181, in generate projlist = self.generate_projects() File "c:\python38\lib\site-packages\mesonbuild\backend\vs2010backend.py", line 415, in generate_projects self.gen_vcxproj(target, str(projfile_path), proj_uuid) File "c:\python38\lib\site-packages\mesonbuild\backend\vs2010backend.py", line 777, in gen_vcxproj vscrt_type = self.environment.coredata.base_options['b_vscrt'] KeyError: 'b_vscrt' system parameters

dcbaker commented 4 years ago

We could fix the assert, it would be pretty easy. However, at the moment only msvc, clang-cl, and intel-cl work with the vs backend, so you would silently get msvc or nothing. Patches to make GCC work with vs would be welcome.