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_env.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_env.subr')
-rw-r--r-- | subr/ex_pkg_env.subr | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/subr/ex_pkg_env.subr b/subr/ex_pkg_env.subr new file mode 100644 index 00000000..240c6289 --- /dev/null +++ b/subr/ex_pkg_env.subr @@ -0,0 +1,63 @@ +# +# set -o errexit -o noglob are assumed. +# + +ex_pkg_env() { + local _vname; + if [ -z "${PKG_URL}" ]\ + && [ -z "${PKG_URLS_GIT}" ]\ + && [ -z "${PKG_VERSION}" ]\ + && ! test_cmd "pkg_${PKG_NAME}_all"; then + ex_log_msg failexit "Error: package \`${PKG_NAME}' missing in build.vars."; + elif [ "${PKG_DISABLED:-0}" -eq 1 ]; then + ex_log_msg vnfo "Skipping disabled package \`${PKG_NAME}.'"; + exit 0; + else + [ -z "${MIDIPIX_BUILD_PWD}" ] && MIDIPIX_BUILD_PWD="$(pwd)"; + [ -z "${PKG_FNAME}" ] && PKG_FNAME="${PKG_URL##*/}"; + [ -z "${PKG_TARGET}" ] && PKG_TARGET="${TARGET}"; + case "${PKG_BASE_DIR}" in + ?*) ;; + *) PKG_BASE_DIR="${WORKDIR}/${PKG_NAME}-${PKG_BUILD_TYPE:-native}-${PKG_TARGET}"; + if [ -n "${ARG_RESTART}" ]\ + && [ -z "${ARG_RESTART_AT}" ]; then + ex_build_fileop rm "${PKG_BASE_DIR}"; + fi; ;; + esac; + PKG_DESTDIR="${PKG_BASE_DIR}/destdir"; + case "${PKG_BUILD_TYPE}" in + host) export AR="ar"; + export CC="gcc"; + export CXX="g++"; + export RANLIB="ranlib"; + export MAKE="make LIBTOOL=${PKG_SLIBTOOL:-slibtool}"; + export LIBTOOL="${PKG_SLIBTOOL:-slibtool}"; ;; + *) export AR="${PKG_TARGET}-ar"; + export CC="${PKG_TARGET}-gcc"; + export CXX="${PKG_TARGET}-g++"; + export RANLIB="${PKG_TARGET}-ranlib"; + export MAKE="make LIBTOOL=${PKG_SLIBTOOL:-slibtool}"; + export LIBTOOL="${PKG_SLIBTOOL:-slibtool}"; ;; + esac; + case "${PKG_SUBDIR}" in + ?*) ;; + *) case "${PKG_URLS_GIT}" in + ?*) PKG_SUBDIR="${PKG_URLS_GIT%%=*}"; ;; + *) case "${PKG_FNAME}" in + *.t*) PKG_SUBDIR="${PKG_FNAME%%.t*}"; ;; + *) PKG_SUBDIR="${PKG_NAME}"; ;; + esac; ;; + esac; ;; + esac; + for _vname in $(ex_split : ${PKG_ENV_VARS_EXTRA}); do + export "${_vname}"; + done; + fi; + if [ -n "${PKG_ENV_VARS}" ]\ + && [ "${PKG_NO_LOG_VARS:-0}" -eq 0 ]; then + PKG_ENV_VARS="$(echo "${PKG_ENV_VARS}" | tr " " "\n" | sort | tr "\n" " ")"; + ex_log_env_vars "build" ${PKG_ENV_VARS}; + fi; +}; + +# vim:filetype=sh |