scripts/varios/musl-static-nnn-build

40 lines
1.3 KiB
Text
Raw Normal View History

#!/bin/sh
BIN=nnn-static
# Instalar paquetes básicos de desarrollo
doas xbps-install -Sy base-devel
# Crear directorio donde se gurdarán las bibliotecas estáticas para compilar nnn
if [ ! -d "/opt/nnn-libs" ]; then
doas mkdir /opt/nnn-libs
else
doas rm -vf /opt/nnn-libs/*
fi
# Obtener netbsd-curses y compilar bibliotecas estáticas
[ ! -d "./netbsd-curses" ] && git clone https://github.com/sabotage-linux/netbsd-curses
2021-10-11 15:40:37 +02:00
cd netbsd-curses || exit
git checkout v0.3.2
make CC=gcc CFLAGS="-O3 -fPIC" LDFLAGS=-static all-static -j$(($(nproc)+1))
doas busybox.static cp libcurses/libcurses.a libterminfo/libterminfo.a /opt/nnn-libs/
cd ..
# Compilar la biblioteca estática de musl-fts
[ ! -d "./musl-fts" ] && git clone https://github.com/void-linux/musl-fts --depth=1
2021-10-11 15:40:37 +02:00
cd musl-fts || exit
./bootstrap.sh
./configure
make CC=gcc CFLAGS=-O3 LDFLAGS=-static -j$(($(nproc)+1))
doas busybox.static cp .libs/libfts.a /opt/nnn-libs/
cd ..
# Compilar nnn estáticamente
[ -e "./netbsd-curses" ] || rm "$BIN"
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/opt/nnn-libs -lcurses -lterminfo -lfts -static
# Despojar binario de símbolos de depuración
strip nnn-static
doas xbps-remove -Ry base-devel