musl
This commit is contained in:
parent
798ec2e3d4
commit
3800245849
1 changed files with 50 additions and 0 deletions
50
script/setup-musl
Executable file
50
script/setup-musl
Executable file
|
|
@ -0,0 +1,50 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# This script sets up the latest available musl-tools using apt pinning from debian unstable.
|
||||
# The one available in stable and testing are quite outdated and this ensures we get the latest improvements
|
||||
# This explictly installs musl from unstable and keeps the others at a higher priority
|
||||
|
||||
cat >> /etc/apt/sources.list <<eof
|
||||
deb http://ftp.us.debian.org/debian unstable main non-free contrib
|
||||
deb http://non-us.debian.org/debian-non-us unstable/non-us main contrib non-free
|
||||
eof
|
||||
|
||||
cat >> /etc/apt/preferences <<eof
|
||||
Package: *
|
||||
Pin: release a=stable
|
||||
Pin-Priority: 700
|
||||
Package: *
|
||||
Pin: release a=testing
|
||||
Pin-Priority: 650
|
||||
Package: *
|
||||
pin: release a=unstable
|
||||
pin-priority: 600
|
||||
eof
|
||||
|
||||
apt-get update -y && apt-get install musl-tools/unstable -y
|
||||
|
||||
ZLIB_VERSION="1.2.11"
|
||||
|
||||
curl -O -sL "https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz"
|
||||
|
||||
echo "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 zlib-${ZLIB_VERSION}.tar.gz" |
|
||||
sha256sum --check
|
||||
tar xf "zlib-${ZLIB_VERSION}.tar.gz"
|
||||
|
||||
arch=${BABASHKA_ARCH:-"x86_64"}
|
||||
echo "ARCH: $arch"
|
||||
|
||||
cd "zlib-${ZLIB_VERSION}"
|
||||
CC=musl-gcc ./configure --static --prefix=/usr/lib/$arch-linux-musl/
|
||||
make CC=musl-gcc
|
||||
sudo make install
|
||||
export CC=gcc
|
||||
cd ..
|
||||
|
||||
# depending on GCC version, we will have different directories here.
|
||||
# for example, for GCC 6.3.0 we will have:
|
||||
# - /usr/lib/gcc/x86_64-linux-gnu/6
|
||||
# - /usr/lib/gcc/x86_64-linux-gnu/6.3.0
|
||||
for dest_dir in /usr/lib/gcc/$arch-linux-gnu/*; do
|
||||
sudo cp -f /usr/lib/$arch-linux-musl/lib/libz.a "$dest_dir"
|
||||
done
|
||||
Loading…
Reference in a new issue