summaryrefslogtreecommitdiffhomepage
path: root/subr.ex
diff options
context:
space:
mode:
authorLucía Andrea Illanes Albornoz <lucia@luciaillanes.de>2023-02-19 07:19:26 +0100
committerLucía Andrea Illanes Albornoz <lucia@luciaillanes.de>2023-02-19 07:19:26 +0100
commitf6f7f2f65712e6fa114f5751a72ad26cd893e92f (patch)
tree28c2a2fed19f853670059a2d1d243dda6c7e8273 /subr.ex
parent703de4a1f2032064f1505eb50f1aac63f3c3cfab (diff)
downloadmidipix_build-f6f7f2f65712e6fa114f5751a72ad26cd893e92f.tar.bz2
midipix_build-f6f7f2f65712e6fa114f5751a72ad26cd893e92f.tar.xz
Reject empty variables from the command line.
Diffstat (limited to 'subr.ex')
-rw-r--r--subr.ex/ex_pkg.subr25
1 files changed, 15 insertions, 10 deletions
diff --git a/subr.ex/ex_pkg.subr b/subr.ex/ex_pkg.subr
index 6a5670be..f88836a9 100644
--- a/subr.ex/ex_pkg.subr
+++ b/subr.ex/ex_pkg.subr
@@ -100,22 +100,27 @@ ex_pkg_get_packages() {
#
# ex_pkg_load_vars() - load build variables
-# @_rstatus: out reference to status string
+# @_rstatus: out reference to status string
+# @_rbuild_arch: in reference to build architecture
+# @_rbuild_kind: in reference to build kind
+# @_rprefix: in reference to absolute pathname to top-level prefix
#
# Return: zero (0) on success, non-zero (>0) on failure, build variables post-return on success.
#
ex_pkg_load_vars() {
- local _eplv_rstatus="${1#\$}" \
- _eplv_rc=0 _eplv_fname="";
+ local _eplv_rstatus="${1#\$}" _eplv_rbuild_arch="${2#\$}" \
+ _eplv_rbuild_kind="${3#\$}" _eplv_rprefix="${4#\$}" \
+ _eplv_build_arch="" _eplv_rc=0 _eplv_fname="";
- if ! rtl_lmatch \$ARCH "nt32 nt64"; then
+ if ! rtl_lmatch "${_eplv_rbuild_arch}" "nt32 nt64"; then
_eplv_rc=1;
- rtl_setrstatus "${_eplv_rstatus}" 'Error: invalid architecture \`'"${ARCH}"''\''.';
- elif ! rtl_lmatch \$BUILD_KIND "debug release"; then
+ rtl_setrstatus "${_eplv_rstatus}" 'invalid architecture \`${'"${_eplv_rbuild_arch}"'}'\''.';
+ elif ! rtl_lmatch "${_eplv_rbuild_kind}" "debug release"; then
_eplv_rc=1;
- rtl_setrstatus "${_eplv_rstatus}" 'Error: unknown build type \`'"${BUILD_KIND}"''\''.';
+ rtl_setrstatus "${_eplv_rstatus}" 'unknown build type \`${'"${_eplv_rbuild_kind}"'}'\''.';
else
- case "${ARCH}" in
+ eval _eplv_build_arch="\${${_eplv_rbuild_arch}}";
+ case "${_eplv_build_arch}" in
nt32) DEFAULT_TARGET="i686-nt32-midipix"; ;;
nt64) DEFAULT_TARGET="x86_64-nt64-midipix"; ;;
esac;
@@ -131,9 +136,9 @@ ex_pkg_load_vars() {
fi;
done;
- if [ "${PREFIX:+1}" != 1 ]; then
+ if eval [ \"\${${_eplv_rprefix}:+1}\" != 1 ]; then
_eplv_rc=1;
- rtl_setrstatus "${_eplv_rstatus}" 'Error: ${PREFIX} empty or unset.';
+ rtl_setrstatus "${_eplv_rstatus}" '\${PREFIX} empty or unset.';
fi;
fi;