forked from M-Labs/nac3
update to LLVM 13
This commit is contained in:
parent
9e3f75255e
commit
d2a5cd6d57
|
@ -441,9 +441,9 @@ checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "llvm-sys"
|
name = "llvm-sys"
|
||||||
version = "120.2.1"
|
version = "130.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b4a810627ac62b396f5fd2214ba9bbd8748d4d6efdc4d2c1c1303ea7a75763ce"
|
checksum = "183612ff1acd400cd4faeb1cbf7cc725a868a46282e5c7b112ec5f0a5a49fae7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
packages.x86_64-w64-mingw32 = rec {
|
packages.x86_64-w64-mingw32 = rec {
|
||||||
llvm-nac3 = pkgs-mingw.callPackage "${self}/llvm" { inherit (pkgs) llvmPackages_12; };
|
llvm-nac3 = pkgs-mingw.callPackage "${self}/llvm" { inherit (pkgs) llvmPackages_13; };
|
||||||
nac3artiq = pkgs-mingw.python3Packages.toPythonModule (
|
nac3artiq = pkgs-mingw.python3Packages.toPythonModule (
|
||||||
pkgs-mingw.rustPlatform.buildRustPackage {
|
pkgs-mingw.rustPlatform.buildRustPackage {
|
||||||
name = "nac3artiq";
|
name = "nac3artiq";
|
||||||
|
|
|
@ -7,17 +7,17 @@
|
||||||
, libbfd
|
, libbfd
|
||||||
, ncurses
|
, ncurses
|
||||||
, zlib
|
, zlib
|
||||||
, llvmPackages_12
|
, which
|
||||||
|
, llvmPackages_13
|
||||||
, debugVersion ? false
|
, debugVersion ? false
|
||||||
, enableManpages ? false
|
, enableManpages ? false
|
||||||
, enableSharedLibraries ? false
|
, enableSharedLibraries ? false
|
||||||
, enablePolly ? false
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) optional optionals optionalString;
|
inherit (lib) optional optionals optionalString;
|
||||||
|
|
||||||
release_version = "12.0.1";
|
release_version = "13.0.0";
|
||||||
candidate = ""; # empty or "rcN"
|
candidate = ""; # empty or "rcN"
|
||||||
dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
|
dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
|
||||||
version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs
|
version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs
|
||||||
|
@ -34,16 +34,12 @@ in stdenv.mkDerivation (rec {
|
||||||
pname = "llvm";
|
pname = "llvm";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
src = fetch pname "1pzx9zrmd7r3481sbhwvkms68fwhffpp4mmz45dgrkjpyl2q96kx";
|
src = fetch pname "sha256-QI0RcIZD6oJvUZ/3l2H838EtZBolECKe7EWecvgWMCA=";
|
||||||
polly_src = fetch "polly" "1yfm9ixda4a2sx7ak5vswijx4ydk5lv1c1xh39xmd2kh299y4m12";
|
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
unpackFile $src
|
unpackFile $src
|
||||||
mv llvm-${release_version}* llvm
|
mv llvm-${release_version}* llvm
|
||||||
sourceRoot=$PWD/llvm
|
sourceRoot=$PWD/llvm
|
||||||
'' + optionalString enablePolly ''
|
|
||||||
unpackFile $polly_src
|
|
||||||
mv polly-* $sourceRoot/tools/polly
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
outputs = [ "out" "lib" "dev" "python" ];
|
outputs = [ "out" "lib" "dev" "python" ];
|
||||||
|
@ -56,17 +52,18 @@ in stdenv.mkDerivation (rec {
|
||||||
propagatedBuildInputs = optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ ncurses ]
|
propagatedBuildInputs = optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ ncurses ]
|
||||||
++ [ zlib ];
|
++ [ zlib ];
|
||||||
|
|
||||||
|
checkInputs = [ which ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./gnu-install-dirs.patch
|
./gnu-install-dirs.patch
|
||||||
# On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test.
|
# Fix random compiler crashes: https://bugs.llvm.org/show_bug.cgi?id=50611
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "uops-CMOV16rm-noreg.diff";
|
url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/4764a4f8c920912a2bfd8b0eea57273acfe0d8a8/trunk/no-strict-aliasing-DwarfCompileUnit.patch";
|
||||||
url = "https://github.com/llvm/llvm-project/commit/9e9f991ac033.diff";
|
sha256 = "18l6mrvm2vmwm77ckcnbjvh6ybvn72rhrb799d4qzwac4x2ifl7g";
|
||||||
sha256 = "sha256:12s8vr6ibri8b48h2z38f3afhwam10arfiqfy4yg37bmc054p5hi";
|
|
||||||
stripLen = 1;
|
stripLen = 1;
|
||||||
})
|
})
|
||||||
./llvm-future-riscv-abi.diff
|
./llvm-future-riscv-abi.diff
|
||||||
] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch;
|
];
|
||||||
|
|
||||||
postPatch = optionalString stdenv.isDarwin ''
|
postPatch = optionalString stdenv.isDarwin ''
|
||||||
substituteInPlace cmake/modules/AddLLVM.cmake \
|
substituteInPlace cmake/modules/AddLLVM.cmake \
|
||||||
|
@ -85,8 +82,7 @@ in stdenv.mkDerivation (rec {
|
||||||
substituteInPlace unittests/IR/CMakeLists.txt \
|
substituteInPlace unittests/IR/CMakeLists.txt \
|
||||||
--replace "PassBuilderCallbacksTest.cpp" ""
|
--replace "PassBuilderCallbacksTest.cpp" ""
|
||||||
rm unittests/IR/PassBuilderCallbacksTest.cpp
|
rm unittests/IR/PassBuilderCallbacksTest.cpp
|
||||||
# TODO: Fix failing tests:
|
rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
|
||||||
rm test/DebugInfo/X86/vla-multi.ll
|
|
||||||
'' + optionalString stdenv.hostPlatform.isMusl ''
|
'' + optionalString stdenv.hostPlatform.isMusl ''
|
||||||
patch -p1 -i ${../../TLI-musl.patch}
|
patch -p1 -i ${../../TLI-musl.patch}
|
||||||
substituteInPlace unittests/Support/CMakeLists.txt \
|
substituteInPlace unittests/Support/CMakeLists.txt \
|
||||||
|
@ -139,7 +135,7 @@ in stdenv.mkDerivation (rec {
|
||||||
"-DCAN_TARGET_i386=false"
|
"-DCAN_TARGET_i386=false"
|
||||||
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||||
"-DCMAKE_CROSSCOMPILING=True"
|
"-DCMAKE_CROSSCOMPILING=True"
|
||||||
"-DLLVM_TABLEGEN=${llvmPackages_12.tools.llvm}/bin/llvm-tblgen"
|
"-DLLVM_TABLEGEN=${llvmPackages_13.tools.llvm}/bin/llvm-tblgen"
|
||||||
(
|
(
|
||||||
let
|
let
|
||||||
nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
|
nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
|
||||||
|
|
|
@ -1,105 +0,0 @@
|
||||||
diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt
|
|
||||||
index ca7c04c565bb..6ed5db5dd4f8 100644
|
|
||||||
--- a/tools/polly/CMakeLists.txt
|
|
||||||
+++ b/tools/polly/CMakeLists.txt
|
|
||||||
@@ -2,7 +2,11 @@
|
|
||||||
if (NOT DEFINED LLVM_MAIN_SRC_DIR)
|
|
||||||
project(Polly)
|
|
||||||
cmake_minimum_required(VERSION 3.13.4)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+include(GNUInstallDirs)
|
|
||||||
|
|
||||||
+if (NOT DEFINED LLVM_MAIN_SRC_DIR)
|
|
||||||
# Where is LLVM installed?
|
|
||||||
find_package(LLVM CONFIG REQUIRED)
|
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
|
|
||||||
@@ -122,13 +126,13 @@ include_directories(
|
|
||||||
|
|
||||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
|
||||||
install(DIRECTORY include/
|
|
||||||
- DESTINATION include
|
|
||||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
||||||
FILES_MATCHING
|
|
||||||
PATTERN "*.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
install(DIRECTORY ${POLLY_BINARY_DIR}/include/
|
|
||||||
- DESTINATION include
|
|
||||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
||||||
FILES_MATCHING
|
|
||||||
PATTERN "*.h"
|
|
||||||
PATTERN "CMakeFiles" EXCLUDE
|
|
||||||
diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt
|
|
||||||
index 7cc129ba2e90..137be25e4b80 100644
|
|
||||||
--- a/tools/polly/cmake/CMakeLists.txt
|
|
||||||
+++ b/tools/polly/cmake/CMakeLists.txt
|
|
||||||
@@ -79,18 +79,18 @@ file(GENERATE
|
|
||||||
|
|
||||||
# Generate PollyConfig.cmake for the install tree.
|
|
||||||
unset(POLLY_EXPORTS)
|
|
||||||
-set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
|
||||||
+set(POLLY_INSTALL_PREFIX "")
|
|
||||||
set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
|
|
||||||
-set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
|
|
||||||
-set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}")
|
|
||||||
+set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
|
|
||||||
+set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
|
|
||||||
if (POLLY_BUNDLED_ISL)
|
|
||||||
set(POLLY_CONFIG_INCLUDE_DIRS
|
|
||||||
- "${POLLY_INSTALL_PREFIX}/include"
|
|
||||||
- "${POLLY_INSTALL_PREFIX}/include/polly"
|
|
||||||
+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}"
|
|
||||||
+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly"
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(POLLY_CONFIG_INCLUDE_DIRS
|
|
||||||
- "${POLLY_INSTALL_PREFIX}/include"
|
|
||||||
+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}"
|
|
||||||
${ISL_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
@@ -100,12 +100,12 @@ endif()
|
|
||||||
foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS)
|
|
||||||
get_target_property(tgt_type ${tgt} TYPE)
|
|
||||||
if (tgt_type STREQUAL "EXECUTABLE")
|
|
||||||
- set(tgt_prefix "bin/")
|
|
||||||
+ set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/")
|
|
||||||
else()
|
|
||||||
- set(tgt_prefix "lib/")
|
|
||||||
+ set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
- set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
|
|
||||||
+ set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
|
|
||||||
file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path})
|
|
||||||
|
|
||||||
if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY")
|
|
||||||
diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake
|
|
||||||
index 518a09b45a42..bd9d6f5542ad 100644
|
|
||||||
--- a/tools/polly/cmake/polly_macros.cmake
|
|
||||||
+++ b/tools/polly/cmake/polly_macros.cmake
|
|
||||||
@@ -44,8 +44,8 @@ macro(add_polly_library name)
|
|
||||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
|
|
||||||
install(TARGETS ${name}
|
|
||||||
EXPORT LLVMExports
|
|
||||||
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
|
||||||
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
|
|
||||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
|
|
||||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
|
|
||||||
endif()
|
|
||||||
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
|
||||||
endmacro(add_polly_library)
|
|
||||||
diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt
|
|
||||||
index 8991094d92c7..178d8ad606bb 100644
|
|
||||||
--- a/tools/polly/lib/External/CMakeLists.txt
|
|
||||||
+++ b/tools/polly/lib/External/CMakeLists.txt
|
|
||||||
@@ -275,7 +275,7 @@ if (POLLY_BUNDLED_ISL)
|
|
||||||
install(DIRECTORY
|
|
||||||
${ISL_SOURCE_DIR}/include/
|
|
||||||
${ISL_BINARY_DIR}/include/
|
|
||||||
- DESTINATION include/polly
|
|
||||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly
|
|
||||||
FILES_MATCHING
|
|
||||||
PATTERN "*.h"
|
|
||||||
PATTERN "CMakeFiles" EXCLUDE
|
|
|
@ -1,8 +1,8 @@
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
index 277d0fe54d7b..af69c8be8745 100644
|
index 135036f509d2..265c36f8211b 100644
|
||||||
--- a/CMakeLists.txt
|
--- a/CMakeLists.txt
|
||||||
+++ b/CMakeLists.txt
|
+++ b/CMakeLists.txt
|
||||||
@@ -256,15 +256,21 @@ if (CMAKE_BUILD_TYPE AND
|
@@ -270,15 +270,21 @@ if (CMAKE_BUILD_TYPE AND
|
||||||
message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
|
message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ index 277d0fe54d7b..af69c8be8745 100644
|
||||||
# They are used as destination of target generators.
|
# They are used as destination of target generators.
|
||||||
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
|
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
|
||||||
set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
|
set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
|
||||||
@@ -567,9 +573,9 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
|
@@ -581,9 +587,9 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
|
||||||
option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON)
|
option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON)
|
||||||
option (LLVM_ENABLE_BINDINGS "Build bindings." ON)
|
option (LLVM_ENABLE_BINDINGS "Build bindings." ON)
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ index 277d0fe54d7b..af69c8be8745 100644
|
||||||
CACHE STRING "OCamldoc-generated HTML documentation install directory")
|
CACHE STRING "OCamldoc-generated HTML documentation install directory")
|
||||||
|
|
||||||
option (LLVM_BUILD_EXTERNAL_COMPILER_RT
|
option (LLVM_BUILD_EXTERNAL_COMPILER_RT
|
||||||
@@ -1027,7 +1033,7 @@ endif()
|
@@ -1048,7 +1054,7 @@ endif()
|
||||||
|
|
||||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||||
install(DIRECTORY include/llvm include/llvm-c
|
install(DIRECTORY include/llvm include/llvm-c
|
||||||
|
@ -46,7 +46,7 @@ index 277d0fe54d7b..af69c8be8745 100644
|
||||||
COMPONENT llvm-headers
|
COMPONENT llvm-headers
|
||||||
FILES_MATCHING
|
FILES_MATCHING
|
||||||
PATTERN "*.def"
|
PATTERN "*.def"
|
||||||
@@ -1038,7 +1044,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
@@ -1059,7 +1065,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||||
)
|
)
|
||||||
|
|
||||||
install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm ${LLVM_INCLUDE_DIR}/llvm-c
|
install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm ${LLVM_INCLUDE_DIR}/llvm-c
|
||||||
|
@ -55,7 +55,7 @@ index 277d0fe54d7b..af69c8be8745 100644
|
||||||
COMPONENT llvm-headers
|
COMPONENT llvm-headers
|
||||||
FILES_MATCHING
|
FILES_MATCHING
|
||||||
PATTERN "*.def"
|
PATTERN "*.def"
|
||||||
@@ -1052,13 +1058,13 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
@@ -1073,13 +1079,13 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
||||||
|
|
||||||
if (LLVM_INSTALL_MODULEMAPS)
|
if (LLVM_INSTALL_MODULEMAPS)
|
||||||
install(DIRECTORY include/llvm include/llvm-c
|
install(DIRECTORY include/llvm include/llvm-c
|
||||||
|
@ -72,11 +72,11 @@ index 277d0fe54d7b..af69c8be8745 100644
|
||||||
RENAME "module.extern.modulemap"
|
RENAME "module.extern.modulemap"
|
||||||
)
|
)
|
||||||
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
|
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
|
||||||
index 97c9980c7de3..409e8b615f75 100644
|
index 9c2b85374307..5531ceeb2eeb 100644
|
||||||
--- a/cmake/modules/AddLLVM.cmake
|
--- a/cmake/modules/AddLLVM.cmake
|
||||||
+++ b/cmake/modules/AddLLVM.cmake
|
+++ b/cmake/modules/AddLLVM.cmake
|
||||||
@@ -804,9 +804,9 @@ macro(add_llvm_library name)
|
@@ -818,9 +818,9 @@ macro(add_llvm_library name)
|
||||||
|
get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella})
|
||||||
install(TARGETS ${name}
|
install(TARGETS ${name}
|
||||||
${export_to_llvmexports}
|
${export_to_llvmexports}
|
||||||
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
|
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
|
||||||
|
@ -88,7 +88,7 @@ index 97c9980c7de3..409e8b615f75 100644
|
||||||
|
|
||||||
if (NOT LLVM_ENABLE_IDE)
|
if (NOT LLVM_ENABLE_IDE)
|
||||||
add_llvm_install_targets(install-${name}
|
add_llvm_install_targets(install-${name}
|
||||||
@@ -1022,7 +1022,7 @@ function(process_llvm_pass_plugins)
|
@@ -1036,7 +1036,7 @@ function(process_llvm_pass_plugins)
|
||||||
"set(LLVM_STATIC_EXTENSIONS ${LLVM_STATIC_EXTENSIONS})")
|
"set(LLVM_STATIC_EXTENSIONS ${LLVM_STATIC_EXTENSIONS})")
|
||||||
install(FILES
|
install(FILES
|
||||||
${llvm_cmake_builddir}/LLVMConfigExtensions.cmake
|
${llvm_cmake_builddir}/LLVMConfigExtensions.cmake
|
||||||
|
@ -97,7 +97,7 @@ index 97c9980c7de3..409e8b615f75 100644
|
||||||
COMPONENT cmake-exports)
|
COMPONENT cmake-exports)
|
||||||
|
|
||||||
set(ExtensionDef "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def")
|
set(ExtensionDef "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def")
|
||||||
@@ -1242,7 +1242,7 @@ macro(add_llvm_example name)
|
@@ -1250,7 +1250,7 @@ macro(add_llvm_example name)
|
||||||
endif()
|
endif()
|
||||||
add_llvm_executable(${name} ${ARGN})
|
add_llvm_executable(${name} ${ARGN})
|
||||||
if( LLVM_BUILD_EXAMPLES )
|
if( LLVM_BUILD_EXAMPLES )
|
||||||
|
@ -106,7 +106,7 @@ index 97c9980c7de3..409e8b615f75 100644
|
||||||
endif()
|
endif()
|
||||||
set_target_properties(${name} PROPERTIES FOLDER "Examples")
|
set_target_properties(${name} PROPERTIES FOLDER "Examples")
|
||||||
endmacro(add_llvm_example name)
|
endmacro(add_llvm_example name)
|
||||||
@@ -1854,7 +1854,7 @@ function(llvm_install_library_symlink name dest type)
|
@@ -1868,7 +1868,7 @@ function(llvm_install_library_symlink name dest type)
|
||||||
set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX})
|
set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX})
|
||||||
set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX})
|
set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX})
|
||||||
|
|
||||||
|
@ -115,8 +115,8 @@ index 97c9980c7de3..409e8b615f75 100644
|
||||||
if(WIN32 AND "${type}" STREQUAL "SHARED")
|
if(WIN32 AND "${type}" STREQUAL "SHARED")
|
||||||
set(output_dir bin)
|
set(output_dir bin)
|
||||||
endif()
|
endif()
|
||||||
@@ -1871,7 +1871,7 @@ function(llvm_install_library_symlink name dest type)
|
@@ -1879,7 +1879,7 @@ function(llvm_install_library_symlink name dest type)
|
||||||
endif()
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
-function(llvm_install_symlink name dest)
|
-function(llvm_install_symlink name dest)
|
||||||
|
@ -124,7 +124,7 @@ index 97c9980c7de3..409e8b615f75 100644
|
||||||
cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN})
|
cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN})
|
||||||
foreach(path ${CMAKE_MODULE_PATH})
|
foreach(path ${CMAKE_MODULE_PATH})
|
||||||
if(EXISTS ${path}/LLVMInstallSymlink.cmake)
|
if(EXISTS ${path}/LLVMInstallSymlink.cmake)
|
||||||
@@ -1894,7 +1894,7 @@ function(llvm_install_symlink name dest)
|
@@ -1902,7 +1902,7 @@ function(llvm_install_symlink name dest)
|
||||||
set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX})
|
set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX})
|
||||||
|
|
||||||
install(SCRIPT ${INSTALL_SYMLINK}
|
install(SCRIPT ${INSTALL_SYMLINK}
|
||||||
|
@ -133,7 +133,7 @@ index 97c9980c7de3..409e8b615f75 100644
|
||||||
COMPONENT ${component})
|
COMPONENT ${component})
|
||||||
|
|
||||||
if (NOT LLVM_ENABLE_IDE AND NOT ARG_ALWAYS_GENERATE)
|
if (NOT LLVM_ENABLE_IDE AND NOT ARG_ALWAYS_GENERATE)
|
||||||
@@ -1977,7 +1977,8 @@ function(add_llvm_tool_symlink link_name target)
|
@@ -1985,7 +1985,8 @@ function(add_llvm_tool_symlink link_name target)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS)
|
if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS)
|
||||||
|
@ -143,12 +143,12 @@ index 97c9980c7de3..409e8b615f75 100644
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
@@ -2100,9 +2101,9 @@ function(llvm_setup_rpath name)
|
@@ -2114,9 +2115,9 @@ function(llvm_setup_rpath name)
|
||||||
|
# Since BUILD_SHARED_LIBS is only recommended for use by developers,
|
||||||
if (APPLE)
|
# hardcode the rpath to build/install lib dir first in this mode.
|
||||||
set(_install_name_dir INSTALL_NAME_DIR "@rpath")
|
# FIXME: update this when there is better solution.
|
||||||
- set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
|
- set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
|
||||||
+ set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
|
+ set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
|
- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
|
||||||
+ set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
|
+ set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
|
||||||
|
@ -185,16 +185,18 @@ index e80c3b5c1cac..482f6d715ef5 100644
|
||||||
|
|
||||||
# '/.' indicates: copy the contents of the directory directly into
|
# '/.' indicates: copy the contents of the directory directly into
|
||||||
diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
|
diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
|
||||||
index 505dc9a29d70..36e6c63af3f4 100644
|
index 51b6a4fdc284..4adc2acfc074 100644
|
||||||
--- a/cmake/modules/CMakeLists.txt
|
--- a/cmake/modules/CMakeLists.txt
|
||||||
+++ b/cmake/modules/CMakeLists.txt
|
+++ b/cmake/modules/CMakeLists.txt
|
||||||
@@ -1,4 +1,4 @@
|
@@ -1,6 +1,6 @@
|
||||||
|
include(LLVMDistributionSupport)
|
||||||
|
|
||||||
-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
|
-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
|
||||||
+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')")
|
+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')")
|
||||||
set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
|
set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
|
||||||
|
|
||||||
# First for users who use an installed LLVM, create the LLVMExports.cmake file.
|
# First for users who use an installed LLVM, create the LLVMExports.cmake file.
|
||||||
@@ -107,13 +107,13 @@ foreach(p ${_count})
|
@@ -109,13 +109,13 @@ foreach(p ${_count})
|
||||||
set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
|
set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
|
||||||
get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")
|
get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")
|
||||||
endforeach(p)
|
endforeach(p)
|
||||||
|
@ -212,32 +214,32 @@ index 505dc9a29d70..36e6c63af3f4 100644
|
||||||
# Generate a default location for lit
|
# Generate a default location for lit
|
||||||
if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)
|
if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)
|
||||||
diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake
|
diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake
|
||||||
index 09fed8085c23..aa79f192abf0 100644
|
index 3e6a2c9a2648..52e14d955c60 100644
|
||||||
--- a/cmake/modules/LLVMInstallSymlink.cmake
|
--- a/cmake/modules/LLVMInstallSymlink.cmake
|
||||||
+++ b/cmake/modules/LLVMInstallSymlink.cmake
|
+++ b/cmake/modules/LLVMInstallSymlink.cmake
|
||||||
@@ -10,7 +10,7 @@ function(install_symlink name target outdir)
|
@@ -4,7 +4,7 @@
|
||||||
set(LINK_OR_COPY copy)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
function(install_symlink name target outdir)
|
||||||
|
set(DESTDIR $ENV{DESTDIR})
|
||||||
- set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/")
|
- set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/")
|
||||||
+ set(bindir "${DESTDIR}${outdir}/")
|
+ set(bindir "${DESTDIR}${outdir}/")
|
||||||
|
|
||||||
message(STATUS "Creating ${name}")
|
message(STATUS "Creating ${name}")
|
||||||
|
|
||||||
diff --git a/docs/CMake.rst b/docs/CMake.rst
|
diff --git a/docs/CMake.rst b/docs/CMake.rst
|
||||||
index bb821b417ad9..6a528f7c2ad3 100644
|
index f1ac2c7d4934..c6e1469b5e13 100644
|
||||||
--- a/docs/CMake.rst
|
--- a/docs/CMake.rst
|
||||||
+++ b/docs/CMake.rst
|
+++ b/docs/CMake.rst
|
||||||
@@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``.
|
@@ -202,7 +202,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``.
|
||||||
**LLVM_LIBDIR_SUFFIX**:STRING
|
**LLVM_LIBDIR_SUFFIX**:STRING
|
||||||
Extra suffix to append to the directory where libraries are to be
|
Extra suffix to append to the directory where libraries are to be
|
||||||
installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64``
|
installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64``
|
||||||
- to install libraries to ``/usr/lib64``.
|
- to install libraries to ``/usr/lib64``.
|
||||||
+ to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``.
|
+ to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``.
|
||||||
|
|
||||||
**CMAKE_C_FLAGS**:STRING
|
Rarely-used CMake variables
|
||||||
Extra flags to use when compiling C source files.
|
---------------------------
|
||||||
@@ -550,8 +550,8 @@ LLVM-specific variables
|
@@ -551,8 +551,8 @@ LLVM-specific variables
|
||||||
|
|
||||||
**LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING
|
**LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING
|
||||||
The path to install Doxygen-generated HTML documentation to. This path can
|
The path to install Doxygen-generated HTML documentation to. This path can
|
||||||
|
@ -246,47 +248,9 @@ index bb821b417ad9..6a528f7c2ad3 100644
|
||||||
+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
|
+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
|
||||||
+ `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`.
|
+ `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`.
|
||||||
|
|
||||||
**LLVM_ENABLE_SPHINX**:BOOL
|
**LLVM_LINK_LLVM_DYLIB**:BOOL
|
||||||
If specified, CMake will search for the ``sphinx-build`` executable and will make
|
If enabled, tools will be linked with the libLLVM shared library. Defaults
|
||||||
@@ -582,13 +582,33 @@ LLVM-specific variables
|
@@ -792,9 +792,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``).
|
||||||
|
|
||||||
**LLVM_INSTALL_SPHINX_HTML_DIR**:STRING
|
|
||||||
The path to install Sphinx-generated HTML documentation to. This path can
|
|
||||||
- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
|
|
||||||
- `share/doc/llvm/html`.
|
|
||||||
+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
|
|
||||||
+ `${CMAKE_INSTALL_DOCDIR}/${project}/html`.
|
|
||||||
|
|
||||||
**LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING
|
|
||||||
The path to install OCamldoc-generated HTML documentation to. This path can
|
|
||||||
- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
|
|
||||||
- `share/doc/llvm/ocaml-html`.
|
|
||||||
+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
|
|
||||||
+ `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`.
|
|
||||||
+
|
|
||||||
+**CMAKE_INSTALL_BINDIR**:STRING
|
|
||||||
+ The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``.
|
|
||||||
+ Defaults to `bin`.
|
|
||||||
+
|
|
||||||
+**CMAKE_INSTALL_LIBDIR**:STRING
|
|
||||||
+ The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``.
|
|
||||||
+ Defaults to `lib`.
|
|
||||||
+
|
|
||||||
+**CMAKE_INSTALL_INCLUDEDIR**:STRING
|
|
||||||
+ The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``.
|
|
||||||
+ Defaults to `include`.
|
|
||||||
+
|
|
||||||
+**CMAKE_INSTALL_DOCDIR**:STRING
|
|
||||||
+ The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``.
|
|
||||||
+ Defaults to `share/doc`.
|
|
||||||
+
|
|
||||||
+**CMAKE_INSTALL_MANDIR**:STRING
|
|
||||||
+ The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``.
|
|
||||||
+ Defaults to `share/man`.
|
|
||||||
|
|
||||||
**LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL
|
|
||||||
macOS Only: If enabled CMake will generate a target named
|
|
||||||
@@ -786,9 +806,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``).
|
|
||||||
|
|
||||||
This file is available in two different locations.
|
This file is available in two different locations.
|
||||||
|
|
||||||
|
@ -377,11 +341,11 @@ index 1a2f04552d13..44fa7d3eec6b 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt
|
diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt
|
||||||
index 2963f97cad88..69d66c9c9ca1 100644
|
index 0af29ad762c5..37b99b83e35c 100644
|
||||||
--- a/tools/lto/CMakeLists.txt
|
--- a/tools/lto/CMakeLists.txt
|
||||||
+++ b/tools/lto/CMakeLists.txt
|
+++ b/tools/lto/CMakeLists.txt
|
||||||
@@ -25,7 +25,7 @@ add_llvm_library(LTO SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES} DEPENDS
|
@@ -33,7 +33,7 @@ add_llvm_library(${LTO_LIBRARY_NAME} ${LTO_LIBRARY_TYPE} INSTALL_WITH_TOOLCHAIN
|
||||||
intrinsics_gen)
|
${SOURCES} DEPENDS intrinsics_gen)
|
||||||
|
|
||||||
install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
|
install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
|
||||||
- DESTINATION include/llvm-c
|
- DESTINATION include/llvm-c
|
||||||
|
|
|
@ -18,4 +18,4 @@ nac3core = { path = "../nac3core" }
|
||||||
[dependencies.inkwell]
|
[dependencies.inkwell]
|
||||||
version = "0.1.0-beta.4"
|
version = "0.1.0-beta.4"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["llvm12-0", "target-x86", "target-arm", "target-riscv", "no-libffi-linking"]
|
features = ["llvm13-0", "target-x86", "target-arm", "target-riscv", "no-libffi-linking"]
|
||||||
|
|
|
@ -16,7 +16,7 @@ nac3parser = { path = "../nac3parser" }
|
||||||
[dependencies.inkwell]
|
[dependencies.inkwell]
|
||||||
version = "0.1.0-beta.4"
|
version = "0.1.0-beta.4"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["llvm12-0", "target-x86", "target-arm", "target-riscv", "no-libffi-linking"]
|
features = ["llvm13-0", "target-x86", "target-arm", "target-riscv", "no-libffi-linking"]
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
test-case = "1.2.0"
|
test-case = "1.2.0"
|
||||||
|
|
|
@ -12,4 +12,4 @@ nac3core = { path = "../nac3core" }
|
||||||
[dependencies.inkwell]
|
[dependencies.inkwell]
|
||||||
version = "0.1.0-beta.4"
|
version = "0.1.0-beta.4"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["llvm12-0", "target-x86", "target-arm", "target-riscv", "no-libffi-linking"]
|
features = ["llvm13-0", "target-x86", "target-arm", "target-riscv", "no-libffi-linking"]
|
||||||
|
|
Loading…
Reference in New Issue