From e9fa0774ed2e7e030a68f5b0ae51fe6dd69fe492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=ADa=20Andrea=20Illanes=20Albornoz?= Date: Fri, 17 Feb 2023 19:29:28 +0100 Subject: Make everything a bit faster. 0) Issues several prayers and sacrifices to Enki under threat of a terrible deluge sent down by Ellil 1) Convert fork-write/read exprs to be non-forking 2) Pass mostly everything by reference 3) Don't bother cleaning the variable namespace because Bourne shell is an abomination 4) Removes broken ./pkgtool.sh -s, --restart-at, --update-diff & ./build.sh --dump-{in,on-abort} 5) Cleanup --- vars/ca_certificates.vars | 5 +- vars/gcc.vars | 223 ++++++++++++++++++++++++++++++++++------------ vars/git.vars | 2 +- vars/perl.vars | 9 +- 4 files changed, 173 insertions(+), 66 deletions(-) (limited to 'vars') diff --git a/vars/ca_certificates.vars b/vars/ca_certificates.vars index dfe0c9bd..32603348 100644 --- a/vars/ca_certificates.vars +++ b/vars/ca_certificates.vars @@ -17,11 +17,12 @@ pkg_ca_certificates_install_make_post() { }; pkg_ca_certificates_host_configure_patch_post() { - local _vname="" _vspec="" _vval=""; + local _vname="" _vspec="" _vpsec_="" _vval=""; for _vspec in \ CERTSCONF:/etc/ca-certificates.conf \ ETCCERTSDIR:/etc/ssl/certs/; do - set -- $(rtl_llift "${_vspec}" : " "); _vname="${1}"; _vval="${2}"; + rtl_llift2 \$_vspec \$_vspec_ : " "; + set -- ${_vspec_}; _vname="${1}"; _vval="${2}"; sed -i"" -e's,^#define '"${_vname}"' ".\+"$,#define '"${_vname}"' "'"${PKG_DESTDIR%/}${_vval}"'",' update-ca.c; done; sed -i"" -e's,^#define CERTSDIR ".\+"$,#define CERTSDIR "../../../usr/share/ca-certificates/",' update-ca.c; diff --git a/vars/gcc.vars b/vars/gcc.vars index 388b7adc..fa87f862 100644 --- a/vars/gcc.vars +++ b/vars/gcc.vars @@ -7,10 +7,12 @@ # # Private subroutines # -pkgp_gcc_build_dir() { PKG_BUILD_DIR="${1}-${2}-${PKG_TARGET}"; }; + +pkgp_gcc_build_dir() { PKG_BUILD_DIR="${1}-${2}-${PKG_TARGET}"; return 0; }; pkgp_gcc_state_set() { printf "step unknown %s %s\n" "${PKG_NAME}" "${1}" >&3; ex_pkg_state_set "${PKG_NAME}" "${1}" ${2:+"${2}"}; + return 0; }; pkgp_gcc_configure() { @@ -43,10 +45,12 @@ pkgp_gcc_configure() { else pkgp_gcc_state_set "configure" "build"; fi; + return 0; }; pkgp_gcc_setup_env() { local _vname=""; + for _vname in CFLAGS CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD \ CXXFLAGS CXXFLAGS_FOR_BUILD; do export "${_vname}=${GCCFLAGS}"; @@ -59,70 +63,98 @@ pkgp_gcc_setup_env() { cbb_cflags_for_stage3 cbb_cflags_for_stage4; do export "${_vname}=${CFLAGS_FOR_BUILD}" ; done; + return 0; }; pkgp_gcc_setup_vars() { local _unwind_midipix_h=""; export cbb_target="${PKG_TARGET}" MAKE="make LIBTOOL=slibtool"; _unwind_midipix_h="$(readlink -f "${PKG_BASE_DIR}/cbb-gcc-${PKG_VERSION}/gcc/unwind-midipix.h")"; + case "${PKG_NAME}" in + gcc_full) GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PKG_PREFIX}"; - GCCTARGET_FLAGS="$(rtl_lconcat "${GCCTARGET_FLAGS}" "--include=${_unwind_midipix_h}")"; - GCCTARGET_FLAGS="$(rtl_lconcat "${GCCTARGET_FLAGS}" "-DTARGET_PERSONALITY_FUNCTION")"; - GCCTARGET_FLAGS="$(rtl_lconcat "${GCCTARGET_FLAGS}" "-DTARGET_PERSONALITY_FUNCTION_MIDIPIX")"; - GCCTARGET_FLAGS="$(rtl_lconcat "${GCCTARGET_FLAGS}" "${DEFAULT_CFLAGS_DEBUG_RUNTIME}")"; - export cbb_ldflags_for_target=--sysroot="${PKG_PREFIX}" \ - cbb_sysroot_for_libgcc="${PKG_PREFIX}" \ - cbb_xgcc_for_specs="${PKG_TARGET}-gcc" \ - sysroot_headers_suffix="${PKG_PREFIX}"; ;; + rtl_lconcat \$GCCTARGET_FLAGS "--include=${_unwind_midipix_h}"; + rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION"; + rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION_MIDIPIX"; + rtl_lconcat \$GCCTARGET_FLAGS "${DEFAULT_CFLAGS_DEBUG_RUNTIME}"; + export cbb_ldflags_for_target=--sysroot="${PKG_PREFIX}" \ + cbb_sysroot_for_libgcc="${PKG_PREFIX}" \ + cbb_xgcc_for_specs="${PKG_TARGET}-gcc" \ + sysroot_headers_suffix="${PKG_PREFIX}"; + ;; + gcc_stage1_cross_mingw32) GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PREFIX_MINGW32} -midata"; - export cbb_ldflags_for_target=--sysroot="${PREFIX_MINGW32}" \ - cbb_neutral_libiberty=no \ - cbb_sysroot_for_libgcc="${PREFIX_MINGW32}" \ - cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc"; ;; + export cbb_ldflags_for_target=--sysroot="${PREFIX_MINGW32}" \ + cbb_neutral_libiberty=no \ + cbb_sysroot_for_libgcc="${PREFIX_MINGW32}" \ + cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc"; + ;; + gcc_stage1_host) GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PREFIX_CROSS}"; - GCCTARGET_FLAGS="$(rtl_lconcat "${GCCTARGET_FLAGS}" "--include=${_unwind_midipix_h}")"; - GCCTARGET_FLAGS="$(rtl_lconcat "${GCCTARGET_FLAGS}" "-DTARGET_PERSONALITY_FUNCTION")"; - GCCTARGET_FLAGS="$(rtl_lconcat "${GCCTARGET_FLAGS}" "-DTARGET_PERSONALITY_FUNCTION_MIDIPIX")"; - GCCTARGET_FLAGS="$(rtl_lconcat "${GCCTARGET_FLAGS}" "${DEFAULT_CFLAGS_DEBUG_RUNTIME}")"; - export cbb_ldflags_for_target="--sysroot=${PREFIX_CROSS}" \ - cbb_neutral_libiberty="no" \ - cbb_sysroot_for_libgcc="${PREFIX_CROSS}" \ - cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc" \ - LDFLAGS="${PKG_LDFLAGS_CONFIGURE}"; ;; + rtl_lconcat \$GCCTARGET_FLAGS "--include=${_unwind_midipix_h}"; + rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION"; + rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION_MIDIPIX"; + rtl_lconcat \$GCCTARGET_FLAGS "${DEFAULT_CFLAGS_DEBUG_RUNTIME}"; + export cbb_ldflags_for_target="--sysroot=${PREFIX_CROSS}" \ + cbb_neutral_libiberty="no" \ + cbb_sysroot_for_libgcc="${PREFIX_CROSS}" \ + cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc" \ + LDFLAGS="${PKG_LDFLAGS_CONFIGURE}"; + ;; + gcc_stage1_native_mingw32) GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PKG_PREFIX} -midata"; - export cbb_ldflags_for_target=--sysroot="${PKG_PREFIX}" \ - cbb_neutral_libiberty=no \ - cbb_sysroot_for_libgcc="${PKG_PREFIX}" \ - cbb_xgcc_for_specs="${PKG_TARGET}-gcc"; ;; + export cbb_ldflags_for_target=--sysroot="${PKG_PREFIX}" \ + cbb_neutral_libiberty=no \ + cbb_sysroot_for_libgcc="${PKG_PREFIX}" \ + cbb_xgcc_for_specs="${PKG_TARGET}-gcc"; + ;; + esac; - GCCFLAGS="$(rtl_lconcat "${PKG_CFLAGS_CONFIGURE}" \ - "--include $(readlink -f "${PKG_BASE_DIR}/cbb-gcc-${PKG_VERSION}/libc/cbb-musl-pe.h")")"; + + rtl_lconcat2 \ + \$GCCFLAGS \ + \$PKG_CFLAGS_CONFIGURE \ + "--include $(readlink -f "${PKG_BASE_DIR}/cbb-gcc-${PKG_VERSION}/libc/cbb-musl-pe.h")"; }; pkgp_gcc_stage1_all() { - local _restart_at="${1}" _rc=0; + local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}" \ + _rc=0; + case "${PKG_NAME}" in + gcc_stage1_cross_mingw32) - pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" mingw32; ;; + pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" mingw32; + ;; + gcc_stage1_host) if ! rtl_fileop ln_symbolic . "${PREFIX_CROSS}/usr"\ || ! rtl_fileop mkdir "${PREFIX_CROSS}/usr/include"\ || ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross; then _rc=1; - fi; ;; + fi; + ;; + gcc_stage1_native_mingw32) - pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" native; ;; + pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" native; + ;; + esac; + if [ "${_rc}" -ne 0 ]; then return 1; fi; + if ! ex_pkg_state_test "${PKG_NAME}" fetch "${_restart_at}"; then - if ! pkg_fetch_download_dlcache_subdir; then + if ! rtl_fetch_dlcache_subdir \ + "${BUILD_DLCACHEDIR}" "${PKG_NAME}" \ + "${PKG_INHERIT_FROM:-}"; + then return 1; elif ! rtl_fetch_urls_git \ "${BUILD_DLCACHEDIR}/${PKG_NAME}" "${DEFAULT_GIT_ARGS}" "${PKG_BASE_DIR}" \ @@ -133,15 +165,20 @@ pkgp_gcc_stage1_all() { pkgp_gcc_state_set "fetch" "patch"; fi; fi; + if ! ex_pkg_state_test "${PKG_NAME}" patch "${_restart_at}"; then if [ -e "${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}.local.patch" ]; then patch -b -d "${PKG_BASE_DIR}" -p0 < "${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}.local.patch" || return 1; fi; pkgp_gcc_state_set "patch" "configure"; fi; - pkgp_gcc_setup_vars; pkgp_gcc_setup_env; + + pkgp_gcc_setup_vars; + pkgp_gcc_setup_env; + if ! ex_pkg_state_test "${PKG_NAME}" configure "${_restart_at}"; then case "${PKG_NAME}" in + gcc_stage1_cross_mingw32) pkgp_gcc_configure \ --enable-sjlj-exceptions \ @@ -150,7 +187,9 @@ pkgp_gcc_stage1_all() { --with-mpc="${PREFIX}" \ --with-mpfr="${PREFIX}" \ --with-sysroot="${PREFIX_MINGW32}" \ - --without-headers; ;; + --without-headers; + ;; + gcc_stage1_host) pkgp_gcc_configure \ --disable-sjlj-exceptions \ @@ -158,7 +197,9 @@ pkgp_gcc_stage1_all() { --with-gmp="${PREFIX}" \ --with-mpc="${PREFIX}" \ --with-mpfr="${PREFIX}" \ - --with-sysroot="${PREFIX_CROSS}"; ;; + --with-sysroot="${PREFIX_CROSS}"; + ;; + gcc_stage1_native_mingw32) pkgp_gcc_configure \ --build=x86_64-unknown-linux-gnu \ @@ -170,33 +211,46 @@ pkgp_gcc_stage1_all() { --with-mpc="${PKG_PREFIX}" \ --with-mpfr="${PKG_PREFIX}" \ --with-sysroot= \ - --without-headers; ;; + --without-headers; + ;; + esac; + if [ "${?}" -ne 0 ]; then return 1; fi; - else rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}" || return 1; + else + rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}" || return 1; fi; + if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then make ${PKG_MAKEFLAGS_BUILD} "all-gcc" || return 1; pkgp_gcc_state_set "build" "install_subdirs"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_subdirs "${_restart_at}"; then - pkg_install_subdirs || return 1; + pkg_install_subdirs "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install_subdirs" "install_make"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_make "${_restart_at}"; then case "${PKG_NAME}" in + gcc_stage1_cross_mingw32) make ${PKG_MAKEFLAGS_BUILD} "prefix=${PKG_DESTDIR}" "install-gcc"; ;; + gcc_stage1_host) make ${PKG_MAKEFLAGS_BUILD} "prefix=${PKG_DESTDIR}" "install-gcc"; ;; + gcc_stage1_native_mingw32) make ${PKG_MAKEFLAGS_BUILD} "prefix=${PKG_DESTDIR}" "install-gcc"; ;; + esac; + if [ "${?}" -ne 0 ]; then return 1; - else case "$(uname -s)" in + else + case "$(uname -s)" in CYGWIN_*) if ! rtl_fileop ln_symbolic "${PKG_DESTDIR}/libexec/gcc/${PKG_TARGET}/${PKG_VERSION}/liblto_plugin.dll.a"\ || ! rtl_fileop ln_symbolic "${PKG_DESTDIR}/libexec/gcc/${PKG_TARGET}/${PKG_VERSION}/liblto_plugin.so"; then @@ -206,20 +260,30 @@ pkgp_gcc_stage1_all() { pkgp_gcc_state_set "install_make" "install"; fi; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install "${_restart_at}"; then - pkg_install || return 1; + pkg_install "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install"; fi; + pkgp_gcc_state_set "finish"; + + return 0; }; pkg_gcc_full_all() { - local _restart_at="${1}" _configure_host="" _vis_hide="vis_hide=-fvisibility=hidden"; + local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}" \ + _configure_host="" _vis_hide="vis_hide=-fvisibility=hidden"; export MAKE="make LIBTOOL=slibtool ${_vis_hide}"; + pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" native; + if ! ex_pkg_state_test "${PKG_NAME}" fetch "${_restart_at}"; then - if ! pkg_fetch_download_dlcache_subdir; then + if ! rtl_fetch_dlcache_subdir \ + "${BUILD_DLCACHEDIR}" "${PKG_NAME}" \ + "${PKG_INHERIT_FROM:-}"; + then return 1; elif ! rtl_fetch_urls_git \ "${BUILD_DLCACHEDIR}/${PKG_NAME}" "${DEFAULT_GIT_ARGS}" \ @@ -231,22 +295,28 @@ pkg_gcc_full_all() { pkgp_gcc_state_set "fetch" "patch"; fi; fi; + if ! ex_pkg_state_test "${PKG_NAME}" patch "${_restart_at}"; then if [ -e "${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}.local.patch" ]; then patch -b -d "${PKG_BASE_DIR}" -p0 < "${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}.local.patch" || return 1; fi; pkgp_gcc_state_set "patch" "configure"; fi; - pkgp_gcc_setup_vars; pkgp_gcc_setup_env; + + pkgp_gcc_setup_vars; + pkgp_gcc_setup_env; + if ! ex_pkg_state_test "${PKG_NAME}" configure "${_restart_at}"; then rtl_fileop mkdir "${PKG_PREFIX}/${PKG_TARGET}" || return 1; if [ \! -d "${PKG_PREFIX}/${PKG_TARGET}/usr" ]; then rtl_fileop ln_symbolic . "${PKG_PREFIX}/${PKG_TARGET}/usr" || return 1; fi; + case "${ARCH}" in nt32) _configure_host="i686-nt32-midipix"; ;; nt64) _configure_host="x86_64-nt64-midipix"; ;; esac; + pkgp_gcc_configure \ --disable-sjlj-exceptions \ --host="${_configure_host}" \ @@ -256,8 +326,10 @@ pkg_gcc_full_all() { --with-mpc="${PKG_PREFIX}" \ --with-mpfr="${PKG_PREFIX}" \ --with-sysroot="" || return 1; - else rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}" || return 1; + else + rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}" || return 1; fi; + if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then if ! make ${PKG_MAKEFLAGS_BUILD} "all-gcc"\ || ! make ${PKG_MAKEFLAGS_BUILD} "all-target-libgcc" ${_vis_hide}\ @@ -268,97 +340,128 @@ pkg_gcc_full_all() { else pkgp_gcc_state_set "build" "install_subdirs"; fi; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_subdirs "${_restart_at}"; then - pkg_install_subdirs || return 1; + pkg_install_subdirs "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install_subdirs" "install_make"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_make "${_restart_at}"; then make ${PKG_MAKEFLAGS_BUILD} "prefix=${PKG_DESTDIR}" "install" || return 1; pkgp_gcc_state_set "install_make" "install"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install "${_restart_at}"; then - pkg_install || return 1; + pkg_install "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install"; fi; + pkgp_gcc_state_set "finish"; + + return 0; }; pkg_gcc_full_host_all() { - local _restart_at="${1}"; + local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}"; export MAKE="make LIBTOOL=slibtool"; + if ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross\ || ! rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}"; then return 1; - else if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then + else + if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then make ${PKG_MAKEFLAGS_BUILD} || return 1; pkgp_gcc_state_set "build" "install_subdirs"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_subdirs "${_restart_at}"; then - pkg_install_subdirs || return 1; + pkg_install_subdirs "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install_subdirs" "install_make"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_make "${_restart_at}"; then make ${PKG_MAKEFLAGS_BUILD} "prefix=${PKG_DESTDIR}" "install" || return 1; pkgp_gcc_state_set "install_make" "install"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install "${_restart_at}"; then - pkg_install || return 1; + pkg_install "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install"; fi; + pkgp_gcc_state_set "finish"; fi; + + return 0; }; pkg_gcc_libstdcpp_v3_host_all() { - local _restart_at="${1}"; + local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}"; export MAKE="make LIBTOOL=slibtool"; + if ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross\ || ! rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}"; then return 1; - else if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then + else + if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then make ${PKG_MAKEFLAGS_BUILD} "all-target-libstdc++-v3" || return 1; pkgp_gcc_state_set "build" "install_subdirs"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_subdirs "${_restart_at}"; then - pkg_install_subdirs || return 1; + pkg_install_subdirs "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install_subdirs" "install_make"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_make "${_restart_at}"; then make ${PKG_MAKEFLAGS_BUILD} "prefix=${PKG_DESTDIR}" "install-target-libstdc++-v3" || return 1; pkgp_gcc_state_set "install_make" "install"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install "${_restart_at}"; then - pkg_install || return 1; + pkg_install "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install"; fi; + pkgp_gcc_state_set "finish"; fi; + + return 0; }; pkg_gcc_runtime_host_all() { - local _restart_at="${1}" _vis_hide="vis_hide=-fvisibility=hidden"; + local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}" \ + _vis_hide="vis_hide=-fvisibility=hidden"; export MAKE="make LIBTOOL=slibtool ${_vis_hide}"; + if ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross\ || ! rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}"; then return 1; - else if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then + else + if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then make ${PKG_MAKEFLAGS_BUILD} "all-target-libgcc" ${_vis_hide} || return 1; pkgp_gcc_state_set "build" "install_subdirs"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_subdirs "${_restart_at}"; then - pkg_install_subdirs || return 1; + pkg_install_subdirs "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install_subdirs" "install_make"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install_make "${_restart_at}"; then make ${PKG_MAKEFLAGS_BUILD} "prefix=${PKG_DESTDIR}" "install-target-libgcc" || return 1; pkgp_gcc_state_set "install_make" "install"; fi; + if ! ex_pkg_state_test "${PKG_NAME}" install "${_restart_at}"; then - pkg_install || return 1; + pkg_install "${_group_name}" "${_pkg_name}" "${_restart_at}" || return 1; pkgp_gcc_state_set "install"; fi; + pkgp_gcc_state_set "finish"; fi; + + return 0; }; pkg_gcc_stage1_all() { @@ -373,6 +476,7 @@ pkg_gcc_stage1_cross_mingw32_all() { || ! pkgp_gcc_stage1_all "${@}"; then return 1; fi; + return 0; }; pkg_gcc_stage1_host_all() { @@ -387,6 +491,7 @@ pkg_gcc_stage1_native_mingw32_all() { || ! pkgp_gcc_stage1_all "${@}"; then return 1; fi; + return 0; }; # vim:filetype=sh textwidth=0 diff --git a/vars/git.vars b/vars/git.vars index bcdda80b..73255a6b 100644 --- a/vars/git.vars +++ b/vars/git.vars @@ -5,7 +5,7 @@ pkg_git_install_make_post() { local _fname="" _fname_new=""; for _fname in $(find "${PKG_DESTDIR}" -name "Git*::*" -type f); do - _fname_new="$(rtl_subst "${_fname}" "::" ".")"; + rtl_subst2 \$_fname \$_fname_new "::" "."; if ! rtl_fileop mv "${_fname}" "${_fname_new}"; then return 1; fi; diff --git a/vars/perl.vars b/vars/perl.vars index 3ff7b94d..b634a3e7 100644 --- a/vars/perl.vars +++ b/vars/perl.vars @@ -3,7 +3,7 @@ # pkg_perl_fetch_extract_post() { - local _cflag="" _fname_dst="" _fname_src=""; + local _cflag="" _dname_dst="" _fname_dst="" _fname_src=""; if ! ( if ! rtl_fileop cd "${PKG_BASE_DIR}"; then return 1; else @@ -14,8 +14,9 @@ pkg_perl_fetch_extract_post() { return 1; fi; fi; - if [ ! -d "$(rtl_dirname "${_fname_dst}")" ]; then - if ! rtl_fileop mkdir "$(rtl_dirname "${_fname_dst}")"; then + rtl_dirname2 \$_fname_dst \$_dname_dst; + if ! [ -d "${_dname_dst}" ]; then + if ! rtl_fileop mkdir "${_dname_dst}"; then return 1; fi; fi; @@ -27,7 +28,7 @@ pkg_perl_fetch_extract_post() { return 1; else for _cflag in ${PKG_CFLAGS_CONFIGURE}; do - PKG_CONFIGURE_ARGS="$(rtl_lconcat "${PKG_CONFIGURE_ARGS}" "-A ccflags=${_cflag}")"; + rtl_lconcat \$PKG_CONFIGURE_ARGS "-A ccflags=${_cflag}"; done; fi; }; -- cgit v1.2.3