From 9225a6636994b4edfb671bf12dd70480d0e4b013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz?= Date: Tue, 11 Feb 2020 21:05:04 +0000 Subject: vars/build.vars:{host_toolchain,invariants,native_{runtime,tools,toolchain_mingw32}}: adds dependencies. vars/build.vars:native_toolchain: merges native_toolchain_deps, adds dependencies. vars/build.vars:{bzip2,expat,gdb,python2}: moved into native_toolchain, adds dependencies. vars/build.vars:native_packages_deps{,_{deps,x11}}:${PKG_IN_TREE}: set. vars/env.vars:${DEFAULT_BUILD_VARS}: adds IN_TREE. vars/gcc.vars: continuously echo build status messages to pipe fd #3. etc/build.usage: updated. subr/ex_pkg_dispatch.subr: enforce in-order building given ${PKG_IN_TREE} set on group. --- subr/ex_pkg_dispatch.subr | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'subr') diff --git a/subr/ex_pkg_dispatch.subr b/subr/ex_pkg_dispatch.subr index cf92d8c5..255264fe 100644 --- a/subr/ex_pkg_dispatch.subr +++ b/subr/ex_pkg_dispatch.subr @@ -7,8 +7,9 @@ # exp_pkg_check_depends() { - local _pkg_depends="${1}" _pkg_name="${2}" _dependfl=0; - if [ -z "${_restart}" ]; then + local _group_name="${1}" _pkg_depends="${2}" _pkg_name="${3}" _dependfl=0; + if [ -z "${_restart}" ]\ + || ! [ "$(ex_rtl_get_var_unsafe "$(ex_rtl_toupper "${_group_name}")_IN_TREE"))" = "1" ]; then for _pkg_name_depend in ${_pkg_depends}; do if [ -n "$(ex_rtl_lsearch "${_pkgs_wait}" "${_pkg_name_depend}")" ]\ || [ -z "$(ex_rtl_lsearch "${_pkgs_complete}" "${_pkg_name_depend}")" ]; then @@ -23,12 +24,12 @@ exp_pkg_dispatch_group() { local _njob=0 _pkg_depends="" _pkg_name=""; for _njob in $(seq 1 $((${_njobs_max}-${_njobs}))); do for _pkg_name in ${_pkg_names}; do - if [ -z "$(ex_rtl_lsearch "${_pkgs_complete}" "${_pkg_name}")" ] \ - && [ -z "$(ex_rtl_lsearch "${_pkgs_wait}" "${_pkg_name}")" ] \ + if [ -z "$(ex_rtl_lsearch "${_pkgs_complete}" "${_pkg_name}")" ]\ + && [ -z "$(ex_rtl_lsearch "${_pkgs_wait}" "${_pkg_name}")" ]\ && _pkg_depends="$(exp_pkg_expand_packages $(ex_rtl_get_var_unsafe "PKG_$(ex_rtl_toupper "${_pkg_name}")_DEPENDS"))"\ - && exp_pkg_check_depends "${_pkg_depends}" "${_pkg_name}" \ - && exp_pkg_dispatch_package "${_dispatch_fn}" "${_group_name}" \ - "${_pkg_name}" "${_restart_at}" "${_stderrout_path}" \ + && exp_pkg_check_depends "${_group_name}" "${_pkg_depends}" "${_pkg_name}" \ + && exp_pkg_dispatch_package "${_dispatch_fn}" "${_group_name}" \ + "${_pkg_name}" "${_restart_at}" "${_stderrout_path}" \ "${_pipe_path}"; then _pkgs_found_new="${_pkgs_found_new:+${_pkgs_found_new} }${_pkg_name}"; break; @@ -85,7 +86,8 @@ exp_pkg_get_packages() { && ! ex_rtl_lmatch "ALL LAST" " " "${_restart}"; then _pkg_names="$(ex_rtl_lsearch "${_pkg_names}" "${_restart}")"; fi; - if [ -z "${_restart}" ]; then + if [ -z "${_restart}" ]\ + || ! [ "$(ex_rtl_get_var_unsafe "${_group_name_uc}"_IN_TREE)" = "1" ]; then _pkg_names="$(ex_rtl_uniq $(exp_pkg_expand_packages ${_pkg_names}))"; fi; }; @@ -98,7 +100,8 @@ ex_pkg_dispatch() { "${_dispatch_fn}" start_group "${_group_name}" ""; ex_rtl_fileop mkdir "${BUILD_WORKDIR}"; if exp_pkg_get_packages "${_dispatch_fn}" "${_group_name}" "${_restart}"\ && [ -n "${_pkg_names}" ]; then - if [ "${ARG_PARALLEL:-0}" -gt 1 ]; then + if [ "${ARG_PARALLEL:-0}" -gt 1 ]\ + && ! [ "$(ex_rtl_get_var_unsafe "$(ex_rtl_toupper "${_group_name}")"_IN_TREE)" = 1 ]; then _njobs_max="${DEFAULT_BUILD_CPUS}"; fi; ex_rtl_fileop mkfifo "${_pipe_path}"; exp_pkg_dispatch_group; -- cgit v1.2.3