| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| exp_pkg_env_defaults() { |
| local _build_steps_default="${1}" _pkg_name="${2}" _workdir="${3}"; |
| : ${PKG_NAME:="${_pkg_name}"}; |
| : ${MIDIPIX_BUILD_PWD:="$(pwd)"}; |
| : ${PKG_BASE_DIR:="${_workdir}/${_pkg_name}-${PKG_BUILD_TYPE}-${PKG_TARGET}"}; |
| if [ -n "${PKG_BUILD_STEPS_DISABLE:-}" ]; then |
| : ${PKG_BUILD_STEPS:="$(rtl_lfilter "${_build_steps_default}" "${PKG_BUILD_STEPS_DISABLE:-}")"}; |
| else |
| : ${PKG_BUILD_STEPS:="${_build_steps_default}"}; |
| fi; |
| if [ -n "${PKG_URL:-}" ]; then |
| : ${PKG_FNAME:="${PKG_URL##*/}"}; |
| fi; |
| if [ -z "${PKG_SUBDIR:-}" ]; then |
| if [ -n "${PKG_URLS_GIT:-}" ]\ |
| && [ -n "${PKG_FNAME:-}" ]; then |
| rtl_log_msg fatalexit "Error: \${PKG_SUBDIR} must be specified given both \${PKG_FNAME} and \${PKG_URLS_GIT}."; |
| elif [ -n "${PKG_URLS_GIT:-}" ]; then |
| PKG_SUBDIR="${PKG_URLS_GIT%%=*}"; |
| else case "${PKG_FNAME:-}" in |
| *.t*) PKG_SUBDIR="${PKG_FNAME%%.t*}"; ;; |
| *) PKG_SUBDIR="${_pkg_name}"; ;; |
| esac; fi; |
| fi; |
| if [ -z "${PKG_BUILD_DIR:-}" ]; then |
| case "${PKG_IN_TREE:-0}" in |
| 0) PKG_BUILD_DIR="obj"; ;; |
| 1) PKG_BUILD_DIR="${PKG_SUBDIR}"; ;; |
| esac; |
| fi; |
| PKG_BUILD_DIR="${PKG_BASE_DIR}/${PKG_BUILD_DIR}"; |
| PKG_CONFIGURE="${PKG_BASE_DIR}/${PKG_CONFIGURE:-${PKG_SUBDIR}/configure}"; |
| PKG_DESTDIR="${PKG_BASE_DIR}/${PKG_DESTDIR:-destdir}"; |
| PKG_DESTDIR_HOST="${PKG_BASE_DIR}/${PKG_DESTDIR_HOST:-destdir_host}"; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| exp_pkg_env_set() { |
| 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}")"; |
| for _vname in $(rtl_lfilter "${_build_vars_default}" BUILD_TYPE); do |
| if [ -n "${PKG_INHERIT_FROM:-}" ]; then |
| rtl_set_vars _vars_set "${_vname}" \ |
| "$(rtl_lconcat "${_var_prefixes}" \ |
| "$(rtl_toupper "PKG_${PKG_INHERIT_FROM} PKG_${PKG_INHERIT_FROM}_${BUILD_KIND} PKG_${_pkg_name} PKG_${_pkg_name}_${BUILD_KIND}")")"; |
| else |
| rtl_set_vars _vars_set "${_vname}" \ |
| "$(rtl_lconcat "${_var_prefixes}" \ |
| "$(rtl_toupper "PKG_${_pkg_name} PKG_${_pkg_name}_${BUILD_KIND}")")"; |
| fi; |
| done; |
| IFS0="${IFS:- }"; IFS=":"; for _vname in ${PKG_ENV_VARS_EXTRA:-}; do |
| export "${_vname}"; |
| done; IFS="${IFS0}"; |
| if [ "${_nounset:-0}" -eq 0 ]; then |
| rtl_unset_vars $(rtl_lfilter \ |
| "$(set | sed -ne '/^PKG_[^=]*=/s/=.*$//p' | paste -s -d " ")" \ |
| "${_vars_set}"); |
| fi; |
| |
| 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; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| ex_pkg_env() { |
| local _build_steps_default="${1}" _build_vars_default="${2}" _group_name="${3}" \ |
| _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}"; then |
| return 1; |
| fi; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| ex_pkg_state_set() { |
| rtl_state_set "${_workdir}" "${@}"; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| ex_pkg_state_test() { |
| rtl_state_test "${_workdir}" "${@}"; |
| }; |
| |
| |