[fink:package-submissions] #4999 llvm50-5.0.0-1

Hanspeter Niederstrasser via Fink-tracker <[email protected]>
Newsgroups gmane.os.apple.fink.tracker
Message-ID </p/fink/package-submissions/4999/703cf7d7420c8d286119e22ca48f9f99e33778b6.package-submissions@fink.p.sourceforge.net>
~~~
$ dpkg-deb -c /sw/fink/debs/clang50-shlibs_5.0.0-1_darwin-x86_64.deb
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/opt/
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/opt/llvm-5.0/
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/
-rw-r--r-- root/admin    54664 2017-09-09 05:11 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.10.4.a
-rwxr-xr-x root/admin  2983968 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
-rw-r--r-- root/admin   347200 2017-09-09 05:11 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.cc_kext.a
-rwxr-xr-x root/admin  1164960 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib
-rw-r--r-- root/admin   376408 2017-09-09 05:11 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.osx.a
-rw-r--r-- root/admin   254784 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.profile_osx.a
-rw-r--r-- root/admin  1471928 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.safestack_osx.a
-rw-r--r-- root/admin    14096 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.stats_client_osx.a
-rwxr-xr-x root/admin   877312 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.stats_osx_dynamic.dylib
-rwxr-xr-x root/admin  1945120 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib
-rwxr-xr-x root/admin  1025248 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib
-rwxr-xr-x root/admin 25036088 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/libclang.dylib
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/share/
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/share/doc/
drwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/share/doc/clang50-shlibs/
-rw-r--r-- root/admin     1392 2017-09-09 06:26 ./sw/share/doc/clang50-shlibs/CODE_OWNERS.TXT
-rw-r--r-- root/admin     2153 2017-09-09 06:26 ./sw/share/doc/clang50-shlibs/INSTALL.txt
-rw-r--r-- root/admin     2749 2017-09-09 06:26 ./sw/share/doc/clang50-shlibs/LICENSE.TXT
-rw-r--r-- root/admin       96 2017-09-09 06:26 ./sw/share/doc/clang50-shlibs/ModuleInfo.txt
-rw-r--r-- root/admin     4381 2017-09-09 06:26 ./sw/share/doc/clang50-shlibs/NOTES.txt
-rw-r--r-- root/admin     1257 2017-09-09 06:26 ./sw/share/doc/clang50-shlibs/README.txt
lrwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/libgomp.dylib -> libomp.dylib
lrwxr-xr-x root/admin        0 2017-09-09 06:26 ./sw/opt/llvm-5.0/lib/libiomp5.dylib -> libomp.dylib
~~~
* Still some .a files left in `/sw/opt/llvm-5.0/lib/clang/5.0.0/lib/darwin`
* broken symbolic links to libomp.dylib


---

** [package-submissions:#4999] llvm50-5.0.0-1**

**Status:** open
**Group:** Awaiting_Update_from_Submitter
**Labels:** languages New Package 
**Created:** Fri Sep 08, 2017 08:55 AM UTC by Jack Howarth
**Last Updated:** Sat Sep 09, 2017 03:12 AM UTC
**Owner:** David Fang


Add llvm50 package for 5.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 llvm50 info file compared to the llvm39 info file are...

~~~
--- /sw/fink/10.13/stable/main/finkinfo/languages/llvm39.info	2016-10-27 00:01:28.000000000 -0400
+++ llvm50.info	2017-09-07 21:54:26.000000000 -0400
@@ -1,6 +1,6 @@
 Info3: <<
-Package: llvm39
-Version: 3.9.0
+Package: llvm50
+Version: 5.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: 5ce9c5ad55243347ea0fdb4c16754be0
 Source2: http://llvm.org/releases/%v/cfe-%v.src.tar.xz
-Source2-MD5: 29e1d86bee422ab5345f5e9fb808d2dc
+Source2-MD5: 699c448c6d6d0edb693c87beb1cc8c6e
 Source3: http://llvm.org/releases/%v/compiler-rt-%v.src.tar.xz
-Source3-MD5: b7ea34c9d744da16ffc0217b6990d095
+Source3-MD5: da735894133589cbc6052c8ef06b1230
 Source4: http://llvm.org/releases/%v/polly-%v.src.tar.xz
-Source4-MD5: 1cf328cbae25267749b68cfa6f113674
+Source4-MD5: dcbd08450e895a42f3986e2fe6524c92
 Source5: http://llvm.org/releases/%v/libcxx-%v.src.tar.xz
-Source5-MD5: 0a11efefd864ce6f321194e441f7e569
+Source5-MD5: a39241a3c9b4d2b7ce1246b9f527b400
 Source6: http://llvm.org/releases/%v/openmp-%v.src.tar.xz
-Source6-MD5: 5390164f2374e1444e82393541ecf6c7
-Source7:  http://llvm.org/releases/%v/clang-tools-extra-%v.src.tar.xz
-Source7-MD5: f4f663068c77fc742113211841e94d5e
+Source6-MD5: 8be33c0f0a7ed3aab42be2f63988913d
+Source7: http://llvm.org/releases/%v/clang-tools-extra-%v.src.tar.xz
+Source7-MD5: 0cda05d1a61becb393eb63746963d7f5
 # 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,26 +53,26 @@
 UseMaxBuildJobs: true
 
 PatchFile: %n.patch
-PatchFile-MD5: 6addcbd4c9fe449b3cd006eb48f5219b
+PatchFile-MD5: c71ea85d16131c4616b36490c384d9a1
 #PatchFile2: %n-clang.patch
-#PatchFile2-MD5: d2a2b4207c19b7f09f197ae9769a51d2
+#PatchFile2-MD5: 25a45c5.0e14611b278c30b782f0d7e5 
 #PatchFile3: %n-compiler-rt.patch
 #PatchFile3-MD5: 60ed1415e15b1781f2d58c0db17aab78
 #PatchFile4: %n-polly.patch
 #PatchFile4-MD5: 743e3febdfe8d4d7ccc289876a2468af
 #PatchFile5: %n-libcxx.patch
-#PatchFile5-MD5: 583ca4f6ad00b403bc4f0c8af02b187b
+#PatchFile5-MD5: 583ca4f6ad00b503bc5.0c8af02b187b
 #PatchFile6: %n-clang-omp.patch
 #PatchFile6-MD5: 8067f4cc1f58030f7746521d58c776c2 
 PatchFile7: %n-clang-iomp5.patch
-PatchFile7-MD5: 33f21b006473cbdd5feced616b05903b
+PatchFile7-MD5: 80b702e2d30b7b60d87e432689553e31
 
 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, 5.0
+	brv=5.0
 	darwin_vers=`uname -r | cut -d. -f1`
 	osx_version=`sw_vers -productVersion | cut -d. -f-2`
 
@@ -126,7 +126,16 @@
 	  test "$darwin_vers" -gt 9 || sed -i.orig -e 's|__bzero|bzero|g' lib/sanitizer_common/sanitizer_common_interceptors.inc
 	  # or do actual symbol check on nm /usr/lib/libc.dylib /usr/lib/system/libsystem_c.dylib
 	popd
+	pushd projects/openmp
+	  perl -pi -e 's|NOT WIN32|NOT WIN32 AND NOT APPLE|' CMakeLists.txt
+	popd
 	pushd ../libcxx-%v.src
+	  if test "$darwin_vers" -lt 17
+	  then
+	    # Preventundefined _utimensat symbol on Xcode 9 under 10.12
+	    # by avoiding fragile UTIME_OMIT check for utimensat()
+	    perl -pi -e 's|\!defined\(UTIME_OMIT\)|1|g' src/experimental/filesystem/operations.cpp
+	  fi
 	  #if test "$darwin_vers" -lt 11
 	  #then
 	  #  $patch_filter %{PatchFile5} | patch -p1
@@ -201,7 +210,7 @@
 	fink_root=%p
 	version=%v
 	# tarballs have mixed versions b/c some components did not change
-	brv=3.9
+	brv=5.0
 	darwin_vers=`uname -r | cut -d. -f1`
 	osx_version=`sw_vers -productVersion | cut -d. -f-2`
 	llvm_abs_srcdir=%b
@@ -224,6 +233,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 +417,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 +459,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++
@@ -466,11 +476,11 @@
 		abi_includes=/usr/include
 		LIBCXX_CMAKE_OPTIONS=( "${LIBCXX_CMAKE_OPTIONS[@]}" \
 			-DLIBCXX_LIBCPPABI_VERSION="" \
-			-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$abi_includes" )
+			-DLIBCXX_CXX_ABI_INCLUDE_PATHS="$abi_includes" )
 	else	abi=libcxxabi
 		abi_includes=/usr/include
 		LIBCXX_CMAKE_OPTIONS=( "${LIBCXX_CMAKE_OPTIONS[@]}" \
-			-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$abi_includes" )
+			-DLIBCXX_CXX_ABI_INCLUDE_PATHS="$abi_includes" )
 	fi
 	# on x86 darwin10+, build FAT
 	if test $darwin_vers -ge 10
@@ -517,19 +527,20 @@
 #		sys_cxx_incdir=`dirname $sys_clang_path`/../lib/c++/v1
 #		libcxx_srcdir="$sys_cxx_incdir"
 #	fi
-	stage23_cxx_flags="-std=c++11 -stdlib=libc++ -cxx-isystem $libcxx_srcdir"
+	stage23_isystem_flags="-cxx-isystem $libcxx_srcdir -cxx-isystem %b/../build/last/lib/clang/%v/include -cxx-isystem /usr/include"
+	stage23_cxx_flags="-std=c++11 -stdlib=libc++ $stage23_isystem_flags"
 	# reuse CC and CXX from stage 1.5
 	STAGE2_LLVM_LDFLAGS=( "-L$libcxx_stage_dir" )
-	STAGE2_CMAKE_OPTIONS=( -DLIBOMP_CFLAGS="-cxx-isystem $libcxx_srcdir" \
+	STAGE2_CMAKE_OPTIONS=( -DLIBOMP_CFLAGS="$stage23_isystem_flags" \
 		-DCMAKE_CXX_FLAGS="$stage23_cxx_flags $int_as_flag ${STAGE2_LLVM_LDFLAGS[@]}" )
 	mkdir -p ../build/stage2
 	pushd ../build/stage2
 	echo "LLVM_CMAKE_OPTIONS = ${COMMON_CMAKE_OPTIONS[@]} ${LLVM_CMAKE_OPTIONS[@]} ${STAGE2_CMAKE_OPTIONS[@]}"
 	export LDFLAGS="${STAGE2_COMMON_LDFLAGS[@]} ${STAGE2_LLVM_LDFLAGS[@]} ${FINK_LDFLAGS[@]}"
 	echo "LDFLAGS = $LDFLAGS"
-	cmake "${COMMON_CMAKE_OPTIONS[@]}" "${LLVM_CMAKE_OPTIONS[@]}" "${STAGE2_CMAKE_OPTIONS[@]}" $relsrcdir
+	cmake "${COMMON_CMAKE_OPTIONS[@]}" "${LLVM_CMAKE_OPTIONS[@]}" -DLLVM_REVERSE_ITERATION:BOOL=ON  "${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}
@@ -756,6 +767,7 @@
 	  case $f in
 	  projects/openmp/runtime/src/kmp_i18n_default.inc) ;;
 	  projects/openmp/runtime/src/kmp_i18n_id.inc) ;;
+	  include/llvm/Config/abi-breaking.h) ;;
 	  *.inc|*.h|*.gen) diff -u {$1,$2}/$f > compare/$f.diff ||
 	    diff_size compare/$f.diff ||
 	    resolve_path_diffs {$1,$2}/$f $1 $2 || loc_err=1 ;;
@@ -954,8 +966,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, 5.0
+	brv=5.0
 	# optional: de-rpath shared library dependencies
 	de_rpath_deps=1
 
@@ -1049,7 +1061,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 +1090,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 +1115,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: clang50-tools
+	Depends: clang50-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-5.0/bin/*clang-format*
+		opt/llvm-5.0/bin/clang-apply-replacements
+		opt/llvm-5.0/bin/clang-rename
+		opt/llvm-5.0/bin/clang-tidy
+		opt/llvm-5.0/share/clang
 	<<
 <<
 SplitOff2: <<
-	Package: clang39-docs
+	Package: clang50-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-5.0/share/doc/clang
+		opt/llvm-5.0/share/doc/clang-html
+		opt/llvm-5.0/share/doc/%N/testlogs/clang-%v-check.log
+		opt/llvm-5.0/share/doc/%N/testlogs/openmp-%v-check.log
+		opt/llvm-5.0/share/doc/%N/testlogs/compiler-rt-%v-check.log
 	<<
 <<
 SplitOff3: <<
-	Package: clang39-dev
+	Package: clang50-dev
 	BuildDependsOnly: true
-	Depends: clang39-shlibs (= %v-%r)
+	Depends: clang50-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-5.0/include/clang
+		opt/llvm-5.0/include/clang-c
 	<<
 <<
 SplitOff4: <<
-	Package: clang39-shlibs
+	Package: clang50-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-5.0/lib/libclang*
+		opt/llvm-5.0/lib/clang/%v/lib
+		(%m != powerpc) opt/llvm-5.0/lib/lib*omp*.dylib
 	<<
 	DocFiles: <<
 		tools/clang/*.TXT
@@ -1163,78 +1185,79 @@
 		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-5.0/lib/libclang.dylib 1.0.0 %n (>= 5.0.0-0)
+		!%p/opt/llvm-5.0/lib/clang/%v/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
+		!%p/opt/llvm-5.0/lib/clang/%v/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib
+		!%p/opt/llvm-5.0/lib/clang/%v/lib/darwin/libclang_rt.stats_osx_dynamic.dylib
+		!%p/opt/llvm-5.0/lib/clang/%v/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib
+		!%p/opt/llvm-5.0/lib/clang/%v/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib
 	<<
 <<
 SplitOff5: <<
-	Package: clang39
+	Package: clang50
 	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),
+		clang50-shlibs (= %v-%r),
+		libomp-shlibs (>= %v-%r),
+		polly50-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-5.0/bin/clang*
+		opt/llvm-5.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-5.0/bin.
 	clang++ uses the system C++ library by default.
-	To use libcxx1-dev, pass "-cxx-isystem %p/include/c++/v1"
+	To use libcxx1-dev, pass "-cxx-isystem %p/include/c++/v1 -cxx-isystem %p/opt/llvm-5.0/lib/clang/%v/include -cxx-isystem /usr/include"
 	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-5.0/bin/llvm-ar
+	and RANLIB=%p/opt/llvm-5.0/bin/llvm-ranlib.
 	<<
 <<
 SplitOff6: <<
-	Package: polly39-docs
+	Package: polly50-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-5.0/share/doc/polly-html
+		opt/llvm-5.0/share/doc/%N/testlogs/polly-%v-check.log
 	<<
 <<
 SplitOff7: <<
-	Package: polly39-dev
-	Depends: polly39-shlibs (= %v-%r)
+	Package: polly50-dev
+	Depends: polly50-shlibs (= %v-%r)
 	BuildDependsOnly: true
 	Description: Development headers for Polly loop optimizer
 	Files: <<
-		opt/llvm-3.9/include/polly
+		opt/llvm-5.0/include/polly
 	<<
 <<
 SplitOff8: <<
-	Package: polly39-shlibs
+	Package: polly50-shlibs
 	Description: Shared libraries for Polly loop optimizer
 	Depends: <<
 		%N-shlibs (= %v-%r)
 	<<
 	Files: <<
-		opt/llvm-3.9/lib/LLVMPolly.so
+		opt/llvm-5.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-5.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-5.0/share/doc/llvm
+		opt/llvm-5.0/share/doc/%N/testlogs/llvm-%v-check.log
 	<<
 <<
 SplitOff10: <<
@@ -1243,8 +1266,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-5.0/include/llvm
+		opt/llvm-5.0/include/llvm-c
 	<<
 <<
 SplitOff11: <<
@@ -1257,17 +1280,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-5.0/lib/BugpointPasses.dylib
+		opt/llvm-5.0/lib/LLVMHello.dylib
+		opt/llvm-5.0/lib/libLLVM*.dylib
+		opt/llvm-5.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-5.0/lib/BugpointPasses.dylib
+		!%p/opt/llvm-5.0/lib/LLVMHello.dylib
+		!%p/opt/llvm-5.0/lib/libLLVM.dylib
+		!%p/opt/llvm-5.0/lib/libLTO.dylib
 	<<
 <<
 SplitOff12: <<
@@ -1275,7 +1298,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 (>= 5.0.0-0)
 	<<
 	DocFiles: ../libcxx-%v.src/*.TXT
 	DescPort: <<
@@ -1298,7 +1321,7 @@
 	Files: <<
 		include/c++
 		lib/c++/libc++*.dylib
-		opt/llvm-3.9/share/doc/%N/testlogs/libcxx-%v-check.log
+		opt/llvm-5.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 +1336,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 (>= 5.0.0-1)
+	<<
+<<
+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: clang50 (= %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
+		clang50,
+		clang50-docs,
+		clang50-tools,
+		polly50-docs
 	<<
 	DescDetail: <<
 	Installing this gets all of the binaries, libraries, and
-	documentation for the llvm39 package set.
+	documentation for the llvm50 package set.
 	The -dev headers are separate because they are build-depends-only:true.
 	<<
 <<
@@ -1343,7 +1397,7 @@
 Permission granted by Google to contribute packaging.
 <<
 DescPackaging: <<
-clang binaries now live in the clang39 split-off.
+clang binaries now live in the clang50 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 +1463,21 @@
 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 llvm50. 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 5.0.0 release. Also conceptually using -S -emit-llvm doesn't exercise the
+functionality of the openmp library. Added llvm50-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 llvm50-libcxx.patch on
 darwin10 and earlier.
+
+The presence of additional c headers in include/c++/v1 on Xcode 9 requires that
+"-cxx-isystem %b/../build/last/lib/clang/%v/include -cxx-isystem /usr/include"
+be appended to stage23_cxx_flags and LIBOMP_CFLAGS. Created stage23_isystem_flags
+to pass the -cxx-isystem flags.
+
+Pass -DLLVM_REVERSE_ITERATION:BOOL=ON during stage2 build only to look harder for
+compiler non-deterministic behavior in the stage2/stage3 file comparison step.
 <<
 <<
~~~

Note that the new split-offs allow builds for packages requiring openmp support using...
BuildDepends: llvm-clang
Depends: libomp-shlibs
SetCC: llvm-clang
SetCXX: llvm-clang++
which eliminates dependencies on a specific llvmXY release. Note that the BuildDepends on llvm-clang provides the additional BuildDepends on the new libomp-dev split-off indirectly through its depencency on clang50.

Tested with 'fink -m' on 10.13 with APFS.


---

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.