Hello.

After a discussion with Richi, using adding "-O2" to STAGE1 cflags with a recent
enough compiler can significantly speed up bootstrap. Thus I'm suggesting to
introduce --with-stage1-cflags where one can provide such options.

Apart from that, maybe it would be handy to automatically enable "-O2" when
one has a recent compiler? Do we have an example where we detect host compiler
and it's version?

Martin
>From 5c44f79237125ad2bc29fcd1fb06a249c05b277d Mon Sep 17 00:00:00 2001
From: marxin <mli...@suse.cz>
Date: Thu, 25 May 2017 11:17:29 +0200
Subject: [PATCH] Introduce configure flag --with-stage1-cflags.

ChangeLog:

2017-05-25  Martin Liska  <mli...@suse.cz>

	* configure.ac: Introduce configure flag --with-stage1-cflags.
	* configure: Regenerate.
---
 configure    | 40 +++++++++++++++++++++++++++-------------
 configure.ac | 31 +++++++++++++++++++------------
 2 files changed, 46 insertions(+), 25 deletions(-)

diff --git a/configure b/configure
index 2c2fe644cfa..442f78d9565 100755
--- a/configure
+++ b/configure
@@ -559,7 +559,6 @@ compare_exclusions
 host_shared
 stage2_werror_flag
 stage1_checking
-stage1_cflags
 MAINT
 MAINTAINER_MODE_FALSE
 MAINTAINER_MODE_TRUE
@@ -652,6 +651,7 @@ isllibs
 poststage1_ldflags
 poststage1_libs
 stage1_ldflags
+stage1_cflags
 stage1_libs
 extra_isl_gmp_configure_flags
 extra_mpc_mpfr_configure_flags
@@ -771,6 +771,7 @@ with_gmp
 with_gmp_include
 with_gmp_lib
 with_stage1_libs
+with_stage1_cflags
 with_stage1_ldflags
 with_boot_libs
 with_boot_ldflags
@@ -1542,6 +1543,8 @@ Optional Packages:
   --with-gmp-include=PATH specify directory for installed GMP include files
   --with-gmp-lib=PATH     specify directory for the installed GMP library
   --with-stage1-libs=LIBS libraries for stage1
+  --with-stage1-cflags=FLAGS
+                          compiler flags for stage1
   --with-stage1-ldflags=FLAGS
                           linker flags for stage1
   --with-boot-libs=LIBS   libraries for stage2 and later
@@ -5804,6 +5807,29 @@ fi
 
 
 
+# Compiler flags to use for stage1 or when not bootstrapping.
+
+# Check whether --with-stage1-cflags was given.
+if test "${with_stage1_cflags+set}" = set; then :
+  withval=$with_stage1_cflags; if test "$withval" = "no" -o "$withval" = "yes"; then
+   stage1_cflags=
+ else
+   stage1_cflags=$withval
+ fi
+else
+  stage1_cflags="-g"
+  case $build in
+    vax-*-*)
+      case ${GCC} in
+	yes) stage1_cflags="-g -Wa,-J" ;;
+	*) stage1_cflags="-g -J" ;;
+      esac ;;
+  esac
+fi
+
+
+
+
 # Linker flags to use for stage1 or when not bootstrapping.
 
 # Check whether --with-stage1-ldflags was given.
@@ -14544,18 +14570,6 @@ MAINT=$MAINTAINER_MODE_TRUE
 # GCC bootstrap support
 # ---------------------
 
-# Stage specific cflags for build.
-stage1_cflags="-g"
-case $build in
-  vax-*-*)
-    case ${GCC} in
-      yes) stage1_cflags="-g -Wa,-J" ;;
-      *) stage1_cflags="-g -J" ;;
-    esac ;;
-esac
-
-
-
 # Enable --enable-checking in stage1 of the compiler.
 # Check whether --enable-stage1-checking was given.
 if test "${enable_stage1_checking+set}" = set; then :
diff --git a/configure.ac b/configure.ac
index 865dd543fa3..7b7902240c3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1637,6 +1637,25 @@ AC_ARG_WITH(stage1-libs,
 [stage1_libs=])
 AC_SUBST(stage1_libs)
 
+# Compiler flags to use for stage1 or when not bootstrapping.
+AC_ARG_WITH(stage1-cflags,
+[AS_HELP_STRING([--with-stage1-cflags=FLAGS], [compiler flags for stage1])],
+[if test "$withval" = "no" -o "$withval" = "yes"; then
+   stage1_cflags=
+ else
+   stage1_cflags=$withval
+ fi],
+[stage1_cflags="-g"
+  case $build in
+    vax-*-*)
+      case ${GCC} in
+	yes) stage1_cflags="-g -Wa,-J" ;;
+	*) stage1_cflags="-g -J" ;;
+      esac ;;
+  esac])
+
+AC_SUBST(stage1_cflags)
+
 # Linker flags to use for stage1 or when not bootstrapping.
 AC_ARG_WITH(stage1-ldflags,
 [AS_HELP_STRING([--with-stage1-ldflags=FLAGS], [linker flags for stage1])],
@@ -3421,18 +3440,6 @@ AC_SUBST(MAINT)dnl
 # GCC bootstrap support
 # ---------------------
 
-# Stage specific cflags for build.
-stage1_cflags="-g"
-case $build in
-  vax-*-*)
-    case ${GCC} in
-      yes) stage1_cflags="-g -Wa,-J" ;;
-      *) stage1_cflags="-g -J" ;;
-    esac ;;
-esac
-
-AC_SUBST(stage1_cflags)
-
 # Enable --enable-checking in stage1 of the compiler.
 AC_ARG_ENABLE(stage1-checking,
 [AS_HELP_STRING([[--enable-stage1-checking[=all]]],
-- 
2.12.2

Reply via email to