From 1de70064e7525d7c79e225cb1d4ca39d739f63e6 Mon Sep 17 00:00:00 2001 From: Yorhel Date: Sat, 31 Jul 2021 07:13:50 +0200 Subject: Version 2.0-beta2 + more convenient static binary generation --- ChangeLog | 6 ++++++ Makefile | 43 ++++++++++++++++++++++++++----------------- src/main.zig | 2 +- 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index a2e5dec..52ea325 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,12 @@ # SPDX-FileCopyrightText: 2021 Yoran Heling # SPDX-License-Identifier: MIT +2.0-beta2 - 2021-07-31 + - Requires Zig 0.8 + - Significantly reduce memory usage for hard links + - Slightly increase memory usage for directory entries + - Fix reporting of fatal errors in the -0 and -1 scanning UIs + 2.0-beta1 - 2021-07-22 - Full release announcement: https://dev.yorhel.nl/doc/ncdu2 - Requires Zig 0.8 diff --git a/Makefile b/Makefile index add02c1..0761fb7 100644 --- a/Makefile +++ b/Makefile @@ -55,34 +55,43 @@ dist: doc # ASSUMPTION: the ncurses source tree has been extracted into ncurses/ -static: - mkdir -p static-${TARGET}/nc static-${TARGET}/inst/pkg - cd static-${TARGET}/nc && ../../ncurses/configure --prefix="`pwd`/../inst"\ +static-%.tar.gz: + mkdir -p static-$*/nc static-$*/inst/pkg + cd static-$*/nc && ../../ncurses/configure --prefix="`pwd`/../inst"\ --with-pkg-config-libdir="`pwd`/../inst/pkg"\ --without-cxx --without-cxx-binding --without-ada --without-manpages --without-progs\ --without-tests --enable-pc-files --without-pkg-config --without-shared --without-debug\ --without-gpm --without-sysmouse --enable-widec --with-default-terminfo-dir=/usr/share/terminfo\ --with-terminfo-dirs=/usr/share/terminfo:/lib/terminfo:/usr/local/share/terminfo\ - --with-fallbacks="screen linux vt100 xterm xterm-256color" --host=${TARGET}\ - CC="zig cc --target=${TARGET}"\ - LD="zig cc --target=${TARGET}"\ + --with-fallbacks="screen linux vt100 xterm xterm-256color" --host=$*\ + CC="zig cc --target=$*"\ + LD="zig cc --target=$*"\ AR="zig ar" RANLIB="zig ranlib"\ CPPFLAGS=-D_GNU_SOURCE && make && make install.libs @# zig-build - cleaner approach but doesn't work, results in a dynamically linked binary. - @#cd static-${TARGET} && PKG_CONFIG_LIBDIR="`pwd`/inst/pkg" zig build -Dtarget=${TARGET} + @#cd static-$* && PKG_CONFIG_LIBDIR="`pwd`/inst/pkg" zig build -Dtarget=$* @# --build-file ../build.zig --search-prefix inst/ --cache-dir zig -Drelease-fast=true @# Alternative approach, bypassing zig-build - cd static-${TARGET} && zig build-exe -target ${TARGET}\ + cd static-$* && zig build-exe -target $*\ -Iinst/include -Iinst/include/ncursesw -lc inst/lib/libncursesw.a\ --cache-dir zig-cache -static --strip -O ReleaseFast ../src/main.zig ../src/ncurses_refs.c - cd static-${TARGET} && mv main ncdu && tar -czf ../ncdu-${NCDU_VERSION}-$(shell echo ${TARGET} | sed s/-musl//).tar.gz ncdu - rm -rf static-${TARGET} + cd static-$* && mv main ncdu && tar -czf ../static-$*.tar.gz ncdu + rm -rf static-$* -static-target-%: - $(MAKE) static TARGET=$* +static-linux-x86_64: static-x86_64-linux-musl.tar.gz + mv $< ncdu-${NCDU_VERSION}-linux-x86_64.tar.gz -static-all:\ - static-target-x86_64-linux-musl \ - static-target-aarch64-linux-musl \ - static-target-i386-linux-musl \ - static-target-arm-linux-musleabi +static-linux-i386: static-i386-linux-musl.tar.gz + mv $< ncdu-${NCDU_VERSION}-linux-i386.tar.gz + +static-linux-aarch64: static-aarch64-linux-musl.tar.gz + mv $< ncdu-${NCDU_VERSION}-linux-aarch64.tar.gz + +static-linux-arm: static-arm-linux-musleabi.tar.gz + mv $< ncdu-${NCDU_VERSION}-linux-arm.tar.gz + +static:\ + static-linux-x86_64 \ + static-linux-i386 \ + static-linux-aarch64 \ + static-linux-arm diff --git a/src/main.zig b/src/main.zig index e12ffbe..3e14f7e 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2021 Yoran Heling // SPDX-License-Identifier: MIT -pub const program_version = "2.0-beta1"; +pub const program_version = "2.0-beta2"; const std = @import("std"); const model = @import("model.zig"); -- cgit v1.2.3