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
}
next 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