From: "Martin Liška" <mliska@suse.cz>
To: gcc-patches@gcc.gnu.org
Subject: [PATCH] configure: add --disable-fix-includes
Date: Mon, 9 May 2022 11:03:36 +0200 [thread overview]
Message-ID: <d59fa9a4-262a-11c8-5290-4f6a138cdfee@suse.cz> (raw)
Right now, fixinclude takes about 11 seconds on my machine, where
it reads 130MB of header files.
The number of fixed headers is negligible without any significant
change.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
Ready to be installed?
Thanks,
Martin
fixincludes/ChangeLog:
* fixinc.in: Add early exit.
gcc/ChangeLog:
* Makefile.in: Support disable_fix_includes.
* configure.ac: Add --disable-fix-includes.
* configure: Regenerate.
---
fixincludes/fixinc.in | 6 ++++++
gcc/Makefile.in | 6 ++++--
gcc/configure | 21 +++++++++++++++++++--
gcc/configure.ac | 6 ++++++
4 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/fixincludes/fixinc.in b/fixincludes/fixinc.in
index 0c3066452c6..3ebcd346d41 100755
--- a/fixincludes/fixinc.in
+++ b/fixincludes/fixinc.in
@@ -63,6 +63,12 @@ else
esac
fi
+if test "x$DISABLE_FIX_INCLUDES" = "xyes"
+then
+ echo "Skipping fixincludes"
+ exit 0
+fi
+
# Define what target system we're fixing.
#
if test -r ./Makefile; then
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 31ff95500c9..c77f1cc644d 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -401,6 +401,8 @@ PLUGINLIBS = @pluginlibs@
enable_plugin = @enable_plugin@
+disable_fix_includes = @disable_fix_includes@
+
# On MinGW plugin installation involves installing import libraries.
ifeq ($(enable_plugin),yes)
plugin_implib := $(if $(strip $(filter mingw%,$(host_os))),yes,no)
@@ -3248,8 +3250,8 @@ stmp-fixinc: gsyslimits.h macro_list fixinc_list \
chmod a+rx $${fix_dir} || true; \
(TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \
- gcc_dir=`${PWD_COMMAND}` ; \
- export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
+ gcc_dir=`${PWD_COMMAND}` ; DISABLE_FIX_INCLUDES=${disable_fix_includes} \
+ export TARGET_MACHINE srcdir SHELL MACRO_LIST DISABLE_FIX_INCLUDES && \
cd $(build_objdir)/fixincludes && \
$(SHELL) ./fixinc.sh "$${gcc_dir}/$${fix_dir}" \
$(BUILD_SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \
diff --git a/gcc/configure b/gcc/configure
index bd4d4721868..843ab02bfa3 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -839,6 +839,7 @@ with_float
with_cpu
enable_multiarch
enable_multilib
+disable_fix_includes
coverage_flags
valgrind_command
valgrind_path_defines
@@ -958,6 +959,7 @@ enable_werror_always
enable_checking
enable_coverage
enable_gather_detailed_mem_stats
+enable_disable_fix_includes
enable_valgrind_annotations
enable_multilib
enable_multiarch
@@ -1688,6 +1690,7 @@ Optional Features:
Values are opt, noopt, default is noopt
--enable-gather-detailed-mem-stats
enable detailed memory allocation stats gathering
+ --disable-fix-includes skip fixing of includes
--enable-valgrind-annotations
enable valgrind runtime interaction
--enable-multilib enable library support for multiple ABIs
@@ -7780,6 +7783,20 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+# Check whether --enable-disable-fix-includes was given.
+if test "${enable_disable_fix_includes+set}" = set; then :
+ enableval=$enable_disable_fix_includes;
+else
+ disable_fix_includes=yes
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define FIX_INCLUDES $disable_fix_includes
+_ACEOF
+
+
+
# Check whether --enable-valgrind-annotations was given.
if test "${enable_valgrind_annotations+set}" = set; then :
enableval=$enable_valgrind_annotations;
@@ -19659,7 +19676,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 19662 "configure"
+#line 19679 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -19765,7 +19782,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 19768 "configure"
+#line 19785 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 1171c946e6e..6015e403aa9 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -842,6 +842,12 @@ gather_stats=`if test $enable_gather_detailed_mem_stats != no; then echo 1; else
AC_DEFINE_UNQUOTED(GATHER_STATISTICS, $gather_stats,
[Define to enable detailed memory allocation stats gathering.])
+AC_ARG_ENABLE(disable-fix-includes,
+[AS_HELP_STRING([--disable-fix-includes],
+ [skip fixing of includes])], [],
+[disable_fix_includes=yes])
+AC_SUBST(disable_fix_includes)
+
AC_ARG_ENABLE(valgrind-annotations,
[AS_HELP_STRING([--enable-valgrind-annotations],
[enable valgrind runtime interaction])], [],
--
2.36.0
next reply other threads:[~2022-05-09 9:03 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-09 9:03 Martin Liška [this message]
2022-05-09 9:31 ` Andreas Schwab
2022-05-09 21:14 ` Joseph Myers
2022-05-11 10:55 ` Martin Liška
2022-05-11 11:00 ` Rainer Orth
2022-05-11 11:15 ` Martin Liška
2022-05-11 11:31 ` Rainer Orth
2022-05-11 11:58 ` Martin Liška
2022-05-11 12:48 ` Andreas Schwab
2022-05-11 14:50 ` Martin Liška
2022-05-20 12:42 ` Alexandre Oliva
2022-05-24 12:05 ` [PATCH v2] Support --disable-fixincludes Martin Liška
2022-05-25 5:37 ` Alexandre Oliva
2022-07-08 11:14 ` Martin Liška
2022-07-09 16:11 ` Jeff Law
2022-08-31 4:30 ` Xi Ruoyao
2022-08-31 4:30 ` Xi Ruoyao
2022-08-31 15:25 ` Alexandre Oliva
-- strict thread matches above, loose matches on Subject: below --
2022-02-04 12:52 [PATCH] configure: add --disable-fix-includes Martin Liška
2022-02-04 13:07 ` Rainer Orth
2022-02-04 13:25 ` Richard Biener
2022-02-04 13:30 ` Jakub Jelinek
2022-02-04 15:01 ` Martin Liška
2022-02-04 15:22 ` Martin Liška
2022-02-05 2:26 ` Allan McRae
2022-02-28 8:36 ` Martin Liška
2022-02-04 15:02 ` Martin Liška
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d59fa9a4-262a-11c8-5290-4f6a138cdfee@suse.cz \
--to=mliska@suse.cz \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).