From b70ff5b419aebe6f86e737b1cc1be3b35c23a4dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=ADa=20Andrea=20Illanes=20Albornoz?= Date: Sun, 26 Mar 2023 15:38:55 +0200 Subject: Generalise {configure,make} code. --- subr.pkg/pkg_build.subr | 114 ++++++---------------------- subr.pkg/pkg_build_clean.subr | 74 ++++++++---------- subr.pkg/pkg_configure.subr | 168 +++++++++++------------------------------ subr.pkg/pkg_install_make.subr | 83 ++++++-------------- 4 files changed, 123 insertions(+), 316 deletions(-) (limited to 'subr.pkg') diff --git a/subr.pkg/pkg_build.subr b/subr.pkg/pkg_build.subr index 6eae1093..a11e87ac 100644 --- a/subr.pkg/pkg_build.subr +++ b/subr.pkg/pkg_build.subr @@ -5,20 +5,9 @@ pkg_build() { local _pb_group_name="${1}" _pb_pkg_name="${2}" _pb_restart_at="${3}" \ - _pb_libtool="" _pb_makeflags_verbosity="" _pb_no_autoconf="" \ - _pb_rc=0 _pb_subdir=""; - _pb_makeflags_verbosity="${PKG_MAKEFLAGS_VERBOSITY:-none}"; - if [ "${_pb_makeflags_verbosity}" = "none" ]; then - _pb_makeflags_verbosity=""; - fi; - - case "${PKG_LIBTOOL:-}" in - "") _pb_libtool=""; ;; - none) _pb_libtool=""; ;; - *) _pb_libtool="${PKG_LIBTOOL}"; ;; - esac; + _pb_no_autoconf="" _pb_rc=0 _pb_subdir=""; - if [ ! -x "${PKG_CONFIGURE:-}" ]; then + if ! [ -x "${PKG_CONFIGURE:-}" ]; then _pb_no_autoconf=1; fi; @@ -27,84 +16,31 @@ pkg_build() { _pb_subdir=""; fi; - if [ "${#_pb_libtool}" -gt 0 ]; then - export MAKE="make LIBTOOL=${_pb_libtool}"; - fi; - - # N.B. We only specify CC= here if the current package does not use GNU + # + # N.B. We only pass CC=... here if the current package does not use GNU # autoconf as it often abuses it by appending -std={gnu99,...} to it # instead of amending CFLAGS. - if [ "${PKG_MAKEFLAGS_BUILD_LIST:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - "AR=${PKG_AR}" \ - "${_pb_no_autoconf:+CC=${PKG_CC}}" \ - "RANLIB=${PKG_RANLIB}" \ - "${PKG_MAKEFLAGS_BUILD_LIST}" \ - "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST:-}" \ - ${PKG_MAKEFLAGS_PARALLELISE:-} \ - "${PKG_CFLAGS_BUILD:+CFLAGS=${PKG_CFLAGS_BUILD}}" \ - "${PKG_CFLAGS_BUILD_EXTRA:+CFLAGS+=${PKG_CFLAGS_BUILD_EXTRA}}" \ - "${PKG_CPPFLAGS_BUILD:+CPPFLAGS=${PKG_CPPFLAGS_BUILD}}" \ - "${PKG_CPPFLAGS_BUILD_EXTRA:+CPPFLAGS+=${PKG_CPPFLAGS_BUILD_EXTRA}}" \ - "${PKG_CXXFLAGS_BUILD:+CXXFLAGS=${PKG_CXXFLAGS_BUILD}}" \ - "${PKG_CXXFLAGS_BUILD_EXTRA:+CXXFLAGS+=${PKG_CXXFLAGS_BUILD_EXTRA}}" \ - "${PKG_LDFLAGS_BUILD:+LDFLAGS=${PKG_LDFLAGS_BUILD}}" \ - "${PKG_LDFLAGS_BUILD_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_BUILD_EXTRA}}" \ - "${PKG_PKG_CONFIG:+PKG_CONFIG=${PKG_PKG_CONFIG}}" \ - "${PKG_PKG_CONFIG_LIBDIR:+PKG_CONFIG_LIBDIR=${PKG_PKG_CONFIG_LIBDIR}}" \ - ${_pb_libtool:+"LIBTOOL=${_pb_libtool}"} \ - ${_pb_makeflags_verbosity} \ - ${_pb_subdir:+-C "${_pb_subdir}"}; - _pb_rc="${?}"; - elif [ "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - "AR=${PKG_AR}" \ - "${_pb_no_autoconf:+CC=${PKG_CC}}" \ - "RANLIB=${PKG_RANLIB}" \ - ${PKG_MAKEFLAGS_BUILD:-} \ - "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST}" \ - ${PKG_MAKEFLAGS_PARALLELISE:-} \ - "${PKG_CFLAGS_BUILD:+CFLAGS=${PKG_CFLAGS_BUILD}}" \ - "${PKG_CFLAGS_BUILD_EXTRA:+CFLAGS+=${PKG_CFLAGS_BUILD_EXTRA}}" \ - "${PKG_CPPFLAGS_BUILD:+CPPFLAGS=${PKG_CPPFLAGS_BUILD}}" \ - "${PKG_CPPFLAGS_BUILD_EXTRA:+CPPFLAGS+=${PKG_CPPFLAGS_BUILD_EXTRA}}" \ - "${PKG_CXXFLAGS_BUILD:+CXXFLAGS=${PKG_CXXFLAGS_BUILD}}" \ - "${PKG_CXXFLAGS_BUILD_EXTRA:+CXXFLAGS+=${PKG_CXXFLAGS_BUILD_EXTRA}}" \ - "${PKG_LDFLAGS_BUILD:+LDFLAGS=${PKG_LDFLAGS_BUILD}}" \ - "${PKG_LDFLAGS_BUILD_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_BUILD_EXTRA}}" \ - "${PKG_PKG_CONFIG:+PKG_CONFIG=${PKG_PKG_CONFIG}}" \ - "${PKG_PKG_CONFIG_LIBDIR:+PKG_CONFIG_LIBDIR=${PKG_PKG_CONFIG_LIBDIR}}" \ - ${_pb_libtool:+"LIBTOOL=${_pb_libtool}"} \ - ${_pb_makeflags_verbosity} \ - ${_pb_subdir:+-C "${_pb_subdir}"}; - _pb_rc="${?}"; - else - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - "AR=${PKG_AR}" \ - "${_pb_no_autoconf:+CC=${PKG_CC}}" \ - "RANLIB=${PKG_RANLIB}" \ - ${PKG_MAKEFLAGS_BUILD:-} \ - ${PKG_MAKEFLAGS_BUILD_EXTRA:-} \ - ${PKG_MAKEFLAGS_PARALLELISE:-} \ - "${PKG_CFLAGS_BUILD:+CFLAGS=${PKG_CFLAGS_BUILD}}" \ - "${PKG_CFLAGS_BUILD_EXTRA:+CFLAGS+=${PKG_CFLAGS_BUILD_EXTRA}}" \ - "${PKG_CPPFLAGS_BUILD:+CPPFLAGS=${PKG_CPPFLAGS_BUILD}}" \ - "${PKG_CPPFLAGS_BUILD_EXTRA:+CPPFLAGS+=${PKG_CPPFLAGS_BUILD_EXTRA}}" \ - "${PKG_CXXFLAGS_BUILD:+CXXFLAGS=${PKG_CXXFLAGS_BUILD}}" \ - "${PKG_CXXFLAGS_BUILD_EXTRA:+CXXFLAGS+=${PKG_CXXFLAGS_BUILD_EXTRA}}" \ - "${PKG_LDFLAGS_BUILD:+LDFLAGS=${PKG_LDFLAGS_BUILD}}" \ - "${PKG_LDFLAGS_BUILD_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_BUILD_EXTRA}}" \ - "${PKG_PKG_CONFIG:+PKG_CONFIG=${PKG_PKG_CONFIG}}" \ - "${PKG_PKG_CONFIG_LIBDIR:+PKG_CONFIG_LIBDIR=${PKG_PKG_CONFIG_LIBDIR}}" \ - ${_pb_libtool:+"LIBTOOL=${_pb_libtool}"} \ - ${_pb_makeflags_verbosity} \ - ${_pb_subdir:+-C "${_pb_subdir}"}; - _pb_rc="${?}"; - fi; - - if [ "${#_pb_libtool}" -gt 0 ]; then - unset MAKE; - fi; + # + ex_pkg_run_make \ + "${PKG_AR}" "${PKG_CC}" "${PKG_CXX}" "${PKG_CCLD}" "${PKG_LIBTOOL}" \ + "${PKG_MAKE}" "${PKG_PKG_CONFIG}" "${PKG_RANLIB}" \ + -- \ + "${_pb_no_autoconf}" "${_pb_subdir}" \ + -- \ + "${PKG_MAKEFLAGS_BUILD:-}" "${PKG_MAKEFLAGS_BUILD_EXTRA:-}" \ + "${PKG_MAKEFLAGS_BUILD_LIST:-}" "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST:-}" \ + "${PKG_MAKEFLAGS_LOADAVG:-}" "${PKG_MAKEFLAGS_PARALLELISE:-}" \ + "${PKG_MAKEFLAGS_VERBOSITY:-}" \ + -- \ + "${PKG_CFLAGS_BUILD:-}" "${PKG_CFLAGS_BUILD_EXTRA:-}" \ + "${PKG_CPPFLAGS_BUILD:-}" "${PKG_CPPFLAGS_BUILD_EXTRA:-}" \ + "${PKG_CXXFLAGS_BUILD:-}" "${PKG_CXXFLAGS_BUILD_EXTRA:-}" \ + "${PKG_LDFLAGS_BUILD:-}" "${PKG_LDFLAGS_BUILD_EXTRA:-}" \ + "${PKG_PKG_CONFIG_LIBDIR:-}" \ + -- \ + "" "" \ + ; + _pb_rc="${?}"; if [ "${_pb_rc}" -ne 0 ]; then break; diff --git a/subr.pkg/pkg_build_clean.subr b/subr.pkg/pkg_build_clean.subr index f92bfd6d..3cd78bb9 100644 --- a/subr.pkg/pkg_build_clean.subr +++ b/subr.pkg/pkg_build_clean.subr @@ -5,57 +5,45 @@ pkg_build_clean() { local _pbc_group_name="${1}" _pbc_pkg_name="${2}" _pbc_restart_at="${3}" \ - _pbc_libtool="" _pbc_makeflags_verbosity="${PKG_MAKEFLAGS_VERBOSITY:-}" \ _pbc_no_autoconf="" _pbc_rc=0 _pbc_subdir=""; - if ex_pkg_state_test "${PKG_NAME}" "build" "${_pbc_restart_at}"; then - case "${PKG_LIBTOOL:-}" in - "") _pbc_libtool=""; ;; - none) _pbc_libtool=""; ;; - *) _pbc_libtool="${PKG_LIBTOOL}"; ;; - esac; - [ ! -x "${PKG_CONFIGURE:-}" ] && _pbc_no_autoconf=1; + if ! [ -x "${PKG_CONFIGURE:-}" ]; then + _pbc_no_autoconf=1; + fi; + if ex_pkg_state_test "${PKG_NAME}" "build" "${_pbc_restart_at}"; then for _pbc_subdir in ${PKG_MAKE_SUBDIRS:-:}; do - [ "${_pbc_subdir}" = ":" ] && _pbc_subdir=""; - [ "${#_pbc_libtool}" -gt 0 ] && export MAKE="make LIBTOOL=${_pbc_libtool}"; - - if [ "${PKG_MAKEFLAGS_BUILD_LIST:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - "${PKG_MAKEFLAGS_BUILD_LIST}" \ - "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST:-}" \ - ${PKG_MAKEFLAGS_PARALLELISE:-} \ - ${_pbc_libtool:+"LIBTOOL=${_pbc_libtool}"} \ - ${_pbc_makeflags_verbosity} \ - ${_pbc_subdir:+-C "${_pbc_subdir}"} \ - clean; - _pbc_rc="${?}"; - elif [ "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - ${PKG_MAKEFLAGS_BUILD:-} \ - "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST}" \ - ${PKG_MAKEFLAGS_PARALLELISE:-} \ - ${_pbc_libtool:+"LIBTOOL=${_pbc_libtool}"} \ - ${_pbc_makeflags_verbosity} \ - ${_pbc_subdir:+-C "${_pbc_subdir}"} \ - clean; - _pbc_rc="${?}"; - else - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - ${PKG_MAKEFLAGS_BUILD:-} \ - ${PKG_MAKEFLAGS_BUILD_EXTRA:-} \ - ${PKG_MAKEFLAGS_PARALLELISE:-} \ - ${_pbc_libtool:+"LIBTOOL=${_pbc_libtool}"} \ - ${_pbc_makeflags_verbosity} \ - ${_pbc_subdir:+-C "${_pbc_subdir}"} \ - clean; - _pbc_rc="${?}"; + if [ "${_pbc_subdir}" = ":" ]; then + _pbc_subdir=""; fi; - [ "${#_pbc_libtool}" -gt 0 ] && unset MAKE; - [ "${_pbc_rc}" -ne 0 ] && return 1; + ex_pkg_run_make \ + "${PKG_AR}" "${PKG_CC}" "${PKG_CXX}" "${PKG_CCLD}" "${PKG_LIBTOOL}" \ + "${PKG_MAKE}" "${PKG_PKG_CONFIG}" "${PKG_RANLIB}" \ + -- \ + "${_pbc_no_autoconf}" "${_pbc_subdir}" \ + -- \ + "${PKG_MAKEFLAGS_BUILD:-}" "${PKG_MAKEFLAGS_BUILD_EXTRA:-}" \ + "${PKG_MAKEFLAGS_BUILD_LIST:-}" "${PKG_MAKEFLAGS_BUILD_EXTRA_LIST:-}" \ + "${PKG_MAKEFLAGS_LOADAVG:-}" "${PKG_MAKEFLAGS_PARALLELISE:-}" \ + "${PKG_MAKEFLAGS_VERBOSITY:-}" \ + -- \ + "${PKG_CFLAGS_BUILD:-}" "${PKG_CFLAGS_BUILD_EXTRA:-}" \ + "${PKG_CPPFLAGS_BUILD:-}" "${PKG_CPPFLAGS_BUILD_EXTRA:-}" \ + "${PKG_CXXFLAGS_BUILD:-}" "${PKG_CXXFLAGS_BUILD_EXTRA:-}" \ + "${PKG_LDFLAGS_BUILD:-}" "${PKG_LDFLAGS_BUILD_EXTRA:-}" \ + "${PKG_PKG_CONFIG_LIBDIR:-}" \ + -- \ + "" "clean" \ + ; + _pbc_rc="${?}"; + + if [ "${_pbc_rc}" -ne 0 ]; then + break; + fi; done; fi; + return 0; }; diff --git a/subr.pkg/pkg_configure.subr b/subr.pkg/pkg_configure.subr index 5403caea..71fac55a 100644 --- a/subr.pkg/pkg_configure.subr +++ b/subr.pkg/pkg_configure.subr @@ -4,7 +4,7 @@ # pkgp_configure_autotools() { - local _ppca_libtool="" _ppca_rc=0; + local _ppca_rc=0; if ! [ -x "${PKG_CONFIGURE:-}" ]; then _ppca_rc=2; @@ -13,148 +13,61 @@ pkgp_configure_autotools() { then _ppca_rc=2; else - case "${PKG_LIBTOOL:-}" in - "") _ppca_libtool=""; ;; - none) _ppca_libtool=""; ;; - *) _ppca_libtool="${PKG_LIBTOOL}"; ;; - esac; - - rtl_export_vars \ - PKG_CONFIG "${PKG_PKG_CONFIG:-}" \ - PKG_CONFIG_LIBDIR "${PKG_PKG_CONFIG_LIBDIR:-}" \ - PYTHON "${PKG_PYTHON:-}" \ - ${_ppca_libtool:+MAKE} ${_ppca_libtool:+"make LIBTOOL=${_ppca_libtool}"}; - - if [ "${PKG_CONFIGURE_ARGS_LIST:+1}" = 1 ]; then - AR="${PKG_AR}" \ - CC="${PKG_CC}" \ - RANLIB="${PKG_RANLIB}" \ - CFLAGS="${PKG_CFLAGS_CONFIGURE:-}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}" \ - CPPFLAGS="${PKG_CFLAGS_CONFIGURE:-}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}" \ - CXXFLAGS="${PKG_CXXFLAGS_CONFIGURE:-}${PKG_CXXFLAGS_CONFIGURE_EXTRA:+ ${PKG_CXXFLAGS_CONFIGURE_EXTRA}}" \ - LDFLAGS="${PKG_LDFLAGS_CONFIGURE:-}${PKG_LDFLAGS_CONFIGURE_EXTRA:+ ${PKG_LDFLAGS_CONFIGURE_EXTRA}}" \ - rtl_run_cmdlineV ":" "${PKG_CONFIGURE}" \ - "${PKG_CONFIGURE_ARGS_LIST:-}" \ - "${PKG_CONFIGURE_ARGS_EXTRA_LIST:-}"; - _ppca_rc=$((${?} ? 1 : ${_ppca_rc})); - elif [ "${PKG_CONFIGURE_ARGS_EXTRA_LIST:+1}" = 1 ]; then - AR="${PKG_AR}" \ - CC="${PKG_CC}" \ - RANLIB="${PKG_RANLIB}" \ - CFLAGS="${PKG_CFLAGS_CONFIGURE:-}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}" \ - CPPFLAGS="${PKG_CFLAGS_CONFIGURE:-}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}" \ - CXXFLAGS="${PKG_CXXFLAGS_CONFIGURE:-}${PKG_CXXFLAGS_CONFIGURE_EXTRA:+ ${PKG_CXXFLAGS_CONFIGURE_EXTRA}}" \ - LDFLAGS="${PKG_LDFLAGS_CONFIGURE:-}${PKG_LDFLAGS_CONFIGURE_EXTRA:+ ${PKG_LDFLAGS_CONFIGURE_EXTRA}}" \ - rtl_run_cmdlineV ":" "${PKG_CONFIGURE}" \ - ${PKG_CONFIGURE_ARGS:-} \ - "${PKG_CONFIGURE_ARGS_EXTRA_LIST:-}"; - _ppca_rc=$((${?} ? 1 : ${_ppca_rc})); - else - AR="${PKG_AR}" \ - CC="${PKG_CC}" \ - RANLIB="${PKG_RANLIB}" \ - CFLAGS="${PKG_CFLAGS_CONFIGURE:-}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}" \ - CPPFLAGS="${PKG_CFLAGS_CONFIGURE:-}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}" \ - CXXFLAGS="${PKG_CXXFLAGS_CONFIGURE:-}${PKG_CXXFLAGS_CONFIGURE_EXTRA:+ ${PKG_CXXFLAGS_CONFIGURE_EXTRA}}" \ - LDFLAGS="${PKG_LDFLAGS_CONFIGURE:-}${PKG_LDFLAGS_CONFIGURE_EXTRA:+ ${PKG_LDFLAGS_CONFIGURE_EXTRA}}" \ - "${PKG_CONFIGURE}" \ - ${PKG_CONFIGURE_ARGS:-} \ - ${PKG_CONFIGURE_ARGS_EXTRA:-}; - _ppca_rc=$((${?} ? 1 : ${_ppca_rc})); - fi; - - rtl_export_vars -u \ - PKG_CONFIG "${PKG_PKG_CONFIG:-}" \ - PKG_CONFIG_LIBDIR "${PKG_PKG_CONFIG_LIBDIR:-}" \ - PYTHON "${PKG_PYTHON:-}" \ - ${_ppca_libtool:+MAKE} ${_ppca_libtool:+"make LIBTOOL=${_ppca_libtool}"}; + ex_pkg_run_configure \ + "${PKG_AR}" "${PKG_CC}" "${PKG_CONFIGURE}" "${PKG_CXX}" "${PKG_LD}" \ + "${PKG_LIBTOOL}" "${PKG_PKG_CONFIG}" "${PKG_PYTHON:-}" "${PKG_RANLIB}" \ + -- \ + "${PKG_CONFIGURE_ARGS:-}" "${PKG_CONFIGURE_ARGS_EXTRA:-}" \ + "${PKG_CONFIGURE_ARGS_LIST:-}" "${PKG_CONFIGURE_ARGS_EXTRA_LIST:-}" \ + -- \ + "${PKG_CFLAGS_CONFIGURE:-}" "${PKG_CFLAGS_CONFIGURE_EXTRA:-}" \ + "${PKG_CPPFLAGS_CONFIGURE:-}" "${PKG_CPPFLAGS_CONFIGURE_EXTRA:-}" \ + "${PKG_CXXFLAGS_CONFIGURE:-}" "${PKG_CXXFLAGS_CONFIGURE_EXTRA:-}" \ + "${PKG_LDFLAGS_CONFIGURE:-}" "${PKG_LDFLAGS_CONFIGURE_EXTRA:-}" \ + "${PKG_PKG_CONFIG_LIBDIR:-}" \ + ; + _ppca_rc=$((${?} ? 1 : ${_ppca_rc})); fi; return "${_ppca_rc}"; }; pkgp_configure_cmake() { - local _ppcc_build_type="" _ppcc_cmake_args_auto="" _ppcc_cmd_name="" \ - _ppcc_rc=0 _ppcc_vname="" _ppcc_vval="" _ppcc_IFS0="${IFS:- }" IFS; + local _ppcc_build_type="" _ppcc_rc=0 _ppcc_system_name="" _ppcc_system_processor=""; if [ "${PKG_CMAKE_LISTFILE:+1}" != 1 ]\ || ! [ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/${PKG_CMAKE_LISTFILE}" ]; then _ppcc_rc=2; else - rtl_fileop rm config.cache || return 1; - rtl_export_vars \ - PKG_CONFIG "${PKG_PKG_CONFIG:-}" \ - PKG_CONFIG_LIBDIR "${PKG_PKG_CONFIG_LIBDIR:-}" \ - PYTHON "${PKG_PYTHON:-}"; - case "${BUILD_KIND}" in debug) _ppcc_build_type="debug"; ;; release|*) _ppcc_build_type="release"; ;; esac; - for _ppcc_vname in AR CC CXX PKG_CONFIG RANLIB; do - _ppcc_vname="PKG_${_ppcc_vname}"; - if [ "${ARG_CCACHE:+1}" = 1 ]; then - eval ${_ppcc_vname}="\${${_ppcc_vname}#${ARG_CCACHE} }"; - fi; - if eval [ '"${'"${_ppcc_vname}"':+1}"' = 1 ]\ - && eval [ '"${'"${_ppcc_vname}"'#/}"' = '"${'"${_ppcc_vname}"'}"' ]; then - eval _ppcc_cmd_name="\${${_ppcc_vname}% *}"; - eval _ppcc_vval="\${${_ppcc_vname}#* }"; - eval ${_ppcc_vname}='$(which "${_ppcc_cmd_name}")' || return 1; - fi; - done; - - _ppcc_cmake_args_auto=" - -DCMAKE_AR=${PKG_AR} - -DCMAKE_BUILD_TYPE=${_ppcc_build_type} - -DCMAKE_C_COMPILER=${PKG_CC} - ${ARG_CCACHE:+-DCMAKE_C_COMPILER_LAUNCHER=${ARG_CCACHE}} - -DCMAKE_C_FLAGS=${PKG_CFLAGS_CONFIGURE:-}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}} - -DCMAKE_CPP_FLAGS=${PKG_CPPFLAGS_CONFIGURE:-}${PKG_CPPFLAGS_CONFIGURE_EXTRA:+ ${PKG_CPPFLAGS_CONFIGURE_EXTRA}} - -DCMAKE_CXX_COMPILER=${PKG_CXX} - ${ARG_CCACHE:+-DCMAKE_CXX_COMPILER_LAUNCHER=${ARG_CCACHE}} - -DCMAKE_CXX_FLAGS=${PKG_CXXFLAGS_CONFIGURE:-}${PKG_CXXFLAGS_CONFIGURE_EXTRA:+ ${PKG_CXXFLAGS_CONFIGURE_EXTRA}} - -DCMAKE_EXE_LINKER_FLAGS=${PKG_LDFLAGS_CONFIGURE:-}${PKG_LDFLAGS_CONFIGURE_EXTRA:+ ${PKG_LDFLAGS_CONFIGURE_EXTRA}} - -DCMAKE_FIND_ROOT_PATH=${PKG_PREFIX} - -DCMAKE_INSTALL_PREFIX= - -DCMAKE_LINKER=$(which "ld") - -DCMAKE_MODULE_LINKER_FLAGS=${PKG_LDFLAGS_CONFIGURE:-}${PKG_LDFLAGS_CONFIGURE_EXTRA:+ ${PKG_LDFLAGS_CONFIGURE_EXTRA}} - -DCMAKE_RANLIB=${PKG_RANLIB} - -DCMAKE_SHARED_LINKER_FLAGS=${PKG_LDFLAGS_CONFIGURE:-}${PKG_LDFLAGS_CONFIGURE_EXTRA:+ ${PKG_LDFLAGS_CONFIGURE_EXTRA}} - -DPKG_CONFIG_EXECUTABLE=${PKG_PKG_CONFIG}" || return 1; - case "${PKG_BUILD_TYPE}" in - host|cross) - ;; - native) - _ppcc_cmake_args_auto="${_ppcc_cmake_args_auto:+${_ppcc_cmake_args_auto}} - -DCMAKE_LINKER=$(which "${PKG_TARGET}-ld") - -DCMAKE_SYSROOT=${PKG_PREFIX} - -DCMAKE_SYSTEM_NAME=Midipix" || return 1; - + _ppcc_system_name="Midipix"; case "${ARCH}" in - nt32) _ppcc_cmake_args_auto="${_ppcc_cmake_args_auto:+${_ppcc_cmake_args_auto}} - -DCMAKE_SYSTEM_PROCESSOR=i686"; ;; - nt64) _ppcc_cmake_args_auto="${_ppcc_cmake_args_auto:+${_ppcc_cmake_args_auto}} - -DCMAKE_SYSTEM_PROCESSOR=x86_64"; ;; - esac; ;; - + nt32) _ppcc_system_processor="i686"; ;; + nt64) _ppcc_system_processor="x86_64"; ;; + esac; esac; - IFS=" - "; "${PKG_CMAKE}" \ - ${_ppcc_cmake_args_auto} \ - ${PKG_CMAKE_ARGS:-} \ - ${PKG_CMAKE_ARGS_EXTRA:-} \ - "${PKG_BASE_DIR}/${PKG_SUBDIR}"; - _ppcc_rc=$((${?} ? ${?} : ${_ppcc_rc})); IFS="${_ppcc_IFS0}"; - - rtl_export_vars -u \ - PKG_CONFIG "${PKG_PKG_CONFIG:-}" \ - PKG_CONFIG_LIBDIR "${PKG_PKG_CONFIG_LIBDIR:-}" \ - PYTHON "${PKG_PYTHON:-}"; + ex_pkg_run_configure_cmake \ + "${PKG_AR}" "${PKG_CC}" "${ARG_CCACHE}" "${PKG_CMAKE}" "${PKG_CXX}" \ + "${PKG_LD}" "${PKG_PKG_CONFIG}" "${PKG_PYTHON:-}" "${PKG_RANLIB}" \ + -- \ + "${_ppcc_build_type}" "${PKG_CMAKE_ARGS:-}" "${PKG_CMAKE_ARGS_EXTRA:-}" \ + "${PKG_PREFIX}" "${PKG_BASE_DIR}/${PKG_SUBDIR}" "${_ppcc_system_name}" \ + "${_ppcc_system_processor}" \ + -- \ + "${PKG_CFLAGS_CONFIGURE:-}" "${PKG_CFLAGS_CONFIGURE_EXTRA:-}" \ + "${PKG_CPPFLAGS_CONFIGURE:-}" "${PKG_CPPFLAGS_CONFIGURE_EXTRA:-}" \ + "${PKG_CXXFLAGS_CONFIGURE:-}" "${PKG_CXXFLAGS_CONFIGURE_EXTRA:-}" \ + "${PKG_LDFLAGS_CONFIGURE:-}" "${PKG_LDFLAGS_CONFIGURE_EXTRA:-}" \ + "${PKG_PKG_CONFIG_LIBDIR:-}" \ + ; + _ppcc_rc=$((${?} ? 1 : ${_ppcc_rc})); fi; return "${_ppcc_rc}"; @@ -169,10 +82,15 @@ pkgp_configure_sofort() { && ! [ "${PKG_CONFIGURE_TYPE:-}" = "sofort" ]; then _ppcs_rc=2; else - for _ppcs_vname in AR CC CXX LD RANLIB; do + for _ppcs_vname in AR CC CCLD CXX RANLIB; do if eval [ '"${PKG_'"${_ppcs_vname}"':+1}"' = 1 ]; then - _ppcs_vnames="${_ppcs_vnames:+${_ppcs_vnames} }${_ppcs_vname}"; - eval ${_ppcs_vname}='${PKG_'"${_ppcs_vname}"'}'; export ${_ppcs_vname}; + if [ "${_ppcs_vname}" = CCLD ]; then + _ppcs_vnames="${_ppcs_vnames:+${_ppcs_vnames} }LD"; + eval LD='${PKG_'"${_ppcs_vname}"'}'; export LD; + else + _ppcs_vnames="${_ppcs_vnames:+${_ppcs_vnames} }${_ppcs_vname}"; + eval ${_ppcs_vname}='${PKG_'"${_ppcs_vname}"'}'; export ${_ppcs_vname}; + fi; fi; if eval [ '"${PKG_SOFORT_NATIVE_'"${_ppcs_vname}"':+1}"' = 1 ]; then diff --git a/subr.pkg/pkg_install_make.subr b/subr.pkg/pkg_install_make.subr index 89c61ce8..914a2af2 100644 --- a/subr.pkg/pkg_install_make.subr +++ b/subr.pkg/pkg_install_make.subr @@ -4,71 +4,36 @@ # pkg_install_make() { - local _pim_group_name="${1}" _pim_pkg_name="${2}" _pim_restart_at="${3}" - _pim_libtool="" _pim_rc=0 _pim_subdir=""; - - case "${PKG_LIBTOOL:-}" in - "") _pim_libtool=""; ;; - none) _pim_libtool=""; ;; - *) _pim_libtool="${PKG_LIBTOOL}"; ;; - esac; + local _pim_group_name="${1}" _pim_pkg_name="${2}" _pim_restart_at="${3}" \ + _pim_ranlib="" _pim_rc=0 _pim_subdir=""; for _pim_subdir in ${PKG_MAKE_SUBDIRS:-:}; do + if [ "${PKG_RANLIB_INSTALL:+1}" = 1 ]; then + _pim_ranlib="${PKG_RANLIB_INSTALL}"; + else + _pim_ranlib="${PKG_RANLIB}"; + fi; if [ "${_pim_subdir}" = ":" ]; then _pim_subdir=""; fi; - if [ "${#_pim_libtool}" -gt 0 ]; then - export MAKE="make LIBTOOL=${_pim_libtool}"; - fi; - - if [ "${PKG_MAKEFLAGS_INSTALL_LIST:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - "${PKG_MAKEFLAGS_INSTALL_LIST}" \ - "${PKG_MAKEFLAGS_INSTALL_EXTRA_LIST:-}" \ - ${PKG_MAKEFLAGS_PARALLELISE:-} \ - AR="${PKG_AR}" \ - CC="${PKG_CC}" \ - RANLIB="${PKG_RANLIB}" \ - ${PKG_RANLIB_INSTALL:+"RANLIB=${PKG_RANLIB_INSTALL}"} \ - ${_pim_libtool:+"LIBTOOL=${_pim_libtool}"} \ - "${PKG_MAKE_INSTALL_VNAME:-DESTDIR}=${PKG_DESTDIR}/" \ - "${PKG_INSTALL_TARGET:-install}" \ - ${_pim_subdir:+-C "${_pim_subdir}"}; - _pim_rc="${?}"; - elif [ "${PKG_MAKEFLAGS_INSTALL_EXTRA_LIST:+1}" = 1 ]; then - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - ${PKG_MAKEFLAGS_INSTALL:-} \ - "${PKG_MAKEFLAGS_INSTALL_EXTRA_LIST}" \ - ${PKG_MAKEFLAGS_PARALLELISE:-} \ - AR="${PKG_AR}" \ - CC="${PKG_CC}" \ - RANLIB="${PKG_RANLIB}" \ - ${PKG_RANLIB_INSTALL:+"RANLIB=${PKG_RANLIB_INSTALL}"} \ - ${_pim_libtool:+"LIBTOOL=${_pim_libtool}"} \ - "${PKG_MAKE_INSTALL_VNAME:-DESTDIR}=${PKG_DESTDIR}/" \ - "${PKG_INSTALL_TARGET:-install}" \ - ${_pim_subdir:+-C "${_pim_subdir}"}; - _pim_rc="${?}"; - else - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - ${PKG_MAKEFLAGS_INSTALL:-} \ - ${PKG_MAKEFLAGS_INSTALL_EXTRA:-} \ - ${PKG_MAKEFLAGS_PARALLELISE:-} \ - AR="${PKG_AR}" \ - CC="${PKG_CC}" \ - RANLIB="${PKG_RANLIB}" \ - ${PKG_RANLIB_INSTALL:+"RANLIB=${PKG_RANLIB_INSTALL}"} \ - ${_pim_libtool:+"LIBTOOL=${_pim_libtool}"} \ - "${PKG_MAKE_INSTALL_VNAME:-DESTDIR}=${PKG_DESTDIR}/" \ - "${PKG_INSTALL_TARGET:-install}" \ - ${_pim_subdir:+-C "${_pim_subdir}"}; - _pim_rc="${?}"; - fi; - - if [ "${#_pim_libtool}" -gt 0 ]; then - unset MAKE; - fi; + ex_pkg_run_make \ + "${PKG_AR}" "${PKG_CC}" "${PKG_CXX}" "${PKG_CCLD}" "${PKG_LIBTOOL}" \ + "${PKG_MAKE}" "${PKG_PKG_CONFIG}" "${_pim_ranlib}" \ + -- \ + 1 "${_pim_subdir}" \ + -- \ + "${PKG_MAKEFLAGS_INSTALL:-}" "${PKG_MAKEFLAGS_INSTALL_EXTRA:-}" \ + "${PKG_MAKEFLAGS_INSTALL_LIST:-}" "${PKG_MAKEFLAGS_INSTALL_EXTRA_LIST:-}" \ + "${PKG_MAKEFLAGS_LOADAVG:-}" "${PKG_MAKEFLAGS_PARALLELISE:-}" \ + "${PKG_MAKEFLAGS_VERBOSITY:-}" \ + -- \ + "" "" "" "" "" "" "" "" "" \ + -- \ + "${PKG_MAKE_INSTALL_VNAME:-DESTDIR}=${PKG_DESTDIR}/" \ + "${PKG_INSTALL_TARGET:-install}" \ + ; + _pim_rc="${?}"; if [ "${_pim_rc}" -ne 0 ]; then return 1; -- cgit v1.2.3