--- /dev/null
+--- llvm-17.0.4.src/cmake/modules/AddOCaml.cmake.orig 2023-11-06 21:27:39.906604595 +0100
++++ llvm-17.0.4.src/cmake/modules/AddOCaml.cmake 2023-11-06 22:12:34.479135305 +0100
+@@ -69,7 +69,7 @@ function(add_ocaml_library name)
+ endif()
+
+ if(LLVM_LINK_LLVM_DYLIB)
+- list(APPEND ocaml_flags "-lLLVM")
++ list(APPEND ocaml_flags "-lLLVM-17")
+ else()
+ explicit_map_components_to_libraries(llvm_libs ${ARG_LLVM})
+ foreach( llvm_lib ${llvm_libs} )
+@@ -186,9 +186,13 @@ function(add_ocaml_library name)
+ endforeach()
+
+ if( NOT LLVM_OCAML_OUT_OF_TREE )
++ if(LLVM_LINK_LLVM_DYLIB)
++ add_dependencies("ocaml_${name}" LLVM)
++ else()
+ foreach( llvm_lib ${llvm_libs} )
+ add_dependencies("ocaml_${name}" "${llvm_lib}")
+ endforeach()
++ endif()
+ endif()
+
+ add_dependencies("ocaml_all" "ocaml_${name}")
Source9: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/cmake-%{version}.src.tar.xz
# Source9-md5: 38ae9cc0950f277c8f88e570c4d18010
Patch1: %{name}-pld.patch
+Patch2: %{name}-ocaml-link-dylib.patch
Patch3: x32-gcc-toolchain.patch
Patch5: %{name}-ocaml-shared.patch
Patch6: %{name}-flang.patch
BuildRequires: libpfm-devel
BuildRequires: libstdc++-devel >= 6:5
BuildRequires: libxml2-devel >= 2
-%{?with_ocaml:BuildRequires: llvm-devel >= 17}
BuildRequires: ncurses-devel
%if %{with ocaml}
BuildRequires: ocaml >= 4.00.0
%{__mv} cmake-%{version}.src cmake-utils
%patch1 -p1
+%patch2 -p1
%patch3 -p1
%patch5 -p1
%if %{with flang}
CPPFLAGS="%{rpmcppflags} -D_FILE_OFFSET_BITS=64"
%if %{with lowmem}
-export CFLAGS="%{rpmcflags} -NDEBUG -g0"
-export CXXFLAGS="%{rpmcxxflags} -NDEBUG -g0"
+export CFLAGS="%{rpmcflags} -DNDEBUG -g0"
+export CXXFLAGS="%{rpmcxxflags} -DNDEBUG -g0"
if echo 'int main(){}' | %{__cc} -x c %{rpmldflags} -Wl,--reduce-memory-overheads -o /dev/null - > /dev/null 2>&1; then
export LDFLAGS="%{rpmldflags} -Wl,--reduce-memory-overheads"
fi