Update musl compilation script

This commit is contained in:
Arun Prakash Jana 2021-05-26 23:48:22 +05:30
parent 78b2170e03
commit 326d5a4fae

View file

@ -1,15 +1,16 @@
#!/usr/bin/env sh #!/usr/bin/env sh
# Statically compile nnn with netbsd-curses and musl libc on Ubuntu # Statically compile nnn with netbsd-curses, musl-fts and musl libc on Ubuntu
# #
# netbsd-curses: https://github.com/sabotage-linux/netbsd-curses # netbsd-curses: https://github.com/sabotage-linux/netbsd-curses
# musl-fts: https://github.com/void-linux/musl-fts
# musl libc: https://www.musl-libc.org/ # musl libc: https://www.musl-libc.org/
# #
# Dependencies: git # Dependencies: git
# #
# Notes: # Notes:
# - run the script within the top-level nnn directory # - run the script within the top-level nnn directory
# - installs musl and downloads netbsd-curses library # - installs musl & gits netbsd-curses, musl-fts libs
# #
# Tested on Ubuntu 20.04 x86_64 # Tested on Ubuntu 20.04 x86_64
# Author: Arun Prakash Jana # Author: Arun Prakash Jana
@ -41,10 +42,20 @@ fi
make CC=musl-gcc CFLAGS=-O3 LDFLAGS=-static all-static -j$(($(nproc)+1)) make CC=musl-gcc CFLAGS=-O3 LDFLAGS=-static all-static -j$(($(nproc)+1))
cp -v libcurses/libcurses.a libterminfo/libterminfo.a libs/ cp -v libcurses/libcurses.a libterminfo/libterminfo.a libs/
# Get musl-fts library
cd ..
[ ! -d "./musl-fts" ] && git clone https://github.com/void-linux/musl-fts --depth=1
# Compile the static musl-fts library
cd musl-fts
./bootstrap.sh
./configure
make CC=musl-gcc CFLAGS=-O3 LDFLAGS=-static -j$(($(nproc)+1))
# Compile nnn # Compile nnn
cd .. cd ..
[ -e "./netbsd-curses" ] || rm "$BIN" [ -e "./netbsd-curses" ] || rm "$BIN"
musl-gcc -O3 -DNORL -DNOMOUSE -std=c11 -Wall -Wextra -Wshadow -I./netbsd-curses/libcurses -o "$BIN" src/nnn.c -Wl,-Bsymbolic-functions -L./netbsd-curses/libs -lcurses -lterminfo -static musl-gcc -O3 -DNORL -DNOMOUSE -std=c11 -Wall -Wextra -Wshadow -I./netbsd-curses/libcurses -I./musl-fts -o "$BIN" src/nnn.c -Wl,-Bsymbolic-functions -lpthread -L./netbsd-curses/libs -lcurses -lterminfo -static -L./musl-fts/.libs -lfts
strip "$BIN" strip "$BIN"
# Run the binary with it selected # Run the binary with it selected