[fink:package-submissions] #4831 llvm39-3.9.0-2 to add common libomp-dev and libomp-shlibs split-offs
Hanspeter Niederstrasser via Fink-tracker <[email protected]> Fri, 12 Jan 2018 11:34:30 -0000
| Newsgroups | gmane.os.apple.fink.tracker |
|---|---|
| Message-ID | </p/fink/package-submissions/4831/18a8dcb62232bc94039dd194e82af3c39c9940dd.package-submissions@fink.p.sourceforge.net> |
This is a multi-part message in MIME format. --===============6914683325869341681== Content-Type: multipart/related; boundary="===============0382972483872987318==" This is a multi-part message in MIME format. --===============0382972483872987318== Content-Type: multipart/alternative; boundary="===============2154402256035999940==" MIME-Version: 1.0 --===============2154402256035999940== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit - **labels**: --> languages, Updated Revision of Existing - **status**: open --> closed-out-of-date - **Group**: Undergoing_Validation --> Supplanted - **Comment**: [#4868] has llvm39-3.9.1. --- ** [package-submissions:#4831] llvm39-3.9.0-2 to add common libomp-dev and libomp-shlibs split-offs** **Status:** closed-out-of-date **Group:** Supplanted **Labels:** languages Updated Revision of Existing **Created:** Tue Nov 01, 2016 11:37 AM UTC by Jack Howarth **Last Updated:** Wed Nov 02, 2016 12:37 AM UTC **Owner:** nobody The attached packaging introduces a common set of libomp-dev and libomp-shlibs split-offs to encourage the use of the clangXY compiler packages for -fopenmp support. This approach is the same currently used for the libcxx1-dev and libcxx1-shlibs split-offs. The upstream changes to unconditionally emit -lto_library to help the linker find the appropriate libLTO.dylib is added and the ld shell script hack removed. The Info file changes are... ~~~ Index: llvm39.info =================================================================== RCS file: /cvsroot/fink/dists/10.9-libcxx/stable/main/finkinfo/languages/llvm39.info,v retrieving revision 1.2 diff -u -r1.2 llvm39.info --- llvm39.info 27 Oct 2016 04:01:28 -0000 1.2 +++ llvm39.info 1 Nov 2016 11:28:06 -0000 @@ -1,7 +1,7 @@ Info3: << Package: llvm39 Version: 3.9.0 -Revision: 1 +Revision: 2 Description: Modular and reusable compiler License: BSD Maintainer: David Fang <[email protected]> @@ -54,8 +54,8 @@ PatchFile: %n.patch PatchFile-MD5: 6addcbd4c9fe449b3cd006eb48f5219b -#PatchFile2: %n-clang.patch -#PatchFile2-MD5: d2a2b4207c19b7f09f197ae9769a51d2 +PatchFile2: %n-clang.patch +PatchFile2-MD5: 25a45c309e14611b278c30b782f0d7e5 #PatchFile3: %n-compiler-rt.patch #PatchFile3-MD5: 60ed1415e15b1781f2d58c0db17aab78 #PatchFile4: %n-polly.patch @@ -65,7 +65,7 @@ #PatchFile6: %n-clang-omp.patch #PatchFile6-MD5: 8067f4cc1f58030f7746521d58c776c2 PatchFile7: %n-clang-iomp5.patch -PatchFile7-MD5: 33f21b006473cbdd5feced616b05903b +PatchFile7-MD5: 921fc2acf91e9927044980f4c264e250 PatchScript: << #!/bin/sh -ev @@ -108,7 +108,7 @@ pushd tools/clang # Apply clang-omp merge before clang patch #$patch_filter %{PatchFile6} | patch -p1 - #$patch_filter %{PatchFile2} | patch -p1 + $patch_filter %{PatchFile2} | patch -p1 $patch_filter %{PatchFile7} | patch -p1 popd pushd tools/polly @@ -1078,15 +1078,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,6 +1103,22 @@ cp %b/../build/last/*-check.log testlogs/ cp %b/../build/last-libcxx/*-check.log testlogs/ popd + +# place omp.h in include/libomp for common libomp-dev package +# and access in clang39 through a symlink instead. + install -d %i/include/libomp + pushd %i/opt/llvm-$brv/lib/clang/%v/include + mv omp.h %i/include/libomp + ln -s %p/include/libomp/omp.h omp.h + popd + +# place libomp.dylib in libomp subdirectory for common libomp-shlibs package +# leave legacy copy in %p/opt/llvm-$brv/lib for clang39-shlibs + install -d %i/lib/libomp + pushd %i/opt/llvm-$brv/lib + cp libomp.dylib libiomp5.dylib libgomp.dylib %i/lib/libomp + popd + install_name_tool -id %p/lib/libomp/libomp.dylib %i/lib/libomp/libomp.dylib << SplitOff: << Package: clang39-tools @@ -1178,7 +1185,9 @@ # odcctools, # choosing to require opt-in instead of defaulting to libcxx1-dev # libcxx1-dev, + libomp-dev (>= %v-%r), clang39-shlibs (= %v-%r), + libomp-shlibs (>= %v-%r), polly39-shlibs (= %v-%r) << Description: Executables and runtime for clang compiler @@ -1186,7 +1195,6 @@ Files: << bin/clang* opt/llvm-3.9/bin/clang* - opt/llvm-3.9/bin/ld opt/llvm-3.9/lib/clang << DescUsage: << @@ -1313,6 +1321,32 @@ << << 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 (>= 3.9.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 via a symlink in %p/opt/llvm-3.9/lib/clang/%v/include + which allows multiple compiler releases to use the latest libomp. + << +<< +SplitOff16: << Package: %N-bundle Description: Bundle of LLVM/Clang compiler tools Type: bundle ~~~ Note that while clang39 now links against the libomp.dylib installed in %p/lib/libomp, a clang39-shlibs retains a legacy copy of libomp.dylib installed in %p/opt/llvm-3,9/lib. This legacy copy will be dropped in the llvm40 packaging and only exists because llvm39-3.9.0-1 was released without the libomp split-off changes. Also note that libomp-dev is 'BuildDependsOnly: false' because all future clangXY packages will require it to obtain the omp.h header via the symlink. Tested on 10.11 with 'fink -m update-all' to verifiy clean upgrade from an installed copy of clang39-3.9.0-1. --- 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. --===============2154402256035999940== MIME-Version: 1.0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: 7bit <div class="markdown_content"><ul> <li><strong>labels</strong>: --> languages, Updated Revision of Existing</li> <li><strong>status</strong>: open --> closed-out-of-date</li> <li><strong>Group</strong>: Undergoing_Validation --> Supplanted</li> <li><strong>Comment</strong>:</li> </ul> <p><a class="alink" href="https://sourceforge.net/p/fink/package-submissions/4868/">[#4868]</a> has llvm39-3.9.1.</p> <hr/> <p><strong> <a class="alink strikethrough" href="https://sourceforge.net/p/fink/package-submissions/4831/">[package-submissions:#4831]</a> llvm39-3.9.0-2 to add common libomp-dev and libomp-shlibs split-offs</strong></p> <p><strong>Status:</strong> closed-out-of-date<br/> <strong>Group:</strong> Supplanted<br/> <strong>Labels:</strong> languages Updated Revision of Existing <br/> <strong>Created:</strong> Tue Nov 01, 2016 11:37 AM UTC by Jack Howarth<br/> <strong>Last Updated:</strong> Wed Nov 02, 2016 12:37 AM UTC<br/> <strong>Owner:</strong> nobody</p> <p>The attached packaging introduces a common set of libomp-dev and libomp-shlibs split-offs to encourage the use of the clangXY compiler packages for -fopenmp support. This approach is the same currently used for the libcxx1-dev and libcxx1-shlibs split-offs. The upstream changes to unconditionally emit -lto_library to help the linker find the appropriate libLTO.dylib is added and the ld shell script hack removed. The Info file changes are...</p> <div class="codehilite"><pre><span></span><span class="gh">Index: llvm39.info</span> <span class="gh">===================================================================</span> RCS file: /cvsroot/fink/dists/10.9-libcxx/stable/main/finkinfo/languages/llvm39.info,v retrieving revision 1.2 <span class="gh">diff -u -r1.2 llvm39.info</span> <span class="gd">--- llvm39.info 27 Oct 2016 04:01:28 -0000 1.2</span> <span class="gi">+++ llvm39.info 1 Nov 2016 11:28:06 -0000</span> <span class="gu">@@ -1,7 +1,7 @@</span> Info3: << Package: llvm39 Version: 3.9.0 <span class="gd">-Revision: 1</span> <span class="gi">+Revision: 2</span> Description: Modular and reusable compiler License: BSD Maintainer: David Fang <[email protected]> <span class="gu">@@ -54,8 +54,8 @@</span> PatchFile: %n.patch PatchFile-MD5: 6addcbd4c9fe449b3cd006eb48f5219b <span class="gd">-#PatchFile2: %n-clang.patch</span> <span class="gd">-#PatchFile2-MD5: d2a2b4207c19b7f09f197ae9769a51d2</span> <span class="gi">+PatchFile2: %n-clang.patch</span> <span class="gi">+PatchFile2-MD5: 25a45c309e14611b278c30b782f0d7e5 </span> #PatchFile3: %n-compiler-rt.patch #PatchFile3-MD5: 60ed1415e15b1781f2d58c0db17aab78 #PatchFile4: %n-polly.patch <span class="gu">@@ -65,7 +65,7 @@</span> #PatchFile6: %n-clang-omp.patch #PatchFile6-MD5: 8067f4cc1f58030f7746521d58c776c2 PatchFile7: %n-clang-iomp5.patch <span class="gd">-PatchFile7-MD5: 33f21b006473cbdd5feced616b05903b</span> <span class="gi">+PatchFile7-MD5: 921fc2acf91e9927044980f4c264e250</span> PatchScript: << #!/bin/sh -ev <span class="gu">@@ -108,7 +108,7 @@</span> pushd tools/clang # Apply clang-omp merge before clang patch #$patch_filter %{PatchFile6} | patch -p1 <span class="gd">- #$patch_filter %{PatchFile2} | patch -p1</span> <span class="gi">+ $patch_filter %{PatchFile2} | patch -p1</span> $patch_filter %{PatchFile7} | patch -p1 popd pushd tools/polly <span class="gu">@@ -1078,15 +1078,6 @@</span> iprefix=%i/$stem prefix=%p/$stem <span class="gd">- # Pass path to libLTO.dylib with -lto_library using ld shell script</span> <span class="gd">- pushd $iprefix/bin</span> <span class="gd">- cat <<EOF > ./ld</span> <span class="gd">-#!/bin/sh</span> <span class="gd">-exec /usr/bin/ld -lto_library %p/opt/llvm-3.9/lib/libLTO.dylib "\$@"</span> <span class="gd">-EOF</span> <span class="gd">- chmod ugo+x ./ld</span> <span class="gd">- popd</span> <span class="gd">-</span> # convenient clang symlinks mkdir -p %i/bin pushd %i/bin <span class="gu">@@ -1112,6 +1103,22 @@</span> cp %b/../build/last/*-check.log testlogs/ cp %b/../build/last-libcxx/*-check.log testlogs/ popd <span class="gi">+</span> <span class="gi">+# place omp.h in include/libomp for common libomp-dev package</span> <span class="gi">+# and access in clang39 through a symlink instead.</span> <span class="gi">+ install -d %i/include/libomp</span> <span class="gi">+ pushd %i/opt/llvm-$brv/lib/clang/%v/include</span> <span class="gi">+ mv omp.h %i/include/libomp</span> <span class="gi">+ ln -s %p/include/libomp/omp.h omp.h</span> <span class="gi">+ popd</span> <span class="gi">+</span> <span class="gi">+# place libomp.dylib in libomp subdirectory for common libomp-shlibs package</span> <span class="gi">+# leave legacy copy in %p/opt/llvm-$brv/lib for clang39-shlibs</span> <span class="gi">+ install -d %i/lib/libomp</span> <span class="gi">+ pushd %i/opt/llvm-$brv/lib</span> <span class="gi">+ cp libomp.dylib libiomp5.dylib libgomp.dylib %i/lib/libomp</span> <span class="gi">+ popd</span> <span class="gi">+ install_name_tool -id %p/lib/libomp/libomp.dylib %i/lib/libomp/libomp.dylib</span> << SplitOff: << Package: clang39-tools <span class="gu">@@ -1178,7 +1185,9 @@</span> # odcctools, # choosing to require opt-in instead of defaulting to libcxx1-dev # libcxx1-dev, <span class="gi">+ libomp-dev (>= %v-%r),</span> clang39-shlibs (= %v-%r), <span class="gi">+ libomp-shlibs (>= %v-%r),</span> polly39-shlibs (= %v-%r) << Description: Executables and runtime for clang compiler <span class="gu">@@ -1186,7 +1195,6 @@</span> Files: << bin/clang* opt/llvm-3.9/bin/clang* <span class="gd">- opt/llvm-3.9/bin/ld</span> opt/llvm-3.9/lib/clang << DescUsage: << <span class="gu">@@ -1313,6 +1321,32 @@</span> << << SplitOff14: << <span class="gi">+ Package: libomp-shlibs</span> <span class="gi">+ Description: Standard library for libomp</span> <span class="gi">+ Files: <<</span> <span class="gi">+ (%m != powerpc) lib//libomp/lib*omp*.dylib</span> <span class="gi">+ <<</span> <span class="gi">+ DocFiles: <<</span> <span class="gi">+ projects/openmp/CREDITS.txt</span> <span class="gi">+ projects/openmp/LICENSE.txt</span> <span class="gi">+ <<</span> <span class="gi">+ Shlibs: <<</span> <span class="gi">+ (%m != powerpc) %p/lib/libomp/libomp.dylib 5.0.0 %n (>= 3.9.0-2)</span> <span class="gi">+ <<</span> <span class="gi">+<<</span> <span class="gi">+SplitOff15: <<</span> <span class="gi">+ Package: libomp-dev</span> <span class="gi">+ Description: Standard library header for libomp</span> <span class="gi">+ Depends: libomp-shlibs (= %v-%r)</span> <span class="gi">+ BuildDependsOnly: false</span> <span class="gi">+ Files: include/libomp/omp.h</span> <span class="gi">+ DescPackaging: <<</span> <span class="gi">+ BuildDependsOnly set to false since clang compiler always needs</span> <span class="gi">+ access to omp.h via a symlink in %p/opt/llvm-3.9/lib/clang/%v/include</span> <span class="gi">+ which allows multiple compiler releases to use the latest libomp.</span> <span class="gi">+ <<</span> <span class="gi">+<<</span> <span class="gi">+SplitOff16: <<</span> Package: %N-bundle Description: Bundle of LLVM/Clang compiler tools Type: bundle </pre></div> <p>Note that while clang39 now links against the libomp.dylib installed in %p/lib/libomp, a clang39-shlibs retains a legacy copy of libomp.dylib installed in %p/opt/llvm-3,9/lib. This legacy copy will be dropped in the llvm40 packaging and only exists because llvm39-3.9.0-1 was released without the libomp split-off changes. Also note that libomp-dev is 'BuildDependsOnly: false' because all future clangXY packages will require it to obtain the omp.h header via the symlink.</p> <p>Tested on 10.11 with 'fink -m update-all' to verifiy clean upgrade from an installed copy of clang39-3.9.0-1.</p> <hr/> <p>Sent from sourceforge.net because [email protected] is subscribed to <a href="https://sourceforge.net/p/fink/package-submissions/">https://sourceforge.net/p/fink/package-submissions/</a></p> <p>To unsubscribe from further messages, a project admin can change settings at <a href="https://sourceforge.net/p/fink/admin/package-submissions/options.">https://sourceforge.net/p/fink/admin/package-submissions/options.</a> Or, if this is a mailing list, you can unsubscribe from the mailing list.</p></div> --===============2154402256035999940==-- --===============0382972483872987318==-- --===============6914683325869341681== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot --===============6914683325869341681== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Fink-tracker mailing list [email protected] http://news.gmane.org/gmane.os.apple.fink.tracker --===============6914683325869341681==--