summaryrefslogtreecommitdiffhomepage
path: root/pkg.build
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2016-02-23 16:08:44 +0000
committerLucio Andrés Illanes Albornoz (arab, vxp) <l.illanes@gmx.de>2016-02-23 17:09:01 +0000
commit392fefdbc69503caa750277d378222cf4597b752 (patch)
tree2d3ce58c56b478f6126728837aec0e37ade6d7b4 /pkg.build
parent7d4788dd5d89d4cf12056721f346fb6243b17bc0 (diff)
downloadmidipix_build-392fefdbc69503caa750277d378222cf4597b752.tar.bz2
midipix_build-392fefdbc69503caa750277d378222cf4597b752.tar.xz
- Prepend local variable names w/ a function-unique prefix to prevent collisions and leaks.
- Implemented consistent build/configure/install variable handling with per-level [0123] defaults. Fixes lack of uniform CFLAGS (-g3 -O0) usage. The new build variables include: - {AR,CC,RANLIB}_{BUILD,CONFIGURE,INSTALL}, - {{C,LD,MAKE}FLAGS_{BUILD,CONFIGURE,INSTALL}}{,_EXTRA}, - CONFIGURE_ARGS{,_EXTRA}, ENV_VARS_EXTRA, LIBTOOL_MIDIPIX, and PREFIX_EXTRA.
Diffstat (limited to 'pkg.build')
-rw-r--r--pkg.build160
1 files changed, 67 insertions, 93 deletions
diff --git a/pkg.build b/pkg.build
index f8a3f567..97e1a3f4 100644
--- a/pkg.build
+++ b/pkg.build
@@ -2,27 +2,7 @@
# . ./build.vars and set -o errexit are assumed.
#
-# Order for build level 2 (runtime:) psxtypes pemagine dalist ntapi psxscl ntcon ntctty
-parse_with_pkg_name ${2} \
- apk_tools bash binutils binutils_host bzip2 coreutils \
- dalist dash diffutils findutils gawk git gmp \
- grep gzip less libelf libressl libz make mpc mpfr \
- ncurses ntapi ntcon ntctty openssh patch pemagine \
- popt psxscl psxstub psxtypes rsync sed tar util_linux \
- which xz;
-case "${SCRIPT_FNAME%[0-9][0-9]*}" in
-1) _configure_args="--host=${HOST_NATIVE} --prefix=${PKG_PREFIX:-/} --target=${TARGET}";
- PKG_NO_CONFIG_CACHE=1; ;;
-2)
- _configure_args="--prefix=${PREFIX_LVL} --host=${HOST_NATIVE}";
- PKG_BUILD_TYPE=cross; PKG_URL_TYPE=git;
- PKG_NO_CONFIG_CACHE=${PKG_NO_DESTDIR:=${PKG_NO_EXTRACT:=${PKG_NO_LIBTOOL_MIDIPIX:=1}}};
- PKG_UNSET_VARS_BUILD="CC LD CFLAGS LDFLAGS PREFIX";
- export CFLAGS_PATH=-I${PREFIX_LVL}/include;
- export LDFLAGS_PATH=-L${PREFIX_LVL}/lib;
- ;;
-*) _configure_args=${PKG_CONFIGURE_ARGS:--C --host=${HOST_NATIVE} --prefix= --target=${TARGET}}; ;;
-esac;
+parse_with_pkg_name ${SCRIPT_FNAME%[0-9][0-9]*} ${2} ${PKG_BUILD_NAMES};
if ! is_build_script_done fetch; then
if [ "x${PKG_URL_TYPE:-wget}" = "xwget" ]; then
rm_if_exists $(get_basename ${PKG_URL});
@@ -30,117 +10,111 @@ if ! is_build_script_done fetch; then
else
rm_if_exists ${PKG_SUBDIR};
fetch_git ${PKG_SUBDIR} ${PKG_URL} "${PKG_GIT_ARGS_EXTRA}";
- PKG_NO_EXTRACT=1;
fi;
set_build_script_done fetch -extract;
-else
- [ "x${PKG_URL_TYPE:-wget}" = "xwget" ] || PKG_NO_EXTRACT=1;
fi;
-if command -v pkg_${PKG_NAME}_finish >/dev/null; then
+if test_cmd pkg_${PKG_NAME}_finish; then
pkg_${PKG_NAME}_finish; exit 0;
-elif [ ${PKG_NO_EXTRACT:-0} -eq 0 ] &&\
+elif [ "x${PKG_URL_TYPE:-wget}" = "xwget" ] &&\
! is_build_script_done extract; then
rm_if_exists ${PKG_SUBDIR};
tar -axf ${PKG_FNAME};
set_build_script_done extract -build_dir;
fi;
-if [ -n "${PKG_BUILD_DIR}" ]; then
- BUILD_DIR=${PKG_BUILD_DIR};
-else
+if [ -z "${PKG_BUILD_DIR}" ]; then
set_build_dir ${PKG_SUBDIR} ${PKG_BUILD_TYPE:-native};
fi;
if ! is_build_script_done build_dir; then
- [ ${PKG_SUBDIR} != ${BUILD_DIR} ] &&\
- rm_if_exists -m ${BUILD_DIR};
+ [ ${PKG_SUBDIR} != ${PKG_BUILD_DIR} ] &&\
+ rm_if_exists -m ${PKG_BUILD_DIR};
set_build_script_done build_dir -patch;
fi;
if ! is_build_script_done patch; then
- [ -f portage/${PKG_SUBDIR}.midipix.patch ] && \
- patch -b -d ${PKG_SUBDIR} -p1 \
- < portage/${PKG_SUBDIR}.midipix.patch;
- [ ${PKG_NO_PATCH_LOCAL:-0} -eq 0 ] && \
- [ -f ${_PWD}/${PKG_SUBDIR}.local.patch ] && \
- patch -b -d ${PKG_SUBDIR} -p1 \
- < ${_PWD}/${PKG_SUBDIR}.local.patch;
+ for PATCH_FNAME in portage/${PKG_SUBDIR}.midipix.patch \
+ ${_PWD}/${PKG_SUBDIR}.local.patch; do
+ [ -r ${PATCH_FNAME} ] &&\
+ patch -b -d ${PKG_SUBDIR} -p1 < ${PATCH_FNAME};
+ done; unset PATCH_FNAME;
if [ -n "${PKG_PATCHES_EXTRA_URL}" ]; then
apply_patches ${PKG_PATCHES_EXTRA_URL} ${PKG_SUBDIR};
if [ -n "${PKG_PATCHES_EXTRA_MANIFEST}" ]; then
compare_hash_manifest ${PKG_PATCHES_EXTRA_MANIFEST};
fi;
fi;
- [ ${PKG_NO_CONFIG_CACHE:-0} -eq 0 ] &&\
- cp portage/config.cache ${BUILD_DIR}/;
- [ ${PKG_NO_LIBTOOL_MIDIPIX:-0} -eq 0 ] && \
+ [ -x ${PKG_SUBDIR}/configure ] && \
+ cp portage/config.cache ${PKG_BUILD_DIR}/;
+ [ ${PKG_LIBTOOL_MIDIPIX:-0} -eq 1 ] && \
cp portage/libtool.midipix ${PKG_SUBDIR}/;
set_build_script_done patch -configure;
fi;
-cd ${BUILD_DIR};
-if [ ${PKG_NO_CONFIGURE:-0} -eq 0 ]\
+cd ${PKG_BUILD_DIR};
+if [ -x ../${PKG_SUBDIR}/configure ]\
&& ! is_build_script_done configure; then
- command -v pkg_${PKG_NAME}_configure_pre >/dev/null \
- && pkg_${PKG_NAME}_configure_pre;
+ if test_cmd pkg_${PKG_NAME}_configure_pre; then
+ pkg_${PKG_NAME}_configure_pre;
+ fi;
+ AR="${PKG_AR_CONFIGURE}" CC="${PKG_CC_CONFIGURE}"\
+ CFLAGS="${PKG_CFLAGS_CONFIGURE}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}"\
+ LDFLAGS="${PKG_LDFLAGS_CONFIGURE}${PKG_LDFLAGS_CONFIGURE_EXTRA:+ ${PKG_LDFLAGS_CONFIGURE_EXTRA}}"\
../${PKG_SUBDIR}/configure \
- ${_configure_args} \
- ${PKG_CONFIGURE_ARGS_EXTRA};
+ ${PKG_CONFIGURE_ARGS} ${PKG_CONFIGURE_ARGS_EXTRA};
set_build_script_done configure clean -build;
else
set_build_script_done clean;
fi;
if [ ${PKG_NO_CLEAN:-0} -eq 0 ]\
&& ! is_build_script_done clean; then
- make ${MAKEFLAGS} clean;
+ make clean;
set_build_script_done clean -build;
fi;
if ! is_build_script_done build; then
- if [ -n "${PKG_UNSET_VARS_BUILD}" ]; then
- unset ${PKG_UNSET_VARS_BUILD}
- fi;
- make ${PKG_MAKEFLAGS_BUILD_EXTRA:+${PKG_MAKEFLAGS_BUILD_EXTRA}}\
- ${MAKEFLAGS} \
- ${AR:+AR=${AR}} \
- ${CC:+CC=${CC}} ${CFLAGS:+"CFLAGS=${CFLAGS}"} \
- ${LD:+LD=${LD}} ${LDFLAGS:+"LDFLAGS=${LDFLAGS}"}\
- ${RANLIB:+RANLIB=${RANLIB}};
- set_build_script_done build -install1;
+ run_cmd_unsplit make \
+ ${PKG_MAKEFLAGS_BUILD} \
+ ${PKG_MAKEFLAGS_BUILD_EXTRA} \
+ "${PKG_AR_BUILD:+AR=${PKG_AR_BUILD}}" \
+ "${PKG_CC_BUILD:+CC=${PKG_CC_BUILD}}" \
+ "${PKG_CFLAGS_BUILD:+CFLAGS=${PKG_CFLAGS_BUILD}}"\
+ "${PKG_CFLAGS_BUILD_EXTRA:+CFLAGS+=${PKG_CFLAGS_BUILD_EXTRA}}"\
+ "${PKG_LDFLAGS_BUILD:+LDFLAGS=${PKG_LDFLAGS_BUILD}}"\
+ "${PKG_LDFLAGS_BUILD_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_BUILD_EXTRA}}";
+ set_build_script_done build -install;
fi;
-if ! is_build_script_done install1; then
- if command -v pkg_${PKG_NAME}_install >/dev/null; then
+if ! is_build_script_done install; then
+ if test_cmd pkg_${PKG_NAME}_install; then
pkg_${PKG_NAME}_install;
- elif [ ${PKG_NO_DESTDIR:-0} -eq 0 ]; then
- make ${PKG_MAKEFLAGS_INSTALL_EXTRA:+${PKG_MAKEFLAGS_INSTALL_EXTRA}}\
- ${MAKEFLAGS} \
- ${AR:+AR=${AR}} \
- ${CC:+CC=${CC}} ${CFLAGS:+"CFLAGS=${CFLAGS}"} \
- ${LD:+LD=${LD}} ${LDFLAGS:+"LDFLAGS=${LDFLAGS}"}\
- ${RANLIB:+RANLIB=${RANLIB}} \
- DESTDIR=${PREFIX_LVL} \
- ${PKG_INSTALL_TARGET:-install};
- elif [ -n "${PKG_MAKEFLAGS}" ]; then
- make ${PKG_MAKEFLAGS} \
- ${CC:+CC=${CC}} ${CFLAGS:+"CFLAGS=${CFLAGS}"} \
- ${LD:+LD=${LD}} ${LDFLAGS:+"LDFLAGS=${LDFLAGS}"}\
- ${PKG_INSTALL_TARGET:-install};
else
- make ${PKG_MAKEFLAGS_INSTALL_EXTRA:+${PKG_MAKEFLAGS_INSTALL_EXTRA}}\
- ${MAKEFLAGS} \
- ${AR:+AR=${AR}} \
- ${CC:+CC=${CC}} ${CFLAGS:+"CFLAGS=${CFLAGS}"} \
- ${LD:+LD=${LD}} ${LDFLAGS:+"LDFLAGS=${LDFLAGS}"}\
- ${PREFIX:+PREFIX=${PREFIX}} \
- ${RANLIB:+RANLIB=${RANLIB}} \
- ${PKG_INSTALL_TARGET:-install};
+ run_cmd_unsplit make \
+ ${PKG_MAKEFLAGS_INSTALL} \
+ ${PKG_MAKEFLAGS_INSTALL_EXTRA} \
+ "${PKG_AR_INSTALL:+AR=${PKG_AR_INSTALL}}"\
+ "${PKG_CC_INSTALL:+CC=${PKG_CC_INSTALL}}"\
+ "${PKG_CC_INSTALL:+CC=${PKG_CC_INSTALL}}"\
+ "${PKG_CFLAGS_INSTALL:+CFLAGS=${PKG_CFLAGS_INSTALL}}"\
+ "${PKG_CFLAGS_INSTALL_EXTRA:+CFLAGS+=${PKG_CFLAGS_INSTALL_EXTRA}}"\
+ "${PKG_LDFLAGS_INSTALL:+LDFLAGS=${PKG_LDFLAGS_INSTALL}}"\
+ "${PKG_LDFLAGS_INSTALL_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_INSTALL_EXTRA}}"\
+ "${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}"\
+ ${PKG_INSTALL_TARGET:=install};
+ if [ -n "${PKG_PREFIX_EXTRA}" ]; then
+ run_cmd_unsplit make \
+ ${PKG_MAKEFLAGS_INSTALL} \
+ ${PKG_MAKEFLAGS_INSTALL_EXTRA} \
+ "${PKG_AR_INSTALL:+AR=${PKG_AR_INSTALL}}"\
+ "${PKG_CC_INSTALL:+CC=${PKG_CC_INSTALL}}"\
+ "${PKG_CC_INSTALL:+CC=${PKG_CC_INSTALL}}"\
+ "${PKG_CFLAGS_INSTALL:+CFLAGS=${PKG_CFLAGS_INSTALL}}"\
+ "${PKG_CFLAGS_INSTALL_EXTRA:+CFLAGS+=${PKG_CFLAGS_INSTALL_EXTRA}}"\
+ "${PKG_LDFLAGS_INSTALL:+LDFLAGS=${PKG_LDFLAGS_INSTALL}}"\
+ "${PKG_LDFLAGS_INSTALL_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_INSTALL_EXTRA}}"\
+ "${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}"\
+ ${PKG_PREFIX_EXTRA} \
+ ${PKG_INSTALL_TARGET:=install};
+ fi;
+ if test_cmd pkg_${PKG_NAME}_install_post; then
+ pkg_${PKG_NAME}_install_post;
+ fi;
fi;
- set_build_script_done install1 -install2 -finish;
-fi;
-if [ -n "${PKG_PREFIX_EXTRA}" ]\
-&& ! is_build_script_done install2; then
- make DESTDIR=${PKG_PREFIX_EXTRA} install;
- set_build_script_done install2 -install3 -finish;
-fi;
-if command -v pkg_${PKG_NAME}_install_post >/dev/null\
-&& ! is_build_script_done install3; then
- pkg_${PKG_NAME}_install_post;
- set_build_script_done install3 -finish;
+ set_build_script_done install -finish;
fi;
set_build_script_done finish;