summaryrefslogtreecommitdiffhomepage
path: root/subr/pkg_setup_vars.subr
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de>2017-11-19 14:21:25 +0000
committerLucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de>2017-11-20 14:46:55 +0000
commit49b46005e7f7ebebcf6b43d451918c5462ac28d4 (patch)
treed226c2bb06d084911b70118e466e23a2de45ae0a /subr/pkg_setup_vars.subr
parentd27197213a39dd05dee64788ce185f6805207292 (diff)
downloadmidipix_build-49b46005e7f7ebebcf6b43d451918c5462ac28d4.tar.bz2
midipix_build-49b46005e7f7ebebcf6b43d451918c5462ac28d4.tar.xz
vars/{build,env}.vars: diet, pt. II.
vars/build.vars: install w/ `DESTDIR=<prefix> PREFIX= prefix=' by default. vars/build.vars:cmake: build w/ -g0 -O2. vars/cmake.vars: build using cmake_host. vars/pkgconf_host.vars: remove & don't install ${PREFIX}/bin/pkg-config link to avoid confusing host packages. vars/{apr_util,chainport}.vars: replaced w/ corresponding ${PKG_BUILD_STEPS}. patches/perl-5.22.1.local.patch: pass -L. -lperl when linking. patches/smallbasic.local.patch: don't call pcre-config. subr/pkg_autoconf.subr, vars/{lib{caca,udns},toilet}.vars: always install config.sub after bootstrap. subr/pkg_disabled.subr: always silently finish disabled packages. subr/pkg_setup_{env,vars}.subr: split. subr/pkg_{build,install}.subr: always pass LIBTOOL=${PKG_SLIBTOOL:=slibtool}. subr/pkg_{{build,work}_dir,extract,setup_env}.subr: infer ${PKG_BUILD_DIR} from ${PKG_SUBDIR} given the absence of configure{,.{ac,in}}.
Diffstat (limited to 'subr/pkg_setup_vars.subr')
-rw-r--r--subr/pkg_setup_vars.subr36
1 files changed, 36 insertions, 0 deletions
diff --git a/subr/pkg_setup_vars.subr b/subr/pkg_setup_vars.subr
new file mode 100644
index 00000000..07b91fcb
--- /dev/null
+++ b/subr/pkg_setup_vars.subr
@@ -0,0 +1,36 @@
+#
+# set -o errexit -o noglob are assumed.
+#
+
+pkgp_setup_pkg_vars() {
+ local _pkg_name="${1}" _pkg_name_uc _build_uc _vname __;
+ _pkg_name_uc="$(toupper "${_pkg_name}")";
+ _build_uc="$(toupper "${BUILD}")";
+ for _vname in PREFIX ${PKG_BUILD_VARS}; do
+ for __ in "DEFAULT_${_vname}" \
+ "${BUILD_TARGET}_${_vname}" \
+ "PKG_${_pkg_name_uc}_${_vname}" \
+ "PKG_${_pkg_name_uc}_${_vname}_${_build_uc}"; do
+ if [ -n "$(get_var_unsafe "${__}")" ]; then
+ set_var_unsafe "PKG_${_vname}" "$(get_var_unsafe ${__})";
+ if ! lmatch "${PKG_ENV_VARS}" " " "${__}"; then
+ PKG_ENV_VARS="${PKG_ENV_VARS:+${PKG_ENV_VARS} }${__}";
+ fi;
+ fi;
+ done;
+ done;
+};
+
+pkg_setup_vars() {
+ local __;
+ for __ in vars/${PKG_NAME}.vars; do
+ [ \( -e "${__}" \) -o \( -L "${__}" \) ]\
+ && { . "${__}"; };
+ done;
+ if [ -n "${PKG_NAME_PARENT}" ]; then
+ pkgp_setup_pkg_vars "${PKG_NAME_PARENT}";
+ fi;
+ pkgp_setup_pkg_vars "${PKG_NAME}";
+};
+
+# vim:filetype=sh