diff options
author | Lucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de> | 2017-02-06 01:53:57 +0100 |
---|---|---|
committer | Lucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de> | 2017-02-06 01:26:49 +0000 |
commit | 8ee843a21869a1dc38a7fc7b543b7a5a1231a4e9 (patch) | |
tree | eb954fa132e74f663c1aa84b7dcc9df6aaf923ac /subr/pkg_setup_env.subr | |
parent | 5a325f329863eb32c04e6133258cf865f42b9baa (diff) | |
download | midipix_build-8ee843a21869a1dc38a7fc7b543b7a5a1231a4e9.tar.bz2 midipix_build-8ee843a21869a1dc38a7fc7b543b7a5a1231a4e9.tar.xz |
build.sh, {subr,vars}/*: general cleanup.
Diffstat (limited to 'subr/pkg_setup_env.subr')
-rw-r--r-- | subr/pkg_setup_env.subr | 56 |
1 files changed, 38 insertions, 18 deletions
diff --git a/subr/pkg_setup_env.subr b/subr/pkg_setup_env.subr index 34dfa1fb..60d5aec2 100644 --- a/subr/pkg_setup_env.subr +++ b/subr/pkg_setup_env.subr @@ -3,32 +3,52 @@ # pkg_setup_env() { - PKG_SUBDIR_PATH=${PWD}/${PKG_SUBDIR#/}; - if [ -z "${PKG_CONFIGURE}" ]; then - PKG_CONFIGURE=${PKG_SUBDIR_PATH}/configure; + local _pkg_name_uc _vars_fname _vname _build_uc __ _log_env_vars; + _pkg_name_uc="$(echo ${PKG_NAME} | tr a-z A-Z)"; + for _vars_fname in vars/${PKG_NAME}.vars; do + [ -e "${_vars_fname}" ] && . "${_vars_fname}"; + done; + for _vname in PREFIX ${PKG_BUILD_VARS}; do + _build_uc="$(echo ${BUILD} | tr a-z A-Z)"; + for __ in "DEFAULT_${_vname}" \ + "${BUILD_TARGET}_${_vname}" \ + "PKG_${_pkg_name_uc}_${_vname}" \ + "PKG_${_pkg_name_uc}_${_vname}_${_build_uc}"; do + set_var_unsafe "PKG_${_vname}" "$(get_var_unsafe ${__})"; + done; + done; + if [ -z "${PKG_URL}" -a -z "${PKG_URLS_GIT}" -a -z "${PKG_VERSION}" ]; then + log_msg failexit "Error: package \`${PKG_NAME}' missing in build.vars."; else - PKG_CONFIGURE=${PWD}/${PKG_CONFIGURE#/}; + [ -n "${PKG_ENV_VARS_EXTRA}" ] && set_env_vars_with_sep : "${PKG_ENV_VARS_EXTRA}"; + [ -z "${PKG_FNAME}" ] && PKG_FNAME="${PKG_URL##*/}"; + [ -z "${PKG_SUBDIR}" ] && PKG_SUBDIR="${PKG_FNAME%%.tar*}"; + [ -z "${PKG_TARGET}" ] && PKG_TARGET="${TARGET}"; + [ -z "${MIDIPIX_BUILD_PWD}" ] && MIDIPIX_BUILD_PWD="$(pwd)"; fi; - if [ "${PKG_BUILD_TYPE}" = "host" ]; then - export AR=ar; - export CC=gcc; - export CXX=g++; - export RANLIB=ranlib; - else - export AR=${PKG_TARGET}-ar; - export CC=${PKG_TARGET}-gcc; - export CXX=${PKG_TARGET}-g++; - export RANLIB=${PKG_TARGET}-ranlib; + for __ in $(set); do + if [ "${__#PKG_${_pkg_name_uc}}" != "${__}" ]; then + _log_env_vars="${_log_env_vars:+${_log_env_vars} }${__%%=*}"; + fi; + done; + if [ -n "${_log_env_vars}" ]; then + log_env_vars "build" ${_log_env_vars}; fi; - if [ -x ${PKG_CONFIGURE} ]; then - export CFLAGS_FOR_BUILD="${HOST_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT}"; + build_fileop cd "${WORKDIR}"; + if [ "${PKG_BUILD_TYPE}" = "host" ]; then + export AR="ar"; + export CC="gcc"; + export CXX="g++"; + export RANLIB="ranlib"; else - __no_autoconf=1; + export AR="${PKG_TARGET}-ar"; + export CC="${PKG_TARGET}-gcc"; + export CXX="${PKG_TARGET}-g++"; + export RANLIB="${PKG_TARGET}-ranlib"; fi; if [ "${PKG_SLIBTOOL}" != "default" ]; then export MAKE="make LIBTOOL=${PKG_SLIBTOOL:-slibtool}"; fi; - build_fileop cd ${PKG_BUILD_DIR}; }; # vim:filetype=sh |