From cbc8e0b7ea70c0e118b51ac479a08eb95a9779ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz=20=28arab=2C=20vx?= =?UTF-8?q?p=29?= Date: Tue, 5 Dec 2017 20:35:00 +0000 Subject: etc/build.usage: adds -P [jobs]. subr/build_args.subr: adds `optarg' arg type & ARG_PARALLEL:optarg:-P:auto. subr/build_init.subr: default ${ARG_PARALLEL} ([jobs]) to ${DEFAULT_BUILD_CPUS}. subr/ex_pkg_dispatch.subr: honour ${ARG_PARALLEL}, defaulting to no parallelisation. --- subr/build_args.subr | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) (limited to 'subr/build_args.subr') diff --git a/subr/build_args.subr b/subr/build_args.subr index 2175665c..8bf668a4 100644 --- a/subr/build_args.subr +++ b/subr/build_args.subr @@ -3,23 +3,24 @@ # BUILD_ARGS_SPEC=" - ARG_IPV4_ONLY:-4 - ARG_IPV6_ONLY:-6 - ARCH:arg:-a - BUILD:arg:-b - ARG_CLEAN:-c - ARG_DEBUG_MINIPIX:--debug-minipix - ARG_OFFLINE:-N - ARG_RELAXED:-R - ARG_RESTART:arg:-r - ARG_TARBALL:selfarg:-t - ARG_TARBALL:selfarg:-t.bz2 - ARG_TARBALL:selfarg:-t.gz - ARG_TARBALL:selfarg:-t.xz - ARG_VERBOSE:selfarg:-v - ARG_VERBOSE:selfarg:-vv - ARG_VERBOSE:selfarg:-vvv - ARG_XTRACE:-x"; + ARG_IPV4_ONLY:-4: + ARG_IPV6_ONLY:-6: + ARCH:arg:-a: + BUILD:arg:-b: + ARG_CLEAN:-c: + ARG_DEBUG_MINIPIX:--debug-minipix: + ARG_OFFLINE:-N: + ARG_PARALLEL:optarg:-P:auto + ARG_RELAXED:-R: + ARG_RESTART:arg:-r: + ARG_TARBALL:selfarg:-t: + ARG_TARBALL:selfarg:-t.bz2; + ARG_TARBALL:selfarg:-t.gz: + ARG_TARBALL:selfarg:-t.xz: + ARG_VERBOSE:selfarg:-v: + ARG_VERBOSE:selfarg:-vv: + ARG_VERBOSE:selfarg:-vvv: + ARG_XTRACE:-x:"; build_args() { local _spec="${BUILD_ARGS_SPEC}" _spec_arg _found; @@ -29,9 +30,19 @@ build_args() { fi; for _spec_arg in ${_spec}; do case "${_spec_arg}" in - *:${1}) case "${_spec_arg#*:}" in + *:${1}:*) + case "${_spec_arg#*:}" in arg:*) ex_rtl_set_var_unsafe "${_spec_arg%%:*}" "${2}"; shift; ;; + optarg:*) + if [ -n "${2}" ]\ + && [ "x${2#-}" = "x${2}" ]; then + ex_rtl_set_var_unsafe "${_spec_arg%%:*}" "${2}"; + shift; + else + ex_rtl_set_var_unsafe "${_spec_arg%%:*}" \ + "${_spec_arg##*:}"; + fi; ;; selfarg:*) ex_rtl_set_var_unsafe "${_spec_arg%%:*}" "${1}"; ;; *) -- cgit v1.2.3