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
20 rm -rf musl-${version}
21 unpack "${worktree}/sources/musl-${version}.tar.gz"
26 # Support Linux UAPI version 4.18
27 # http://port70.net/~nsz/musl/linux418/
29 for file in "${worktree}/patches/musl/linux48"/????-*.patch
35 ./configure CROSS_COMPILE="${target}-" \
37 --libdir=/tools/lib${libSuffix} \
38 --syslibdir=/tools/lib \
41 --enable-optimize=size \
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
63 cd -- "$TMPDIR" && rm -rf musl-${version}