[fink:package-submissions] #4896 llvm40-4.0.0-1
Hanspeter Niederstrasser via Fink-tracker <[email protected]>
| Newsgroups | gmane.os.apple.fink.tracker |
|---|---|
| Message-ID | </p/fink/package-submissions/4896/7fc5bd79553713e077db22d3607a5cc434592885.package-submissions@fink.p.sourceforge.net> |
- **labels**: --> languages, New Package
- **status**: open --> closed-out-of-date
- **Group**: Undergoing_Validation --> Supplanted
---
** [package-submissions:#4896] llvm40-4.0.0-1**
**Status:** closed-out-of-date
**Group:** Supplanted
**Labels:** languages New Package
**Created:** Mon Mar 13, 2017 10:02 PM UTC by Jack Howarth
**Last Updated:** Fri Jun 23, 2017 12:27 PM UTC
**Owner:** David Fang
Add llvm40 package for 4.0.0 release and introduce new common libomp-dev, libomp-shlibs and llvm-clang split-offs to allow generic use of the openmp support in clang in other packages without depending on a specific llvm pacakge release. The changes in llvm40 info file compared to the llvm39 info file are...
~~~
--- /sw/fink/10.12/stable/main/finkinfo/languages/llvm39.info 2017-03-13 14:39:34.000000000 -0400
+++ llvm40.info 2017-03-13 14:23:39.000000000 -0400
@@ -1,6 +1,6 @@
Info3: <<
-Package: llvm39
-Version: 3.9.0
+Package: llvm40
+Version: 4.0.0
Revision: 1
Description: Modular and reusable compiler
License: BSD
@@ -31,19 +31,19 @@
<<
Source: http://llvm.org/releases/%v/llvm-%v.src.tar.xz
-Source-MD5: f2093e98060532449eb7d2fcfd0bc6c6
+Source-MD5: ea9139a604be702454f6acf160b4f3a2
Source2: http://llvm.org/releases/%v/cfe-%v.src.tar.xz
-Source2-MD5: 29e1d86bee422ab5345f5e9fb808d2dc
+Source2-MD5: 756e17349fdc708c62974b883bf72d37
Source3: http://llvm.org/releases/%v/compiler-rt-%v.src.tar.xz
-Source3-MD5: b7ea34c9d744da16ffc0217b6990d095
+Source3-MD5: 2ec11fb7df827b086341131c5d7f1814
Source4: http://llvm.org/releases/%v/polly-%v.src.tar.xz
-Source4-MD5: 1cf328cbae25267749b68cfa6f113674
+Source4-MD5: f36e4e7cf872f8b3bbb9cdcddc5fd964
Source5: http://llvm.org/releases/%v/libcxx-%v.src.tar.xz
-Source5-MD5: 0a11efefd864ce6f321194e441f7e569
+Source5-MD5: 4cf7df466e6f803ec4611ee410ff6781
Source6: http://llvm.org/releases/%v/openmp-%v.src.tar.xz
-Source6-MD5: 5390164f2374e1444e82393541ecf6c7
+Source6-MD5: 3d06d2801dd4808f551a1a70068e01f5
Source7: http://llvm.org/releases/%v/clang-tools-extra-%v.src.tar.xz
-Source7-MD5: f4f663068c77fc742113211841e94d5e
+Source7-MD5: 99e711337ec3e9a8bb36e8dd62b2cd6e
# Source8: http://llvm.org/releases/%v/test-suite-%v.src.tar.xz
# Source8-MD5:
# libcxxabi is not needed, use system's libc++abi or libsupc++
@@ -53,9 +53,9 @@
UseMaxBuildJobs: true
PatchFile: %n.patch
-PatchFile-MD5: 6addcbd4c9fe449b3cd006eb48f5219b
+PatchFile-MD5: 75c1649a1e6ea4e972bc7a381c5a3278
#PatchFile2: %n-clang.patch
-#PatchFile2-MD5: d2a2b4207c19b7f09f197ae9769a51d2
+#PatchFile2-MD5: 25a45c4.0e14611b278c30b782f0d7e5
#PatchFile3: %n-compiler-rt.patch
#PatchFile3-MD5: 60ed1415e15b1781f2d58c0db17aab78
#PatchFile4: %n-polly.patch
@@ -65,14 +65,14 @@
#PatchFile6: %n-clang-omp.patch
#PatchFile6-MD5: 8067f4cc1f58030f7746521d58c776c2
PatchFile7: %n-clang-iomp5.patch
-PatchFile7-MD5: 33f21b006473cbdd5feced616b05903b
+PatchFile7-MD5: 01a579ae10b5044e745f44e66014f632
PatchScript: <<
#!/bin/sh -ev
# set -o pipefail || :
# tarballs have mixed versions b/c some components did not change
- # "brv" = branch version, 3.9
- brv=3.9
+ # "brv" = branch version, 4.0
+ brv=4.0
darwin_vers=`uname -r | cut -d. -f1`
osx_version=`sw_vers -productVersion | cut -d. -f-2`
@@ -201,7 +201,7 @@
fink_root=%p
version=%v
# tarballs have mixed versions b/c some components did not change
- brv=3.9
+ brv=4.0
darwin_vers=`uname -r | cut -d. -f1`
osx_version=`sw_vers -productVersion | cut -d. -f-2`
llvm_abs_srcdir=%b
@@ -224,6 +224,7 @@
sed -i.orig -e '/-DNDEBUG/s|.*|#&|' cmake/modules/HandleLLVMOptions.cmake
COMMON_CMAKE_OPTIONS=( -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
+ -DCOMPILER_RT_ENABLE_IOS:BOOL=OFF \
-DLLVM_ENABLE_FFI=ON \
-DFFI_INCLUDE_DIR=%p/include \
-DFFI_LIBRARY_DIR=%p/lib \
@@ -407,7 +408,7 @@
sed -i.orig -e 's| -DNDEBUG||g' CMakeCache.txt
# fix_llvm_config_build_variables # not needed b/c not using libc++ yet
# first make fails, but we have to run it first and then fix some deps
- make -k || make -j1 VERBOSE=1
+ make -k VERBOSE=1 || make -j1 VERBOSE=1
# tests hardcode the .dylib extension for modules
pushd lib
ln -s BugpointPasses.{dylib,so}
@@ -449,7 +450,7 @@
export CCACHE_COMPILERCHECK=content
export CC=cc-st1-clang
export CXX=cc-st1-clang++
- LIBCXX_CMAKE_OPTIONS=( -DLLVM_CONFIG=%b/../build/last/bin/llvm-config -DLIBCXX_INCLUDE_TESTS=ON -DCMAKE_BUILD_TYPE:STRING=$build_type )
+ LIBCXX_CMAKE_OPTIONS=( -DLLVM_CONFIG_PATH=%b/../build/last/bin/llvm-config -DLIBCXX_INCLUDE_TESTS=ON -DCMAKE_BUILD_TYPE:STRING=$build_type )
if test $darwin_vers -le 10
then flags="$int_as_flag -DDARWIN_LIBSUPCXX=$darwin_vers"
abi=libsupc++
@@ -529,7 +530,7 @@
echo "LDFLAGS = $LDFLAGS"
cmake "${COMMON_CMAKE_OPTIONS[@]}" "${LLVM_CMAKE_OPTIONS[@]}" "${STAGE2_CMAKE_OPTIONS[@]}" $relsrcdir
fix_llvm_config_build_variables
- make -k || make VERBOSE=1
+ make -k VERBOSE=1 || make VERBOSE=1
pushd lib
ln -s BugpointPasses.{dylib,so}
ln -s LLVMPolly.{so,dylib}
@@ -954,8 +955,8 @@
# darwin8: manually unpacked xz
test "$darwin_vers" -ge 9 || cd llvm-%v.src
- # "brv" = branch version, 3.9
- brv=3.9
+ # "brv" = branch version, 4.0
+ brv=4.0
# optional: de-rpath shared library dependencies
de_rpath_deps=1
@@ -1049,7 +1050,7 @@
then
# darwin10 cctools introduced install_name -delete_rpath
test $de_rpath_deps = 0 || test $darwin_vers -lt 10 ||
- install_name_tool -delete_rpath "@executable_path/../lib" $f
+ install_name_tool -delete_rpath "@loader_path/../lib" $f
deplibs=`otool -L $f | sed 1d | awk '{print $1;}' | tr '\n' ' '`
for d in $deplibs
do
@@ -1078,15 +1079,6 @@
iprefix=%i/$stem
prefix=%p/$stem
- # Pass path to libLTO.dylib with -lto_library using ld shell script
- pushd $iprefix/bin
- cat <<EOF > ./ld
-#!/bin/sh
-exec /usr/bin/ld -lto_library %p/opt/llvm-3.9/lib/libLTO.dylib "\$@"
-EOF
- chmod ugo+x ./ld
- popd
-
# convenient clang symlinks
mkdir -p %i/bin
pushd %i/bin
@@ -1112,48 +1104,67 @@
cp %b/../build/last/*-check.log testlogs/
cp %b/../build/last-libcxx/*-check.log testlogs/
popd
+
+# place omp.h in %p/include/libomp for common libomp-dev package
+ install -d %i/include/libomp
+ pushd %i/opt/llvm-$brv/lib/clang/%v/include
+ mv omp.h %i/include/libomp
+ popd
+
+# place libomp.dylib in libomp subdirectory for common libomp-shlibs package
+ install -d %i/lib/libomp
+ pushd %i/opt/llvm-$brv/lib
+ mv libomp.dylib %i/lib/libomp
+ ln -s libomp.dylib %i/lib/libomp/libiomp5.dylib
+ ln -s libomp.dylib %i/lib/libomp/libgomp.dylib
+ popd
+ install_name_tool -id %p/lib/libomp/libomp.dylib %i/lib/libomp/libomp.dylib
+
+# create compiler symlinks for common llvm-clang split-off
+ ln -s clang-$brv %i/bin/llvm-clang
+ ln -s clang++-$brv %i/bin/llvm-clang++
<<
SplitOff: <<
- Package: clang39-tools
- Depends: clang39-shlibs (= %v-%r)
+ Package: clang40-tools
+ Depends: clang40-shlibs (= %v-%r)
Description: Extra tools for clang, such as formatting
Files: <<
- opt/llvm-3.9/bin/*clang-format*
- opt/llvm-3.9/bin/clang-apply-replacements
- opt/llvm-3.9/bin/clang-rename
- opt/llvm-3.9/bin/clang-tidy
- opt/llvm-3.9/share/clang
+ opt/llvm-4.0/bin/*clang-format*
+ opt/llvm-4.0/bin/clang-apply-replacements
+ opt/llvm-4.0/bin/clang-rename
+ opt/llvm-4.0/bin/clang-tidy
+ opt/llvm-4.0/share/clang
<<
<<
SplitOff2: <<
- Package: clang39-docs
+ Package: clang40-docs
Description: Documenation for clang and related tools
Files: <<
- opt/llvm-3.9/share/doc/clang
- opt/llvm-3.9/share/doc/clang-html
- opt/llvm-3.9/share/doc/%N/testlogs/clang-%v-check.log
- opt/llvm-3.9/share/doc/%N/testlogs/openmp-%v-check.log
- opt/llvm-3.9/share/doc/%N/testlogs/compiler-rt-%v-check.log
+ opt/llvm-4.0/share/doc/clang
+ opt/llvm-4.0/share/doc/clang-html
+ opt/llvm-4.0/share/doc/%N/testlogs/clang-%v-check.log
+ opt/llvm-4.0/share/doc/%N/testlogs/openmp-%v-check.log
+ opt/llvm-4.0/share/doc/%N/testlogs/compiler-rt-%v-check.log
<<
<<
SplitOff3: <<
- Package: clang39-dev
+ Package: clang40-dev
BuildDependsOnly: true
- Depends: clang39-shlibs (= %v-%r)
+ Depends: clang40-shlibs (= %v-%r)
Description: Development headers for clang API
Files: <<
- opt/llvm-3.9/include/clang
- opt/llvm-3.9/include/clang-c
+ opt/llvm-4.0/include/clang
+ opt/llvm-4.0/include/clang-c
<<
<<
SplitOff4: <<
- Package: clang39-shlibs
+ Package: clang40-shlibs
Depends: %N-shlibs (= %v-%r)
Description: Shared libraries for clang compiler
Files: <<
- opt/llvm-3.9/lib/libclang*
- opt/llvm-3.9/lib/clang/%v/lib
- (%m != powerpc) opt/llvm-3.9/lib/lib*omp*.dylib
+ opt/llvm-4.0/lib/libclang*
+ opt/llvm-4.0/lib/clang/%v/lib
+ (%m != powerpc) opt/llvm-4.0/lib/lib*omp*.dylib
<<
DocFiles: <<
tools/clang/*.TXT
@@ -1163,78 +1174,78 @@
tools/clang/README.txt
<<
Shlibs: <<
- %p/opt/llvm-3.9/lib/libclang.dylib 1.0.0 %n (>= 3.9.0-0)
- !%p/opt/llvm-3.9/lib/clang/%v/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
- !%p/opt/llvm-3.9/lib/clang/%v/lib/darwin/libclang_rt.stats_osx_dynamic.dylib
- !%p/opt/llvm-3.9/lib/clang/%v/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib
- !%p/opt/llvm-3.9/lib/clang/%v/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib
- (%m != powerpc) %p/opt/llvm-3.9/lib/libomp.dylib 5.0.0 %n (>= 3.9.0-0)
+ %p/opt/llvm-4.0/lib/libclang.dylib 1.0.0 %n (>= 4.0.0-0)
+ !%p/opt/llvm-4.0/lib/clang/%v/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
+ !%p/opt/llvm-4.0/lib/clang/%v/lib/darwin/libclang_rt.stats_osx_dynamic.dylib
+ !%p/opt/llvm-4.0/lib/clang/%v/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib
+ !%p/opt/llvm-4.0/lib/clang/%v/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib
<<
<<
SplitOff5: <<
- Package: clang39
+ Package: clang40
Depends: <<
# only darwin8 needs odcctools
# odcctools,
# choosing to require opt-in instead of defaulting to libcxx1-dev
# libcxx1-dev,
- clang39-shlibs (= %v-%r),
- polly39-shlibs (= %v-%r)
+ libomp-dev (>= %v-%r),
+ clang40-shlibs (= %v-%r),
+ libomp-shlibs (>= %v-%r),
+ polly40-shlibs (= %v-%r)
<<
Description: Executables and runtime for clang compiler
BuildDependsOnly: false
Files: <<
bin/clang*
- opt/llvm-3.9/bin/clang*
- opt/llvm-3.9/bin/ld
- opt/llvm-3.9/lib/clang
+ opt/llvm-4.0/bin/clang*
+ opt/llvm-4.0/lib/clang
<<
DescUsage: <<
- To use clang/clang++, point your PATH to %p/opt/llvm-3.9/bin.
+ To use clang/clang++, point your PATH to %p/opt/llvm-4.0/bin.
clang++ uses the system C++ library by default.
To use libcxx1-dev, pass "-cxx-isystem %p/include/c++/v1"
and -L%p/lib/c++.
- To use LTO, make sure builds set AR=%p/opt/llvm-3.9/bin/llvm-ar
- and RANLIB=%p/opt/llvm-3.9/bin/llvm-ranlib.
+ To use LTO, make sure builds set AR=%p/opt/llvm-4.0/bin/llvm-ar
+ and RANLIB=%p/opt/llvm-4.0/bin/llvm-ranlib.
<<
<<
SplitOff6: <<
- Package: polly39-docs
+ Package: polly40-docs
Description: Documentation for Polly optimizer
Files: <<
- opt/llvm-3.9/share/doc/polly-html
- opt/llvm-3.9/share/doc/%N/testlogs/polly-%v-check.log
+ opt/llvm-4.0/share/doc/polly-html
+ opt/llvm-4.0/share/doc/%N/testlogs/polly-%v-check.log
<<
<<
SplitOff7: <<
- Package: polly39-dev
- Depends: polly39-shlibs (= %v-%r)
+ Package: polly40-dev
+ Depends: polly40-shlibs (= %v-%r)
BuildDependsOnly: true
Description: Development headers for Polly loop optimizer
Files: <<
- opt/llvm-3.9/include/polly
+ opt/llvm-4.0/include/polly
<<
<<
SplitOff8: <<
- Package: polly39-shlibs
+ Package: polly40-shlibs
Description: Shared libraries for Polly loop optimizer
Depends: <<
%N-shlibs (= %v-%r)
<<
Files: <<
- opt/llvm-3.9/lib/LLVMPolly.so
+ opt/llvm-4.0/lib/LLVMPolly.so
<<
DocFiles: tools/polly/LICENSE.txt tools/polly/CREDITS.txt
Shlibs: <<
- !%p/opt/llvm-3.9/lib/LLVMPolly.so
+ !%p/opt/llvm-4.0/lib/LLVMPolly.so
<<
<<
SplitOff9: <<
Package: %N-docs
Description: Documentation for LLVM tools and internals
Files: <<
- opt/llvm-3.9/share/doc/llvm
- opt/llvm-3.9/share/doc/%N/testlogs/llvm-%v-check.log
+ opt/llvm-4.0/share/doc/llvm
+ opt/llvm-4.0/share/doc/%N/testlogs/llvm-%v-check.log
<<
<<
SplitOff10: <<
@@ -1243,8 +1254,8 @@
BuildDependsOnly: true
Description: Developement headers for LLVM infrastructure
Files: <<
- opt/llvm-3.9/include/llvm
- opt/llvm-3.9/include/llvm-c
+ opt/llvm-4.0/include/llvm
+ opt/llvm-4.0/include/llvm-c
<<
<<
SplitOff11: <<
@@ -1257,17 +1268,17 @@
libncurses5-shlibs
<<
Files: <<
- opt/llvm-3.9/lib/BugpointPasses.dylib
- opt/llvm-3.9/lib/LLVMHello.dylib
- opt/llvm-3.9/lib/libLLVM*.dylib
- opt/llvm-3.9/lib/libLTO*.dylib
+ opt/llvm-4.0/lib/BugpointPasses.dylib
+ opt/llvm-4.0/lib/LLVMHello.dylib
+ opt/llvm-4.0/lib/libLLVM*.dylib
+ opt/llvm-4.0/lib/libLTO*.dylib
<<
DocFiles: *.TXT README.txt
Shlibs: <<
- !%p/opt/llvm-3.9/lib/BugpointPasses.dylib
- !%p/opt/llvm-3.9/lib/LLVMHello.dylib
- !%p/opt/llvm-3.9/lib/libLLVM.dylib
- !%p/opt/llvm-3.9/lib/libLTO.dylib
+ !%p/opt/llvm-4.0/lib/BugpointPasses.dylib
+ !%p/opt/llvm-4.0/lib/LLVMHello.dylib
+ !%p/opt/llvm-4.0/lib/libLLVM.dylib
+ !%p/opt/llvm-4.0/lib/libLTO.dylib
<<
<<
SplitOff12: <<
@@ -1275,7 +1286,7 @@
Description: Standard library for libc++
Files: lib/c++/libc++.*.*.dylib
Shlibs: <<
- %p/lib/c++/libc++.1.0.dylib 1.0.0 %n (>= 3.9.0-0)
+ %p/lib/c++/libc++.1.0.dylib 1.0.0 %n (>= 4.0.0-0)
<<
DocFiles: ../libcxx-%v.src/*.TXT
DescPort: <<
@@ -1298,7 +1309,7 @@
Files: <<
include/c++
lib/c++/libc++*.dylib
- opt/llvm-3.9/share/doc/%N/testlogs/libcxx-%v-check.log
+ opt/llvm-4.0/share/doc/%N/testlogs/libcxx-%v-check.log
<<
DescPort: <<
This C++ library is always built using the system's C++ ABI library,
@@ -1313,20 +1324,51 @@
<<
<<
SplitOff14: <<
+ Package: libomp-shlibs
+ Description: Standard library for libomp
+ Files: <<
+ (%m != powerpc) lib//libomp/lib*omp*.dylib
+ <<
+ DocFiles: <<
+ projects/openmp/CREDITS.txt
+ projects/openmp/LICENSE.txt
+ <<
+ Shlibs: <<
+ (%m != powerpc) %p/lib/libomp/libomp.dylib 5.0.0 %n (>= 4.0.0-2)
+ <<
+<<
+SplitOff15: <<
+ Package: libomp-dev
+ Description: Standard library header for libomp
+ Depends: libomp-shlibs (= %v-%r)
+ BuildDependsOnly: false
+ Files: include/libomp/omp.h
+ DescPackaging: <<
+ BuildDependsOnly set to false since clang compiler always needs
+ access to omp.h at run-time.
+ <<
+<<
+SplitOff16: <<
+ Package: llvm-clang
+ Description: LLVM.org clang compilers
+ Depends: clang40 (= %v-%r)
+ Files: bin/llvm-clang bin/llvm-clang++
+<<
+SplitOff17: <<
Package: %N-bundle
Description: Bundle of LLVM/Clang compiler tools
Type: bundle
Depends: <<
%N,
%N-docs,
- clang39,
- clang39-docs,
- clang39-tools,
- polly39-docs
+ clang40,
+ clang40-docs,
+ clang40-tools,
+ polly40-docs
<<
DescDetail: <<
Installing this gets all of the binaries, libraries, and
- documentation for the llvm39 package set.
+ documentation for the llvm40 package set.
The -dev headers are separate because they are build-depends-only:true.
<<
<<
@@ -1343,7 +1385,7 @@
Permission granted by Google to contribute packaging.
<<
DescPackaging: <<
-clang binaries now live in the clang39 split-off.
+clang binaries now live in the clang40 split-off.
The %N-bundle package installs the entire set except for -dev headers.
libc++ is installed with headers at %p/include/c++/v1
@@ -1409,13 +1451,13 @@
at commit 3f687cbc520a8b8f506d7941f0cebd6c5af1cef6
Drop building libclang_rt.asan_iossim_dynamic.dylib as it now requires targetting
-10.9 and would require distribution variants of llvm39. Revert the openmp testsuite
+10.9 and would require distribution variants of llvm40. Revert the openmp testsuite
changes to 3.6.1 as the testsuite conversion is unlikely to be completed in time
-for the 3.9.0 release. Also conceptually using -S -emit-llvm doesn't exercise the
-functionality of the openmp library. Added llvm39-openmp-cmake.patch to apply
+for the 4.0.0 release. Also conceptually using -S -emit-llvm doesn't exercise the
+functionality of the openmp library. Added llvm40-openmp-cmake.patch to apply
proposed over-haul of the openmp's cmake until upstream commits. For darwin11/12,
pass -DLIBCXX_LIBCPPABI_VERSION="" on LIBCXX_CMAKE_OPTIONS as work-around for
-https://llvm.org/bugs/show_bug.cgi?id=23439. Only apply llvm39-libcxx.patch on
+https://llvm.org/bugs/show_bug.cgi?id=23439. Only apply llvm40-libcxx.patch on
darwin10 and earlier.
<<
<<
~~~
Tested on 10.12 with 'fink -m'.
---
Sent from sourceforge.net because [email protected] is subscribed to https://sourceforge.net/p/fink/package-submissions/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/fink/admin/package-submissions/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Fink-tracker mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.tracker