public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-6077] Tweak language choice in config-list.mk
@ 2023-12-02 13:50 Richard Sandiford
  0 siblings, 0 replies; only message in thread
From: Richard Sandiford @ 2023-12-02 13:50 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:301dec8533460152c4dd61f46c8e9276e169c49a

commit r14-6077-g301dec8533460152c4dd61f46c8e9276e169c49a
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Sat Dec 2 13:49:53 2023 +0000

    Tweak language choice in config-list.mk
    
    When I tried to use config-list.mk, the build for every triple except
    the build machine's failed for m2.  This is because, unlike other
    languages, m2 builds target objects during all-gcc.  The build will
    therefore fail unless you have access to an appropriate binutils
    (or an equivalent).  That's quite a big ask for over 100 targets. :)
    
    This patch therefore makes m2 an optional inclusion.
    
    Doing that wasn't entirely straightforward though.  The current
    configure line includes "--enable-languages=all,...", which means
    that the "..." can only force languages to be added that otherwise
    wouldn't have been.  (I.e. the only effect of the "..." is to
    override configure autodetection.)
    
    The choice of all,ada and:
    
      # Make sure you have a recent enough gcc (with ada support) in your path so
      # that --enable-werror-always will work.
    
    make it clear that lack of GNAT should be a build failure rather than
    silently ignored.  This predates the D frontend, which requires GDC
    in the same way that Ada requires GNAT.  I don't know of a reason
    why D should be treated differently.
    
    The patch therefore expands the "all" into a specific list of
    languages.
    
    That in turn meant that Fortran had to be handled specially,
    since bpf and mmix don't support Fortran.
    
    Perhaps there's an argument that m2 shouldn't build target objects
    during all-gcc, but (a) it works for practical usage and (b) the
    patch is an easy workaround.  I'd be happy for the patch to be
    reverted if the build system changes.
    
    contrib/
            * config-list.mk (OPT_IN_LANGUAGES): New variable.
            ($(LIST)): Replace --enable-languages=all with a specifc list.
            Disable fortran on bpf and mmix.  Enable the languages in
            OPT_IN_LANGUAGES.

Diff:
---
 contrib/config-list.mk | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/contrib/config-list.mk b/contrib/config-list.mk
index c090be13147..0694cc128fa 100644
--- a/contrib/config-list.mk
+++ b/contrib/config-list.mk
@@ -12,6 +12,11 @@ TEST=all-gcc
 # supply an absolute path.
 GCC_SRC_DIR=../../gcc
 
+# Define this to ,m2 if you want to build Modula-2.  Modula-2 builds target
+# objects during all-gcc, so it can only be included if you've installed
+# binutils (or an equivalent) for each target.
+OPT_IN_LANGUAGES=
+
 # Use -j / -l make arguments and nice to assure a smooth resource-efficient
 # load on the build machine, e.g. for 24 cores:
 # svn co svn://gcc.gnu.org/svn/gcc/branches/foo-branch gcc
@@ -128,17 +133,23 @@ $(LIST): make-log-dir
 		TGT=`echo $@ | awk 'BEGIN { FS = "OPT" }; { print $$1 }'` &&			\
 		TGT=`$(GCC_SRC_DIR)/config.sub $$TGT` &&					\
 		case $$TGT in									\
-			*-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix* | bpf-*-*)			\
+			bpf-*-*)								\
 				ADDITIONAL_LANGUAGES="";					\
 				;;								\
-			*)									\
+			*-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*)			\
+				ADDITIONAL_LANGUAGES=",fortran";				\
+				;;								\
+			mmix-*-*)								\
 				ADDITIONAL_LANGUAGES=",go";					\
 				;;								\
+			*)									\
+				ADDITIONAL_LANGUAGES=",fortran,go";				\
+				;;								\
 		esac &&										\
 		$(GCC_SRC_DIR)/configure							\
 			--target=$(subst SCRIPTS,`pwd`/../scripts/,$(subst OPT,$(empty) -,$@))	\
 			--enable-werror-always ${host_options}					\
-			--enable-languages=all,ada$$ADDITIONAL_LANGUAGES;			\
+			--enable-languages=c,ada,c++,d,lto,objc,obj-c++,rust$$ADDITIONAL_LANGUAGES$(OPT_IN_LANGUAGES); \
 	) > log/$@-config.out 2>&1
 
 $(LOGFILES) : log/%-make.out : %

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-12-02 13:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-02 13:50 [gcc r14-6077] Tweak language choice in config-list.mk Richard Sandiford

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).