From 1cbe2029e27bcfbce4f99c5788b66268255a1973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=ADa=20Andrea=20Illanes=20Albornoz?= Date: Thu, 23 Mar 2023 14:52:54 +0100 Subject: Implements ccache integration, pt. II. --- subr.pkg/pkg_build.subr | 87 ++++++++++++++++++++++++++++++++---------- subr.pkg/pkg_build_clean.subr | 39 +++++++++++++++---- subr.pkg/pkg_configure.subr | 49 ++++++++++++++++++------ subr.pkg/pkg_install_make.subr | 55 ++++++++++++++++++++------ 4 files changed, 179 insertions(+), 51 deletions(-) (limited to 'subr.pkg') diff --git a/subr.pkg/pkg_build.subr b/subr.pkg/pkg_build.subr index 71b057b9..6eae1093 100644 --- a/subr.pkg/pkg_build.subr +++ b/subr.pkg/pkg_build.subr @@ -34,26 +34,73 @@ pkg_build() { # N.B. We only specify 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. - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - ${PKG_MAKEFLAGS_BUILD:-} \ - ${PKG_MAKEFLAGS_BUILD_EXTRA:-} \ - "AR=${PKG_AR}" \ - "${_pb_no_autoconf:+CC=${PKG_CC}}" \ - "RANLIB=${PKG_RANLIB}" \ - "${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="${?}"; + 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; diff --git a/subr.pkg/pkg_build_clean.subr b/subr.pkg/pkg_build_clean.subr index e3456031..f92bfd6d 100644 --- a/subr.pkg/pkg_build_clean.subr +++ b/subr.pkg/pkg_build_clean.subr @@ -20,14 +20,37 @@ pkg_build_clean() { [ "${_pbc_subdir}" = ":" ] && _pbc_subdir=""; [ "${#_pbc_libtool}" -gt 0 ] && export MAKE="make LIBTOOL=${_pbc_libtool}"; - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - ${PKG_MAKEFLAGS_BUILD:-} \ - ${PKG_MAKEFLAGS_BUILD_EXTRA:-} \ - ${_pbc_libtool:+"LIBTOOL=${_pbc_libtool}"} \ - ${_pbc_makeflags_verbosity} \ - ${_pbc_subdir:+-C "${_pbc_subdir}"} \ - clean; - _pbc_rc="${?}"; + 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="${?}"; + fi; [ "${#_pbc_libtool}" -gt 0 ] && unset MAKE; [ "${_pbc_rc}" -ne 0 ] && return 1; diff --git a/subr.pkg/pkg_configure.subr b/subr.pkg/pkg_configure.subr index 743ab9d6..5403caea 100644 --- a/subr.pkg/pkg_configure.subr +++ b/subr.pkg/pkg_configure.subr @@ -25,15 +25,43 @@ pkgp_configure_autotools() { PYTHON "${PKG_PYTHON:-}" \ ${_ppca_libtool:+MAKE} ${_ppca_libtool:+"make LIBTOOL=${_ppca_libtool}"}; - 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:-} ${PKG_CONFIGURE_ARGS_EXTRA_DEBUG:-}; - _ppca_rc=$((${?} ? 1 : ${_ppca_rc})); + 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:-}" \ @@ -177,8 +205,7 @@ pkgp_configure_sofort() { RANLIB="${PKG_RANLIB}" \ "${PKG_CONFIGURE}" \ ${PKG_CONFIGURE_ARGS:-} \ - ${PKG_CONFIGURE_ARGS_EXTRA:-} \ - ${PKG_CONFIGURE_ARGS_EXTRA_DEBUG:-}; + ${PKG_CONFIGURE_ARGS_EXTRA:-}; _ppcs_rc=$((${?} ? 1 : ${_ppcs_rc})); for _ppcs_vname in ${_ppcs_vnames}; do diff --git a/subr.pkg/pkg_install_make.subr b/subr.pkg/pkg_install_make.subr index a3611b32..89c61ce8 100644 --- a/subr.pkg/pkg_install_make.subr +++ b/subr.pkg/pkg_install_make.subr @@ -22,18 +22,49 @@ pkg_install_make() { export MAKE="make LIBTOOL=${_pim_libtool}"; fi; - rtl_run_cmdlineV ":" "${PKG_MAKE}" \ - ${PKG_MAKEFLAGS_INSTALL:-} \ - ${PKG_MAKEFLAGS_INSTALL_EXTRA:-} \ - 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="${?}"; + 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; -- cgit v1.2.3