[fink:package-submissions] #4933 llvm40-4.0.1-1

Jack Howarth via Fink-tracker <[email protected]>
Newsgroups gmane.os.apple.fink.tracker
Message-ID </p/fink/package-submissions/4933/aacb79c65829ce4f7c6074084946a38f2af9638c.package-submissions@fink.p.sourceforge.net>
Info file for llvm40-4.0.1-1 with remaining libclang*.a files moved to clang40-dev and removed dangling symlinks for libgomp and libiomp5 from clang40-shlibs.


Attachments:

- [llvm40.info](https://sourceforge.net/p/fink/package-submissions/_discuss/thread/3eb4f858/672d/attachment/llvm40.info) (49.8 kB; application/octet-stream)


---

** [package-submissions:#4933]  llvm40-4.0.1-1**

**Status:** open
**Group:** Undergoing_Validation
**Created:** Fri Jun 23, 2017 12:24 PM UTC by Jack Howarth
**Last Updated:** Sat Sep 09, 2017 12:31 PM UTC
**Owner:** David Fang


Add llvm40 package for 4.0.1 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-06-23 04:35:35.000000000 -0400
@@ -1,6 +1,6 @@
 Info3: <<
-Package: llvm39
-Version: 3.9.0
+Package: llvm40
+Version: 4.0.1
 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: a818e70321b91e2bb2d47e60edd5408f
 Source2: http://llvm.org/releases/%v/cfe-%v.src.tar.xz
-Source2-MD5: 29e1d86bee422ab5345f5e9fb808d2dc
+Source2-MD5: a6c7b3e953f8b93e252af5917df7db97
 Source3: http://llvm.org/releases/%v/compiler-rt-%v.src.tar.xz
-Source3-MD5: b7ea34c9d744da16ffc0217b6990d095
+Source3-MD5: 0227ac853ce422125f8bb08f6ad5c995
 Source4: http://llvm.org/releases/%v/polly-%v.src.tar.xz
-Source4-MD5: 1cf328cbae25267749b68cfa6f113674
+Source4-MD5: 0d4a3fa2eb446a378bbf01b220851b1f
 Source5: http://llvm.org/releases/%v/libcxx-%v.src.tar.xz
-Source5-MD5: 0a11efefd864ce6f321194e441f7e569
+Source5-MD5: c54f7938e2f393a2cead0af37ed99dfb
 Source6: http://llvm.org/releases/%v/openmp-%v.src.tar.xz
-Source6-MD5: 5390164f2374e1444e82393541ecf6c7
+Source6-MD5: 23e5f720ae119165ba32627467fdc885
 Source7:  http://llvm.org/releases/%v/clang-tools-extra-%v.src.tar.xz
-Source7-MD5: f4f663068c77fc742113211841e94d5e
+Source7-MD5: cfd46027a0ab7eed483dfcc803e86bd9
 # 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`
 
@@ -127,6 +127,12 @@
 	  # or do actual symbol check on nm /usr/lib/libc.dylib /usr/lib/system/libsystem_c.dylib
 	popd
 	pushd ../libcxx-%v.src
+	  if test "$darwin_vers" -lt 17
+	  then
+	    # Prevent undefined _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 +207,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 +230,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 +414,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 +456,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 +473,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,10 +524,11 @@
 #		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
@@ -529,7 +537,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 +962,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 +1057,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 +1086,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 +1111,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 +1181,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"
+	To use libcxx1-dev, pass "-cxx-isystem %p/include/c++/v1 -cxx-isystem %p/opt/llvm-4.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-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 +1261,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 +1275,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 +1293,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 +1316,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 +1331,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 +1392,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 +1458,18 @@
 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.
+
+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.
 <<
 <<
~~~

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 clang40.

To avoid bootstrap breakage with Xcode 9 due to the additional c headers added to the common system c++/v1 header directory.
Info file tested on 10.12 with 'fink -m' against Xcode 8.3.3 and Xcode 9 beta. No regression observed under the Xcode 8.3.3 but the Xcode 9 build shows 58 regressions in the libc++ testsuite. These can be safely ignored as they are limited to the experimental library built in the testsuite and are due to the libcxx-4.0.0.src/src/experimental/filesystem/operations.cpp sources assuming that the definition of UTIME_OMIT in the common MacOSX.sdk/usr/include/sys/stat.h means that the utimensat() symbol exists resulting in the static lib having _utimensat undefined.

Prevent undefined utimensat symbol on Xcode 9 under 10.12 to eliminate libc++ testsuite failures and add stage23_isystem_flags as recommended by David Fang as well a comment on the need for the additional -cxx-isystem flags under Xcode 9.

Tested with 'fink -m' on 10.11 and 10.12. Commit of new packaging okayed by maintainer.


---

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.