<html><head></head><body><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
        <div><br></div><div><code></code><br><code></code><span><div><br></div><div><br></div></span><span><span><span><pre><code><br></code></pre></span></span></span><br></div>
        
        </div></div></div><div id="ydpf727e059yahoo_quoted_8991061029" class="ydpf727e059yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Tuesday, October 2, 2018, 8:08:39 PM GMT+3, Dylan Baker <dylan@pnwbakers.com> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div><div dir="ltr">Quoting Liviu Prodea (2018-10-02 08:08:41)<br clear="none">> Made a comprehensive test of this patch series and I still stumbled upon some<br clear="none">> big problems:<br clear="none">> <br clear="none">> 1. Automatic LLVM linking via llvm-config if used by adding LLVM bin folder to<br clear="none">> PATH results in build failure with 'llvm-c/Core.h' not found in src/gallium/<br clear="none">> auxiliary/gallivm/lp_bld.h. Appveyor CI from <a shape="rect" href="https://ci.appveyor.com/project/" rel="nofollow" target="_blank">https://ci.appveyor.com/project/</a><br clear="none">> dcbaker/mesa didn't encounter this as it is using llvm-wrap option.<br clear="none"><br clear="none">It's possible that llvm-config wrapping on windows is broken atm, it is on<br clear="none">macos, I have pull request open, https://github.com/mesonbuild/meson/pull/4283.<br clear="none">I'll see if that fixes windows as well, or if we need some more work there.<div class="ydpf727e059yqt7482573786" id="ydpf727e059yqtfd05988"><br clear="none"><br clear="none">> 2. Even if build succeeds with LLVM linked via llvm-wrap and everything looking<br clear="none">> good at first glance, llvmpipe and swr if it was built cannot be selected.<br clear="none">> GALLIUM_DRIVER variable has no effect. You only get softpipe despite<br clear="none">> opengl32.dll file looking big enough and swrAVX-0.dll and swrAVX2-0,dll being<br clear="none">> generated when expected. Even when having LLVM built dynamically to avoid /MD<br clear="none">> to /MT override warnings and building Mesa3D with default c_args and cpp_args<br clear="none">> this issue is still in effect.<br clear="none">> <br clear="none">> 3. Meson 0.48.0 doesn't pass the /MT or /MTd c_args and cpp_args for some<br clear="none">> unexplained reasons which leads to build failure if LLVM is not built with /MD.</div><br clear="none"><br clear="none">Meson 0.48 has added a new option to allow you to pick which crt you want:<br clear="none"><br clear="none"><a shape="rect" href="https://mesonbuild.com/Release-notes-for-0-48-0.html#toggles-for-build-type-optimization-and-vcrt-type" rel="nofollow" target="_blank">https://mesonbuild.com/Release-notes-for-0-48-0.html#toggles-for-build-type-optimization-and-vcrt-type</a><br clear="none"><br clear="none">The list of options are here:<br clear="none"><br clear="none"><a shape="rect" href="https://mesonbuild.com/Builtin-options.html#base-options" rel="nofollow" target="_blank">https://mesonbuild.com/Builtin-options.html#base-options</a><br clear="none"><br clear="none">I'll test and see if I can add b_vscrt=from_builtype to the default options<br clear="none">without requiring a bumpt ot 0.48.0 for the whole project.<br clear="none"><br clear="none"><div>Dylan</div><div><br></div><div>---</div><div><div><span><span><div><br></div><div>-D<span>b_vscrt=mt doesn't help. I use LLVM built with /MT. I still get a bunch of</span></div></span></span></div><span><span><span><span><pre><code>error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease'<br><br>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: <a href="https://ci.appveyor.com/project/dcbaker/mesa/build/job/k02oo9qfyuxaxpgi?fullLog=true#L221" rel="nofollow" target="_blank">https://ci.appveyor.com/project/dcbaker/mesa/build/job/k02oo9qfyuxaxpgi?fullLog=true#L221</a><br>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.   </code></pre></span></span></span></span><br></div></div></div>
            </div>
        </div></div></body></html>