From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28473 invoked by alias); 23 Jun 2003 17:19:43 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 28389 invoked from network); 23 Jun 2003 17:19:39 -0000 Received: from unknown (HELO ms-smtp-03.nyroc.rr.com) (24.92.226.153) by sources.redhat.com with SMTP; 23 Jun 2003 17:19:39 -0000 Received: from doctormoo (syr-24-24-17-10.twcny.rr.com [24.24.17.10]) by ms-smtp-03.nyroc.rr.com (8.12.5/8.12.2) with ESMTP id h5NHJbs4010346; Mon, 23 Jun 2003 13:19:37 -0400 (EDT) Received: from neroden by doctormoo with local (Exim 3.36 #1 (Debian)) id 19UUyT-0000Zo-00; Mon, 23 Jun 2003 13:19:25 -0400 Date: Mon, 23 Jun 2003 17:19:00 -0000 To: gcc-patches@gcc.gnu.org Cc: gdb-patches@sources.redhat.com, binutils@sources.redhat.com Subject: [toplevel patch] Move more into Makefile.def Message-ID: <20030623171925.GA2217@doctormoo> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.4i From: Nathanael Nerode X-SW-Source: 2003-06/txt/msg00726.txt.bz2 By itself, this isn't very exciting; it's a piece of prep work for cleaning up the way flags are passed down to submakes and subconfigures so that it's more consistent, and hopefully so that some irritating bugs in cross configurations can be stamped out. * Makefile.def: Introduce flags_to_pass. * Makefile.tpl: Generate BASE_FLAGS_TO_PASS using it. * Makefile.in: Regenerate. Index: Makefile.def =================================================================== RCS file: /cvs/gcc/gcc/Makefile.def,v retrieving revision 1.9 diff -u -r1.9 Makefile.def --- Makefile.def 3 Jun 2003 20:42:11 -0000 1.9 +++ Makefile.def 23 Jun 2003 17:16:19 -0000 @@ -136,3 +136,74 @@ recursive_targets = { make_target= clean; }; recursive_targets = { make_target= distclean; }; recursive_targets = { make_target= maintainer-clean; }; + +// Flags which need to be passed down. + +// Directories etc. +flags_to_pass = { flag= DESTDIR ; }; +flags_to_pass = { flag= RPATH_ENVVAR ; }; +flags_to_pass = { flag= TARGET_SUBDIR ; }; +flags_to_pass = { flag= bindir ; }; +flags_to_pass = { flag= datadir ; }; +flags_to_pass = { flag= exec_prefix ; }; +flags_to_pass = { flag= includedir ; }; +flags_to_pass = { flag= infodir ; }; +flags_to_pass = { flag= libdir ; }; +flags_to_pass = { flag= libexecdir ; }; +flags_to_pass = { flag= lispdir ; }; +flags_to_pass = { flag= libstdcxx_incdir ; }; +flags_to_pass = { flag= libsubdir ; }; +flags_to_pass = { flag= localstatedir ; }; +flags_to_pass = { flag= mandir ; }; +flags_to_pass = { flag= oldincludedir ; }; +flags_to_pass = { flag= prefix ; }; +flags_to_pass = { flag= sbindir ; }; +flags_to_pass = { flag= sharedstatedir ; }; +flags_to_pass = { flag= sysconfdir ; }; +flags_to_pass = { flag= tooldir ; }; +flags_to_pass = { flag= build_tooldir ; }; +flags_to_pass = { flag= gxx_include_dir ; }; +flags_to_pass = { flag= gcc_version ; }; +flags_to_pass = { flag= gcc_version_trigger ; }; +flags_to_pass = { flag= target_alias ; }; + +// Build tools +flags_to_pass = { flag= BISON ; }; +flags_to_pass = { flag= CC_FOR_BUILD ; }; +flags_to_pass = { flag= CXX_FOR_BUILD ; }; +flags_to_pass = { flag= EXPECT ; }; +flags_to_pass = { flag= INSTALL ; }; +flags_to_pass = { flag= INSTALL_DATA ; }; +flags_to_pass = { flag= INSTALL_PROGRAM ; }; +flags_to_pass = { flag= INSTALL_SCRIPT ; }; +flags_to_pass = { flag= LEX ; }; +flags_to_pass = { flag= M4 ; }; +flags_to_pass = { flag= MAKE ; }; +flags_to_pass = { flag= RUNTEST ; }; +flags_to_pass = { flag= RUNTESTFLAGS ; }; +flags_to_pass = { flag= SHELL ; }; +flags_to_pass = { flag= YACC ; }; + +// Host tools +flags_to_pass = { flag= AR_FLAGS ; }; +flags_to_pass = { flag= CFLAGS ; }; +flags_to_pass = { flag= CXXFLAGS ; }; +flags_to_pass = { flag= LDFLAGS ; }; +flags_to_pass = { flag= LIBCFLAGS ; }; +flags_to_pass = { flag= LIBCXXFLAGS ; }; + +// Target tools +flags_to_pass = { flag= AR_FOR_TARGET ; }; +flags_to_pass = { flag= AS_FOR_TARGET ; }; +flags_to_pass = { flag= CC_FOR_TARGET ; }; +flags_to_pass = { flag= CFLAGS_FOR_TARGET ; }; +flags_to_pass = { flag= CXX_FOR_TARGET ; }; +flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; }; +flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; }; +flags_to_pass = { flag= GCJ_FOR_TARGET ; }; +flags_to_pass = { flag= LD_FOR_TARGET ; }; +flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; }; +flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; }; +flags_to_pass = { flag= NM_FOR_TARGET ; }; +flags_to_pass = { flag= RANLIB_FOR_TARGET ; }; +flags_to_pass = { flag= WINDRES_FOR_TARGET ; }; Index: Makefile.tpl =================================================================== RCS file: /cvs/gcc/gcc/Makefile.tpl,v retrieving revision 1.59 diff -u -r1.59 Makefile.tpl --- Makefile.tpl 17 Jun 2003 21:53:35 -0000 1.59 +++ Makefile.tpl 23 Jun 2003 17:16:21 -0000 @@ -389,70 +389,9 @@ ### # Flags to pass down to all sub-makes. -# Please keep these in alphabetical order. -BASE_FLAGS_TO_PASS = \ - "AR_FLAGS=$(AR_FLAGS)" \ - "AR_FOR_TARGET=$(AR_FOR_TARGET)" \ - "AS_FOR_TARGET=$(AS_FOR_TARGET)" \ - "BISON=$(BISON)" \ - "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ - "CC_FOR_TARGET=$(CC_FOR_TARGET)" \ - "CFLAGS=$(CFLAGS)" \ - "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ - "GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \ - "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \ - "CXXFLAGS=$(CXXFLAGS)" \ - "CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \ - "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \ - "DESTDIR=$(DESTDIR)" \ - "DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \ - "INSTALL=$(INSTALL)" \ - "INSTALL_DATA=$(INSTALL_DATA)" \ - "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ - "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ - "LDFLAGS=$(LDFLAGS)" \ - "LEX=$(LEX)" \ - "LD_FOR_TARGET=$(LD_FOR_TARGET)" \ - "LIBCFLAGS=$(LIBCFLAGS)" \ - "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ - "LIBCXXFLAGS=$(LIBCXXFLAGS)" \ - "LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \ - "M4=$(M4)" \ - "MAKE=$(MAKE)" \ - "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ - "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ - "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \ - "RPATH_ENVVAR=$(RPATH_ENVVAR)" \ - "SHELL=$(SHELL)" \ - "EXPECT=$(EXPECT)" \ - "RUNTEST=$(RUNTEST)" \ - "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ - "TARGET_SUBDIR=$(TARGET_SUBDIR)" \ - "WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \ - "YACC=$(YACC)" \ - "bindir=$(bindir)" \ - "datadir=$(datadir)" \ - "exec_prefix=$(exec_prefix)" \ - "includedir=$(includedir)" \ - "infodir=$(infodir)" \ - "libdir=$(libdir)" \ - "libexecdir=$(libexecdir)" \ - "lispdir=$(lispdir)" \ - "libstdcxx_incdir=$(libstdcxx_incdir)" \ - "libsubdir=$(libsubdir)" \ - "localstatedir=$(localstatedir)" \ - "mandir=$(mandir)" \ - "oldincludedir=$(oldincludedir)" \ - "prefix=$(prefix)" \ - "sbindir=$(sbindir)" \ - "sharedstatedir=$(sharedstatedir)" \ - "sysconfdir=$(sysconfdir)" \ - "tooldir=$(tooldir)" \ - "build_tooldir=$(build_tooldir)" \ - "gxx_include_dir=$(gxx_include_dir)" \ - "gcc_version=$(gcc_version)" \ - "gcc_version_trigger=$(gcc_version_trigger)" \ - "target_alias=$(target_alias)" +BASE_FLAGS_TO_PASS = [+ FOR flags_to_pass +]\ + "[+flag+]=$([+flag+])" [+ ENDFOR flags_to_pass +]\ + "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" # For any flags above that may contain shell code that varies from one # target library to another. When doing recursive invocations of the -- Nathanael Nerode Don't use the GNU FDL for free documentation. See