summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sherwood <paul.sherwood@codethink.co.uk>2015-01-15 20:58:32 (GMT)
committerTiago Gomes <tiago.gomes@codethink.co.uk>2015-01-23 15:19:32 (GMT)
commit941c6a9653c784962aab1579ff066d7a274e8d84 (patch)
treed5fa4fb846c4ed6fd8017d4393ffd1f3df26c66d
parentfe5e9e45bb56bccb6c6ad755b21074ce4df26a02 (diff)
downloaddefinitions-baserock/tiagogomes/update-toolchain-v2.tar.gz
Embed morph-arch and morph-arch-configbaserock/tiagogomes/update-toolchain-v2
This will make it easier to advance refs later.
-rw-r--r--strata/build-essential/gcc.morph11
-rw-r--r--strata/build-essential/linux-api-headers.morph16
-rw-r--r--strata/build-essential/stage1-gcc.morph11
-rw-r--r--strata/build-essential/stage2-gcc.morph10
-rw-r--r--strata/build-essential/stage2-linux-api-headers.morph16
5 files changed, 58 insertions, 6 deletions
diff --git a/strata/build-essential/gcc.morph b/strata/build-essential/gcc.morph
index 3b4b5ec..02be4dd 100644
--- a/strata/build-essential/gcc.morph
+++ b/strata/build-essential/gcc.morph
@@ -11,8 +11,17 @@ configure-commands:
# 2. Avoid having more than one copy of ZLib in use on the system
# 3. Multilib does not make sense in Baserock.
- |
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
cd o && ../configure \
- $(../morph-arch-config) \
+ $ARCH_FLAGS \
--prefix="$PREFIX" \
`# [1]` --libdir=$PREFIX/lib \
--disable-bootstrap \
diff --git a/strata/build-essential/linux-api-headers.morph b/strata/build-essential/linux-api-headers.morph
index e1ff263..0f7ce17 100644
--- a/strata/build-essential/linux-api-headers.morph
+++ b/strata/build-essential/linux-api-headers.morph
@@ -1,6 +1,20 @@
name: linux-api-headers
kind: chunk
install-commands:
-- ARCH=$(./morph-arch) make INSTALL_HDR_PATH=dest headers_install
+- |
+ case "$MORPH_ARCH" in
+ armv7b|armv7l|armv7lhf)
+ ARCH="arm" ;;
+ x86_32)
+ ARCH="i386" ;;
+ x86_64)
+ ARCH="x86_64" ;;
+ ppc64)
+ ARCH="powerpc" ;;
+ *)
+ echo "Error: unsupported Morph architecture: $MORPH_ARCH" >&2
+ exit 1
+ esac
+ ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install
- install -d "$DESTDIR${PREFIX-/usr}/include"
- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/build-essential/stage1-gcc.morph b/strata/build-essential/stage1-gcc.morph
index 1bf6dfb..ed85b68 100644
--- a/strata/build-essential/stage1-gcc.morph
+++ b/strata/build-essential/stage1-gcc.morph
@@ -23,8 +23,17 @@ configure-commands:
# without an existing libc, and generally try to keep this build as
# simple as possible.
- |
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
cd o && ../configure \
- $(../morph-arch-config) \
+ $ARCH_FLAGS \
--build=$(sh ../config.guess) \
--host=$(sh ../config.guess) \
--target=$TARGET_STAGE1 \
diff --git a/strata/build-essential/stage2-gcc.morph b/strata/build-essential/stage2-gcc.morph
index d48e236..98f9cfe 100644
--- a/strata/build-essential/stage2-gcc.morph
+++ b/strata/build-essential/stage2-gcc.morph
@@ -20,13 +20,21 @@ configure-commands:
# 4. This flag causes the correct --sysroot flag to be passed when
# calling stage 1 GCC.
- |
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
export STAGE2_SYSROOT="$(dirname $(pwd))"
export CC="$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT"
export CXX="$TARGET_STAGE1-g++ --sysroot=$STAGE2_SYSROOT"
export AR="$TARGET_STAGE1-ar"
export RANLIB="$TARGET_STAGE1-ranlib"
cd o && ../configure \
- $(../morph-arch-config) \
+ $ARCH_FLAGS \
--build=$(sh ../config.guess) \
`# [1]` --host=$TARGET_STAGE1 \
`# [1]` --target=$TARGET_STAGE1 \
diff --git a/strata/build-essential/stage2-linux-api-headers.morph b/strata/build-essential/stage2-linux-api-headers.morph
index 5cbf2f0..50e1aaa 100644
--- a/strata/build-essential/stage2-linux-api-headers.morph
+++ b/strata/build-essential/stage2-linux-api-headers.morph
@@ -2,7 +2,19 @@ name: stage2-linux-api-headers
kind: chunk
install-commands:
- |
- export ARCH=$(./morph-arch)
- make INSTALL_HDR_PATH=dest headers_install
+ case "$MORPH_ARCH" in
+ armv7b|armv7l|armv7lhf)
+ ARCH="arm" ;;
+ x86_32)
+ ARCH="i386" ;;
+ x86_64)
+ ARCH="x86_64" ;;
+ ppc64)
+ ARCH="powerpc" ;;
+ *)
+ echo "Error: unsupported Morph architecture: $MORPH_ARCH" >&2
+ exit 1
+ esac
+ ARCH=$ARCH make INSTALL_HDR_PATH=dest headers_install
- install -d "$DESTDIR${PREFIX-/usr}/include"
- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"