meson: Error out if building nouveau and using LLVM without rtti
authorDylan Baker <dylan@pnwbakers.com>
Tue, 1 Jan 2019 03:23:52 +0000 (19:23 -0800)
committerDylan Baker <dylan@pnwbakers.com>
Wed, 2 Jan 2019 17:30:12 +0000 (09:30 -0800)
Nouveau requires rtti. Often LLVM is configured without rtti, and code
with and without cannot be linked safely. Lets just error out if nouveau
is requested and llvm is built without rtti.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109202
Fixes: c5a97d658ec19cc02719d7f86c1b0715e3d9ffc4
       ("meson: fix builds against LLVM built without rtti")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
meson.build

index 3e4afcef130a84bcb351fd565f5e0f7c44be6e65..709f77a9c7a0924b10671cd95340258733210536 100644 (file)
@@ -1231,6 +1231,9 @@ if with_llvm
   # programs, so we need to build all C++ code in mesa without rtti as well to
   # ensure that linking works.
   if dep_llvm.get_configtool_variable('has-rtti') == 'NO'
+    if with_gallium_nouveau
+      error('The Nouveau driver requires rtti. You either need to turn off nouveau or use an LLVM built with LLVM_ENABLE_RTTI.')
+    endif
     cpp_args += '-fno-rtti'
   endif
 elif with_amd_vk or with_gallium_radeonsi or with_gallium_swr