On Tuesday, October 2, 2018, 8:08:39 PM GMT+3, Dylan Baker <dy...@pnwbakers.com> wrote: Quoting Liviu Prodea (2018-10-02 08:08:41) > Made a comprehensive test of this patch series and I still stumbled upon some > big problems: > > 1. Automatic LLVM linking via llvm-config if used by adding LLVM bin folder to > PATH results in build failure with 'llvm-c/Core.h' not found in src/gallium/ > auxiliary/gallivm/lp_bld.h. Appveyor CI from https://ci.appveyor.com/project/ > dcbaker/mesa didn't encounter this as it is using llvm-wrap option. It's possible that llvm-config wrapping on windows is broken atm, it is on macos, I have pull request open, https://github.com/mesonbuild/meson/pull/4283. I'll see if that fixes windows as well, or if we need some more work there. > 2. Even if build succeeds with LLVM linked via llvm-wrap and everything > looking > good at first glance, llvmpipe and swr if it was built cannot be selected. > GALLIUM_DRIVER variable has no effect. You only get softpipe despite > opengl32.dll file looking big enough and swrAVX-0.dll and swrAVX2-0,dll being > generated when expected. Even when having LLVM built dynamically to avoid /MD > to /MT override warnings and building Mesa3D with default c_args and cpp_args > this issue is still in effect. > > 3. Meson 0.48.0 doesn't pass the /MT or /MTd c_args and cpp_args for some > unexplained reasons which leads to build failure if LLVM is not built with > /MD. Meson 0.48 has added a new option to allow you to pick which crt you want: https://mesonbuild.com/Release-notes-for-0-48-0.html#toggles-for-build-type-optimization-and-vcrt-type The list of options are here: https://mesonbuild.com/Builtin-options.html#base-options I'll test and see if I can add b_vscrt=from_builtype to the default options without requiring a bumpt ot 0.48.0 for the whole project. Dylan --- -Db_vscrt=mt doesn't help. I use LLVM built with /MT. I still get a bunch oferror LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' As for why I don't get llvmpipe and swr to work when Mesa3D and LLVM CRT linking match when using manual llvm-wrap option I think the explanation is highlighted by Appveyor: https://ci.appveyor.com/project/dcbaker/mesa/build/job/k02oo9qfyuxaxpgi?fullLog=true#L221 Looking at line 224, LLVN version is reported as undefined. This can't be good and I am seeing this as well. Automatic wrap with llvm-config doesn't have this problem. Unfortunately it fails to find the headers as already reported.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev