blob: b5a8c3384cfdc23837f7002148cdfbf2bff6b2db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
name: armv7lhf-cross-gcc-nolibc
kind: chunk
configure-commands:
- mkdir o
# Configure flag notes:
# 1. Standard flags. See gcc.morph.
# 2. See stage1-gcc.morph.
# 3. Our binutils is for the final $TARGET, rather than the intermediate
# target our GCC is being built for, so we need to set
# with-build-time-tools to get it to find our binutils at
# build-time and with-as and with-ld so our temporary GCC uses
# the appropriate tools when it compiles our libc, rather than
# trying to use $TARGET_STAGE1-as when producing binaries.
# 4. Disable stuff that doesn't work when building a cross compiler
# without an existing libc, and generally try to keep this build as
# simple as possible.
- |
export MORPH_ARCH=armv7lhf
export TARGET=armv7lhf-baserock-linux-gnueabi
export TARGET_STAGE1=armv7lhf-none-linux-gnueabi
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 \
$ARCH_FLAGS \
--build=$(sh ../config.guess) \
--host=$(sh ../config.guess) \
--target="$TARGET_STAGE1" \
--prefix="$PREFIX" \
`# [1]` --libdir="$PREFIX/lib" \
`# [2]` --with-sysroot=/nonexistentdir \
--with-newlib \
`# [2]` --with-local-prefix="$PREFIX" \
`# [2]` --with-native-system-header-dir="$PREFIX/include" \
`# [3]` --with-build-time-tools="$PREFIX/$TARGET/bin" \
`# [3]` --with-as="$PREFIX/$TARGET/bin/as" \
`# [3]` --with-ld="$PREFIX/$TARGET/bin/ld" \
--without-headers \
--disable-nls \
--disable-shared \
`# [4]` --disable-multilib \
`# [4]` --disable-decimal-float \
`# [4]` --disable-threads \
`# [4]` --disable-libatomic \
`# [4]` --disable-libgomp \
`# [4]` --disable-libitm \
`# [4]` --disable-libquadmath \
`# [4]` --disable-libsanitizer \
`# [4]` --disable-libssp \
`# [4]` --disable-libvtv \
`# [4]` --disable-libcilkrts \
`# [4]` --disable-libstdc++-v3 \
--enable-languages=c,c++
build-commands:
- |
# See stage1-gcc.morph.
case "$MORPH_ARCH" in
armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
esac
cd o && make
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
|