blob: 6a95b52012aac0898e5d8c35e43103d8208db2ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#
# set -o noglob is assumed.
#
BUILD_ARGS_SPEC="
ARCH:arg:-a:
ARG_AS_NEEDED:--as-needed:
ARG_CLEAN_BUILDS:arg:-C:
ARG_DEBUG_MINIPIX:--debug-minipix:
ARG_DIST:arg:-D:
ARG_FETCH_FORCE:-F:
ARG_PARALLEL:optarg:-P:auto
ARG_RELAXED:-R:
ARG_RESTART:arg:-r:
ARG_VERBOSE:selfarg:-v:
ARG_VERBOSE:selfarg:-vv:
ARG_VERBOSE:selfarg:-vvv:
ARG_VERBOSE:selfarg:-vvvv:
BUILD:arg:-b:";
build_args() {
local _spec="${BUILD_ARGS_SPEC}" _spec_arg="" _found="";
while [ ${#} -gt 0 ]; do
if [ "${1#-}" = "${1}" ]; then
break;
fi;
for _spec_arg in ${_spec}; do
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}"; ;;
*)
ex_rtl_set_var_unsafe "${_spec_arg%%:*}" 1; ;;
esac; _found=1; break; ;;
*) _found=0; ;;
esac;
done;
if [ "${_found:-0}" -eq 0 ]; then
exec cat etc/build.usage;
else
shift;
fi;
done;
if ex_rtl_lmatch "${ARG_DIST}" , tbz2 \
|| ex_rtl_lmatch "${ARG_DIST}" , tgz \
|| ex_rtl_lmatch "${ARG_DIST}" , txz \
|| ex_rtl_lmatch "${ARG_DIST}" , zipdist; then
if ! ex_rtl_lmatch "${ARG_DIST}" , minipix; then
ARG_DIST="${ARG_DIST:+${ARG_DIST},}minipix";
fi;
fi;
case "${ARG_RESTART}" in
ALL) ARG_RESTART_AT=ALL; ;;
LAST) ARG_RESTART_AT=""; ;;
"") ;;
*) if [ "${ARG_RESTART%:*}" != "${ARG_RESTART}" ]; then
ARG_RESTART_AT="${ARG_RESTART#*:}"; ARG_RESTART="${ARG_RESTART%:*}";
else
ARG_RESTART_AT=ALL;
fi;
ARG_RESTART="$(echo "${ARG_RESTART}" | sed "s/,/ /g")";
;;
esac;
case "${ARG_VERBOSE}" in
-v) ARG_VERBOSE=1; ;;
-vv) ARG_VERBOSE=2; ;;
-vvv) ARG_VERBOSE=3; ;;
-vvvv) ARG_VERBOSE=4; ;;
esac;
while [ ${#} -gt 0 ]; do
case "${1}" in
*=*) ex_rtl_set_var_unsafe "${1%%=*}" "${1#*=}"; ;;
*) BUILD_GROUPS="${BUILD_GROUPS:+${BUILD_GROUPS} }${1}"; ;;
esac; shift; done;
};
# vim:filetype=sh
|