[jhalfs] 01/05: Reorganize advanced options in Config.in

"Git Owner" ([email protected] via alfs-discuss Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.automated
Message-ID <[email protected]>
This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch xry111/parallelism
in repository jhalfs.

commit 645ec4780e533fec30b56ae6e1fca4f0ba88207d
Author: Pierre Labastie <[email protected]>
AuthorDate: Wed Nov 15 18:04:05 2023 +0100

    Reorganize advanced options in Config.in
    
    - Put parallelization menu first
    - Fix the logic for variable definitions in this menu
    - change jhalfs to reflect the separation of optimization and
      parallelization
    - validate new variables
    - remove MAKEFLAGS from the validation of optimize variables
    - also remove the black list, which has not been used in years.
---
 Config.in                            | 170 +++++++++++++++++------------------
 common/libs/func_validate_configs.sh |   6 +-
 jhalfs                               |   9 +-
 optimize/optimize_functions          |   5 +-
 4 files changed, 94 insertions(+), 96 deletions(-)

diff --git a/Config.in b/Config.in
index 8bc7161..a0bfc0f 100644
--- a/Config.in
+++ b/Config.in
@@ -771,51 +771,56 @@ endmenu        #--- System configuration
 menu "Advanced Features"
 depends on !BOOK_BLFS
 
-    config    REPORT
-        bool "Create SBU and disk usage report"
+    #--- Parallelism
+    menu "Parallelism settings"
+    if HAVE_NPROC
+        config ALL_CORES
+        bool "Use all cores as in new books (say n for old books)"
         default y
-
-    config    SAVE_CH5
-        bool "Save Chapter 5 work"
-        depends on BOOK_LFS || BOOK_LFS_SYSD
-        default n
-        help
-            Save the state of jhalfs at the end of chapter 5:
-            
-            if you tick this item, the whole $LFS directory is
-            saved when chapter 5 is finished. It'll be in an xz
-            compressed tarball in the $LFS/jhalfs directory
-
-    #--- ICA
-    config    COMPARE
-        bool "Run comparison analysis on final stage"
-        default n
         help
-            #-- Should an iterative comparison analysis be performed?
-            #
-            #   Unless you are familiar with ICA, do not
-            #   select this option
-            #
-            #  ICA is an analysis tool for comparing one
-            #  build to the next. Builds mays differ from one iteration
-            #  to another due to the build order and this tool try
-            #  to ferret out those differences by examining the stored
-            #  build logs and binary files.
-            #
-            #  The scripts are well commented and can be found in ./extras/*
-            #
+              Use book instructions as written for parallelism since version
+              r12.0-87 included. If you answer no, then jhalfs will fall back
+              to a static number of cores, defined below. If you answer y, and
+              your system supports it, you'll be asked for a cpu set to use.
+                 There is no detection of book version. If the book version
+              is lower than r12.0-87, say no!
 
-    config    ITERATIONS
-        int    "Number of test runs (2,3,4,5)"    if COMPARE
-        depends on COMPARE
-        range    2 5
-        default    3
+        if ALL_CORES && HAVE_CGROUP
+            config CPUSET
+            string "set of cpus to use, or 'all' for all cpus"
+            default "all"
+            help
+                 See "List format" in cpuset(7). Choosing cpus depend
+                 on the topology of your processors. Sometimes two
+                 hyperthreads on the same core are numbered consecutively.
+                 For example for using all cores and no hyperthreading on
+                 a Haswell, use "0,2,4,6". Other brands may have a different
+                 topology, and may require e.g. "0-3" to use the first 4 cores.
+                 If not sure, keep the default.
+        endif
 
-    config    RUN_ICA
+    endif # HAVE_NPROC
+    if !HAVE_NPROC
+        config ALL_CORES
         bool
-        default y if COMPARE
+        default n
+    endif
 
-    #--- End ICA
+    config    N_PARALLEL
+        int "Number of parallel `make' jobs"
+        depends on !ALL_CORES
+        default 1
+        help
+            #-- The usual recommandation is (number of CPU cores)+1
+            #   Do not set for meaningful SBU calculations.
+
+    config    REALSBU
+        bool    "Build Binutils pass1 without parallelism (Real SBU)"
+        default    n
+        help
+           #-- Use -j1 in make invokation for Binutils pass1 to
+           #   get a valid SBU value.
+    endmenu # parallelism
 
     #--- Optimizations
     config    CONFIG_OPTIMIZE
@@ -854,61 +859,52 @@ depends on !BOOK_BLFS
         default    "2"    if OPT_2
 
     #--- End Optimizations
-    #--- Parallelism
-    menu "Parallelism settings"
-    if HAVE_NPROC
-        config ALL_CORES
-        bool "Use all cores as in the book"
-        default y
-        help
-              Use book instructions as written for parallelism. If you
-              answer no, then jhalfs will fall back to a static number of
-              cores, defined below. If you answer y, and your system
-              supports it, you'll be asked for a cpu set to use.
 
-        if HAVE_CGROUP
-            config CPUSET
-            string "set of cpus to use, or 'all' for all cpus"
-            default "all"
-            help
-                 See "List format" in cpuset(7). Choosing cpus depend
-                 on the topology of your processors. Sometimes two
-                 hyperthreads on the same core are numbered consecutively.
-                 For example for using all cores and no hyperthreading on
-                 a Haswell, use "0,2,4,6". Other brands may have a different
-                 topology, and may require e.g. "0-3" to use the first 4 cores.
-                 If not sure, keep the default.
-        endif
-        if !HAVE_CGROUP
-            config CPUSET
-            string
-            default "all"
-        endif
+    config    REPORT
+        bool "Create SBU and disk usage report"
+        default y
 
-    endif # HAVE_NPROC
-    if !HAVE_NPROC
-        config ALL_CORES
-        bool
+    config    SAVE_CH5
+        bool "Save Chapter 5 work"
+        depends on BOOK_LFS || BOOK_LFS_SYSD
         default n
-    endif
-
-    config    N_PARALLEL
-        int "Number of parallel `make' jobs"
-        depends on !ALL_CORES
-        default 1
         help
-            #-- The usual recommandation is (number of CPU cores)+1
-            #   Do not set for meaningful SBU calculations.
+            Save the state of jhalfs at the end of chapter 5:
+            
+            if you tick this item, the whole $LFS directory is
+            saved when chapter 5 is finished. It'll be in an xz
+            compressed tarball in the $LFS/jhalfs directory
 
-    config    REALSBU
-        bool    "Build Binutls pass1 without parallelism (Real SBU)"
-        depends on ALL_CORES != 1
-        default    n
+    #--- ICA
+    config    COMPARE
+        bool "Run comparison analysis on final stage"
+        default n
         help
-           #-- Use -j1 in make invokation for Binutils pass1 to
-           #   get a valid SBU value.
-    endmenu # parallelism
+            #-- Should an iterative comparison analysis be performed?
+            #
+            #   Unless you are familiar with ICA, do not
+            #   select this option
+            #
+            #  ICA is an analysis tool for comparing one
+            #  build to the next. Builds mays differ from one iteration
+            #  to another due to the build order and this tool try
+            #  to ferret out those differences by examining the stored
+            #  build logs and binary files.
+            #
+            #  The scripts are well commented and can be found in ./extras/*
+            #
+
+    config    ITERATIONS
+        int    "Number of test runs (2,3,4,5)"    if COMPARE
+        depends on COMPARE
+        range    2 5
+        default    3
 
+    config    RUN_ICA
+        bool
+        default y if COMPARE
+
+    #--- End ICA
 
     #-- Internal Settings
     menu "Internal Settings (WARNING: for jhalfs developers only)"
diff --git a/common/libs/func_validate_configs.sh b/common/libs/func_validate_configs.sh
index ec21656..34d07ec 100644
--- a/common/libs/func_validate_configs.sh
+++ b/common/libs/func_validate_configs.sh
@@ -35,7 +35,7 @@ inline_doc
   local -r LFS_system="HOSTNAME INTERFACE IP_ADDR GATEWAY PREFIX BROADCAST DOMAIN DNS1 DNS2 FONT KEYMAP LOCAL LOG_LEVEL"
 
   # Full list of books settings
-  local -r   lfs_PARAM_LIST="$LFS_book   $GENERAL_common $LFS_build $LFS_system  $ADVANCED_chroot N_PARALLEL REALSBU SAVE_CH5 $ADVANCED_common"
+  local -r   lfs_PARAM_LIST="$LFS_book   $GENERAL_common $LFS_build $LFS_system  $ADVANCED_chroot ALL_CORES CPUSET N_PARALLEL REALSBU SAVE_CH5 $ADVANCED_common"
 #  local -r  blfs_PARAM_LIST="BRANCH_ID BLFS_ROOT BLFS_XML TRACKING_DIR"
 
   # Additional variables
@@ -133,8 +133,8 @@ inline_doc
       RETRYSRCDOWNLOAD) [[ "$GETPKG" = "y" ]] && echo -e "`eval echo $PARAM_VALS`" ;;
       RETRYDOWNLOADCNT) [[ "$GETPKG" = "y" ]] && echo -e "`eval echo $PARAM_VALS`" ;;
       DOWNLOADTIMEOUT)  [[ "$GETPKG" = "y" ]] && echo -e "`eval echo $PARAM_VALS`" ;;
-      N_PARALLEL)       [[ "$OPTIMIZE" -gt "0" ]] && echo -e "`eval echo $PARAM_VALS`" ;;
-      REALSBU)          [[ "$OPTIMIZE" = "2" ]] && echo -e "`eval echo $PARAM_VALS`" ;;
+      CPUSET)           [[ "$HAVE_CGROUP" = "y" ]] && [[ "$ALL_CORES" = "y" ]] && echo -e "`eval echo $PARAM_VALS`" ;;
+      N_PARALLEL)       [[ "$ALL_CORES" = "n" ]] && echo -e "`eval echo $PARAM_VALS`" ;;
 
       # Envars that requires some validation
       LUSER)      echo -e "`eval echo $PARAM_VALS`"
diff --git a/jhalfs b/jhalfs
index 2166769..fe2c30c 100755
--- a/jhalfs
+++ b/jhalfs
@@ -175,6 +175,7 @@ SET_MISC=${SET_MISC:=n}
 SET_BLOWFISH=${SET_BLOWFISH:=n}
 UNICODE=${UNICODE:=n}
 LOCAL=${LOCAL:=n}
+ALL_CORES=${ALL_CORES:=n}
 REALSBU=${REALSBU:=n}
 SAVE_CH5=${SAVE_CH5:=n}
 
@@ -287,12 +288,14 @@ if [[ "$OPTIMIZE" != "0" ]]; then
   #
   # optimize configurations
   load_file optimize/opt_config 'Loading optimization config'
-  # The number of parallel jobs is taken from configuration now
-  # shellcheck disable=SC2034
-  JH_MAKEFLAGS="-j${N_PARALLEL}"
   # Validate optimize settings, if required
   validate_opt_settings
 fi
+# Parallelization is outside optimization, because it is now in the book
+if [[ "$ALL_CORES" = "n" ]]; then
+  # shellcheck disable=SC2034
+  JH_MAKEFLAGS="-j${N_PARALLEL}"
+fi
 #
 
 if [[ "$REBUILD_MAKEFILE" = "n" ]] ; then
diff --git a/optimize/optimize_functions b/optimize/optimize_functions
index 26d5043..1a73cd3 100644
--- a/optimize/optimize_functions
+++ b/optimize/optimize_functions
@@ -16,9 +16,8 @@ validate_opt_settings() {          # Show optimize setting and wait user agreeme
   echo -e "expected, please rebuild without optimizations before"
   echo -e "asking for support.${OFF}\n"
 
-  echo -e "MAKEFLAGS: ${L_arrow}${BOLD}${JH_MAKEFLAGS}${OFF}${R_arrow}"
-  [ -n "$JH_MAKEFLAGS" ] && \
-  echo -e "BLACK_LIST: ${L_arrow}${BOLD}${BLACK_LIST}${OFF}${R_arrow}\n"
+#  [ -n "$JH_MAKEFLAGS" ] && \
+#  echo -e "BLACK_LIST: ${L_arrow}${BOLD}${BLACK_LIST}${OFF}${R_arrow}\n"
 
   echo -e "DEF_OPT_MODE: ${L_arrow}${BOLD}${DEF_OPT_MODE}${OFF}${R_arrow}\n"
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

-- 
http://lists.linuxfromscratch.org/sympa/info/alfs-discuss
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.