···4040 if (APPLE)
4141 set(_install_name_dir INSTALL_NAME_DIR "@rpath")
4242- set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
4343-+ set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
4343++ set(_install_rpath ${extra_libdir})
4444 elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS)
4545 # $ORIGIN is not interpreted at link time by aix ld.
4646 # Since BUILD_SHARED_LIBS is only recommended for use by developers,
···7272+ # As noted in the differential above, an alternative solution is to have
7373+ # all rdeps of nixpkgs' LLVM (that use the AddLLVM.cmake machinery) set
7474+ # `CMAKE_INSTALL_RPATH`.
7575-+ set(_build_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
7676-+ set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
7575++ set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
7676++ set(_install_rpath ${extra_libdir})
7777 if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
7878 set_property(TARGET ${name} APPEND_STRING PROPERTY
7979 LINK_FLAGS " -Wl,-z,origin ")
···86868787 if( APPLE )
8888- set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}")
8989-+ set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
8989++ set(ocaml_rpath ${LLVM_LIBRARY_DIR})
9090 elseif( UNIX )
9191- set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}")
9292-+ set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
9292++ set(ocaml_rpath ${LLVM_LIBRARY_DIR})
9393 endif()
9494 list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}")
9595
···11-diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py
22-index 0242e0b75af3..d732011306f7 100644
33---- a/utils/lit/lit/TestRunner.py
44-+++ b/utils/lit/lit/TestRunner.py
55-@@ -1029,6 +1029,12 @@ def executeScript(test, litConfig, tmpBase, commands, cwd):
66- f.write('@echo off\n')
77- f.write('\n@if %ERRORLEVEL% NEQ 0 EXIT\n'.join(commands))
11+--- a/utils/lit/lit/TestRunner.py 2024-03-15 17:27:53.170780798 -0700
22++++ b/utils/lit/lit/TestRunner.py 2024-03-15 17:28:43.277447791 -0700
33+@@ -1183,6 +1183,9 @@
44+ f.write("@echo on\n")
55+ f.write("\n@if %ERRORLEVEL% NEQ 0 EXIT\n".join(commands))
86 else:
99-+ # This env var is *purged* when invoking subprocesses so we have to
1010-+ # manually set it from within the bash script in order for the commands
1111-+ # in run lines to see this var:
127+ if "DYLD_LIBRARY_PATH" in test.config.environment:
138+ f.write(f'export DYLD_LIBRARY_PATH="{test.config.environment["DYLD_LIBRARY_PATH"]}"\n')
149+
1510 for i, ln in enumerate(commands):
1616- match = re.match(kPdbgRegex, ln)
1111+ match = re.fullmatch(kPdbgRegex, ln)
1712 if match:
···11-diff --git a/CMakeLists.txt b/CMakeLists.txt
22-index b6ddbe90516d..311ab1d50e7f 100644
33---- a/CMakeLists.txt
44-+++ b/CMakeLists.txt
55-@@ -29,7 +29,7 @@ if (OPENMP_STANDALONE_BUILD)
66- set(OPENMP_LIBDIR_SUFFIX "" CACHE STRING
77- "Suffix of lib installation directory, e.g. 64 => lib64")
88- # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR.
99-- set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}" CACHE STRING
1010-+ set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${OPENMP_LIBDIR_SUFFIX}" CACHE STRING
1111- "Path where built OpenMP libraries should be installed.")
1212-1313- # Group test settings.
1414-@@ -47,7 +47,7 @@ if (OPENMP_STANDALONE_BUILD)
1515- else()
1616- set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR})
1717- # If building in tree, we honor the same install suffix LLVM uses.
1818-- set(OPENMP_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}" CACHE STRING
1919-+ set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" CACHE STRING
2020- "Path where built OpenMP libraries should be installed.")
2121-2222- if (NOT MSVC)