diff options
35 files changed, 76 insertions, 62 deletions
@@ -1,4 +1,4 @@ -Copyright (c) 2011-2014 Laurent Bercot <ska-skaware@skarnet.org> +Copyright (c) 2011-2015 Laurent Bercot <ska-skaware@skarnet.org> Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -6,7 +6,7 @@ Build Instructions - A POSIX-compliant C development environment - GNU make version 4.0 or later - - skalibs version 2.1.0.0 or later: http://skarnet.org/software/skalibs/ + - skalibs version 2.2.0.0 or later: http://skarnet.org/software/skalibs/ This software will run on any operating system that implements POSIX.1-2008, available at: @@ -11,6 +11,8 @@ CC = $(error Please use ./configure first) STATIC_LIBS := SHARED_LIBS := +INTERNAL_LIBS := +EXTRA_TARGETS := -include config.mak include package/targets.mak @@ -32,13 +34,13 @@ STRIP := $(CROSS_COMPILE)strip INSTALL := ./tools/install.sh ALL_BINS := $(LIBEXEC_TARGETS) $(BIN_TARGETS) $(SBIN_TARGETS) -ALL_LIBS := $(SHARED_LIBS) $(STATIC_LIBS) +ALL_LIBS := $(SHARED_LIBS) $(STATIC_LIBS) $(INTERNAL_LIBS) ALL_INCLUDES := $(wildcard src/include/$(package)/*.h) all: $(ALL_LIBS) $(ALL_BINS) $(ALL_INCLUDES) clean: - @exec rm -f $(ALL_LIBS) $(ALL_BINS) $(wildcard src/*/*.o src/*/*.lo) + @exec rm -f $(ALL_LIBS) $(ALL_BINS) $(wildcard src/*/*.o src/*/*.lo) $(EXTRA_TARGETS) distclean: clean @exec rm -f config.mak src/include/${package}/config.h @@ -122,5 +124,3 @@ lib%.so: .PHONY: it all clean distclean tgz strip install install-dynlib install-bin install-sbin install-lib install-include .DELETE_ON_ERROR: - -.NOTPARALLEL: @@ -169,8 +169,8 @@ for arg ; do --enable-static|--enable-static=yes) static=true ;; --disable-static|--enable-static=no) static=false ;; --enable-allstatic|--enable-allstatic=yes) allstatic=true ;; - --disable-allstatic|--enable-allstatic=no) allstatic=false ;; - --enable-static-libc|--enable-static-libc=yes) evenmorestatic=true ;; + --disable-allstatic|--enable-allstatic=no) allstatic=false ; evenmorestatic=false ;; + --enable-static-libc|--enable-static-libc=yes) allstatic=true ; evenmorestatic=true ;; --disable-static-libc|--enable-static-libc=no) evenmorestatic=false ;; --enable-slashpackage=*) sproot=${arg#*=} ; slashpackage=true ; ;; --enable-slashpackage) sproot= ; slashpackage=true ;; @@ -358,6 +358,7 @@ vpath lib%a$vpaths EOF if $allstatic ; then echo ".LIBPATTERNS := lib%.a" + echo "DO_ALLSTATIC := 1" vpathd= fi echo "vpath lib%.so$vpathd" diff --git a/doc/index.html b/doc/index.html index 08335f5..462eeba 100644 --- a/doc/index.html +++ b/doc/index.html @@ -50,7 +50,7 @@ shell's syntax, and has no security issues. <li> A POSIX-compliant system with a standard C development environment </li> <li> GNU make, version 4.0 or later </li> <li> <a href="http://skarnet.org/software/skalibs/">skalibs</a> version -2.1.0.0 or later </li> +2.2.0.0 or later </li> </ul> <h3> Licensing </h3> @@ -63,7 +63,7 @@ shell's syntax, and has no security issues. <h3> Download </h3> <ul> - <li> The current released version of execline is <a href="execline-2.0.1.0.tar.gz">2.0.1.0</a>. </li> + <li> The current released version of execline is <a href="execline-2.0.1.1.tar.gz">2.0.1.1</a>. </li> <li> Alternatively, you can checkout a copy of the execline git repository: <pre> git clone git://git.skarnet.org/execline </pre> </li> </ul> diff --git a/doc/upgrade.html b/doc/upgrade.html index d699803..eed4a6a 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -17,6 +17,13 @@ <h1> What has changed in execline </h1> +<h2> in 2.0.1.1 </h2> + +<ul> + <li> skalibs dependency bumped to 2.2.0.0 </li> + <li> Parallel build fix </li> +</ul> + <h2> in 2.0.1.0 </h2> <ul> diff --git a/package/deps.mak b/package/deps.mak index 182f362..1794379 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -66,27 +66,27 @@ src/libexecline/exlsn_main.o src/libexecline/exlsn_main.lo: src/libexecline/exls src/libexecline/exlsn_multidefine.o src/libexecline/exlsn_multidefine.lo: src/libexecline/exlsn_multidefine.c src/include/execline/execline.h src/include-local/exlsn.h background: private EXTRA_LIBS := -background: src/execline/background.o -lexecline -lskarnet +background: src/execline/background.o ${LIBEXECLINE} -lskarnet backtick: private EXTRA_LIBS := -backtick: src/execline/backtick.o -lexecline -lskarnet +backtick: src/execline/backtick.o ${LIBEXECLINE} -lskarnet cd: private EXTRA_LIBS := cd: src/execline/cd.o -lskarnet define: private EXTRA_LIBS := -define: src/execline/define.o -lexecline -lskarnet +define: src/execline/define.o ${LIBEXECLINE} -lskarnet dollarat: private EXTRA_LIBS := dollarat: src/execline/dollarat.o -lskarnet elgetopt: private EXTRA_LIBS := -elgetopt: src/execline/elgetopt.o -lexecline -lskarnet +elgetopt: src/execline/elgetopt.o ${LIBEXECLINE} -lskarnet elgetpositionals: private EXTRA_LIBS := -elgetpositionals: src/execline/elgetpositionals.o -lexecline -lskarnet +elgetpositionals: src/execline/elgetpositionals.o ${LIBEXECLINE} -lskarnet elglob: private EXTRA_LIBS := -elglob: src/execline/elglob.o -lexecline -lskarnet +elglob: src/execline/elglob.o ${LIBEXECLINE} -lskarnet emptyenv: private EXTRA_LIBS := -emptyenv: src/execline/emptyenv.o -lexecline -lskarnet +emptyenv: src/execline/emptyenv.o ${LIBEXECLINE} -lskarnet exec: private EXTRA_LIBS := exec: src/execline/exec.o -lskarnet execlineb: private EXTRA_LIBS := -execlineb: src/execline/execlineb.o -lexecline -lskarnet +execlineb: src/execline/execlineb.o ${LIBEXECLINE} -lskarnet exit: private EXTRA_LIBS := exit: src/execline/exit.o -lskarnet export: private EXTRA_LIBS := @@ -100,11 +100,11 @@ fdmove: src/execline/fdmove.o -lskarnet fdreserve: private EXTRA_LIBS := fdreserve: src/execline/fdreserve.o -lskarnet forbacktickx: private EXTRA_LIBS := -forbacktickx: src/execline/forbacktickx.o -lexecline -lskarnet +forbacktickx: src/execline/forbacktickx.o ${LIBEXECLINE} -lskarnet foreground: private EXTRA_LIBS := -foreground: src/execline/foreground.o -lexecline -lskarnet +foreground: src/execline/foreground.o ${LIBEXECLINE} -lskarnet forx: private EXTRA_LIBS := -forx: src/execline/forx.o -lexecline -lskarnet +forx: src/execline/forx.o ${LIBEXECLINE} -lskarnet getpid: private EXTRA_LIBS := getpid: src/execline/getpid.o -lskarnet heredoc: private EXTRA_LIBS := @@ -112,40 +112,40 @@ heredoc: src/execline/heredoc.o -lskarnet homeof: private EXTRA_LIBS := homeof: src/execline/homeof.o -lskarnet if: private EXTRA_LIBS := -if: src/execline/if.o -lexecline -lskarnet +if: src/execline/if.o ${LIBEXECLINE} -lskarnet ifelse: private EXTRA_LIBS := -ifelse: src/execline/ifelse.o -lexecline -lskarnet +ifelse: src/execline/ifelse.o ${LIBEXECLINE} -lskarnet ifte: private EXTRA_LIBS := -ifte: src/execline/ifte.o -lexecline -lskarnet +ifte: src/execline/ifte.o ${LIBEXECLINE} -lskarnet ifthenelse: private EXTRA_LIBS := -ifthenelse: src/execline/ifthenelse.o -lexecline -lskarnet +ifthenelse: src/execline/ifthenelse.o ${LIBEXECLINE} -lskarnet import: private EXTRA_LIBS := -import: src/execline/import.o -lexecline -lskarnet +import: src/execline/import.o ${LIBEXECLINE} -lskarnet importas: private EXTRA_LIBS := -importas: src/execline/importas.o -lexecline -lskarnet +importas: src/execline/importas.o ${LIBEXECLINE} -lskarnet loopwhilex: private EXTRA_LIBS := -loopwhilex: src/execline/loopwhilex.o -lexecline -lskarnet +loopwhilex: src/execline/loopwhilex.o ${LIBEXECLINE} -lskarnet multidefine: private EXTRA_LIBS := -multidefine: src/execline/multidefine.o -lexecline -lskarnet +multidefine: src/execline/multidefine.o ${LIBEXECLINE} -lskarnet multisubstitute: private EXTRA_LIBS := -multisubstitute: src/execline/multisubstitute.o -lexecline -lskarnet +multisubstitute: src/execline/multisubstitute.o ${LIBEXECLINE} -lskarnet pipeline: private EXTRA_LIBS := -pipeline: src/execline/pipeline.o -lexecline -lskarnet +pipeline: src/execline/pipeline.o ${LIBEXECLINE} -lskarnet piperw: private EXTRA_LIBS := piperw: src/execline/piperw.o -lskarnet redirfd: private EXTRA_LIBS := redirfd: src/execline/redirfd.o -lskarnet runblock: private EXTRA_LIBS := -runblock: src/execline/runblock.o -lexecline -lskarnet +runblock: src/execline/runblock.o ${LIBEXECLINE} -lskarnet shift: private EXTRA_LIBS := -shift: src/execline/shift.o -lexecline -lskarnet +shift: src/execline/shift.o ${LIBEXECLINE} -lskarnet tryexec: private EXTRA_LIBS := -tryexec: src/execline/tryexec.o -lexecline -lskarnet +tryexec: src/execline/tryexec.o ${LIBEXECLINE} -lskarnet umask: private EXTRA_LIBS := umask: src/execline/umask.o -lskarnet unexport: private EXTRA_LIBS := unexport: src/execline/unexport.o -lskarnet wait: private EXTRA_LIBS := -wait: src/execline/wait.o -lexecline -lskarnet +wait: src/execline/wait.o ${LIBEXECLINE} -lskarnet libexecline.a: src/libexecline/el_execsequence.o src/libexecline/el_getstrict.o src/libexecline/el_obsolescent.o src/libexecline/el_popenv.o src/libexecline/el_pushenv.o src/libexecline/el_semicolon.o src/libexecline/el_spawn0.o src/libexecline/el_spawn1.o src/libexecline/el_substandrun.o src/libexecline/el_substandrun_str.o src/libexecline/el_substitute.o src/libexecline/el_transform.o src/libexecline/el_vardupl.o src/libexecline/exlsn_define.o src/libexecline/exlsn_elglob.o src/libexecline/exlsn_import.o src/libexecline/exlsn_multidefine.o src/libexecline/exlsn_exlp.o src/libexecline/exlsn_main.o src/libexecline/exlsn_free.o src/libexecline/exlp.o libexecline.so: src/libexecline/el_execsequence.lo src/libexecline/el_getstrict.lo src/libexecline/el_obsolescent.lo src/libexecline/el_popenv.lo src/libexecline/el_pushenv.lo src/libexecline/el_semicolon.lo src/libexecline/el_spawn0.lo src/libexecline/el_spawn1.lo src/libexecline/el_substandrun.lo src/libexecline/el_substandrun_str.lo src/libexecline/el_substitute.lo src/libexecline/el_transform.lo src/libexecline/el_vardupl.lo src/libexecline/exlsn_define.lo src/libexecline/exlsn_elglob.lo src/libexecline/exlsn_import.lo src/libexecline/exlsn_multidefine.lo src/libexecline/exlsn_exlp.lo src/libexecline/exlsn_main.lo src/libexecline/exlsn_free.lo src/libexecline/exlp.lo diff --git a/package/info b/package/info index 22ec255..9856244 100644 --- a/package/info +++ b/package/info @@ -1,4 +1,4 @@ package=execline -version=2.0.1.0 +version=2.0.1.1 category=admin package_macro_name=EXECLINE diff --git a/package/targets.mak b/package/targets.mak index 2ecfe72..6f58541 100644 --- a/package/targets.mak +++ b/package/targets.mak @@ -44,6 +44,12 @@ wait SBIN_TARGETS := LIBEXEC_TARGETS := +ifdef DO_ALLSTATIC +LIBEXECLINE := libexecline.a +else +LIBEXECLINE := libexecline.so +endif + ifdef DO_SHARED SHARED_LIBS := libexecline.so endif diff --git a/src/execline/deps-exe/background b/src/execline/deps-exe/background index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/background +++ b/src/execline/deps-exe/background @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/backtick b/src/execline/deps-exe/backtick index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/backtick +++ b/src/execline/deps-exe/backtick @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/define b/src/execline/deps-exe/define index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/define +++ b/src/execline/deps-exe/define @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/elgetopt b/src/execline/deps-exe/elgetopt index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/elgetopt +++ b/src/execline/deps-exe/elgetopt @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/elgetpositionals b/src/execline/deps-exe/elgetpositionals index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/elgetpositionals +++ b/src/execline/deps-exe/elgetpositionals @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/elglob b/src/execline/deps-exe/elglob index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/elglob +++ b/src/execline/deps-exe/elglob @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/emptyenv b/src/execline/deps-exe/emptyenv index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/emptyenv +++ b/src/execline/deps-exe/emptyenv @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/execlineb b/src/execline/deps-exe/execlineb index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/execlineb +++ b/src/execline/deps-exe/execlineb @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/forbacktickx b/src/execline/deps-exe/forbacktickx index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/forbacktickx +++ b/src/execline/deps-exe/forbacktickx @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/foreground b/src/execline/deps-exe/foreground index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/foreground +++ b/src/execline/deps-exe/foreground @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/forx b/src/execline/deps-exe/forx index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/forx +++ b/src/execline/deps-exe/forx @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/if b/src/execline/deps-exe/if index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/if +++ b/src/execline/deps-exe/if @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/ifelse b/src/execline/deps-exe/ifelse index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/ifelse +++ b/src/execline/deps-exe/ifelse @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/ifte b/src/execline/deps-exe/ifte index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/ifte +++ b/src/execline/deps-exe/ifte @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/ifthenelse b/src/execline/deps-exe/ifthenelse index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/ifthenelse +++ b/src/execline/deps-exe/ifthenelse @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/import b/src/execline/deps-exe/import index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/import +++ b/src/execline/deps-exe/import @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/importas b/src/execline/deps-exe/importas index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/importas +++ b/src/execline/deps-exe/importas @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/loopwhilex b/src/execline/deps-exe/loopwhilex index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/loopwhilex +++ b/src/execline/deps-exe/loopwhilex @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/multidefine b/src/execline/deps-exe/multidefine index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/multidefine +++ b/src/execline/deps-exe/multidefine @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/multisubstitute b/src/execline/deps-exe/multisubstitute index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/multisubstitute +++ b/src/execline/deps-exe/multisubstitute @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/pipeline b/src/execline/deps-exe/pipeline index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/pipeline +++ b/src/execline/deps-exe/pipeline @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/runblock b/src/execline/deps-exe/runblock index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/runblock +++ b/src/execline/deps-exe/runblock @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/shift b/src/execline/deps-exe/shift index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/shift +++ b/src/execline/deps-exe/shift @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/tryexec b/src/execline/deps-exe/tryexec index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/tryexec +++ b/src/execline/deps-exe/tryexec @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/src/execline/deps-exe/wait b/src/execline/deps-exe/wait index 8c3ba3b..97021b5 100644 --- a/src/execline/deps-exe/wait +++ b/src/execline/deps-exe/wait @@ -1,2 +1,2 @@ --lexecline +${LIBEXECLINE} -lskarnet diff --git a/tools/gen-deps.sh b/tools/gen-deps.sh index 5824dd6..2f7c57d 100755 --- a/tools/gen-deps.sh +++ b/tools/gen-deps.sh @@ -71,7 +71,7 @@ for dir in $(ls -1 src | grep -v ^include) ; do if echo $dep | grep -q -- \\.o$ ; then dep="src/$dir/$dep" fi - if echo $dep | grep -q ^\\\$ ; then + if echo $dep | grep -q '^\${.*_LIB}' ; then libs="$libs $dep" else deps="$deps $dep" |