From 97c2c4546ca5d7c17f039dde9a6fd5957fb2364a Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Fri, 28 Jun 2019 16:36:38 -0700 Subject: [PATCH] Revert "meson: Add support for using cmake for finding LLVM" This reverts commit 5157a4276500c77e2210e853b262be1d1b30aedf. There is a meson bug that causes llvm to always be statically linked, which is obviously not what we want. I haven't had time to look into it yet, but for now let's just revert it. --- meson.build | 13 ++----------- .../drivers/swr/rasterizer/jitter/meson.build | 13 +++++-------- src/gallium/state_trackers/clover/meson.build | 13 +++++-------- src/gallium/targets/opencl/meson.build | 6 +----- 4 files changed, 13 insertions(+), 32 deletions(-) diff --git a/meson.build b/meson.build index 4e1990eb600..fd247fe00a9 100644 --- a/meson.build +++ b/meson.build @@ -1264,6 +1264,7 @@ if _llvm != 'false' with_gallium_opencl or _llvm == 'true' ), static : not _shared_llvm, + method : 'config-tool', ) with_llvm = dep_llvm.found() endif @@ -1277,17 +1278,7 @@ if with_llvm # LLVM can be built without rtti, turning off rtti changes the ABI of C++ # programs, so we need to build all C++ code in mesa without rtti as well to # ensure that linking works. - # - # In meson 0.51.0 we can use cmake to find LLVM in addittion to meson's - # builtin llvm-config based finder. A new generic variable getter method - # has also been added, so we'll use that if we can, to cover the cmake case. - if meson.version().version_compare('>=0.51') - # The CMake finder will return 'ON', the llvm-config will return 'YES' - _rtti = ['ON', 'YES'].contains(dep_llvm.get_variable(cmake : 'LLVM_ENABLE_RTTI', configtool: 'has-rtti')) - else - _rtti = dep_llvm.get_configtool_variable('has-rtti') == 'YES' - endif - if not _rtti + 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.') elif with_gallium_opencl diff --git a/src/gallium/drivers/swr/rasterizer/jitter/meson.build b/src/gallium/drivers/swr/rasterizer/jitter/meson.build index 6885c344939..aced4a1b735 100644 --- a/src/gallium/drivers/swr/rasterizer/jitter/meson.build +++ b/src/gallium/drivers/swr/rasterizer/jitter/meson.build @@ -1,4 +1,4 @@ -# Copyright © 2017-2019 Intel Corporation +# Copyright © 2017-2018 Intel Corporation # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -19,17 +19,14 @@ # SOFTWARE. -if meson.version().version_compare('>=0.51') - _llvm_includedir = dep_llvm.get_variable(configtool : 'includedir', cmake : 'LLVM_INCLUDE_DIR') -else - _llvm_includedir = dep_llvm.get_configtool_variable('includedir') -endif - gen_builder_hpp = custom_target( 'gen_builder.hpp', input : [ swr_gen_llvm_ir_macros_py, - join_paths(_llvm_includedir, 'llvm', 'IR', 'IRBuilder.h') + join_paths( + dep_llvm.get_configtool_variable('includedir'), 'llvm', 'IR', + 'IRBuilder.h' + ) ], output : 'gen_builder.hpp', command : [ diff --git a/src/gallium/state_trackers/clover/meson.build b/src/gallium/state_trackers/clover/meson.build index 8f751cbb414..2ff060bf35b 100644 --- a/src/gallium/state_trackers/clover/meson.build +++ b/src/gallium/state_trackers/clover/meson.build @@ -1,4 +1,4 @@ -# Copyright © 2017-2019 Intel Corporation +# Copyright © 2017-2018 Intel Corporation # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -25,12 +25,6 @@ if with_opencl_icd clover_cpp_args += '-DHAVE_CLOVER_ICD' endif -if meson.version().version_compare('>=0.51') - _clang_resources = join_paths(dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool : 'libdir'), 'clang', dep_llvm.version(), 'include') -else - _clang_resources = join_paths(dep_llvm.get_configtool_variable('libdir'), 'clang', dep_llvm.version(), 'include') -endif - libclllvm = static_library( 'clllvm', files( @@ -49,7 +43,10 @@ libclllvm = static_library( cpp_vis_args, '-DLIBCLC_INCLUDEDIR="@0@/"'.format(dep_clc.get_pkgconfig_variable('includedir')), '-DLIBCLC_LIBEXECDIR="@0@/"'.format(dep_clc.get_pkgconfig_variable('libexecdir')), - '-DCLANG_RESOURCE_DIR="@0@"'.format(_clang_resources), + '-DCLANG_RESOURCE_DIR="@0@"'.format(join_paths( + dep_llvm.get_configtool_variable('libdir'), 'clang', + dep_llvm.version(), 'include', + )), ], dependencies : [dep_llvm, dep_elf], override_options : clover_cpp_std, diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build index 676e0e13174..317ad8dab4a 100644 --- a/src/gallium/targets/opencl/meson.build +++ b/src/gallium/targets/opencl/meson.build @@ -29,11 +29,7 @@ if with_ld_version_script opencl_link_deps += files('opencl.sym') endif -if meson.version().version_compare('>=0.51') - llvm_libdir = dep_llvm.get_variable(configtool : 'libdir', cmake : 'LLVM_LIBRARY_DIR') -else - llvm_libdir = dep_llvm.get_configtool_variable('libdir') -endif +llvm_libdir = dep_llvm.get_configtool_variable('libdir') opencl_libname = with_opencl_icd ? 'MesaOpenCL' : 'OpenCL' -- 2.30.2