diff options
author | Lucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de> | 2017-11-22 01:32:50 +0000 |
---|---|---|
committer | Lucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de> | 2017-11-22 02:35:10 +0000 |
commit | 32ad217d197203a97dfcc0076e748731d2315c0b (patch) | |
tree | 1f4dd5799daa9ac8540cddcc45b4c1557cb0ac70 /subr/ex_pkg_vars.subr | |
parent | 465073d1a9f8ead60dbe66a26b55c0c1927e63c6 (diff) | |
download | midipix_build-32ad217d197203a97dfcc0076e748731d2315c0b.tar.bz2 midipix_build-32ad217d197203a97dfcc0076e748731d2315c0b.tar.xz |
subr/*: reorganised as {ex{,_{pkg,rtl,setup}},pkg}_*.
Diffstat (limited to 'subr/ex_pkg_vars.subr')
-rw-r--r-- | subr/ex_pkg_vars.subr | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/subr/ex_pkg_vars.subr b/subr/ex_pkg_vars.subr new file mode 100644 index 00000000..07c2cacd --- /dev/null +++ b/subr/ex_pkg_vars.subr @@ -0,0 +1,39 @@ +# +# set -o errexit -o noglob are assumed. +# + +exp_pkg_vars() { + local _pkg_name="${1}" _pkg_name_uc _build_uc _vname_dst _vname_src; + _pkg_name_uc="$(ex_toupper "${_pkg_name}")"; + _build_uc="$(ex_toupper "${BUILD}")"; + for _vname_dst in PREFIX ${PKG_BUILD_VARS}; do + for _vname_src in \ + "DEFAULT_${_vname_dst}" \ + "${BUILD_TARGET}_${_vname_dst}" \ + "PKG_${_pkg_name_uc}_${_vname_dst}" \ + "PKG_${_pkg_name_uc}_${_vname_dst}_${_build_uc}"; do + if [ -n "$(ex_get_var_unsafe "${_vname_src}")" ]; then + ex_set_var_unsafe "PKG_${_vname_dst}" "$(ex_get_var_unsafe ${_vname_src})"; + if ! ex_lmatch "${PKG_ENV_VARS}" " " "${_vname_src}"; then + PKG_ENV_VARS="${PKG_ENV_VARS:+${PKG_ENV_VARS} }${_vname_src}"; + fi; + fi; + done; + done; +}; + +ex_pkg_vars() { + local _vars_path; + for _vars_path in vars/${PKG_NAME}.vars; do + if [ -e "${_vars_path}" ]\ + || [ -L "${_vars_path}" ]; then + . "${_vars_path}"; + fi; + done; + if [ -n "${PKG_NAME_PARENT}" ]; then + exp_pkg_vars "${PKG_NAME_PARENT}"; + fi; + exp_pkg_vars "${PKG_NAME}"; +}; + +# vim:filetype=sh |