commit:     2ca8d5bb635d8f9db68d87e078f4ce4f410e9152
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 23:07:57 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 23:07:57 2019 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2ca8d5bb

Add --utils-cxx option

To compile thin-provisioning-tools, required for LVM thin provisioning
support which was added in commit 9dea735590ebfff278710148fa8743777a18c4bd,
we need a C++ compiler.

This option will allow user to specify custom C++ compiler (for example
when using ccache/distcc).

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 defaults/config.sh   | 1 +
 doc/genkernel.8.txt  | 5 ++++-
 gen_cmdline.sh       | 7 ++++++-
 gen_determineargs.sh | 1 +
 gen_funcs.sh         | 3 +++
 genkernel.conf       | 6 +++++-
 6 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/defaults/config.sh b/defaults/config.sh
index 9d15633..d9ea32c 100644
--- a/defaults/config.sh
+++ b/defaults/config.sh
@@ -43,5 +43,6 @@ DEFAULT_KERNEL_LD=ld
 
 DEFAULT_UTILS_CFLAGS="-Os -pipe -fomit-frame-pointer"
 DEFAULT_UTILS_CC=gcc
+DEFAULT_UTILS_CXX=g++
 DEFAULT_UTILS_AS=as
 DEFAULT_UTILS_LD=ld

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 82da1e1..3932e3d 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -269,7 +269,10 @@ LOW-LEVEL COMPILATION OPTIONS
     C compiler flags used to compile utilities.
 
 *--utils-cc*=<compiler>::
-    Compiler to use for utilities.
+    C Compiler to use for utilities.
+
+*--utils-cxx*=<compiler>::
+    C++ Compiler to use for utilities.
 
 *--utils-ld*=<linker>::
     Linker to use for utilities.

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 7e74182..d74c8f8 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -94,7 +94,8 @@ longusage() {
   echo "       --kernel-outputdir=<path>"
   echo "                               Save output files outside the source 
tree"
   echo "       --utils-as=<assembler>  Assembler to use for utils"
-  echo "       --utils-cc=<compiler>   Compiler to use for utilities"
+  echo "       --utils-cc=<compiler>   C Compiler to use for utilities"
+  echo "       --utils-cxx=<compiler>  C++ Compiler to use for utilities"
   echo "       --utils-cflags=<cflags> C compiler flags used to compile 
utilities"
   echo "       --utils-ld=<linker>     Linker to use for utils"
   echo "       --utils-make=<makeprog> GNU Make to use for utils"
@@ -309,6 +310,10 @@ parse_cmdline() {
                        CMD_UTILS_CC="${*#*=}"
                        print_info 3 "CMD_UTILS_CC: ${CMD_UTILS_CC}"
                        ;;
+               --utils-cxx=*)
+                       CMD_UTILS_CXX="${*#*=}"
+                       print_info 3 "CMD_UTILS_CXX: ${CMD_UTILS_CXX}"
+                       ;;
                --utils-cflags=*)
                        CMD_UTILS_CFLAGS="${*#*=}"
                        print_info 3 "CMD_UTILS_CFLAGS: ${CMD_UTILS_CFLAGS}"

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index f3cfedf..28590d3 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -285,6 +285,7 @@ determine_real_args() {
        set_config_with_override STRING KERNEL_LD                             
CMD_KERNEL_LD                             "$DEFAULT_KERNEL_LD"
        set_config_with_override STRING KERNEL_AS                             
CMD_KERNEL_AS                             "$DEFAULT_KERNEL_AS"
        set_config_with_override STRING UTILS_CC                              
CMD_UTILS_CC                              "$DEFAULT_UTILS_CC"
+       set_config_with_override STRING UTILS_CXX                             
CMD_UTILS_CXX                             "$DEFAULT_UTILS_CXX"
        set_config_with_override STRING UTILS_LD                              
CMD_UTILS_LD                              "$DEFAULT_UTILS_LD"
        set_config_with_override STRING UTILS_AS                              
CMD_UTILS_AS                              "$DEFAULT_UTILS_AS"
 

diff --git a/gen_funcs.sh b/gen_funcs.sh
index 23f6d30..1d4a91d 100755
--- a/gen_funcs.sh
+++ b/gen_funcs.sh
@@ -1061,6 +1061,9 @@ _tc-getPROG() {
                        CC)
                                [[ -n "${multilib_cflags}" ]] && prog+=( 
"${multilib_cflags}" )
                                ;;
+                       CXX)
+                               [[ -n "${multilib_cflags}" ]] && prog+=( 
"${multilib_cflags}" )
+                               ;;
                        LD)
                                [[ -n "${multilib_ldflags}" ]] &&  prog+=( 
"${multilib_ldflags}" )
                                ;;

diff --git a/genkernel.conf b/genkernel.conf
index aa458fb..388502f 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -205,10 +205,14 @@ NOCOLOR="false"
 # option.
 #UTILS_MAKE="make"
 
-# Compiler to use for the utilities (e.g. distcc).  See also the --utils-cc
+# C Compiler to use for the utilities (e.g. distcc).  See also the --utils-cc
 # command line option.
 #UTILS_CC="gcc"
 
+# C++ Compiler to use for the utilities (e.g. distcc).  See also the 
--utils-cxx
+# command line option.
+#UTILS_CXX="g++"
+
 # Assembler to use for the utilities.  See also the --utils-as command line
 # option.
 #UTILS_AS="as"

Reply via email to