musl upgraded to snapshot c50985d. Contains important regressions and corrections
[dragora.git] / stages / 1 / 02-musl
blob6459c782db73592cba4cc32eedf55e1271d019ca
1 # Build script for musl.
3 # Copyright (c) 2014-2018 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=c50985d5c8e316c5c464f352e79eeebfed1121a9
19 cd -- "$TMPDIR"
20 rm -rf musl-${version}
21 unpack "${worktree}/sources/musl-${version}.tar.gz"
23 # Build instructions
24 cd musl-${version}
26 # Support Linux UAPI version 4.18
27 # http://port70.net/~nsz/musl/linux418/
29 for file in "${worktree}/patches/musl/linux48"/????-*.patch
31     patch -Np1 -i "$file"
32 done
33 unset file
35 ./configure CROSS_COMPILE="${target}-" \
36  --prefix=/tools \
37  --libdir=/tools/lib${libSuffix} \
38  --syslibdir=/tools/lib \
39  --build=$host \
40  --host=$target \
41  --enable-optimize=size \
42  --disable-debug
44 make -j${jobs}
45 make -j${jobs} DESTDIR="$rootdir" install
47 # Provide minimal libssp_nonshared.a so we don't need libssp from GCC
49 # Import and export toolchain variables
50 . "${worktree}/stages/env.d/cross-staticenv"
52 $BTCC $BTCFLAGS -c "${worktree}/archive/musl/__stack_chk_fail_local.c" \
53                 -o __stack_chk_fail_local.o
54 $AR r libssp_nonshared.a __stack_chk_fail_local.o
56 cp -p libssp_nonshared.a /tools/lib${libSuffix}/
58 # Unset some imported variables from file
59 unset AR AS LD RANLIB READELF STRIP
61 cleanup()
63     cd -- "$TMPDIR" && rm -rf musl-${version}