public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] dev/mgorny:master commit in: sys-devel/llvm/files/, sys-devel/llvm/
Date: Sat, 20 Jul 2013 14:00:25 +0000 (UTC)	[thread overview]
Message-ID: <1374328361.bd8eb41521626307eadd67b4f1a1490bb42b3cb8.mgorny@gentoo> (raw)

commit:     bd8eb41521626307eadd67b4f1a1490bb42b3cb8
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 20 13:52:41 2013 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 20 13:52:41 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=dev/mgorny.git;a=commit;h=bd8eb415

sys-devel/llvm: use out-of-source builds.

Well, it seems that LLVM actually supports them and they work just fine.

---
 sys-devel/llvm/files/llvm-3.3-gentoo-install.patch |  29 +++--
 sys-devel/llvm/files/llvm-3.4-gentoo-install.patch |  29 +++--
 sys-devel/llvm/llvm-3.3-r1.ebuild                  | 142 ++++++++++-----------
 sys-devel/llvm/llvm-9999-r1.ebuild                 | 141 ++++++++++----------
 4 files changed, 171 insertions(+), 170 deletions(-)

diff --git a/sys-devel/llvm/files/llvm-3.3-gentoo-install.patch b/sys-devel/llvm/files/llvm-3.3-gentoo-install.patch
index 14ff44f..8b19353 100644
--- a/sys-devel/llvm/files/llvm-3.3-gentoo-install.patch
+++ b/sys-devel/llvm/files/llvm-3.3-gentoo-install.patch
@@ -1,20 +1,20 @@
-From 7843380cdbc4f4519b3669585122bd0a28d3cd29 Mon Sep 17 00:00:00 2001
+From 378109dbae7e4772d9b096384904c638a6a34028 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
 Date: Fri, 19 Jul 2013 10:10:52 +0200
-Subject: [PATCH] gentoo install fixes
+Subject: [PATCH 1/2] gentoo install fixes
 
 ---
  Makefile.config.in                      | 6 +++---
  Makefile.rules                          | 7 +++----
  tools/gold/Makefile                     | 2 +-
- tools/llvm-config/BuildVariables.inc.in | 1 +
- tools/llvm-config/Makefile              | 2 ++
+ tools/llvm-config/BuildVariables.inc.in | 2 ++
+ tools/llvm-config/Makefile              | 4 ++++
  tools/llvm-config/llvm-config.cpp       | 5 +++--
  utils/FileCheck/Makefile                | 2 +-
- 7 files changed, 14 insertions(+), 11 deletions(-)
+ 7 files changed, 17 insertions(+), 11 deletions(-)
 
 diff --git a/Makefile.config.in b/Makefile.config.in
-index fd4f6ef..ad6595f 100644
+index fd4f6ef..5634ecc 100644
 --- a/Makefile.config.in
 +++ b/Makefile.config.in
 @@ -95,10 +95,10 @@ PROJ_internal_prefix := $(prefix)
@@ -22,7 +22,7 @@ index fd4f6ef..ad6595f 100644
  
  PROJ_bindir     := $(PROJ_prefix)/bin
 -PROJ_libdir     := $(PROJ_prefix)/lib
-+PROJ_libdir     := $(PROJ_prefix)/@libdir@/llvm
++PROJ_libdir     := $(PROJ_prefix)/$(GENTOO_LIBDIR)/llvm
  PROJ_datadir    := $(PROJ_prefix)/share
 -PROJ_docsdir    := $(PROJ_prefix)/docs/llvm
 -PROJ_etcdir     := $(PROJ_prefix)/etc/llvm
@@ -84,29 +84,32 @@ index 496e31c..d36b340 100644
  include $(LEVEL)/Makefile.common
  
 diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
-index fe87afb..94952ca 100644
+index fe87afb..fd9f2c6 100644
 --- a/tools/llvm-config/BuildVariables.inc.in
 +++ b/tools/llvm-config/BuildVariables.inc.in
-@@ -25,3 +25,4 @@
+@@ -25,3 +25,5 @@
  #define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
  #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
  #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
 +#define LLVM_RPATH "@LLVM_RPATH@"
++#define LLVM_LIBDIR "@LLVM_LIBDIR@"
 diff --git a/tools/llvm-config/Makefile b/tools/llvm-config/Makefile
-index b20b6bf..3747baf 100644
+index b20b6bf..fc56781 100644
 --- a/tools/llvm-config/Makefile
 +++ b/tools/llvm-config/Makefile
-@@ -55,6 +55,8 @@ $(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir
+@@ -55,6 +55,10 @@ $(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir
  	  >> temp.sed
  	$(Verb) $(ECHO) 's/@LLVM_TARGETS_BUILT@/$(subst /,\/,$(TARGETS_TO_BUILD))/' \
  	  >> temp.sed
 +	$(Verb) $(ECHO) 's/@LLVM_RPATH@/$(subst /,\/,$(RPATH))/' \
 +	  >> temp.sed
++	$(Verb) $(ECHO) 's/@LLVM_LIBDIR@/$(subst /,\/,$(GENTOO_LIBDIR))/' \
++	  >> temp.sed
  	$(Verb) $(SED) -f temp.sed < $< > $@
  	$(Verb) $(RM) temp.sed
  
 diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 7edf5ec..abd2888 100644
+index 7edf5ec..4541c28 100644
 --- a/tools/llvm-config/llvm-config.cpp
 +++ b/tools/llvm-config/llvm-config.cpp
 @@ -250,7 +250,7 @@ int main(int argc, char **argv) {
@@ -114,7 +117,7 @@ index 7edf5ec..abd2888 100644
      ActiveIncludeDir = ActivePrefix + "/include";
      ActiveBinDir = ActivePrefix + "/bin";
 -    ActiveLibDir = ActivePrefix + "/lib";
-+    ActiveLibDir = ActivePrefix + "/@libdir@/llvm";
++    ActiveLibDir = ActivePrefix + "/" LLVM_LIBDIR "/llvm";
      ActiveIncludeOption = "-I" + ActiveIncludeDir;
    }
  

diff --git a/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch b/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch
index ad3eec1..659486a 100644
--- a/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch
+++ b/sys-devel/llvm/files/llvm-3.4-gentoo-install.patch
@@ -1,20 +1,20 @@
-From f0927633bf1d6426624f1c266b1407b18ac1cd80 Mon Sep 17 00:00:00 2001
+From be2ee7ba7ab4c1aec86d3d9e49e1be241afd8abd Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
 Date: Fri, 19 Jul 2013 10:10:52 +0200
-Subject: [PATCH] gentoo install fixes
+Subject: [PATCH 1/2] gentoo install fixes
 
 ---
  Makefile.config.in                      | 6 +++---
  Makefile.rules                          | 7 +++----
  tools/gold/Makefile                     | 2 +-
- tools/llvm-config/BuildVariables.inc.in | 1 +
- tools/llvm-config/Makefile              | 2 ++
+ tools/llvm-config/BuildVariables.inc.in | 2 ++
+ tools/llvm-config/Makefile              | 4 ++++
  tools/llvm-config/llvm-config.cpp       | 5 +++--
  utils/FileCheck/Makefile                | 2 +-
- 7 files changed, 14 insertions(+), 11 deletions(-)
+ 7 files changed, 17 insertions(+), 11 deletions(-)
 
 diff --git a/Makefile.config.in b/Makefile.config.in
-index dcca45f..45bf0d1 100644
+index dcca45f..e75ae2e 100644
 --- a/Makefile.config.in
 +++ b/Makefile.config.in
 @@ -95,10 +95,10 @@ PROJ_internal_prefix := $(prefix)
@@ -22,7 +22,7 @@ index dcca45f..45bf0d1 100644
  
  PROJ_bindir     := $(PROJ_prefix)/bin
 -PROJ_libdir     := $(PROJ_prefix)/lib
-+PROJ_libdir     := $(PROJ_prefix)/@libdir@/llvm
++PROJ_libdir     := $(PROJ_prefix)/$(GENTOO_LIBDIR)/llvm
  PROJ_datadir    := $(PROJ_prefix)/share
 -PROJ_docsdir    := $(PROJ_prefix)/docs/llvm
 -PROJ_etcdir     := $(PROJ_prefix)/etc/llvm
@@ -80,29 +80,32 @@ index 496e31c..d36b340 100644
  include $(LEVEL)/Makefile.common
  
 diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
-index fe87afb..2afaaea 100644
+index fe87afb..fd9f2c6 100644
 --- a/tools/llvm-config/BuildVariables.inc.in
 +++ b/tools/llvm-config/BuildVariables.inc.in
-@@ -25,3 +25,4 @@
+@@ -25,3 +25,5 @@
  #define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
  #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
  #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
 +#define LLVM_RPATH "@LLVM_RPATH@"
++#define LLVM_LIBDIR "@LLVM_LIBDIR@"
 diff --git a/tools/llvm-config/Makefile b/tools/llvm-config/Makefile
-index b20b6bf..3747baf 100644
+index b20b6bf..fc56781 100644
 --- a/tools/llvm-config/Makefile
 +++ b/tools/llvm-config/Makefile
-@@ -55,6 +55,8 @@ $(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir
+@@ -55,6 +55,10 @@ $(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir
  	  >> temp.sed
  	$(Verb) $(ECHO) 's/@LLVM_TARGETS_BUILT@/$(subst /,\/,$(TARGETS_TO_BUILD))/' \
  	  >> temp.sed
 +	$(Verb) $(ECHO) 's/@LLVM_RPATH@/$(subst /,\/,$(RPATH))/' \
 +	  >> temp.sed
++	$(Verb) $(ECHO) 's/@LLVM_LIBDIR@/$(subst /,\/,$(GENTOO_LIBDIR))/' \
++	  >> temp.sed
  	$(Verb) $(SED) -f temp.sed < $< > $@
  	$(Verb) $(RM) temp.sed
  
 diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 3924e2e..169e8bf 100644
+index 3924e2e..f439c60 100644
 --- a/tools/llvm-config/llvm-config.cpp
 +++ b/tools/llvm-config/llvm-config.cpp
 @@ -250,7 +250,7 @@ int main(int argc, char **argv) {
@@ -110,7 +113,7 @@ index 3924e2e..169e8bf 100644
      ActiveIncludeDir = ActivePrefix + "/include";
      ActiveBinDir = ActivePrefix + "/bin";
 -    ActiveLibDir = ActivePrefix + "/lib";
-+    ActiveLibDir = ActivePrefix + "/@libdir@/llvm";
++    ActiveLibDir = ActivePrefix + "/" LLVM_LIBDIR "/llvm";
      ActiveIncludeOption = "-I" + ActiveIncludeDir;
    }
  

diff --git a/sys-devel/llvm/llvm-3.3-r1.ebuild b/sys-devel/llvm/llvm-3.3-r1.ebuild
index 515b006..fb8400a 100644
--- a/sys-devel/llvm/llvm-3.3-r1.ebuild
+++ b/sys-devel/llvm/llvm-3.3-r1.ebuild
@@ -101,28 +101,6 @@ src_unpack() {
 }
 
 src_prepare() {
-	multilib_src_prepare() {
-		cd "${BUILD_DIR}" || die
-
-		local sub_files=(
-			Makefile.config.in
-			Makefile.rules
-			tools/llvm-config/llvm-config.cpp
-		)
-		use clang && sub_files+=(
-			tools/clang/lib/Driver/Tools.cpp
-			tools/clang/tools/scan-build/scan-build
-		)
-
-		# unfortunately ./configure won't listen to --mandir and the-like, so take
-		# care of this.
-		sed -e "s,@libdir@,$(get_libdir),g" \
-			-e "s,@PF@,${PF},g" \
-			-e "s,@EPREFIX@,${EPREFIX},g" \
-			-i "${sub_files[@]}" \
-			|| die "install paths sed failed"
-	}
-
 	if use clang; then
 		# Automatically select active system GCC's libraries, bugs #406163 and #417913
 		epatch "${FILESDIR}"/clang-3.1-gentoo-runtime-gcc-detection-v3.patch
@@ -142,11 +120,29 @@ src_prepare() {
 	epatch "${FILESDIR}"/${PN}-3.3-gentoo-install.patch
 	use clang && epatch "${FILESDIR}"/clang-3.3-gentoo-install.patch
 
+	local sub_files=(
+		Makefile.config.in
+		Makefile.rules
+		tools/llvm-config/llvm-config.cpp
+	)
+	use clang && sub_files+=(
+		tools/clang/lib/Driver/Tools.cpp
+		tools/clang/tools/scan-build/scan-build
+	)
+
+	# unfortunately ./configure won't listen to --mandir and the-like, so take
+	# care of this.
+	# note: we're setting the main libdir intentionally.
+	# where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
+	einfo "Fixing install dirs"
+	sed -e "s,@libdir@,$(get_libdir),g" \
+		-e "s,@PF@,${PF},g" \
+		-e "s,@EPREFIX@,${EPREFIX},g" \
+		-i "${sub_files[@]}" \
+		|| die "install paths sed failed"
+
 	# User patches
 	epatch_user
-
-	multilib_copy_sources
-	multilib_foreach_abi multilib_src_prepare
 }
 
 llvm_add_ldpath() {
@@ -213,6 +209,8 @@ multilib_src_configure() {
 
 	# llvm prefers clang over gcc, so we may need to force that
 	tc-export CC CXX
+
+	ECONF_SOURCE=${S} \
 	econf ${CONF_FLAGS}
 }
 
@@ -220,6 +218,7 @@ multilib_src_compile() {
 	local mymakeopts=(
 		VERBOSE=1
 		REQUIRES_RTTI=1
+		GENTOO_LIBDIR="$(get_libdir)"
 	)
 
 	local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
@@ -237,8 +236,7 @@ multilib_src_compile() {
 	fi
 
 	if multilib_is_native_abi && use doc; then
-		emake -C docs -f Makefile.sphinx man
-		emake -C docs -f Makefile.sphinx html
+		emake -C "${S}"/docs -f Makefile.sphinx man html
 	fi
 
 	if use debug; then
@@ -283,6 +281,7 @@ src_install() {
 multilib_src_install() {
 	local mymakeopts=(
 		DESTDIR="${D}"
+		GENTOO_LIBDIR="$(get_libdir)"
 	)
 
 	local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
@@ -311,13 +310,54 @@ multilib_src_install() {
 		rm -r "${ED}"/usr/bin || die
 	fi
 
-	if multilib_is_native_abi && use doc; then
-		# Note: use !doc is handled in multilib_src_install_all
+	# Fix install_names on Darwin.  The build system is too complicated
+	# to just fix this, so we correct it post-install
+	local lib= f= odylib= libpv=${PV}
+	if [[ ${CHOST} == *-darwin* ]] ; then
+		eval $(grep PACKAGE_VERSION= configure)
+		[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
+		for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib {BugpointPasses,LLVMHello}.dylib ; do
+			# libEnhancedDisassembly is Darwin10 only, so non-fatal
+			# + omit clang libs if not enabled
+			[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
+
+			ebegin "fixing install_name of $lib"
+			install_name_tool \
+				-id "${EPREFIX}"/usr/lib/${PN}/${lib} \
+				"${ED}"/usr/lib/${PN}/${lib}
+			eend $?
+		done
+		for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/lib{LTO,clang}.dylib ; do
+			# omit clang libs if not enabled
+			[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
+
+			odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${libpv}.dylib)
+			ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
+			install_name_tool \
+				-change "${odylib}" \
+					"${EPREFIX}"/usr/lib/${PN}/libLLVM-${libpv}.dylib \
+				-change "@rpath/libclang.dylib" \
+					"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
+				-change "${S}"/Release/lib/libclang.dylib \
+					"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
+				"${f}"
+			eend $?
+		done
+	fi
+}
+
+multilib_src_install_all() {
+	if use doc; then
 		doman docs/_build/man/*.1
 		dohtml -r docs/_build/html/
+	else
+		doman "${WORKDIR}"/${P}-manpages/*.1
 	fi
 
-	if multilib_is_native_abi && use clang; then
+	insinto /usr/share/vim/vimfiles/syntax
+	doins utils/vim/*.vim
+
+	if use clang; then
 		cd tools/clang || die
 
 		if use static-analyzer ; then
@@ -357,46 +397,4 @@ multilib_src_install() {
 		}
 		python_foreach_impl python_inst
 	fi
-
-	# Fix install_names on Darwin.  The build system is too complicated
-	# to just fix this, so we correct it post-install
-	local lib= f= odylib= libpv=${PV}
-	if [[ ${CHOST} == *-darwin* ]] ; then
-		eval $(grep PACKAGE_VERSION= configure)
-		[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
-		for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib {BugpointPasses,LLVMHello}.dylib ; do
-			# libEnhancedDisassembly is Darwin10 only, so non-fatal
-			# + omit clang libs if not enabled
-			[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
-
-			ebegin "fixing install_name of $lib"
-			install_name_tool \
-				-id "${EPREFIX}"/usr/lib/${PN}/${lib} \
-				"${ED}"/usr/lib/${PN}/${lib}
-			eend $?
-		done
-		for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/lib{LTO,clang}.dylib ; do
-			# omit clang libs if not enabled
-			[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
-
-			odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${libpv}.dylib)
-			ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
-			install_name_tool \
-				-change "${odylib}" \
-					"${EPREFIX}"/usr/lib/${PN}/libLLVM-${libpv}.dylib \
-				-change "@rpath/libclang.dylib" \
-					"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
-				-change "${S}"/Release/lib/libclang.dylib \
-					"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
-				"${f}"
-			eend $?
-		done
-	fi
-}
-
-multilib_src_install_all() {
-	use doc || doman "${WORKDIR}"/${P}-manpages/*.1
-
-	insinto /usr/share/vim/vimfiles/syntax
-	doins utils/vim/*.vim
 }

diff --git a/sys-devel/llvm/llvm-9999-r1.ebuild b/sys-devel/llvm/llvm-9999-r1.ebuild
index ec5baeb..ae6bbb5 100644
--- a/sys-devel/llvm/llvm-9999-r1.ebuild
+++ b/sys-devel/llvm/llvm-9999-r1.ebuild
@@ -98,38 +98,33 @@ src_unpack() {
 }
 
 src_prepare() {
-	multilib_src_prepare() {
-		cd "${BUILD_DIR}" || die
-
-		local sub_files=(
-			Makefile.config.in
-			Makefile.rules
-			tools/llvm-config/llvm-config.cpp
-		)
-		use clang && sub_files+=(
-			tools/clang/lib/Driver/Tools.cpp
-			tools/clang/tools/scan-build/scan-build
-		)
-
-		# unfortunately ./configure won't listen to --mandir and the-like, so take
-		# care of this.
-		einfo "Fixing install dirs"
-		sed -e "s,@libdir@,$(get_libdir),g" \
-			-e "s,@PF@,${PF},g" \
-			-e "s,@EPREFIX@,${EPREFIX},g" \
-			-i "${sub_files[@]}" \
-			|| die "install paths sed failed"
-	}
-
 	epatch "${FILESDIR}"/${PN}-3.2-nodoctargz.patch
 	epatch "${FILESDIR}"/${PN}-3.4-gentoo-install.patch
 	use clang && epatch "${FILESDIR}"/clang-3.3-gentoo-install.patch
 
+	local sub_files=(
+		Makefile.config.in
+		Makefile.rules
+		tools/llvm-config/llvm-config.cpp
+	)
+	use clang && sub_files+=(
+		tools/clang/lib/Driver/Tools.cpp
+		tools/clang/tools/scan-build/scan-build
+	)
+
+	# unfortunately ./configure won't listen to --mandir and the-like, so take
+	# care of this.
+	# note: we're setting the main libdir intentionally.
+	# where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make.
+	einfo "Fixing install dirs"
+	sed -e "s,@libdir@,$(get_libdir),g" \
+		-e "s,@PF@,${PF},g" \
+		-e "s,@EPREFIX@,${EPREFIX},g" \
+		-i "${sub_files[@]}" \
+		|| die "install paths sed failed"
+
 	# User patches
 	epatch_user
-
-	multilib_copy_sources
-	multilib_foreach_abi multilib_src_prepare
 }
 
 llvm_add_ldpath() {
@@ -194,6 +189,8 @@ multilib_src_configure() {
 
 	# llvm prefers clang over gcc, so we may need to force that
 	tc-export CC CXX
+
+	ECONF_SOURCE=${S} \
 	econf ${CONF_FLAGS}
 }
 
@@ -201,6 +198,7 @@ multilib_src_compile() {
 	local mymakeopts=(
 		VERBOSE=1
 		REQUIRES_RTTI=1
+		GENTOO_LIBDIR="$(get_libdir)"
 	)
 
 	local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
@@ -218,8 +216,8 @@ multilib_src_compile() {
 	fi
 
 	if multilib_is_native_abi; then
-		emake -C docs -f Makefile.sphinx man
-		use doc && emake -C docs -f Makefile.sphinx html
+		emake -C "${S}"/docs -f Makefile.sphinx man
+		use doc && emake -C "${S}"/docs -f Makefile.sphinx html
 	fi
 
 	if use debug; then
@@ -261,6 +259,7 @@ src_install() {
 multilib_src_install() {
 	local mymakeopts=(
 		DESTDIR="${D}"
+		GENTOO_LIBDIR="$(get_libdir)"
 	)
 
 	local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
@@ -289,12 +288,50 @@ multilib_src_install() {
 		rm -r "${ED}"/usr/bin || die
 	fi
 
-	if multilib_is_native_abi; then
-		doman docs/_build/man/*.1
-		use doc && dohtml -r docs/_build/html/
+	# Fix install_names on Darwin.  The build system is too complicated
+	# to just fix this, so we correct it post-install
+	local lib= f= odylib= libpv=${PV}
+	if [[ ${CHOST} == *-darwin* ]] ; then
+		eval $(grep PACKAGE_VERSION= configure)
+		[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
+		for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib {BugpointPasses,LLVMHello}.dylib ; do
+			# libEnhancedDisassembly is Darwin10 only, so non-fatal
+			# + omit clang libs if not enabled
+			[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
+
+			ebegin "fixing install_name of $lib"
+			install_name_tool \
+				-id "${EPREFIX}"/usr/lib/${PN}/${lib} \
+				"${ED}"/usr/lib/${PN}/${lib}
+			eend $?
+		done
+		for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/lib{LTO,clang}.dylib ; do
+			# omit clang libs if not enabled
+			[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
+
+			odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${libpv}.dylib)
+			ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
+			install_name_tool \
+				-change "${odylib}" \
+					"${EPREFIX}"/usr/lib/${PN}/libLLVM-${libpv}.dylib \
+				-change "@rpath/libclang.dylib" \
+					"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
+				-change "${S}"/Release/lib/libclang.dylib \
+					"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
+				"${f}"
+			eend $?
+		done
 	fi
+}
+
+multilib_src_install_all() {
+	doman docs/_build/man/*.1
+	use doc && dohtml -r docs/_build/html/
 
-	if multilib_is_native_abi && use clang; then
+	insinto /usr/share/vim/vimfiles/syntax
+	doins utils/vim/*.vim
+
+	if use clang; then
 		cd tools/clang || die
 
 		if use static-analyzer ; then
@@ -334,44 +371,4 @@ multilib_src_install() {
 		}
 		python_foreach_impl python_inst
 	fi
-
-	# Fix install_names on Darwin.  The build system is too complicated
-	# to just fix this, so we correct it post-install
-	local lib= f= odylib= libpv=${PV}
-	if [[ ${CHOST} == *-darwin* ]] ; then
-		eval $(grep PACKAGE_VERSION= configure)
-		[[ -n ${PACKAGE_VERSION} ]] && libpv=${PACKAGE_VERSION}
-		for lib in lib{EnhancedDisassembly,LLVM-${libpv},LTO,profile_rt,clang}.dylib {BugpointPasses,LLVMHello}.dylib ; do
-			# libEnhancedDisassembly is Darwin10 only, so non-fatal
-			# + omit clang libs if not enabled
-			[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
-
-			ebegin "fixing install_name of $lib"
-			install_name_tool \
-				-id "${EPREFIX}"/usr/lib/${PN}/${lib} \
-				"${ED}"/usr/lib/${PN}/${lib}
-			eend $?
-		done
-		for f in "${ED}"/usr/bin/* "${ED}"/usr/lib/${PN}/lib{LTO,clang}.dylib ; do
-			# omit clang libs if not enabled
-			[[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
-
-			odylib=$(scanmacho -BF'%n#f' "${f}" | tr ',' '\n' | grep libLLVM-${libpv}.dylib)
-			ebegin "fixing install_name reference to ${odylib} of ${f##*/}"
-			install_name_tool \
-				-change "${odylib}" \
-					"${EPREFIX}"/usr/lib/${PN}/libLLVM-${libpv}.dylib \
-				-change "@rpath/libclang.dylib" \
-					"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
-				-change "${S}"/Release/lib/libclang.dylib \
-					"${EPREFIX}"/usr/lib/llvm/libclang.dylib \
-				"${f}"
-			eend $?
-		done
-	fi
-}
-
-multilib_src_install_all() {
-	insinto /usr/share/vim/vimfiles/syntax
-	doins utils/vim/*.vim
 }


             reply	other threads:[~2013-07-20 14:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-20 14:00 Michał Górny [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-07-20 14:00 [gentoo-commits] dev/mgorny:master commit in: sys-devel/llvm/files/, sys-devel/llvm/ Michał Górny
2013-07-20  6:28 Michał Górny
2013-07-19 21:24 Michał Górny
2013-07-19 11:02 Michał Górny
2013-07-19 10:44 Michał Górny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1374328361.bd8eb41521626307eadd67b4f1a1490bb42b3cb8.mgorny@gentoo \
    --to=mgorny@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox