binutils upgraded to version 2.32
[dragora.git] / stages / 1 / 04-binutils
blob3658d659457dcc252522f4b96666b88cfbaddb5f
1 # Build script for binutils.
3 # Copyright (c) 2014-2019 Matias Fonzo, <selk@dragora.org>.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 #    http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 version=2.32
19 cd -- "$TMPDIR"
20 rm -rf binutils-${version}
21 unpack "${worktree}/sources/binutils-${version}.tar.lz"
23 # Build instructions
24 cd binutils-${version}
26 #patch -Np1 -i "${worktree}/patches/binutils/branch-updates.diff"
27 patch -Np1 -i "${worktree}/patches/binutils/136_bfd_pic.patch"
29 # Build in a separate directory
30 rm -rf ../binutils-build
31 mkdir ../binutils-build
32 cd ../binutils-build
34 # Import and export toolchain variables
35 . "${worktree}/stages/env.d/cross-staticenv"
37 ../binutils-${version}/configure \
38 AR="$AR" AS="$AS" LD="$LD" RANLIB="$RANLIB" READELF="$READELF" STRIP="$STRIP" \
39 CC="$BTCC" CXX="$BTCXX" \
40 CFLAGS="$BTCFLAGS" CXXFLAGS="$BTCXXFLAGS" LDFLAGS="$BTLDFLAGS" \
41  --prefix=/tools \
42  --libdir=/tools/lib${libSuffix} \
43  --build=$host \
44  --host=$target \
45  --target=$target \
46  --enable-deterministic-archives \
47  --enable-relro \
48  --enable-threads \
49  --enable-64-bit-bfd \
50  --enable-initfini-array \
51  --disable-compressed-debug-sections \
52  --disable-nls \
53  --disable-werror \
54  --disable-ppl-version-check \
55  --disable-cloog-version-check \
56  --with-lib-path=/tools/lib \
57  $multilib_options
59 make -j${jobs} MAKEINFO="true"
60 make -j${jobs} MAKEINFO="true" install
62 # Make a new ld(1) containing another search path,
63 # this is handled by "20-toolchain" (called from musl's recipe)
64 make -C ld clean
65 make -C ld LIB_PATH=/usr/lib${libSuffix}:/lib
66 cp -f ld/ld-new /tools/bin
68 # Unset some imported variables from file
69 unset AR AS LD RANLIB READELF STRIP
71 cd -- "$TMPDIR"
73 cleanup()
75     rm -rf binutils-${version} binutils-build