[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