mirror of
https://github.com/jarun/nnn.git
synced 2025-02-26 03:01:32 +00:00
Compilation script for netbsd-curses + musl libc
This commit is contained in:
parent
de80bba9db
commit
9c5214c24a
1 changed files with 40 additions and 0 deletions
40
misc/musl/musl-static-ubuntu.sh
Executable file
40
misc/musl/musl-static-ubuntu.sh
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Statically compile nnn with netbsd-curses and musl libc on Ubuntu
|
||||||
|
#
|
||||||
|
# netbsd-curses: https://github.com/sabotage-linux/netbsd-curses
|
||||||
|
# musl libc: https://www.musl-libc.org/
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
# - Run the script within the top-level nnn directory
|
||||||
|
# - installs musl and downloads netbsd-curses library
|
||||||
|
#
|
||||||
|
# Tested on Ubuntu 20.04 x86_64
|
||||||
|
# Author: Arun Prakash Jana
|
||||||
|
|
||||||
|
# Exit on first failure
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Output binary name
|
||||||
|
BIN=nnn-musl-static
|
||||||
|
|
||||||
|
# Install musl
|
||||||
|
sudo apt install -y --no-install-recommends musl musl-dev musl-tools
|
||||||
|
|
||||||
|
# Get netbsd-curses
|
||||||
|
[ ! -d "./netbsd-curses" ] && git clone https://github.com/sabotage-linux/netbsd-curses --depth=1
|
||||||
|
|
||||||
|
# Compile the static libraries
|
||||||
|
cd netbsd-curses
|
||||||
|
[ ! -d "./libs" ] && mkdir libs || rm -vf libs/*
|
||||||
|
make CC=musl-gcc CFLAGS=-O3 LDFLAGS=-static all-static -j$((`nproc`+1))
|
||||||
|
cp -v libcurses/libcurses.a libterminfo/libterminfo.a libs/
|
||||||
|
|
||||||
|
# Compile nnn
|
||||||
|
cd ..
|
||||||
|
rm "$BIN"
|
||||||
|
musl-gcc -O3 -DNORL -I./netbsd-curses/libcurses -o "$BIN" src/nnn.c -Wl,-Bsymbolic-functions -L./netbsd-curses/libs -lcurses -lterminfo -static
|
||||||
|
strip "$BIN"
|
||||||
|
|
||||||
|
# Run the binary with it selected
|
||||||
|
./"$BIN" -d "$BIN"
|
Loading…
Add table
Reference in a new issue