summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2010-10-23 15:12:27 +0000
committerFabian Groffen <grobian@gentoo.org>2010-10-23 15:12:27 +0000
commita017a2262e17b0b8d06bee29f426694b43e46041 (patch)
treec3c7ecf2636081707a5c8e16334c82335cb63d47 /sys-devel
parentDrop sparc keyword (diff)
downloadgentoo-2-a017a2262e17b0b8d06bee29f426694b43e46041.tar.gz
gentoo-2-a017a2262e17b0b8d06bee29f426694b43e46041.tar.bz2
gentoo-2-a017a2262e17b0b8d06bee29f426694b43e46041.zip
Fix compilation on Mac OS X Tiger (10.4, Darwin 8), fix install_names for new libs also, bug #342289
(Portage version: 2.2.01.16706-prefix/cvs/Darwin powerpc, RepoMan options: --force)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/llvm/ChangeLog7
-rw-r--r--sys-devel/llvm/files/llvm-2.8-darwin8.patch15
-rw-r--r--sys-devel/llvm/llvm-2.8-r1.ebuild18
-rw-r--r--sys-devel/llvm/llvm-9999.ebuild17
4 files changed, 46 insertions, 11 deletions
diff --git a/sys-devel/llvm/ChangeLog b/sys-devel/llvm/ChangeLog
index 47576b07f8ab..a3524a6a1ecd 100644
--- a/sys-devel/llvm/ChangeLog
+++ b/sys-devel/llvm/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-devel/llvm
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.25 2010/10/08 13:52:47 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.26 2010/10/23 15:12:26 grobian Exp $
+
+ 23 Oct 2010; Fabian Groffen <grobian@gentoo.org> llvm-2.8-r1.ebuild,
+ +files/llvm-2.8-darwin8.patch, llvm-9999.ebuild:
+ Fix compilation on Mac OS X Tiger (10.4, Darwin 8), fix install_names for
+ new libs also, bug #342289
*llvm-2.8-r1 (08 Oct 2010)
diff --git a/sys-devel/llvm/files/llvm-2.8-darwin8.patch b/sys-devel/llvm/files/llvm-2.8-darwin8.patch
new file mode 100644
index 000000000000..284ab47c805a
--- /dev/null
+++ b/sys-devel/llvm/files/llvm-2.8-darwin8.patch
@@ -0,0 +1,15 @@
+Avoid like in Makefile.rules
+ld: -rpath can only be used when targeting Mac OS X 10.5 or later
+
+--- unittests/Makefile.unittest
++++ unittests/Makefile.unittest
+@@ -37,7 +37,9 @@
+ ifeq ($(ENABLE_SHARED), 1)
+ # Add the absolute path to the dynamic library. This is ok because
+ # we'll never install unittests.
++ifneq ($(DARWIN_MAJVERS),4)
+ LD.Flags += $(RPATH) -Wl,$(SharedLibDir)
++endif
+ # Also set {DYLD,LD}_LIBRARY_PATH because OSX ignores the rpath most
+ # of the time.
+ Run.Shared := $(SHLIBPATH_VAR)="$(SharedLibDir)$${$(SHLIBPATH_VAR):+:}$$$(SHLIBPATH_VAR)"
diff --git a/sys-devel/llvm/llvm-2.8-r1.ebuild b/sys-devel/llvm/llvm-2.8-r1.ebuild
index 1ec9260d0138..8b085b83e554 100644
--- a/sys-devel/llvm/llvm-2.8-r1.ebuild
+++ b/sys-devel/llvm/llvm-2.8-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.8-r1.ebuild,v 1.1 2010/10/08 13:52:47 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-2.8-r1.ebuild,v 1.2 2010/10/23 15:12:26 grobian Exp $
EAPI="3"
inherit eutils multilib toolchain-funcs
@@ -83,6 +83,7 @@ src_prepare() {
epatch "${FILESDIR}"/${PN}-2.7-nodoctargz.patch
epatch "${FILESDIR}"/${PN}-2.6-commandguide-nops.patch
+ epatch "${FILESDIR}"/${PN}-2.8-darwin8.patch
}
src_configure() {
@@ -158,11 +159,18 @@ src_install() {
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
if [[ ${CHOST} == *-darwin* ]] ; then
- for lib in lib{EnhancedDisassembly,LLVM-${PN},LLVMHello,LTO,profile_rt}.dylib ; do
- # libEnhancedDisassembly is Darwin10 only
- [[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
- install_name_tool -id "${EPREFIX}"/usr/lib/${PN}/${lib} \
+ for lib in lib{EnhancedDisassembly,LLVM-${PV},BugpointPasses,LLVMHello,LTO,profile_rt}.dylib ; do
+ ebegin "fixing install_name of $lib"
+ if [[ ! -f ${ED}/usr/lib/${PN}/${lib} ]] ; then
+ # libEnhancedDisassembly is Darwin10 only, so non-fatal
+ ewarn "$lib not found"
+ eend 1
+ continue
+ fi
+ install_name_tool \
+ -id "${EPREFIX}"/usr/lib/${PN}/${lib} \
"${ED}"/usr/lib/${PN}/${lib}
+ eend $?
done
fi
}
diff --git a/sys-devel/llvm/llvm-9999.ebuild b/sys-devel/llvm/llvm-9999.ebuild
index bea0d08170f2..74c4314684ea 100644
--- a/sys-devel/llvm/llvm-9999.ebuild
+++ b/sys-devel/llvm/llvm-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v 1.7 2010/10/06 09:21:26 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v 1.8 2010/10/23 15:12:26 grobian Exp $
EAPI="3"
inherit subversion eutils multilib toolchain-funcs
@@ -156,11 +156,18 @@ src_install() {
# Fix install_names on Darwin. The build system is too complicated
# to just fix this, so we correct it post-install
if [[ ${CHOST} == *-darwin* ]] ; then
- for lib in lib{EnhancedDisassembly,LLVM-${PN},LLVMHello,LTO,profile_rt}.dylib ; do
- # libEnhancedDisassembly is Darwin10 only
- [[ -f ${ED}/usr/lib/${PN}/${lib} ]] || continue
- install_name_tool -id "${EPREFIX}"/usr/lib/${PN}/${lib} \
+ for lib in lib{EnhancedDisassembly,LLVM-${PV},BugpointPasses,LLVMHello,LTO,profile_rt}.dylib ; do
+ ebegin "fixing install_name of $lib"
+ if [[ ! -f ${ED}/usr/lib/${PN}/${lib} ]] ; then
+ # libEnhancedDisassembly is Darwin10 only, so non-fatal
+ ewarn "$lib not found"
+ eend 1
+ continue
+ fi
+ install_name_tool \
+ -id "${EPREFIX}"/usr/lib/${PN}/${lib} \
"${ED}"/usr/lib/${PN}/${lib}
+ eend $?
done
fi
}