diff --git a/mlir/lib/ExecutionEngine/CMakeLists.txt b/mlir/lib/ExecutionEngine/CMakeLists.txt --- a/mlir/lib/ExecutionEngine/CMakeLists.txt +++ b/mlir/lib/ExecutionEngine/CMakeLists.txt @@ -130,40 +130,46 @@ add_subdirectory(SparseTensor) -add_mlir_library(mlir_c_runner_utils - SHARED - CRunnerUtils.cpp - SparseTensorRuntime.cpp +if(LLVM_ENABLE_PIC) + add_mlir_library(mlir_c_runner_utils + SHARED + CRunnerUtils.cpp + SparseTensorRuntime.cpp - EXCLUDE_FROM_LIBMLIR + EXCLUDE_FROM_LIBMLIR - LINK_LIBS PUBLIC - mlir_float16_utils - MLIRSparseTensorEnums - MLIRSparseTensorRuntime - ) -set_property(TARGET mlir_c_runner_utils PROPERTY CXX_STANDARD 17) -target_compile_definitions(mlir_c_runner_utils PRIVATE mlir_c_runner_utils_EXPORTS) + LINK_LIBS PUBLIC + mlir_float16_utils + MLIRSparseTensorEnums + MLIRSparseTensorRuntime + ) + set_property(TARGET mlir_c_runner_utils PROPERTY CXX_STANDARD 17) + target_compile_definitions(mlir_c_runner_utils PRIVATE mlir_c_runner_utils_EXPORTS) +endif() -add_mlir_library(mlir_runner_utils - SHARED - RunnerUtils.cpp +if(LLVM_ENABLE_PIC) + add_mlir_library(mlir_runner_utils + SHARED + RunnerUtils.cpp - EXCLUDE_FROM_LIBMLIR -) -target_compile_definitions(mlir_runner_utils PRIVATE mlir_runner_utils_EXPORTS) + EXCLUDE_FROM_LIBMLIR + ) + target_compile_definitions(mlir_runner_utils PRIVATE mlir_runner_utils_EXPORTS) +endif() -add_mlir_library(mlir_async_runtime - SHARED - AsyncRuntime.cpp +if(LLVM_ENABLE_PIC) + add_mlir_library(mlir_async_runtime + SHARED + AsyncRuntime.cpp - EXCLUDE_FROM_LIBMLIR + EXCLUDE_FROM_LIBMLIR - LINK_LIBS PUBLIC - ${LLVM_PTHREAD_LIB} -) -set_property(TARGET mlir_async_runtime PROPERTY CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(mlir_async_runtime PRIVATE mlir_async_runtime_EXPORTS) + LINK_LIBS PUBLIC + ${LLVM_PTHREAD_LIB} + ) + set_property(TARGET mlir_async_runtime PROPERTY CXX_VISIBILITY_PRESET hidden) + target_compile_definitions(mlir_async_runtime PRIVATE mlir_async_runtime_EXPORTS) +endif() if(MLIR_ENABLE_CUDA_RUNNER) # Configure CUDA support. Using check_language first allows us to give a diff --git a/mlir/test/CMakeLists.txt b/mlir/test/CMakeLists.txt --- a/mlir/test/CMakeLists.txt +++ b/mlir/test/CMakeLists.txt @@ -91,13 +91,19 @@ # useless binaries. if(TARGET ${LLVM_NATIVE_ARCH}) list(APPEND MLIR_TEST_DEPENDS - mlir-cpu-runner llc - mlir_async_runtime mlir-capi-execution-engine-test - mlir_c_runner_utils - mlir_runner_utils ) + # These tests require libmlir_async_runtime.so, libmlir_c_runner_utils.so + # and libmlir_runner_utils.so, which are only built with -fPIC. + if(LLVM_ENABLE_PIC) + list(APPEND MLIR_TEST_DEPENDS + mlir-cpu-runner + mlir_async_runtime + mlir_c_runner_utils + mlir_runner_utils + ) + endif() endif() if (MLIR_INCLUDE_INTEGRATION_TESTS)