[129360] trunk/dports/lang

larryv at macports.org larryv at macports.org
Wed Dec 10 15:56:05 PST 2014


Revision: 129360
          https://trac.macports.org/changeset/129360
Author:   larryv at macports.org
Date:     2014-12-10 15:56:05 -0800 (Wed, 10 Dec 2014)
Log Message:
-----------
clang-3.{5,6}: Move lib/clang/3.x.y to lib/clang/3.x

Better for compatibility, so the Clang resources don't jump around with
every tiny version bump. The original location is symlinked to the new
one.

The 3.4 port already did this in post-destroot; I changed it to use the
same fix that I applied to 3.5 and 3.6.

(Jeremy signed off via email.)

Modified Paths:
--------------
    trunk/dports/lang/llvm-3.4/Portfile
    trunk/dports/lang/llvm-3.5/Portfile
    trunk/dports/lang/llvm-3.6/Portfile

Added Paths:
-----------
    trunk/dports/lang/llvm-3.4/files/move-clang-resources.patch
    trunk/dports/lang/llvm-3.5/files/move-clang-resources.patch
    trunk/dports/lang/llvm-3.6/files/move-clang-resources.patch

Modified: trunk/dports/lang/llvm-3.4/Portfile
===================================================================
--- trunk/dports/lang/llvm-3.4/Portfile	2014-12-10 23:43:22 UTC (rev 129359)
+++ trunk/dports/lang/llvm-3.4/Portfile	2014-12-10 23:56:05 UTC (rev 129360)
@@ -112,7 +112,8 @@
 patch.pre_args  -p1
 
 if {${subport} eq "clang-${llvm_version}"} {
-    patchfiles-append   tiger-shlib-clang.patch \
+    patchfiles-append   move-clang-resources.patch \
+                        tiger-shlib-clang.patch \
                         tiger-libclang.patch \
                         scan-build-PR-35006.patch \
                         0001-Comment-out-SL-cctools-workaround.patch \
@@ -310,11 +311,6 @@
         system "install_name_tool -change @rpath/libLLVM-${llvm_version}svn.dylib ${sub_prefix}/lib/libLLVM-${llvm_version}svn.dylib ${destroot}${sub_prefix}/lib/libclang.dylib"
         system "install_name_tool -change @rpath/libLLVM-${llvm_version}.dylib ${sub_prefix}/lib/libLLVM-${llvm_version}.dylib ${destroot}${sub_prefix}/lib/libclang.dylib"
 
-        if {${version} ne ${llvm_version}} {
-            file rename ${destroot}${sub_prefix}/lib/clang/${version} ${destroot}${sub_prefix}/lib/clang/${llvm_version}
-            ln -s ${llvm_version} ${destroot}${sub_prefix}/lib/clang/${version}
-        }
-
         if {${os.major} > 9} {
             # http://trac.macports.org/ticket/38527
             system "install_name_tool -id ${sub_prefix}/lib/clang/${llvm_version}/lib/darwin/libclang_rt.asan_osx_dynamic.dylib ${destroot}${sub_prefix}/lib/clang/${llvm_version}/lib/darwin/libclang_rt.asan_osx_dynamic.dylib"

Added: trunk/dports/lang/llvm-3.4/files/move-clang-resources.patch
===================================================================
--- trunk/dports/lang/llvm-3.4/files/move-clang-resources.patch	                        (rev 0)
+++ trunk/dports/lang/llvm-3.4/files/move-clang-resources.patch	2014-12-10 23:56:05 UTC (rev 129360)
@@ -0,0 +1,60 @@
+Index: llvm-3.4.2.src/tools/clang/lib/Headers/Makefile
+===================================================================
+--- llvm-3.4.2.src.orig/tools/clang/lib/Headers/Makefile
++++ llvm-3.4.2.src/tools/clang/lib/Headers/Makefile
+@@ -16,6 +16,7 @@ include $(CLANG_LEVEL)/Makefile
+ 
+ CLANG_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
+ 	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
++LLVM_VERSION := $(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)
+ 
+ HeaderDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)/include
+ 
+@@ -40,7 +41,7 @@ $(HeaderDir)/module.map: $(PROJ_SRC_DIR)
+ # Hook into the standard Makefile rules.
+ all-local:: $(OBJHEADERS) $(HeaderDir)/module.map
+ 
+-PROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)/include
++PROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(LLVM_VERSION)/include
+ 
+ INSTHEADERS := $(addprefix $(PROJ_headers)/, $(HEADERS))
+ INSTHEADERS += $(PROJ_headers)/arm_neon.h
+Index: llvm-3.4.2.src/tools/clang/runtime/compiler-rt/Makefile
+===================================================================
+--- llvm-3.4.2.src.orig/tools/clang/runtime/compiler-rt/Makefile
++++ llvm-3.4.2.src/tools/clang/runtime/compiler-rt/Makefile
+@@ -18,9 +18,10 @@ include $(CLANG_LEVEL)/Makefile
+ 
+ CLANG_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
+ 	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
++LLVM_VERSION := $(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)
+ 
+-ResourceDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)
+-PROJ_resources := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)
++ResourceDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(LLVM_VERSION)
++PROJ_resources := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(LLVM_VERSION)
+ 
+ ResourceLibDir := $(ResourceDir)/lib
+ ResourceIncludeDir := $(ResourceDir)/include
+@@ -255,9 +256,21 @@ $(PROJ_resources_include)/sanitizer: $(R
+ RuntimeHeaderInstall: $(PROJ_resources_include)/sanitizer
+ .PHONY: RuntimeHeaderInstall
+ 
++# Make sure $(PROJ_resources) exists before creating the symlink.
++$(PROJ_resources:$(LLVM_VERSION)=$(CLANG_VERSION)):
++	$(Echo) Creating compiler runtime compatibility symlink
++	$(Verb) $(MKDIR) $(dir $@)
++	$(Verb) ln -s $(LLVM_VERSION) $@
++
++MacPortsClangResSymlinkInstall: $(PROJ_resources:$(LLVM_VERSION)=$(CLANG_VERSION))
++.PHONY: MacPortsClangResSymlinkInstall
++
+ # Hook into the standard Makefile rules.
+ all-local:: $(RuntimeDirs:%=RuntimeLibrary.%) RuntimeHeader
+ install-local:: $(RuntimeDirs:%=RuntimeLibraryInstall.%) RuntimeHeaderInstall
++ifneq ($(LLVM_VERSION),$(CLANG_VERSION))
++install-local:: MacPortsClangResSymlinkInstall
++endif
+ clean-local:: CleanRuntimeLibraries
+ 
+ endif

Modified: trunk/dports/lang/llvm-3.5/Portfile
===================================================================
--- trunk/dports/lang/llvm-3.5/Portfile	2014-12-10 23:43:22 UTC (rev 129359)
+++ trunk/dports/lang/llvm-3.5/Portfile	2014-12-10 23:56:05 UTC (rev 129360)
@@ -123,7 +123,8 @@
                          0001-Comment-out-SL-cctools-workaround.patch \
                          clang-format.patch \
                          clang-modernize.patch \
-                         snowleopard-cmath.patch
+                         snowleopard-cmath.patch \
+                         move-clang-resources.patch
 
     build.target        clang-only
     destroot.target     install-clang

Added: trunk/dports/lang/llvm-3.5/files/move-clang-resources.patch
===================================================================
--- trunk/dports/lang/llvm-3.5/files/move-clang-resources.patch	                        (rev 0)
+++ trunk/dports/lang/llvm-3.5/files/move-clang-resources.patch	2014-12-10 23:56:05 UTC (rev 129360)
@@ -0,0 +1,60 @@
+Index: llvm-3.5.0.src/tools/clang/lib/Headers/Makefile
+===================================================================
+--- llvm-3.5.0.src.orig/tools/clang/lib/Headers/Makefile
++++ llvm-3.5.0.src/tools/clang/lib/Headers/Makefile
+@@ -16,6 +16,7 @@ include $(CLANG_LEVEL)/Makefile
+ 
+ CLANG_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
+ 	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
++LLVM_VERSION := $(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)
+ 
+ HeaderDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)/include
+ 
+@@ -40,7 +41,7 @@ $(HeaderDir)/module.modulemap: $(PROJ_SR
+ # Hook into the standard Makefile rules.
+ all-local:: $(OBJHEADERS) $(HeaderDir)/module.modulemap
+ 
+-PROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)/include
++PROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(LLVM_VERSION)/include
+ 
+ INSTHEADERS := $(addprefix $(PROJ_headers)/, $(HEADERS))
+ INSTHEADERS += $(PROJ_headers)/arm_neon.h
+Index: llvm-3.5.0.src/tools/clang/runtime/compiler-rt/Makefile
+===================================================================
+--- llvm-3.5.0.src.orig/tools/clang/runtime/compiler-rt/Makefile
++++ llvm-3.5.0.src/tools/clang/runtime/compiler-rt/Makefile
+@@ -18,9 +18,10 @@ include $(CLANG_LEVEL)/Makefile
+ 
+ CLANG_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
+ 	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
++LLVM_VERSION := $(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)
+ 
+-ResourceDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)
+-PROJ_resources := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)
++ResourceDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(LLVM_VERSION)
++PROJ_resources := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(LLVM_VERSION)
+ 
+ ResourceLibDir := $(ResourceDir)/lib
+ ResourceIncludeDir := $(ResourceDir)/include
+@@ -262,9 +263,21 @@ $(PROJ_resources_include)/sanitizer: $(R
+ RuntimeHeaderInstall: $(PROJ_resources_include)/sanitizer
+ .PHONY: RuntimeHeaderInstall
+ 
++# Make sure $(PROJ_resources) exists before creating the symlink.
++$(PROJ_resources:$(LLVM_VERSION)=$(CLANG_VERSION)):
++	$(Echo) Creating compiler runtime compatibility symlink
++	$(Verb) $(MKDIR) $(dir $@)
++	$(Verb) ln -s $(LLVM_VERSION) $@
++
++MacPortsClangResSymlinkInstall: $(PROJ_resources:$(LLVM_VERSION)=$(CLANG_VERSION))
++.PHONY: MacPortsClangResSymlinkInstall
++
+ # Hook into the standard Makefile rules.
+ all-local:: $(RuntimeDirs:%=RuntimeLibrary.%) RuntimeHeader
+ install-local:: $(RuntimeDirs:%=RuntimeLibraryInstall.%) RuntimeHeaderInstall
++ifneq ($(LLVM_VERSION),$(CLANG_VERSION))
++install-local:: MacPortsClangResSymlinkInstall
++endif
+ clean-local:: CleanRuntimeLibraries
+ 
+ endif

Modified: trunk/dports/lang/llvm-3.6/Portfile
===================================================================
--- trunk/dports/lang/llvm-3.6/Portfile	2014-12-10 23:43:22 UTC (rev 129359)
+++ trunk/dports/lang/llvm-3.6/Portfile	2014-12-10 23:56:05 UTC (rev 129360)
@@ -102,7 +102,8 @@
                          0001-Comment-out-SL-cctools-workaround.patch \
                          clang-format.patch \
                          clang-modernize.patch \
-                         snowleopard-cmath.patch
+                         snowleopard-cmath.patch \
+                         move-clang-resources.patch
 
     build.target        clang-only
     destroot.target     install-clang

Added: trunk/dports/lang/llvm-3.6/files/move-clang-resources.patch
===================================================================
--- trunk/dports/lang/llvm-3.6/files/move-clang-resources.patch	                        (rev 0)
+++ trunk/dports/lang/llvm-3.6/files/move-clang-resources.patch	2014-12-10 23:56:05 UTC (rev 129360)
@@ -0,0 +1,60 @@
+diff --git a/tools/clang/lib/Headers/Makefile b/tools/clang/lib/Headers/Makefile
+index 903acac..7c37992 100644
+--- a/tools/clang/lib/Headers/Makefile
++++ b/tools/clang/lib/Headers/Makefile
+@@ -16,6 +16,7 @@ include $(CLANG_LEVEL)/Makefile
+ 
+ CLANG_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
+ 	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
++LLVM_VERSION := $(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)
+ 
+ HeaderDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)/include
+ 
+@@ -40,7 +41,7 @@ $(HeaderDir)/module.modulemap: $(PROJ_SRC_DIR)/module.modulemap $(HeaderDir)/.di
+ # Hook into the standard Makefile rules.
+ all-local:: $(OBJHEADERS) $(HeaderDir)/module.modulemap
+ 
+-PROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)/include
++PROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(LLVM_VERSION)/include
+ 
+ INSTHEADERS := $(addprefix $(PROJ_headers)/, $(HEADERS))
+ INSTHEADERS += $(PROJ_headers)/arm_neon.h
+diff --git a/tools/clang/runtime/compiler-rt/Makefile b/tools/clang/runtime/compiler-rt/Makefile
+index f06ef99..4005853 100644
+--- a/tools/clang/runtime/compiler-rt/Makefile
++++ b/tools/clang/runtime/compiler-rt/Makefile
+@@ -18,9 +18,10 @@ include $(CLANG_LEVEL)/Makefile
+ 
+ CLANG_VERSION := $(word 3,$(shell grep "CLANG_VERSION " \
+ 	$(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
++LLVM_VERSION := $(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)
+ 
+-ResourceDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)
+-PROJ_resources := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)
++ResourceDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(LLVM_VERSION)
++PROJ_resources := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(LLVM_VERSION)
+ 
+ ResourceLibDir := $(ResourceDir)/lib
+ ResourceIncludeDir := $(ResourceDir)/include
+@@ -254,9 +255,21 @@ $(PROJ_resources_include)/sanitizer: $(ResourceIncludeDir)/sanitizer $(PROJ_reso
+ RuntimeHeaderInstall: $(PROJ_resources_include)/sanitizer
+ .PHONY: RuntimeHeaderInstall
+ 
++# Make sure $(PROJ_resources) exists before creating the symlink.
++$(PROJ_resources:$(LLVM_VERSION)=$(CLANG_VERSION)):
++	$(Echo) Creating compiler runtime compatibility symlink
++	$(Verb) $(MKDIR) $(dir $@)
++	$(Verb) ln -s $(LLVM_VERSION) $@
++
++MacPortsClangResSymlinkInstall: $(PROJ_resources:$(LLVM_VERSION)=$(CLANG_VERSION))
++.PHONY: MacPortsClangResSymlinkInstall
++
+ # Hook into the standard Makefile rules.
+ all-local:: $(RuntimeDirs:%=RuntimeLibrary.%) RuntimeHeader
+ install-local:: $(RuntimeDirs:%=RuntimeLibraryInstall.%) RuntimeHeaderInstall
++ifneq ($(LLVM_VERSION),$(CLANG_VERSION))
++install-local:: MacPortsClangResSymlinkInstall
++endif
+ clean-local:: CleanRuntimeLibraries
+ 
+ endif
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20141210/fda3cfd7/attachment.html>


More information about the macports-changes mailing list