clang: Generate proper names for import/static libraries.
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
--- a/cmake/modules/AddLLVM.cmake 2015-12-25 11:45:24.447038200 +0300
|
||||
+++ b/cmake/modules/AddLLVM.cmake 2015-12-25 12:14:26.848945700 +0300
|
||||
@@ -399,10 +399,15 @@
|
||||
llvm_update_compile_flags(${name})
|
||||
add_link_opts( ${name} )
|
||||
if(ARG_OUTPUT_NAME)
|
||||
- set_target_properties(${name}
|
||||
- PROPERTIES
|
||||
- OUTPUT_NAME ${ARG_OUTPUT_NAME}
|
||||
- )
|
||||
+ if(MINGW)
|
||||
+ string(REGEX REPLACE "^lib([A-Za-z]+)" "\\1" LIB_OUTPUT_NAME ${ARG_OUTPUT_NAME})
|
||||
+ set_target_properties(${name} PROPERTIES OUTPUT_NAME ${LIB_OUTPUT_NAME} RUNTIME_OUTPUT_NAME ${ARG_OUTPUT_NAME} ARCHIVE_OUTPUT_NAME ${LIB_OUTPUT_NAME})
|
||||
+ else()
|
||||
+ set_target_properties(${name}
|
||||
+ PROPERTIES
|
||||
+ OUTPUT_NAME ${ARG_OUTPUT_NAME}
|
||||
+ )
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
if(ARG_MODULE)
|
||||
11
mingw-w64-clang/0018-mingw-enable-static-libclang.patch
Normal file
11
mingw-w64-clang/0018-mingw-enable-static-libclang.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- cfe-3.7.0.src/tools/libclang/CMakeLists.txt.orig 2015-12-25 10:56:22.521432100 +0300
|
||||
+++ cfe-3.7.0.src/tools/libclang/CMakeLists.txt 2015-12-25 12:18:32.484593900 +0300
|
||||
@@ -74,7 +74,7 @@
|
||||
set(ENABLE_SHARED SHARED)
|
||||
endif()
|
||||
|
||||
-if((NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC) AND NOT WIN32)
|
||||
+if((NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC) AND (NOT WIN32 OR MINGW))
|
||||
set(ENABLE_STATIC STATIC)
|
||||
endif()
|
||||
|
||||
@@ -14,7 +14,7 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||
"${MINGW_PACKAGE_PREFIX}-llvm"
|
||||
)
|
||||
pkgver=3.7.0
|
||||
pkgrel=8
|
||||
pkgrel=9
|
||||
pkgdesc="LC language family frontend for LLVM (mingw-w64)"
|
||||
arch=('any')
|
||||
url="http://llvm.org"
|
||||
@@ -37,12 +37,14 @@ source=(http://llvm.org/releases/${pkgver}/llvm-${pkgver}.src.tar.xz{,.sig}
|
||||
http://llvm.org/releases/${pkgver}/lld-${pkgver}.src.tar.xz{,.sig}
|
||||
0001-Fix-GetHostTriple-for-mingw-w64-in-msys.patch
|
||||
0002-use-DESTDIR-on-windows.patch
|
||||
0003-generate-proper-library-names-mingw.patch
|
||||
0012-Set-the-x86-arch-name-to-i686-for-mingw-w64.patch
|
||||
0013-mingw-w64-dont-have-dl-library.patch
|
||||
0014-use-DESTDIR-on-windows.patch
|
||||
0015-Fix-the-calling-convention-of-Mingw64-long-double-va.patch
|
||||
0016-Teach-mingw-toolchain-driver-to-properly-emit-static.patch
|
||||
0017-Fix-PR23472-by-emitting-initialized-variable-and-its.patch
|
||||
0018-mingw-enable-static-libclang.patch
|
||||
0031-COFF-add-the-mingw-alias-for-ImageBase.patch
|
||||
0032-PECOFF-add-the-mingw-alias-for-ImageBase.patch
|
||||
0033-PECOFF-add-searchLibrary-function-with-sysroot-suppo.patch
|
||||
@@ -75,12 +77,14 @@ sha256sums=('ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153'
|
||||
'SKIP'
|
||||
'0804146b32138d55c611336cc81e1783c29a8fab0fe62f248ba1ad7acc711c4d'
|
||||
'bf22d86c0546b80cd7212b7e7c3e1b628f00ab3aa3b9cf73ad338bf628f42597'
|
||||
'6a95ed671876a6de04799d15bf7485d628016bb4a95a6764217ad452d8eed0d8'
|
||||
'13a95a61e9c1c44c18a69947734e07515332a549446394f48b86b52511d221de'
|
||||
'8f35b80eca6c18df020b176eee4eb95901c31e3e640848a6d606983aca15a3af'
|
||||
'962b4de1afa781ee171f71211518c58f6a3531d7fcca5ec458e39703b0fb9af7'
|
||||
'f7bc109b07b5256a068dbe55097c24b46307aea442bec884d8ba455dc3ad18fd'
|
||||
'59e7afa5e74d186ad596c9a7625d6022fde0679faea9d1fd516fe0a622dbc01a'
|
||||
'47fbe90718742d1a3c0aee919b159241e616738447de3505a48a9f5886e5db96'
|
||||
'0e45e76ee6d6658de52edb7b508a8bcc9f10ff0b295ff2a4e35577136a40c6a5'
|
||||
'421befbe54123066544f53876c7eb6013ac6684744d8173fb0a3fa9be16d68c7'
|
||||
'96a6fcd81b8d5134b4273a2e413cd268430022533f1bfb44ed73503ee0ae7e87'
|
||||
'08260b1ee54fad7e0015d66b117937701d2ce4ca1814b012250de03a0dae9317'
|
||||
@@ -102,6 +106,7 @@ prepare() {
|
||||
cd "${srcdir}/llvm-${pkgver}.src"
|
||||
patch -p1 -i ${srcdir}/0001-Fix-GetHostTriple-for-mingw-w64-in-msys.patch
|
||||
patch -p1 -i ${srcdir}/0002-use-DESTDIR-on-windows.patch
|
||||
patch -p1 -i ${srcdir}/0003-generate-proper-library-names-mingw.patch
|
||||
|
||||
cd "${srcdir}/cfe-${pkgver}.src"
|
||||
patch -p1 -i ${srcdir}/0012-Set-the-x86-arch-name-to-i686-for-mingw-w64.patch
|
||||
@@ -110,6 +115,7 @@ prepare() {
|
||||
patch -p1 -i ${srcdir}/0015-Fix-the-calling-convention-of-Mingw64-long-double-va.patch
|
||||
patch -p1 -i ${srcdir}/0016-Teach-mingw-toolchain-driver-to-properly-emit-static.patch
|
||||
patch -p1 -i ${srcdir}/0017-Fix-PR23472-by-emitting-initialized-variable-and-its.patch
|
||||
patch -p1 -i ${srcdir}/0018-mingw-enable-static-libclang.patch
|
||||
|
||||
cd "${srcdir}/lld-${pkgver}.src"
|
||||
# patch -p1 -i "${srcdir}"/0031-COFF-add-the-mingw-alias-for-ImageBase.patch
|
||||
@@ -195,6 +201,7 @@ build() {
|
||||
-DLLVM_ENABLE_FFI=ON \
|
||||
-DLLVM_ENABLE_SPHINX=ON \
|
||||
-DCMAKE_CXX_FLAGS="-D_GNU_SOURCE -D_LIBCPP_HAS_NO_CONSTEXPR" \
|
||||
-DLIBCLANG_BUILD_STATIC=ON \
|
||||
-DLIBCXX_ENABLE_SHARED=OFF \
|
||||
-DLIBCXXABI_ENABLE_SHARED=OFF \
|
||||
../llvm-${pkgver}.src
|
||||
@@ -219,6 +226,7 @@ package_clang(){
|
||||
|
||||
cd build-${CARCH}/tools/clang
|
||||
make -j1 DESTDIR="$pkgdir" rebuild_cache install
|
||||
cp -f lib/libclang.a ${pkgdir}$MINGW_PREFIX}/lib/
|
||||
|
||||
# .. Unmove
|
||||
cd "${srcdir}"
|
||||
|
||||
Reference in New Issue
Block a user