diff options
Diffstat (limited to 'subr/ex_pkg_env.subr')
-rw-r--r-- | subr/ex_pkg_env.subr | 56 |
1 files changed, 11 insertions, 45 deletions
diff --git a/subr/ex_pkg_env.subr b/subr/ex_pkg_env.subr index 5048c939..c7d40dce 100644 --- a/subr/ex_pkg_env.subr +++ b/subr/ex_pkg_env.subr @@ -61,8 +61,10 @@ exp_pkg_env_defaults() { # Return: zero (0) on success, non-zero (>0) on failure # exp_pkg_env_set() { - local _build_vars_default="${1}" _group_name="${2}" _nounset="${3}"\ - _pkg_name="${4}" _var_prefixes="" _vars_set="" _vname="" IFS IFS0; + local _build_vars_default="${1}" _group_name="${2}" _nounset="${3}" \ + _pkg_name="${4}" _cmd_name="" _var_prefixes="" _vars_set="" \ + _vname="" IFS IFS0; + rtl_set_vars _vars_set BUILD_TYPE "DEFAULT ${_group_name} PKG_${_pkg_name}"; rtl_set_vars _vars_set INHERIT_FROM "PKG_${_pkg_name}"; _var_prefixes="$(rtl_toupper "DEFAULT DEFAULT_${PKG_BUILD_TYPE} ${_group_name}")"; @@ -85,48 +87,13 @@ exp_pkg_env_set() { "$(set | sed -ne '/^PKG_[^=]*=/s/=.*$//p' | paste -s -d " ")" \ "${_vars_set}"); fi; -}; -ex_pkg_env_sofort() { - local _pkg_base_dir="${1}" _pkg_sofort_force="${2}" _pkg_subdir="${3}" \ - _vname="" _vname_new="" _vval="" _vval_old=""; - - if [ -d "${_pkg_base_dir}/${_pkg_subdir}/sofort" ] \ - || [ "${_pkg_sofort_force:-0}" -eq 1 ]; then - for _vname in \ - PKG_SOFORT_NATIVE_CC \ - PKG_SOFORT_NATIVE_CFLAGS \ - PKG_SOFORT_NATIVE_CXX \ - PKG_SOFORT_NATIVE_CXXFLAGS \ - PKG_SOFORT_NATIVE_LD \ - PKG_SOFORT_NATIVE_LDFLAGS; do - _vname_new="PKG_${_vname#PKG_SOFORT_}"; - rtl_set_var_unsafe "${_vname_new}" ""; - done; - for _vname in \ - PKG_SOFORT_NATIVE_CC \ - PKG_SOFORT_NATIVE_CFLAGS \ - PKG_SOFORT_NATIVE_CFLAGS_EXTRA \ - PKG_SOFORT_NATIVE_CXX \ - PKG_SOFORT_NATIVE_CXXFLAGS \ - PKG_SOFORT_NATIVE_CXXFLAGS_EXTRA \ - PKG_SOFORT_NATIVE_LD \ - PKG_SOFORT_NATIVE_LDFLAGS \ - PKG_SOFORT_NATIVE_LDFLAGS_EXTRA; do - if _vval="$(rtl_get_var_unsafe "${_vname}")" \ - && [ -n "${_vval}" ]; then - _vname_new="${_vname#PKG_SOFORT_}"; - case "${_vname}" in - *_EXTRA) - _vval_old="$(rtl_get_var_unsafe "${_vname_new%_EXTRA}")"; - rtl_set_var_unsafe "${_vname_new%_EXTRA}" "${_vval_old:+${_vval_old} }${_vval}"; ;; - *) - rtl_set_var_unsafe "${_vname_new}" "${_vval}"; ;; - esac; - export "${_vname_new}"; - fi; - done; - fi; return 0; + for _vname in AR CC CXX PKG_CONFIG RANLIB; do + if eval [ '"${PKG_'"${_vname}"':+1}"' = 1 ]\ + && eval [ '"${PKG_'"${_vname}"'#/}"' = '"${_cmd_name:=${PKG_'"${_vname}"'}}"' ]; then + eval PKG_${_vname}='$(which "${_cmd_name}")'; + fi; _cmd_name=""; + done; }; # @@ -146,8 +113,7 @@ ex_pkg_env() { _nounset="${4}" _pkg_name="${5}" _restart_at="${6}" _workdir="${7}" _vname=""; rtl_fileop source_opt "vars/${_pkg_name}.vars" "${_group_name}/${_pkg_name}.${_group_name}"; if ! exp_pkg_env_set "${_build_vars_default}" "${_group_name}" "${_nounset}" "${_pkg_name}"\ - || ! exp_pkg_env_defaults "${_build_steps_default}" "${_pkg_name}" "${_workdir}"\ - || ! ex_pkg_env_sofort "${PKG_BASE_DIR:-}" "${PKG_SOFORT_FORCE:-0}" "${PKG_SUBDIR:-}"; then + || ! exp_pkg_env_defaults "${_build_steps_default}" "${_pkg_name}" "${_workdir}"; then return 1; fi; }; |