aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-04-26 10:13:55 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-05-29 22:01:24 -0400
commit29a4514a347cf23abf65b7abe03d0d14551ebf56 (patch)
tree6f38a4e0a3f1d4d11f7eb9dc3e9db5d20a576d89 /gnu/packages/patches
parent412d99a657ba0974a60dbfaf46ba807da7a3589e (diff)
downloadguix-29a4514a347cf23abf65b7abe03d0d14551ebf56.tar
guix-29a4514a347cf23abf65b7abe03d0d14551ebf56.tar.gz
gnu: cling: Update to 1.0.
* gnu/packages/llvm.scm (%cling-version): Delete variable. (llvm-cling): Inherit from llvm-15 and update to version 13-20240318-01. [source]: Update source URL. Remove obsolete snippet. Add patches field. [outputs]: Delete field. [arguments]: Likewise. (clang-cling-runtime): Update to 13-20240318-01. Inherit from clang-runtime-13. Use llvm-cling source. [phases]: Use gexps. Add change-directory phase. (clang-cling): Update to 13-20240318-01. Inherit from clang-13. Use llvm-cling source. [arguments]: Use gexps. Add change-directory phase. (cling): Update to 1.0. [source]: Update URL. [phases] {patch-paths}: Adjust patching of the 'getResourceDir' variable. * gnu/packages/patches/cling-use-shared-library.patch: Rebase patch. * gnu/packages/patches/clang-cling-13-libc-search-path.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. Change-Id: I5d1f2c4d36ca226116bc74c2578154f86413f9e9
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/clang-cling-13-libc-search-path.patch96
-rw-r--r--gnu/packages/patches/cling-use-shared-library.patch418
2 files changed, 194 insertions, 320 deletions
diff --git a/gnu/packages/patches/clang-cling-13-libc-search-path.patch b/gnu/packages/patches/clang-cling-13-libc-search-path.patch
new file mode 100644
index 0000000000..c7d22eaaa3
--- /dev/null
+++ b/gnu/packages/patches/clang-cling-13-libc-search-path.patch
@@ -0,0 +1,96 @@
+Clang attempts to guess file names based on the OS and distro (yes!),
+but unfortunately, that doesn't work for us.
+
+This patch makes it easy to insert libc's $libdir so that Clang passes the
+correct absolute file name of crt1.o etc. to 'ld'. It also disables all
+the distro-specific stuff and removes the hard-coded FHS directory names
+to make sure Clang also works on foreign distros.
+
+diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp
+index ee4fe841..f0313bbe 100644
+--- a/clang/lib/Driver/Distro.cpp
++++ b/clang/lib/Driver/Distro.cpp
+@@ -93,6 +93,10 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) {
+ }
+
+ static Distro::DistroType DetectDistro(llvm::vfs::FileSystem &VFS) {
++ // The compiler should always behave the same, even when used via Guix on a
++ // foreign distro.
++ return Distro::UnknownDistro;
++
+ Distro::DistroType Version = Distro::UnknownDistro;
+
+ // Newer freedesktop.org's compilant systemd-based systems
+diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp
+index d14776c5..88bc3ccd 100644
+--- a/clang/lib/Driver/ToolChains/Cuda.cpp
++++ b/clang/lib/Driver/ToolChains/Cuda.cpp
+@@ -119,6 +119,9 @@ CudaInstallationDetector::CudaInstallationDetector(
+ const Driver &D, const llvm::Triple &HostTriple,
+ const llvm::opt::ArgList &Args)
+ : D(D) {
++ // Don't look for CUDA in /usr.
++ return;
++
+ struct Candidate {
+ std::string Path;
+ bool StrictChecking;
+diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
+--- a/clang/lib/Driver/ToolChains/Linux.cpp
++++ b/clang/lib/Driver/ToolChains/Linux.cpp
+@@ -186,6 +186,10 @@
+
+ Generic_GCC::PushPPaths(PPaths);
+
++ // Comment out the distro-specific tweaks so that they don't bite when
++ // using Guix on a foreign distro.
++#if 0
++
+ Distro Distro(D.getVFS(), Triple);
+
+ if (Distro.IsAlpineLinux() || Triple.isAndroid()) {
+@@ -251,6 +255,7 @@
+
+ if (IsAndroid || Distro.IsOpenSUSE())
+ ExtraOpts.push_back("--enable-new-dtags");
++#endif
+
+ // The selection of paths to try here is designed to match the patterns which
+ // the GCC driver itself uses, as this is part of the GCC-compatible driver.
+@@ -264,6 +269,7 @@
+
+ Generic_GCC::AddMultilibPaths(D, SysRoot, OSLibDir, MultiarchTriple, Paths);
+
++#if 0
+ addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths);
+ addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths);
+
+@@ -295,9 +301,11 @@
+ addPathIfExists(D, SysRoot + "/" + OSLibDir + "/" + ABIName, Paths);
+ addPathIfExists(D, SysRoot + "/usr/" + OSLibDir + "/" + ABIName, Paths);
+ }
++#endif
+
+ Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths);
+
++#if 0
+ // Similar to the logic for GCC above, if we are currently running Clang
+ // inside of the requested system root, add its parent library path to those
+ // searched.
+@@ -305,9 +313,14 @@
+ // directory ('Dir' below) or the ResourceDir.
+ if (StringRef(D.Dir).startswith(SysRoot))
+ addPathIfExists(D, D.Dir + "/../lib", Paths);
++#endif
++
++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o,
++ // and friends can be found.
++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths);
+
+- addPathIfExists(D, SysRoot + "/lib", Paths);
+- addPathIfExists(D, SysRoot + "/usr/lib", Paths);
++ // Add GCC's lib/ directory so libstdc++.so can be found.
++ addPathIfExists(D, GCCInstallation.getParentLibPath(), Paths);
+ }
+
+ ToolChain::RuntimeLibType Linux::GetDefaultRuntimeLibType() const {
diff --git a/gnu/packages/patches/cling-use-shared-library.patch b/gnu/packages/patches/cling-use-shared-library.patch
index 6385b307b3..415f542add 100644
--- a/gnu/packages/patches/cling-use-shared-library.patch
+++ b/gnu/packages/patches/cling-use-shared-library.patch
@@ -1,329 +1,107 @@
-From 811f0a575231496318b5e9c9a0ff0ed195b16dc0 Mon Sep 17 00:00:00 2001
-From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-Date: Tue, 7 Sep 2021 16:35:07 -0400
-Subject: [PATCH] build: Allow building Cling using the Clang shared library.
+Upstream status: https://github.com/root-project/root/pull/15563
-The officially supported way to build LLVM/Clang as a shared library
-is via the LLVM_BUILD_LLVM_DYLIB and LLVM_LINK_LLVM_DYLIB CMake
-options (see: https://llvm.org/docs/BuildingADistribution.html). When
-built this way, the whole of Clang API is exposed as a shared
-library (libclang-cpp.so).
-
-* CMakeLists.txt: Query if we're in shared mode via llvm-config, and
-register the result as LLVM_LIB_IS_SHARED.
-[LLVM_LIB_IS_SHARED] <target_link_libraries>: Use the PUBLIC interface of the
-LLVM shared library.
-* lib/Interpreter/CMakeLists.txt [LLVM_LIB_IS_SHARED]: When defined, replace the
-individual Clang components by clang-cpp.
-* lib/MetaProcessor/CMakeLists.txt: Likewise.
-* lib/Utils/CMakeLists.txt: Likewise.
-* tools/Jupyter/CMakeLists.txt: Likewise.
-* tools/driver/CMakeLists.txt: Likewise.
-* tools/libcling/CMakeLists.txt: Likewise.
----
- CMakeLists.txt | 10 ++++++--
- lib/Interpreter/CMakeLists.txt | 40 ++++++++++++++++++--------------
- lib/MetaProcessor/CMakeLists.txt | 16 +++++++++----
- lib/Utils/CMakeLists.txt | 34 +++++++++++++++------------
- tools/Jupyter/CMakeLists.txt | 11 ++++++++-
- tools/driver/CMakeLists.txt | 16 +++----------
- tools/libcling/CMakeLists.txt | 38 +++++++++++++++---------------
- 7 files changed, 93 insertions(+), 72 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 65b14b27..888f7ee9 100644
+diff --git a/interpreter/cling/CMakeLists.txt b/interpreter/cling/CMakeLists.txt
+index 9775b07f10..7028042096 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -23,6 +23,7 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
- "--libdir"
- "--includedir"
- "--prefix"
-+ "--shared-mode"
- "--src-root")
- execute_process(
- COMMAND ${CONFIG_COMMAND}
-@@ -47,7 +48,8 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
- list(GET CONFIG_OUTPUT 2 LIBRARY_DIR)
- list(GET CONFIG_OUTPUT 3 INCLUDE_DIR)
- list(GET CONFIG_OUTPUT 4 LLVM_OBJ_ROOT)
-- list(GET CONFIG_OUTPUT 5 MAIN_SRC_DIR)
-+ list(GET CONFIG_OUTPUT 5 LLVM_LIB_IS_SHARED)
-+ list(GET CONFIG_OUTPUT 6 MAIN_SRC_DIR)
-
- if(NOT MSVC_IDE)
- set(LLVM_ENABLE_ASSERTIONS ${ENABLE_ASSERTIONS}
-@@ -427,7 +429,11 @@ macro(add_cling_library name)
- endif()
-
- if(TARGET ${name})
-- target_link_libraries(${name} INTERFACE ${LLVM_COMMON_LIBS})
-+ if(LLVM_LIB_IS_SHARED)
-+ target_link_libraries(${name} PUBLIC LLVM)
-+ else()
-+ target_link_libraries(${name} INTERFACE ${LLVM_COMMON_LIBS})
-+ endif()
-
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "libcling")
- install(TARGETS ${name}
-diff --git a/lib/Interpreter/CMakeLists.txt b/lib/Interpreter/CMakeLists.txt
-index 921c773c..af65c020 100644
---- a/lib/Interpreter/CMakeLists.txt
-+++ b/lib/Interpreter/CMakeLists.txt
-@@ -6,22 +6,28 @@
- # LICENSE.TXT for details.
- #------------------------------------------------------------------------------
-
--set(LIBS
-- clingUtils
-- clangCodeGen
-- clangDriver
-- clangFrontend
-- clangParse
-- clangSema
-- clangAnalysis
-- clangEdit
-- clangRewrite
-- clangRewriteFrontend
-- clangSerialization
-- clangAST
-- clangBasic
-- clangLex
--)
-+if (LLVM_LIB_IS_SHARED)
-+ set(LIBS
-+ clang-cpp
-+ clingUtils)
-+else()
-+ set(LIBS
-+ clingUtils
-+ clangCodeGen
-+ clangDriver
-+ clangFrontend
-+ clangParse
-+ clangSema
-+ clangAnalysis
-+ clangEdit
-+ clangRewrite
-+ clangRewriteFrontend
-+ clangSerialization
-+ clangAST
-+ clangBasic
-+ clangLex
-+ )
-+endif()
-
- set(LLVM_LINK_COMPONENTS
- analysis
-@@ -369,4 +375,4 @@ if ((NOT builtin_llvm) AND builtin_clang)
- get_property(P SOURCE TransactionUnloader.cpp PROPERTY INCLUDE_DIRECTORIES)
- list(INSERT P 0 ${FixInclude})
- set_property(SOURCE TransactionUnloader.cpp PROPERTY INCLUDE_DIRECTORIES "${P}")
--endif()
-\ No newline at end of file
-+endif()
-diff --git a/lib/MetaProcessor/CMakeLists.txt b/lib/MetaProcessor/CMakeLists.txt
-index e753dca3..5f4641bb 100644
---- a/lib/MetaProcessor/CMakeLists.txt
-+++ b/lib/MetaProcessor/CMakeLists.txt
-@@ -10,7 +10,16 @@ set( LLVM_LINK_COMPONENTS
- core
- support
- binaryformat
--)
-+ )
-+
-+if (LLVM_LIB_IS_SHARED)
-+ set(LIBS clang-cpp)
-+else()
-+ set(LIBS
-+ clangLex
-+ clangAST
-+ clangBasic)
-+endif()
-
- add_cling_library(clingMetaProcessor OBJECT
- Display.cpp
-@@ -21,10 +30,7 @@ add_cling_library(clingMetaProcessor OBJECT
- MetaSema.cpp
-
- LINK_LIBS
-- clangLex
-- clangAST
-- clangBasic
--
-+ ${LIBS}
- clingInterpreter
- clingUtils
- )
-diff --git a/lib/Utils/CMakeLists.txt b/lib/Utils/CMakeLists.txt
-index 327c9fff..fbe4bd87 100644
---- a/lib/Utils/CMakeLists.txt
-+++ b/lib/Utils/CMakeLists.txt
-@@ -26,21 +26,25 @@ set(LLVM_LINK_COMPONENTS
- ${LLVM_TARGETS_TO_BUILD}
- )
-
--set(LIBS
-- clangCodeGen
-- clangDriver
-- clangFrontend
-- clangParse
-- clangSema
-- clangAnalysis
-- clangEdit
-- clangRewrite
-- clangRewriteFrontend
-- clangSerialization
-- clangAST
-- clangBasic
-- clangLex
--)
-+if (LLVM_LIB_IS_SHARED)
-+ set(LIBS clang-cpp)
-+else()
-+ set(LIBS
-+ clangCodeGen
-+ clangDriver
-+ clangFrontend
-+ clangParse
-+ clangSema
-+ clangAnalysis
-+ clangEdit
-+ clangRewrite
-+ clangRewriteFrontend
-+ clangSerialization
-+ clangAST
-+ clangBasic
-+ clangLex
-+ )
-+endif()
-
- find_library(DL_LIBRARY_PATH dl)
- if (DL_LIBRARY_PATH)
-diff --git a/tools/Jupyter/CMakeLists.txt b/tools/Jupyter/CMakeLists.txt
-index aad5f3f7..8b4ac36f 100644
---- a/tools/Jupyter/CMakeLists.txt
-+++ b/tools/Jupyter/CMakeLists.txt
-@@ -39,6 +39,14 @@ else()
- endif()
- endif()
-
-+if (LLVM_LIB_IS_SHARED)
-+ set(LIBS
-+ clang-cpp
-+ clingUserInterface
-+ clingMetaProcessor
-+ ${INTERPRETER}
-+ clingUtils)
-+else()
- set(LIBS
- clangAST
- clangBasic
-@@ -54,7 +62,8 @@ set(LIBS
- clingMetaProcessor
- ${INTERPRETER}
- clingUtils
+@@ -13,81 +13,22 @@ endif(WIN32)
+ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
+ project(Cling)
+
+- # Rely on llvm-config.
+- set(CONFIG_OUTPUT)
+- find_program(LLVM_CONFIG "llvm-config")
+- if(LLVM_CONFIG)
+- message(STATUS "Found LLVM_CONFIG as ${LLVM_CONFIG}")
+- set(CONFIG_COMMAND ${LLVM_CONFIG}
+- "--assertion-mode"
+- "--bindir"
+- "--libdir"
+- "--includedir"
+- "--prefix")
+- execute_process(
+- COMMAND ${CONFIG_COMMAND}
+- RESULT_VARIABLE HAD_ERROR
+- OUTPUT_VARIABLE CONFIG_OUTPUT
- )
-+ )
-+endif()
-
- if( LLVM_ENABLE_PIC )
- set(ENABLE_SHARED SHARED)
-diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt
-index 1968b97f..5ed53fb7 100644
---- a/tools/driver/CMakeLists.txt
-+++ b/tools/driver/CMakeLists.txt
-@@ -9,23 +9,13 @@
- # Keep symbols for JIT resolution
- set(LLVM_NO_DEAD_STRIP 1)
-
--if(BUILD_SHARED_LIBS)
-- set(LIBS
-- LLVMSupport
+- if(NOT HAD_ERROR)
+- string(REGEX REPLACE
+- "[ \t]*[\r\n]+[ \t]*" ";"
+- CONFIG_OUTPUT ${CONFIG_OUTPUT})
+- else()
+- string(REPLACE ";" " " CONFIG_COMMAND_STR "${CONFIG_COMMAND}")
+- message(STATUS "${CONFIG_COMMAND_STR}")
+- message(FATAL_ERROR "llvm-config failed with status ${HAD_ERROR}")
+- endif()
+- else()
+- message(FATAL_ERROR "llvm-config not found -- ${LLVM_CONFIG}")
+- endif()
++ # See <https://llvm.org/docs/CMake.html#embedding-llvm-in-your-project>.
++ find_package(LLVM REQUIRED CONFIG)
++ message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
++ message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
+
+- list(GET CONFIG_OUTPUT 0 ENABLE_ASSERTIONS)
+- list(GET CONFIG_OUTPUT 1 TOOLS_BINARY_DIR)
+- list(GET CONFIG_OUTPUT 2 LIBRARY_DIR)
+- list(GET CONFIG_OUTPUT 3 INCLUDE_DIR)
+- list(GET CONFIG_OUTPUT 4 LLVM_OBJ_ROOT)
-
-- clangFrontendTool
+- if(NOT MSVC_IDE)
+- set(LLVM_ENABLE_ASSERTIONS ${ENABLE_ASSERTIONS}
+- CACHE BOOL "Enable assertions")
+- # Assertions should follow llvm-config's.
+- mark_as_advanced(LLVM_ENABLE_ASSERTIONS)
+- endif()
++ separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
++ add_definitions(${LLVM_DEFINITIONS_LIST})
+
+- set(LLVM_TOOLS_BINARY_DIR ${TOOLS_BINARY_DIR} CACHE PATH "Path to llvm/bin")
+- set(LLVM_LIBRARY_DIR ${LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
+- set(LLVM_MAIN_INCLUDE_DIR ${INCLUDE_DIR} CACHE PATH "Path to llvm/include")
+- set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
++ find_package(Clang REQUIRED CONFIG)
++ message(STATUS "Found supported version: Clang ${CLANG_PACKAGE_VERSION}")
++ message(STATUS "Using ClangConfig.cmake in: ${Clang_DIR}")
+
+ find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
+ NO_DEFAULT_PATH)
+
+- set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
+- set(LLVMCONFIG_FILE "${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
+- if(EXISTS ${LLVMCONFIG_FILE})
+- list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
+- include(${LLVMCONFIG_FILE})
+- else()
+- message(FATAL_ERROR "Not found: ${LLVMCONFIG_FILE}")
+- endif()
-
-- clingInterpreter
-- clingMetaProcessor
-- clingUserInterface
-- clingUtils
-- )
-+if(LLVM_LIB_IS_SHARED)
-+ set(LIBS clang-cpp clingUserInterface)
- add_cling_executable(cling
- cling.cpp
- )
- else()
- set(LIBS
-- LLVMSupport
-
- clangASTMatchers
- clangFrontendTool
-@@ -38,7 +28,7 @@ else()
- $<TARGET_OBJECTS:obj.clingMetaProcessor>
- $<TARGET_OBJECTS:obj.clingUtils>
- )
--endif(BUILD_SHARED_LIBS)
-+endif(LLVM_LIB_IS_SHARED)
-
- set_target_properties(cling
- PROPERTIES ENABLE_EXPORTS 1)
-diff --git a/tools/libcling/CMakeLists.txt b/tools/libcling/CMakeLists.txt
-index 143d3bdb..ba000d44 100644
---- a/tools/libcling/CMakeLists.txt
-+++ b/tools/libcling/CMakeLists.txt
-@@ -10,21 +10,25 @@ set(SOURCES
- ADDITIONAL_HEADERS
- )
-
--set(LIBS
-- clangAnalysis
-- clangDriver
-- clangFrontend
-- clangParse
-- clangSema
-- clangAST
-- clangLex
-- clangSerialization
-- clangCodeGen
-- clangBasic
-- clangEdit
+- # They are used as destination of target generators.
+- set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
+- set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
+- if(WIN32 OR CYGWIN)
+- # DLL platform -- put DLLs into bin.
+- set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+- else()
+- set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+- endif()
+-
+- option(LLVM_INSTALL_TOOLCHAIN_ONLY
+- "Only include toolchain files in the 'install' target." OFF)
+-
+- option(LLVM_FORCE_USE_OLD_HOST_TOOLCHAIN
+- "Set to ON to force using an old, unsupported host toolchain." OFF)
-
-- clingUtils
--)
-+if (LLVM_LIB_IS_SHARED)
-+ set(LIBS clang-cpp)
-+else()
-+ set(LIBS
-+ clangAnalysis
-+ clangDriver
-+ clangFrontend
-+ clangParse
-+ clangSema
-+ clangAST
-+ clangLex
-+ clangSerialization
-+ clangCodeGen
-+ clangBasic
-+ clangEdit
-+
-+ clingUtils
-+ )
-+endif()
++ list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}")
+ include(AddLLVM)
+ include(TableGen)
+ include(HandleLLVMOptions)
+@@ -99,7 +40,7 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
+ set(LLVM_INCLUDE_TESTS ON)
+ endif()
- set( LLVM_LINK_COMPONENTS
- analysis
-@@ -63,10 +67,6 @@ option(LIBCLING_BUILD_STATIC
- # set(LLVM_EXPORTED_SYMBOL_FILE)
- #endif()
+- include_directories("${LLVM_BINARY_DIR}/include" "${LLVM_MAIN_INCLUDE_DIR}")
++ include_directories("${LLVM_INCLUDE_DIRS}")
+ link_directories("${LLVM_LIBRARY_DIR}")
--if( LLVM_ENABLE_PIC )
-- set(ENABLE_SHARED SHARED)
--endif()
--
- if((NOT LLVM_ENABLE_PIC OR LIBCLING_BUILD_STATIC) AND NOT WIN32)
- set(ENABLE_STATIC STATIC)
- endif()
---
-2.33.0
-
+ set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )