]> Sergey Matveev's repositories - nnn.git/commitdiff
Update musl compilation script
authorArun Prakash Jana <engineerarun@gmail.com>
Wed, 26 May 2021 18:18:22 +0000 (23:48 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Wed, 26 May 2021 18:18:38 +0000 (23:48 +0530)
misc/musl/musl-static-ubuntu.sh

index 2ee3e1edb285ba6cb28575bb2bc8d38486b2ae40..f8351aa2132d6215a549bb48d1432dbbd6af8a04 100755 (executable)
@@ -1,15 +1,16 @@
 #!/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
+# musl-fts: https://github.com/void-linux/musl-fts
 # musl libc: https://www.musl-libc.org/
 #
 # Dependencies: git
 #
 # Notes:
 #   - 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
 # Author: Arun Prakash Jana
@@ -41,10 +42,20 @@ fi
 make CC=musl-gcc CFLAGS=-O3 LDFLAGS=-static all-static -j$(($(nproc)+1))
 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
 cd ..
 [ -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"
 
 # Run the binary with it selected