summaryrefslogtreecommitdiffhomepage
path: root/subr/pkg_setup_env.subr
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2017-02-06 01:53:57 +0100
committerLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2017-02-06 01:26:49 +0000
commit8ee843a21869a1dc38a7fc7b543b7a5a1231a4e9 (patch)
treeeb954fa132e74f663c1aa84b7dcc9df6aaf923ac /subr/pkg_setup_env.subr
parent5a325f329863eb32c04e6133258cf865f42b9baa (diff)
downloadmidipix_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.subr56
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