sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

commit de28c8bfa7ef799ee2e8e49e8a3a1828f80a7442
parent 96ccf5172d21cb355144e936232d328ab9aa4f31
Author: Evan Gates <evan.gates@gmail.com>
Date:   Mon,  3 Oct 2016 15:55:22 -0700

use only one getconf header

this simplifies the getconf.sh script and handling parallel make

Diffstat:
MMakefile | 10+++++-----
Mgetconf.c | 17+----------------
Mgetconf.sh | 18++++++++----------
3 files changed, 14 insertions(+), 31 deletions(-)

diff --git a/Makefile b/Makefile @@ -205,10 +205,10 @@ $(LIBUTIL): $(LIBUTILOBJ) $(AR) rc $@ $? $(RANLIB) $@ -getconf.c: confstr_l.h limits_l.h sysconf_l.h pathconf_l.h +getconf.o: getconf.h -confstr_l.h limits_l.h sysconf_l.h pathconf_l.h: getconf.sh - ./getconf.sh +getconf.h: getconf.sh + ./getconf.sh > $@ install: all mkdir -p $(DESTDIR)$(PREFIX)/bin @@ -234,7 +234,7 @@ dist: clean sbase-box: $(LIB) $(SRC) mkdir -p build cp $(HDR) build - cp confstr_l.h limits_l.h sysconf_l.h pathconf_l.h build + cp getconf.h build for f in $(SRC); do sed "s/^main(/$$(echo "$${f%.c}" | sed s/-/_/g)_&/" < $$f > build/$$f; done echo '#include <libgen.h>' > build/$@.c echo '#include <stdio.h>' >> build/$@.c @@ -270,7 +270,7 @@ sbase-box-uninstall: uninstall clean: rm -f $(BIN) $(OBJ) $(LIB) sbase-box sbase-$(VERSION).tar.gz - rm -f confstr_l.h limits_l.h sysconf_l.h pathconf_l.h + rm -f getconf.h .PHONY: all install uninstall dist sbase-box sbase-box-install sbase-box-uninstall clean diff --git a/getconf.c b/getconf.c @@ -12,22 +12,7 @@ struct var { long v; }; -static const struct var pathconf_l[] = { -#include "pathconf_l.h" -}; - -static const struct var sysconf_l[] = { -#include "sysconf_l.h" -}; - -static const struct var confstr_l[] = { -#include "confstr_l.h" -}; - -static const struct var limits_l[] = { -#include "limits_l.h" -}; - +#include "getconf.h" void usage(void) diff --git a/getconf.sh b/getconf.sh @@ -1,14 +1,12 @@ #!/bin/sh -ifdef() -{ - awk '{printf("#ifdef %s\n"\ - "\t{\"%s\",\t%s},\n"\ - "#endif\n", $2, $1, $2)}' > $1 +ifdef() { + printf 'static const struct var %s[] = {\n' "$1" + awk '{printf("#ifdef %s\n\t{\"%s\",\t%s},\n#endif\n", $2, $1, $2)}' + echo '};' } - -cat <<! | ifdef confstr_l.h +cat <<! | ifdef confstr_l PATH _CS_PATH POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS @@ -28,7 +26,7 @@ POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS V7_ENV _CS_V7_ENV ! -cat <<! | ifdef limits_l.h +cat <<! | ifdef limits_l _POSIX_CLOCKRES_MIN _POSIX_CLOCKRES_MIN _POSIX_AIO_LISTIO_MAX _POSIX_AIO_LISTIO_MAX _POSIX_AIO_MAX _POSIX_AIO_MAX @@ -74,7 +72,7 @@ _POSIX2_LINE_MAX _POSIX2_LINE_MAX _POSIX2_RE_DUP_MAX _POSIX2_RE_DUP_MAX ! -cat <<! | ifdef sysconf_l.h +cat <<! | ifdef sysconf_l AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX AIO_MAX _SC_AIO_MAX AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX @@ -195,7 +193,7 @@ _XOPEN_UUCP _SC_XOPEN_UUCP _XOPEN_VERSION _SC_XOPEN_VERSION ! -cat <<! | ifdef pathconf_l.h +cat <<! | ifdef pathconf_l FILESIZEBITS _PC_FILESIZEBITS LINK_MAX _PC_LINK_MAX MAX_CANON _PC_MAX_CANON