Skip to content

Commit eefceee

Browse files
committed
Fix RHEL 9 gating issues
This does two changes: * Add libomp -> llvm-libs dependency to satisfy rpmdeps. * Add LLVM_USE_PERF to bundle_compat_lib to avoid an ABI change. I've introduces a cmake_common_args variable so we have a place to put cmake variables that should apply to both the main build and the compat build.
1 parent 28f33f9 commit eefceee

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

llvm.spec

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,7 @@ Summary: OpenMP runtime for clang
648648

649649
URL: http://openmp.llvm.org
650650

651+
Requires: %{pkg_name_llvm}-libs%{?_isa} = %{version}-%{release}
651652
Requires: elfutils-libelf%{?_isa}
652653

653654
Provides: libomp(major) = %{maj_ver}
@@ -884,7 +885,18 @@ popd
884885
%endif
885886

886887
#region cmake options
887-
%global cmake_config_args ""
888+
889+
# Common cmake arguments used by both the normal build and bundle_compat_lib.
890+
# Any ABI-affecting flags should be in here.
891+
%global cmake_common_args \\\
892+
-DLLVM_ENABLE_EH=ON \\\
893+
-DLLVM_ENABLE_RTTI=ON \\\
894+
-DLLVM_USE_PERF=ON \\\
895+
-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \\\
896+
-DBUILD_SHARED_LIBS=OFF \\\
897+
-DLLVM_BUILD_LLVM_DYLIB=ON
898+
899+
%global cmake_config_args %{cmake_common_args}
888900

889901
#region clang options
890902
%global cmake_config_args %{cmake_config_args} \\\
@@ -951,19 +963,16 @@ popd
951963
-DLLVM_APPEND_VC_REV:BOOL=OFF \\\
952964
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \\\
953965
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \\\
954-
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \\\
955966
-DLLVM_BUILD_RUNTIME:BOOL=ON \\\
956967
-DLLVM_BUILD_TOOLS:BOOL=ON \\\
957968
-DLLVM_BUILD_UTILS:BOOL=ON \\\
958969
-DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \\\
959970
-DLLVM_DEFAULT_TARGET_TRIPLE=%{llvm_triple} \\\
960971
-DLLVM_DYLIB_COMPONENTS="all" \\\
961-
-DLLVM_ENABLE_EH=ON \\\
962972
-DLLVM_ENABLE_FFI:BOOL=ON \\\
963973
-DLLVM_ENABLE_LIBCXX:BOOL=OFF \\\
964974
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON \\\
965975
-DLLVM_ENABLE_PROJECTS="%{projects}" \\\
966-
-DLLVM_ENABLE_RTTI:BOOL=ON \\\
967976
-DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp;offload" \\\
968977
-DLLVM_ENABLE_ZLIB:BOOL=ON \\\
969978
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=%{experimental_targets_to_build} \\\
@@ -975,10 +984,8 @@ popd
975984
-DLLVM_INSTALL_UTILS:BOOL=ON \\\
976985
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \\\
977986
-DLLVM_PARALLEL_LINK_JOBS=1 \\\
978-
-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \\\
979987
-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \\\
980988
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF \\\
981-
-DLLVM_USE_PERF:BOOL=ON \\\
982989
-DLLVM_UTILS_INSTALL_DIR:PATH=bin
983990
#endregion llvm options
984991

@@ -1006,7 +1013,6 @@ popd
10061013

10071014
#region misc options
10081015
%global cmake_config_args %{cmake_config_args} \\\
1009-
-DBUILD_SHARED_LIBS:BOOL=OFF \\\
10101016
-DCMAKE_BUILD_TYPE=RelWithDebInfo \\\
10111017
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \\\
10121018
-DENABLE_LINKER_BUILD_ID:BOOL=ON \\\
@@ -1098,14 +1104,10 @@ cd ..
10981104
-DCMAKE_INSTALL_PREFIX=%{buildroot}%{_libdir}/llvm%{compat_maj_ver}/ \
10991105
-DCMAKE_SKIP_RPATH=ON \
11001106
-DCMAKE_BUILD_TYPE=Release \
1101-
-DBUILD_SHARED_LIBS=OFF \
1102-
-DLLVM_BUILD_LLVM_DYLIB=ON \
1103-
-DLLVM_ENABLE_EH=ON \
1104-
-DLLVM_ENABLE_RTTI=ON \
11051107
-DLLVM_ENABLE_PROJECTS="clang;lldb" \
1106-
-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \
11071108
-DLLVM_INCLUDE_BENCHMARKS=OFF \
1108-
-DLLVM_INCLUDE_TESTS=OFF
1109+
-DLLVM_INCLUDE_TESTS=OFF \
1110+
%{cmake_common_args}
11091111

11101112
%ninja_build -C ../llvm-compat-libs LLVM
11111113
%ninja_build -C ../llvm-compat-libs libclang.so

0 commit comments

Comments
 (0)