diff options
Diffstat (limited to 'pkg.build')
-rw-r--r-- | pkg.build | 160 |
1 files changed, 67 insertions, 93 deletions
@@ -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; |