libLLVM-dfbsd: Remove libLLVM-dfbsd in favor of llvm-dfbsd

This commit is contained in:
David Shao 2019-02-23 21:01:47 -08:00
parent 0b3eb950ce
commit 8f3c0f3049
16 changed files with 1 additions and 1644 deletions

View File

@ -1765,7 +1765,6 @@ SUBDIR+= lgogdownloader-git
SUBDIR+= lhapdf
SUBDIR+= lhs2tex
SUBDIR+= libGenome
SUBDIR+= libLLVM-dfbsd
SUBDIR+= libLLVM38
SUBDIR+= libalkimia
SUBDIR+= libanimal
@ -2004,6 +2003,7 @@ SUBDIR+= lldb-git
SUBDIR+= lldb-netbsd
SUBDIR+= llgo-git
SUBDIR+= llilc-git
SUBDIR+= llvm-dfbsd
SUBDIR+= lmdbg-current
SUBDIR+= lmod
SUBDIR+= logfmon-git

View File

@ -1,7 +0,0 @@
The LLVM Project is a collection of modular and reusable compiler and toolchain
technologies. Despite its name, LLVM has little to do with traditional virtual
machines, though it does provide helpful libraries that can be used to build
them.
This package contains the LLVM core shared libraries intended to be usable by
packages built on an otherwise GCC-built system.

View File

@ -1,149 +0,0 @@
# $NetBSD: Makefile,v 1.26 2017/12/01 19:22:13 adam Exp $
DISTNAME= llvm-5.0.1.src
PKGNAME= ${DISTNAME:S/llvm/libLLVM/:S/.src//}
CATEGORIES= lang devel
MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://llvm.org/
COMMENT= Low Level Virtual Machine shared library
LICENSE= modified-bsd
USE_LANGUAGES= c c++11
USE_CMAKE= yes
GCC_REQD+= 4.8
PYTHON_FOR_BUILD_ONLY= yes
CONFIGURE_DIRS= ${WRKDIR}/build
CMAKE_ARG_PATH= ${WRKSRC}
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
# CMAKE_ARGS+= -DCMAKE_C_COMPILER=gcc
# CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=g++
CMAKE_ARGS+= -DCMAKE_CXX_LINK_FLAGS=${LDFLAGS:Q}
CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=ON
CMAKE_ARGS+= -DLLVM_LINK_LLVM_DYLIB=ON
CMAKE_ARGS+= -DLLVM_INCLUDE_TESTS=OFF
CMAKE_ARGS+= -DCMAKE_EXE_LINKER_FLAGS=${COMPILER_RPATH_FLAG}${PREFIX}/lib/libLLVM
CMAKE_ARGS.Darwin+= -DCMAKE_LIBTOOL=/usr/bin/libtool
# From FreeBSD ports devel/llvm40
CMAKE_ARGS+= -DLLVM_ENABLE_RTTI=ON
.for tool in bugpoint bugpoint_passes dsymutil llc lli llvm_ar \
llvm_as llvm_bcanalyzer llvm_c_test llvm_cov llvm_cxxdump \
llvm_diff llvm_dis llvm_dwarfdump llvm_dwp llvm_extract llvm_go \
llvm_jitlistener llvm_link llvm_lto llvm_mc llvm_mcmarkup \
llvm_nm llvm_objdump llvm_pdbdump llvm_profdata llvm_readobj \
llvm_rtdyld llvm_size llvm_split llvm_stress llvm_symbolizer \
lto obj2yaml opt sancov verify_uselistorder yaml2obj sanstats
CMAKE_ARGS+= -DLLVM_TOOL_${tool:tu}_BUILD=OFF
.endfor
SUBST_CLASSES+= fix-cnf
SUBST_STAGE.fix-cnf= pre-configure
SUBST_MESSAGE.fix-cnf= Fixing llvm-config paths
SUBST_FILES.fix-cnf= tools/llvm-config/llvm-config.cpp
SUBST_VARS.fix-cnf= PREFIX LLVM_MAJOR_MINOR COMPILER_RPATH_FLAG
CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm
# XXX perl is not added as a tool as it does not seem to be required
REPLACE_PERL+= utils/GenLibDeps.pl
REPLACE_PERL+= utils/UpdateCMakeLists.pl
REPLACE_PERL+= utils/codegen-diff
REPLACE_PERL+= utils/findsym.pl
REPLACE_PERL+= utils/llvm-native-gxx
REPLACE_PERL+= utils/test_debuginfo.pl
REPLACE_PYTHON+= examples/Kaleidoscope/MCJIT/cached/genk-timing.py
REPLACE_PYTHON+= examples/Kaleidoscope/MCJIT/cached/split-lib.py
REPLACE_PYTHON+= examples/Kaleidoscope/MCJIT/complete/genk-timing.py
REPLACE_PYTHON+= examples/Kaleidoscope/MCJIT/complete/split-lib.py
REPLACE_PYTHON+= examples/Kaleidoscope/MCJIT/lazy/genk-timing.py
REPLACE_PYTHON+= test/BugPoint/compile-custom.ll.py
REPLACE_PYTHON+= test/tools/llvm-readobj/Inputs/relocs.py
REPLACE_PYTHON+= utils/Misc/zkill
REPLACE_PYTHON+= utils/Target/ARM/analyze-match-table.py
REPLACE_PYTHON+= utils/bisect
REPLACE_PYTHON+= utils/clang-parse-diagnostics-file
REPLACE_PYTHON+= utils/create_ladder_graph.py
REPLACE_PYTHON+= utils/git/find-rev
REPLACE_PYTHON+= utils/lint/common_lint.py
REPLACE_PYTHON+= utils/lint/cpp_lint.py
REPLACE_PYTHON+= utils/lint/generic_lint.py
REPLACE_PYTHON+= utils/lit/lit.py
REPLACE_PYTHON+= utils/lit/lit/ProgressBar.py
REPLACE_PYTHON+= utils/lit/lit/main.py
REPLACE_PYTHON+= utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest
REPLACE_PYTHON+= utils/llvm-build/llvm-build
REPLACE_PYTHON+= utils/llvm-compilers-check
REPLACE_PYTHON+= utils/llvm-lit/llvm-lit.in
REPLACE_PYTHON+= utils/release/findRegressions-nightly.py
REPLACE_PYTHON+= utils/release/findRegressions-simple.py
REPLACE_PYTHON+= utils/schedcover.py
REPLACE_PYTHON+= utils/shuffle_fuzz.py
REPLACE_PYTHON+= utils/sort_includes.py
REPLACE_PYTHON+= utils/testgen/mc-bundling-x86-gen.py
REPLACE_PYTHON+= utils/update_llc_test_checks.py
REPLACE_PYTHON+= utils/wciia.py
TEST_TARGET= check
TEST_ENV+= LD_LIBRARY_PATH=${WRKDIR}/build/lib
.include "../../mk/bsd.prefs.mk"
# 3.8.0 -> 3.8
LLVM_MAJOR_MINOR= ${PKGVERSION_NOREV:C/^([0-9]+\.[0-9]+)\..*$/\1/}
PLIST_SUBST+= LLVM_MAJOR_MINOR=${LLVM_MAJOR_MINOR}
PLIST_VARS+= notdylib
.if ${SHLIB_TYPE} == "dylib"
SOEXT= dylib
LLVM_LIBNAME= libLLVM.${SOEXT}
.else
SOEXT= so
LLVM_LIBNAME= libLLVM-${LLVM_MAJOR_MINOR}.${SOEXT}
PLIST.notdylib= yes
.endif
PLIST_SUBST+= SOEXT=${SOEXT}
PLIST_SUBST+= LLVM_LIBNAME=${LLVM_LIBNAME}
.include "options.mk"
# needs std::atomic with 64-bit CAS
.if ${MACHINE_ARCH} == "i386"
CXXFLAGS+= -march=i586
.endif
# replacing config.guess is required even for cmake.
# It is used to detect correct LLVM_HOST_TRIPLE, e.g. for NetBSD/evbarm.
post-extract:
${RUN} mkdir -p ${WRKDIR}/build
.for f in config.guess config.sub
cp ../../mk/gnu-config/${f} ${WRKSRC}/cmake/${f}
.endfor
${RM} ${WRKSRC}/tools/opt-viewer/CMakeLists.txt
post-install:
${INSTALL_LIB_DIR} ${DESTDIR}${PREFIX}/lib/libLLVM
${INSTALL_LIB} ${WRKDIR}/build/lib/${LLVM_LIBNAME} \
${DESTDIR}${PREFIX}/lib/libLLVM/${LLVM_LIBNAME}
.if ${OPSYS} == "Darwin"
install_name_tool -id \
${PREFIX}/lib/libLLVM/${LLVM_LIBNAME} \
${DESTDIR}${PREFIX}/lib/libLLVM/${LLVM_LIBNAME}
.else
${LN} -sf ${LLVM_LIBNAME} \
${DESTDIR}${PREFIX}/lib/libLLVM/libLLVM.${SOEXT}
${LN} -sf ${LLVM_LIBNAME} \
${DESTDIR}${PREFIX}/lib/libLLVM/libLLVM-${PKGVERSION_NOREV}.${SOEXT}
.endif
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../lang/python/tool.mk"
.include "../../mk/bsd.pkg.mk"

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
Port llvm 6

View File

@ -1,18 +0,0 @@
# $NetBSD: buildlink3.mk,v 1.5 2017/05/05 23:13:05 kamil Exp $
BUILDLINK_TREE+= libLLVM
.if !defined(LIBLLVM_BUILDLINK3_MK)
LIBLLVM_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.libLLVM+= libLLVM>=4.0.0
BUILDLINK_PKGSRCDIR.libLLVM?= ../../lang/libLLVM
BUILDLINK_INCDIRS.libLLVM?= include/libLLVM
BUILDLINK_LIBDIRS.libLLVM?= lib/libLLVM
LLVM_CONFIG_PATH?= ${BUILDLINK_PREFIX.libLLVM}/libexec/libLLVM/llvm-config
.include "../../devel/zlib/buildlink3.mk"
.endif # LIBLLVM_BUILDLINK3_MK
BUILDLINK_TREE+= -libLLVM

View File

@ -1,14 +0,0 @@
$NetBSD: distinfo,v 1.11 2017/12/01 19:22:13 adam Exp $
SHA1 (llvm-5.0.1.src.tar.xz) = 43d3659f8a3cef43e7435a3a874b0711f5888052
RMD160 (llvm-5.0.1.src.tar.xz) = 3d17de87813313b6eac5b5dc8592f676c5cee561
SHA512 (llvm-5.0.1.src.tar.xz) = bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
Size (llvm-5.0.1.src.tar.xz) = 23428720 bytes
SHA1 (patch-CMakeLists.txt) = 770e0bc00a987430b6c6be7e4141f33e5be54a8f
SHA1 (patch-cmake_modules_AddLLVM.cmake) = 065b032ba377aca36c2d2131676c3b9a51c54b9d
SHA1 (patch-cmake_modules_CMakeLists.txt) = 69514dafb36794eb6923a39ef219bdc7b09c37ee
SHA1 (patch-cmake_modules_HandleLLVMOptions.cmake) = 271e6f5a8cebf8162c4e3b758e96f451b434269b
SHA1 (patch-cmake_modules_TableGen.cmake) = 105aece4014c473a21ec6b427893239bbe881f89
SHA1 (patch-lib_Support_Unix_Path.inc) = 9b579e3e949f86c7ac5f8df5718bb4e1be2443e0
SHA1 (patch-tools_llvm-config_llvm-config.cpp) = 64d644c13c02d1f156ea4ab7227465edfb179951
SHA1 (patch-tools_llvm-shlib_CMakeLists.txt) = 70d8f320f217d99e6f991709a080450bc05631cd

View File

@ -1,56 +0,0 @@
# $NetBSD: options.mk,v 1.3 2017/05/09 12:23:42 jperkin Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.llvm
LLVM_TARGETS= AArch64 AMDGPU ARM BPF Hexagon MSP430 Mips NVPTX PowerPC Sparc SystemZ X86 XCore
.for tgt in ${LLVM_TARGETS}
PLIST_VARS+= ${tgt}
PKG_SUPPORTED_OPTIONS+= llvm-target-${tgt:tl}
.endfor
PKG_SUPPORTED_OPTIONS+= terminfo
# Terminfo is used for colour output, only enable it by default if terminfo
# is builtin to avoid unnecessary dependencies which could cause bootstrap
# issues.
CHECK_BUILTIN.terminfo:= yes
.include "../../mk/terminfo.builtin.mk"
CHECK_BUILTIN.terminfo:= no
.if !empty(USE_BUILTIN.terminfo:M[yY][eE][sS])
PKG_SUGGESTED_OPTIONS+= terminfo
.endif
# Probably safe to assume that only x86 users are interested in
# cross-compilation for now. This saves some build time for everyone else.
.if !empty(MACHINE_ARCH:Msparc*)
PKG_SUGGESTED_OPTIONS+= llvm-target-sparc
.elif !empty(MACHINE_ARCH:Mpowerpc*)
PKG_SUGGESTED_OPTIONS+= llvm-target-powerpc
.elif !empty(MACHINE_ARCH:Mearm*)
PKG_SUGGESTED_OPTIONS+= llvm-target-arm
.elif !empty(MACHINE_ARCH:M*mips*)
PKG_SUGGESTED_OPTIONS+= llvm-target-mips
.else
# X86 and everyone else get all targets by default.
. for tgt in ${LLVM_TARGETS}
PKG_SUGGESTED_OPTIONS+= llvm-target-${tgt:tl}
. endfor
.endif
PKG_SUGGESTED_OPTIONS+= llvm-target-amdgpu # for mesa/radeon
.include "../../mk/bsd.options.mk"
.for tgt in ${LLVM_TARGETS}
. if !empty(PKG_OPTIONS:Mllvm-target-${tgt:tl})
PLIST.${tgt}= yes
LLVM_TARGETS_TO_BUILD+= ${tgt}
. endif
.endfor
.if !empty(PKG_OPTIONS:Mterminfo)
.include "../../mk/terminfo.buildlink3.mk"
.else
CMAKE_ARGS+= -DLLVM_ENABLE_TERMINFO=OFF
.endif
CMAKE_ARGS+= -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD:ts;}"

View File

@ -1,24 +0,0 @@
$NetBSD: patch-CMakeLists.txt,v 1.1 2016/03/08 21:06:50 tnn Exp $
Put headers in subdirectory to avoid conflict with clang.
--- CMakeLists.txt.orig 2016-01-13 19:03:44.000000000 +0000
+++ CMakeLists.txt
@@ -728,7 +728,7 @@ add_subdirectory(cmake/modules)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
install(DIRECTORY include/llvm include/llvm-c
- DESTINATION include
+ DESTINATION include/libLLVM
COMPONENT llvm-headers
FILES_MATCHING
PATTERN "*.def"
@@ -740,7 +740,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
)
install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm
- DESTINATION include
+ DESTINATION include/libLLVM
COMPONENT llvm-headers
FILES_MATCHING
PATTERN "*.def"

View File

@ -1,49 +0,0 @@
$NetBSD: patch-cmake_modules_AddLLVM.cmake,v 1.5 2017/12/01 19:22:13 adam Exp $
Disable library install rules. Handled manually.
Make sure llvm-config goes in libexec/libLLVM to avoid conflict.
Don't use non-portable -z discard-unused on SunOS.
--- cmake/modules/AddLLVM.cmake.orig 2017-07-12 21:43:14.000000000 +0000
+++ cmake/modules/AddLLVM.cmake
@@ -198,9 +198,6 @@ function(add_link_opts target_name)
# ld64's implementation of -dead_strip breaks tools that use plugins.
set_property(TARGET ${target_name} APPEND_STRING PROPERTY
LINK_FLAGS " -Wl,-dead_strip")
- elseif(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
- set_property(TARGET ${target_name} APPEND_STRING PROPERTY
- LINK_FLAGS " -Wl,-z -Wl,discard-unused=sections")
elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD)
# Object files are compiled with -ffunction-data-sections.
# Versions of bfd ld < 2.23.1 have a bug in --gc-sections that breaks
@@ -607,10 +604,6 @@ macro(add_llvm_library name)
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
endif()
- install(TARGETS ${name}
- ${export_to_llvmexports}
- ${install_type} DESTINATION ${install_dir}
- COMPONENT ${name})
if (NOT CMAKE_CONFIGURATION_TYPES)
add_custom_target(install-${name}
@@ -648,10 +641,6 @@ macro(add_llvm_loadable_module name)
set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
endif()
- install(TARGETS ${name}
- ${export_to_llvmexports}
- LIBRARY DESTINATION ${dlldir}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
endif()
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
endif()
@@ -839,7 +828,7 @@ macro(add_llvm_tool name)
install(TARGETS ${name}
${export_to_llvmexports}
- RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR}
+ RUNTIME DESTINATION libexec/libLLVM
COMPONENT ${name})
if (NOT CMAKE_CONFIGURATION_TYPES)

View File

@ -1,12 +0,0 @@
$NetBSD: patch-cmake_modules_CMakeLists.txt,v 1.3 2017/03/17 22:38:18 adam Exp $
Make sure cmake rules go in own directory to avoid conflicts.
--- cmake/modules/CMakeLists.txt.orig 2016-11-08 05:02:18.000000000 +0000
+++ cmake/modules/CMakeLists.txt
@@ -1,4 +1,4 @@
-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
+set(LLVM_INSTALL_PACKAGE_DIR share/libLLVM/cmake)
set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
# First for users who use an installed LLVM, create the LLVMExports.cmake file.

View File

@ -1,14 +0,0 @@
$NetBSD: patch-cmake_modules_HandleLLVMOptions.cmake,v 1.1 2016/12/10 22:30:27 maya Exp $
DragonflyBSD support
--- cmake/modules/HandleLLVMOptions.cmake.orig 2016-01-06 19:05:19.000000000 +0000
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -132,6 +132,7 @@ endif()
# Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO
# build might work on ELF but fail on MachO/COFF.
if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32 OR CYGWIN OR
+ ${CMAKE_SYSTEM_NAME} MATCHES "DragonFly" OR
${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") AND
NOT LLVM_USE_SANITIZER)

View File

@ -1,15 +0,0 @@
$NetBSD: patch-cmake_modules_TableGen.cmake,v 1.3 2017/03/17 22:38:18 adam Exp $
Disable install of llvm-tblgen, provided by lang/llvm.
--- cmake/modules/TableGen.cmake.orig 2016-12-06 17:09:29.000000000 +0000
+++ cmake/modules/TableGen.cmake
@@ -134,7 +134,7 @@ macro(add_tablegen target project)
endif()
endif()
- if (${project} STREQUAL LLVM AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+ if (${project} STREQUAL LLVM AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND false)
if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
NOT LLVM_DISTRIBUTION_COMPONENTS)
set(export_to_llvmexports EXPORT LLVMExports)

View File

@ -1,39 +0,0 @@
$NetBSD$
From DragonFly dports devel/llvm50.
D31831: posix_fallocate isn't support on all filesystems
https://reviews.llvm.org/D31831
Check the return from posix_fallocate and if the filesystem doesn't support it fall back to ftruncate.
Apparently for FreeBSD some recent version posix_fallocate does not work on zfs.
--- lib/Support/Unix/Path.inc.orig 2017-06-29 13:15:31.000000000 +0000
+++ lib/Support/Unix/Path.inc
@@ -68,13 +68,13 @@
#include <sys/types.h>
#if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && \
- !defined(__linux__)
+ !defined(__linux__) && !defined(__DragonFly__)
#include <sys/statvfs.h>
#define STATVFS statvfs
#define FSTATVFS fstatvfs
#define STATVFS_F_FRSIZE(vfs) vfs.f_frsize
#else
-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
#include <sys/mount.h>
#include <sys/param.h>
#elif defined(__linux__)
@@ -427,7 +427,7 @@ std::error_code resize_file(int FD, uint
// If we have posix_fallocate use it. Unlike ftruncate it always allocates
// space, so we get an error if the disk is full.
if (int Err = ::posix_fallocate(FD, 0, Size)) {
- if (Err != EOPNOTSUPP)
+ if (Err != EINVAL && Err != EOPNOTSUPP)
return std::error_code(Err, std::generic_category());
}
#endif

View File

@ -1,57 +0,0 @@
$NetBSD: patch-tools_llvm-config_llvm-config.cpp,v 1.4 2017/12/01 19:22:13 adam Exp $
Avoid conflict with lang/clang.
Use -lLLVM-3.8 instead of -lLLVM-3.8.0 so we don't break unnecessarily
on patch updates.
--- tools/llvm-config/llvm-config.cpp.orig 2017-06-01 20:51:55.000000000 +0000
+++ tools/llvm-config/llvm-config.cpp
@@ -332,11 +332,11 @@ int main(int argc, char **argv) {
("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
} else {
ActivePrefix = CurrentExecPrefix;
- ActiveIncludeDir = ActivePrefix + "/include";
+ ActiveIncludeDir = "@PREFIX@/include/libLLVM";
SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
sys::fs::make_absolute(ActivePrefix, path);
ActiveBinDir = path.str();
- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
+ ActiveLibDir = "@PREFIX@/lib/libLLVM";
ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
ActiveIncludeOption = "-I" + ActiveIncludeDir;
}
@@ -372,14 +372,14 @@ int main(int argc, char **argv) {
StaticDir = ActiveLibDir;
} else if (HostTriple.isOSDarwin()) {
SharedExt = "dylib";
- SharedVersionedExt = LLVM_DYLIB_VERSION ".dylib";
+ SharedVersionedExt = ".dylib";
StaticExt = "a";
StaticDir = SharedDir = ActiveLibDir;
StaticPrefix = SharedPrefix = "lib";
} else {
// default to the unix values:
SharedExt = "so";
- SharedVersionedExt = LLVM_DYLIB_VERSION ".so";
+ SharedVersionedExt = "-@LLVM_MAJOR_MINOR@.so";
StaticExt = "a";
StaticDir = SharedDir = ActiveLibDir;
StaticPrefix = SharedPrefix = "lib";
@@ -392,7 +392,7 @@ int main(int argc, char **argv) {
bool DyLibExists = false;
const std::string DyLibName =
- (SharedPrefix + "LLVM-" + SharedVersionedExt).str();
+ (SharedPrefix + "LLVM" + SharedVersionedExt).str();
// If LLVM_LINK_DYLIB is ON, the single shared library will be returned
// for "--libs", etc, if they exist. This behaviour can be overridden with
@@ -493,7 +493,7 @@ int main(int argc, char **argv) {
OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n';
} else if (Arg == "--ldflags") {
OS << ((HostTriple.isWindowsMSVCEnvironment()) ? "-LIBPATH:" : "-L")
- << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n';
+ << ActiveLibDir << " @COMPILER_RPATH_FLAG@" << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n';
} else if (Arg == "--system-libs") {
PrintSystemLibs = true;
} else if (Arg == "--libs") {

View File

@ -1,27 +0,0 @@
$NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.4 2017/12/01 19:22:13 adam Exp $
Use the Linux style linking everywhere except Darwin and SunOS.
--- tools/llvm-shlib/CMakeLists.txt.orig 2017-07-11 01:17:44.000000000 +0000
+++ tools/llvm-shlib/CMakeLists.txt
@@ -37,15 +37,15 @@ endif()
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES})
list(REMOVE_DUPLICATES LIB_NAMES)
-if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")) # FIXME: It should be "GNU ld for elf"
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
+ set(LIB_NAMES -Wl,-all_load ${LIB_NAMES})
+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")
+ set(LIB_NAMES -Wl,-Bsymbolic -Wl,-z -Wl,allextract ${LIB_NAMES} -Wl,-z -Wl,defaultextract)
+else()
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in
${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map)
-
- # GNU ld doesn't resolve symbols in the version script.
set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive)
-elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
- set(LIB_NAMES -Wl,-all_load ${LIB_NAMES})
endif()
target_link_libraries(LLVM PRIVATE ${LIB_NAMES})