@@ -9,14 +9,27 @@ APT_ARCH=$3
9
9
BINUTILS=2.28.1
10
10
GCC=6.5.0
11
11
12
+ # Choose correct target based on the $ARCH
13
+ case " $ARCH " in
14
+ x86_64)
15
+ TARGET=x86_64-pc-solaris2.10
16
+ ;;
17
+ sparcv9)
18
+ TARGET=sparcv9-sun-solaris2.10
19
+ ;;
20
+ * )
21
+ printf ' ERROR: unknown architecture: %s\n' " $ARCH "
22
+ exit 1
23
+ esac
24
+
12
25
# First up, build binutils
13
26
mkdir binutils
14
27
cd binutils
15
28
16
29
curl https://ftp.gnu.org/gnu/binutils/binutils-$BINUTILS .tar.xz | tar xJf -
17
30
mkdir binutils-build
18
31
cd binutils-build
19
- hide_output ../binutils-$BINUTILS /configure --target=$ARCH -sun-solaris2.10
32
+ hide_output ../binutils-$BINUTILS /configure --target=$TARGET
20
33
hide_output make -j10
21
34
hide_output make install
22
35
@@ -62,13 +75,13 @@ patch -p0 << 'EOF'
62
75
-extern size_t strnlen(const char *, size_t);
63
76
EOF
64
77
65
- mkdir /usr/local/$ARCH -sun-solaris2.10 /usr
66
- mv usr/include /usr/local/$ARCH -sun-solaris2.10 /usr/include
67
- mv usr/lib/$LIB_ARCH /* /usr/local/$ARCH -sun-solaris2.10 /lib
68
- mv lib/$LIB_ARCH /* /usr/local/$ARCH -sun-solaris2.10 /lib
78
+ mkdir /usr/local/$TARGET /usr
79
+ mv usr/include /usr/local/$TARGET /usr/include
80
+ mv usr/lib/$LIB_ARCH /* /usr/local/$TARGET /lib
81
+ mv lib/$LIB_ARCH /* /usr/local/$TARGET /lib
69
82
70
- ln -s usr/include /usr/local/$ARCH -sun-solaris2.10 /sys-include
71
- ln -s usr/include /usr/local/$ARCH -sun-solaris2.10 /include
83
+ ln -s usr/include /usr/local/$TARGET /sys-include
84
+ ln -s usr/include /usr/local/$TARGET /include
72
85
73
86
cd ..
74
87
rm -rf solaris
@@ -84,7 +97,7 @@ mkdir ../gcc-build
84
97
cd ../gcc-build
85
98
hide_output ../gcc-$GCC /configure \
86
99
--enable-languages=c,c++ \
87
- --target=$ARCH -sun-solaris2.10 \
100
+ --target=$TARGET \
88
101
--with-gnu-as \
89
102
--with-gnu-ld \
90
103
--disable-multilib \
0 commit comments