VERSION="1.1.21" SRCDIR="musl-$VERSION" TARBALL="$SRCDIR.tar.gz" URL="https://www.musl-libc.org/releases" SHA256SUM="c742b66f6f49c9e5f52f64d8b79fecb5a0f6e0203fca176c70ca20f6be285f44" DEPENDS="tc-gcc1 linux-dev fortify-headers tc-pkgtool" SUBPKG="libc libc-dev" prepare() { return } build() { local cflags="-O2 -Os" local ldflags="" if [ "x$TC_HARDENING" = "xyes" ]; then cflags="$cflags -fPIE -fPIC -fstack-protector-all" ldflags="$ldflags -z noexecstack -z relro -z now" fi ${TARGET}-gcc -c "$SCRIPTDIR/pkg/$PKGNAME/__stack_chk_fail_local.c" -o __stack_chk_fail_local.o ${TARGET}-ar r libssp_nonshared.a __stack_chk_fail_local.o CFLAGS="$cflags" LDFLAGS="$ldflags" \ CROSS_COMPILE="${TARGET}-" $1/configure --prefix=/ --target="$TARGET" CROSS_COMPILE="${TARGET}-" make -j $NUMJOBS } deploy() { local INPUT="$1" local MUSL_CPU="" case "$TARGET" in i*86-*) MUSL_CPU="i386" ;; x86_64-*) MUSL_CPU="x86_64" ;; arm-*-*hf) MUSL_CPU="armhf" ;; arm-*) MUSL_CPU="arm" ;; *) echo "don't know how to map $TARGET to Musl arch" exit 1 ;; esac DESTDIR="$PKGDEPLOYDIR" make install-headers DESTDIR="$PKGDEPLOYDIR" make install-libs cat_file_merge "LDPATH" > "$PKGDEPLOYDIR/LDPATH" cp libssp_nonshared.a "$PKGDEPLOYDIR/lib" cp $SCRIPTDIR/pkg/$PKGNAME/*.{desc,files} "$PKGDEPLOYDIR" cat > "$PKGDEPLOYDIR/libc.files" <<_EOF dir lib 0755 0 0 dir etc 0755 0 0 file lib/libc.so 0755 0 0 $PKGDEPLOYDIR/lib/libc.so slink lib/ld-musl-${MUSL_CPU}.so.1 0777 0 0 libc.so file etc/ld-musl-${MUSL_CPU}.path 0644 0 0 $PKGDEPLOYDIR/LDPATH _EOF } check_update() { check_update_simple "$URL" "musl-" "tar.gz" }