summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXU Benda <heroxbd@gmail.com>2013-09-04 23:43:28 +0900
committerXU Benda <heroxbd@gmail.com>2013-09-04 23:43:28 +0900
commit1f9f16ab1b837c18b373257887657bc437ad3c77 (patch)
tree834e757041003d4238a9f0519d755bbd40f28bb0 /profiles
parentclean up profile and use portage-2 format (diff)
downloadandroid-1f9f16ab1b837c18b373257887657bc437ad3c77.tar.gz
android-1f9f16ab1b837c18b373257887657bc437ad3c77.tar.bz2
android-1f9f16ab1b837c18b373257887657bc437ad3c77.zip
use rap flag in toolchain.eclass
fix glibc symlink add bootstrap profiles
Diffstat (limited to 'profiles')
-rw-r--r--profiles/bootstrap/gcc/make.defaults.in3
-rw-r--r--profiles/bootstrap/gcc/package.use12
-rw-r--r--profiles/bootstrap/gcc/parent1
-rw-r--r--profiles/bootstrap/gcc/profile.bashrc2
-rw-r--r--profiles/bootstrap/gcc/use.force1
-rw-r--r--profiles/bootstrap/make.defaults.in21
-rw-r--r--profiles/bootstrap/parent1
-rw-r--r--profiles/bootstrap/profile.bashrc.in11
-rw-r--r--profiles/features/rap/profile.bashrc2
9 files changed, 53 insertions, 1 deletions
diff --git a/profiles/bootstrap/gcc/make.defaults.in b/profiles/bootstrap/gcc/make.defaults.in
new file mode 100644
index 0000000..c876c60
--- /dev/null
+++ b/profiles/bootstrap/gcc/make.defaults.in
@@ -0,0 +1,3 @@
+# libraries built in stage1 needs explicitly specified path
+LDFLAGS="-L@GENTOO_PORTAGE_EPREFIX@/tmp/usr/lib -Wl,-rpath=@GENTOO_PORTAGE_EPREFIX@/tmp/usr/lib"
+CPPFLAGS="-I@GENTOO_PORTAGE_EPREFIX@/tmp/usr/include"
diff --git a/profiles/bootstrap/gcc/package.use b/profiles/bootstrap/gcc/package.use
new file mode 100644
index 0000000..2c4aae9
--- /dev/null
+++ b/profiles/bootstrap/gcc/package.use
@@ -0,0 +1,12 @@
+# first pass of gcc uses host libc
+sys-devel/gcc -rap
+
+# Most binary Linux distributions seem to fancy toolchains that do not
+# do c++ support (need to install a separate package). Since we don't
+# check for g++, just make sure binutils won't try to build gold
+# (needs c++), it will get there once we built our own GCC with c++
+# support. For that reason we cannot globally mask cxx, because then
+# GCC will be built without c++ support too.
+
+sys-devel/binutils -cxx
+dev-libs/gmp -cxx
diff --git a/profiles/bootstrap/gcc/parent b/profiles/bootstrap/gcc/parent
new file mode 100644
index 0000000..f3229c5
--- /dev/null
+++ b/profiles/bootstrap/gcc/parent
@@ -0,0 +1 @@
+..
diff --git a/profiles/bootstrap/gcc/profile.bashrc b/profiles/bootstrap/gcc/profile.bashrc
new file mode 100644
index 0000000..1d59b66
--- /dev/null
+++ b/profiles/bootstrap/gcc/profile.bashrc
@@ -0,0 +1,2 @@
+# disable gcc bootstrap which cleans out LDFLAGS essential for this phase.
+[[ ${PN} == "gcc" ]] && { EXTRA_ECONF='--disable-bootstrap'; GCC_MAKE_TARGET='all'; }
diff --git a/profiles/bootstrap/gcc/use.force b/profiles/bootstrap/gcc/use.force
new file mode 100644
index 0000000..1609d29
--- /dev/null
+++ b/profiles/bootstrap/gcc/use.force
@@ -0,0 +1 @@
+-rap
diff --git a/profiles/bootstrap/make.defaults.in b/profiles/bootstrap/make.defaults.in
new file mode 100644
index 0000000..06da263
--- /dev/null
+++ b/profiles/bootstrap/make.defaults.in
@@ -0,0 +1,21 @@
+# The default profiles (and IUSE defaults) introduce circular deps. By
+# shoving this USE line into make.defaults, we can ensure that the
+# end-user always avoids circular deps while bootstrapping and it gets
+# wiped after a --sync. Also simplifies bootstrapping instructions.
+
+USE="-berkdb -fortran -gdbm -git -nls -pcre -ssl -python -readline bootstrap"
+
+# and we don't need to spam the user about news until after a --sync
+# because the tools aren't available to read the news item yet anyway.
+
+FEATURES="${FEATURES} -news"
+
+# Disable the STALE warning because the snapshot frequently gets stale.
+# DON'T REMOVE this one, stage3's tree check relies on this one
+
+PORTAGE_SYNC_STALE=0
+
+# Set correct PYTHONPATH for Portage, since our Python lives in
+# $EPREFIX/tmp, bug #407573
+
+PYTHONPATH=@GENTOO_PORTAGE_EPREFIX@/usr/lib/portage/pym
diff --git a/profiles/bootstrap/parent b/profiles/bootstrap/parent
new file mode 100644
index 0000000..291864c
--- /dev/null
+++ b/profiles/bootstrap/parent
@@ -0,0 +1 @@
+../default/linux/amd64/13.0/rap
diff --git a/profiles/bootstrap/profile.bashrc.in b/profiles/bootstrap/profile.bashrc.in
new file mode 100644
index 0000000..13f9626
--- /dev/null
+++ b/profiles/bootstrap/profile.bashrc.in
@@ -0,0 +1,11 @@
+# Hack for bash because curses is not always available (linux).
+[[ ${PN} == "bash" ]] && EXTRA_ECONF="--without-curses"
+
+# We don't know why gcc pass 1 have /usr/include as higher priority than
+# ${EPREFIX}/usr/include, which is not the case in Prefix. Keep this hack
+# here until we find out why.
+
+if [[ ${PN} == gcc ]]; then
+ CPPFLAGS="-I@GENTOO_PORTAGE_EPREFIX@/tmp/usr/include"
+ LDFLAGS="-Wl,--dynamic-linker=$(echo '@GENTOO_PORTAGE_EPREFIX@'/lib64/ld-linux-*.so.*)"
+fi
diff --git a/profiles/features/rap/profile.bashrc b/profiles/features/rap/profile.bashrc
index 40cc40c..5f7a4a4 100644
--- a/profiles/features/rap/profile.bashrc
+++ b/profiles/features/rap/profile.bashrc
@@ -1,7 +1,7 @@
# use sysroot of toolchain to get include and library at compile time work
# Benda Xu <heroxbd@gentoo.org> (17 Jun, 2013)
-if [[ ${CATEGORY} == sys-devel ]] && [[ ${PN} == gcc || ${PN} == binutils || ${PN} == libtool ]] \
+if [[ ${CATEGORY} == sys-devel ]] && [[ ${PN} == binutils || ${PN} == libtool ]] \
&& [[ ${EBUILD_PHASE} == unpack ]]; then
elog "append --with-sysroot=${EPREFIX} to configure for Prefix libc"
EXTRA_ECONF+="--with-sysroot=${EPREFIX}"