This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch v.2] Split config.build out from config.gcc
- From: neroden at twcny dot rr dot com (Nathanael Nerode)
- To: gcc-patches at gcc dot gnu dot org
- Date: Sat, 30 Aug 2003 15:25:40 -0400
- Subject: [patch v.2] Split config.build out from config.gcc
This is sorted strictly by system, and I eliminated the bit Zack
pointed out was obsolete. DJ and Alex, any problems with this
one? If not, I'll commit it.
Bootstrapped on i686-pc-linux.gnu.
* config.build: New file.
* config.gcc: Remove some build-specific stuff.
* configure.in: Use config.build.
* configure: Regnerate.
Index: config.build
===================================================================
RCS file: config.build
diff -N config.build
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ config.build 30 Aug 2003 19:21:52 -0000
@@ -0,0 +1,132 @@
+# GCC build-specific configuration file.
+# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+
+#This file is part of GCC.
+
+#GCC is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
+
+#GCC is distributed in the hope that it will be useful, but WITHOUT
+#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+#for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with GCC; see the file COPYING. If not, write to the Free
+#Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+#02111-1307, USA.
+
+# This is the GCC build-specific configuration file
+# where a configuration type is mapped to different system-specific
+# definitions and files. This is invoked by the autoconf-generated
+# configure script. Putting it in a separate shell file lets us skip
+# running autoconf when modifying build-specific information.
+
+# This file switches on the shell variable ${build}. As much of this
+# as possible should be replaced with autoconf tests in the future.
+
+# This file sets the following shell variables for use by the
+# autoconf-generated configure script:
+#
+# build_xm_defines List of macros to define when compiling for the
+# build machine.
+#
+# build_xm_file List of files to include when compiling for the
+# build machine.
+#
+# build_install_headers_dir
+# Target to use when installing header files.
+#
+# build_exeext Set to the suffix, if the build machine requires
+# executables to have a file name suffix.
+
+# Default settings.
+build_xm_file=
+build_xm_defines=
+build_exeext=
+build_install_headers_dir=install-headers-tar
+
+# System-specific settings.
+case $build in
+ alpha*-dec-osf4*)
+ # Some versions of OSF4 (specifically X4.0-9 296.7) have
+ # a broken tar, so we use cpio instead.
+ build_install_headers_dir=install-headers-cpio
+ ;;
+ alpha*-dec-*vms*)
+ build_xm_file=alpha/xm-vms.h
+ build_exeext=.exe
+ build_install_headers_dir=install-headers-cp
+ prefix=/gnu
+ local_prefix=/gnu
+ ;;
+ hppa1.0-*-hpux1[01]* | \
+ hppa*64*-*-hpux11* | \
+ hppa1.1-*-hpux11* | \
+ hppa2*-*-hpux11* )
+ build_install_headers_dir=install-headers-cpio
+ ;;
+ i370-*-opened* | i370-*-mvs* )
+ # IBM 360/370/390 Architecture
+ build_xm_defines='FATAL_EXIT_CODE=12'
+ ;;
+ i[34567]86-*-cygwin* | i[34567]86-*-pe )
+ build_xm_file=i386/xm-cygwin.h
+ build_exeext=.exe
+ ;;
+ i[34567]86-*-mingw32*)
+ build_xm_file=i386/xm-mingw32.h
+ build_exeext=.exe
+ ;;
+ i[34567]86-pc-msdosdjgpp*)
+ build_xm_file=i386/xm-djgpp.h
+ build_exeext=.exe
+ ;;
+ i[34567]86-*-sco3.2v5*)
+ # 80386 running SCO Open Server 5
+ build_install_headers_dir=install-headers-cpio
+ ;;
+ i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4* )
+ build_xm_defines="SMALL_ARG_MAX"
+ build_install_headers_dir=install-headers-cpio
+ ;;
+ i[34567]86-*-solaris2*)
+ build_xm_defines="SMALL_ARG_MAX"
+ ;;
+ i[34567]86-*-sysv4*)
+ # Intel x86 running system V r4
+ build_xm_defines="SMALL_ARG_MAX"
+ build_install_headers_dir=install-headers-cpio
+ ;;
+ i[34567]86-*-udk*)
+ # Intel x86 on SCO UW/OSR5 Dev Kit
+ build_install_headers_dir=install-headers-cpio
+ ;;
+ i[34567]86-*-uwin*)
+ build_exeext=.exe
+ ;;
+ i386-*-vsta)
+ # Intel 80386's running VSTa kernel
+ build_xm_file="i386/xm-vsta.h"
+ ;;
+ m68000-hp-hpux* | m68k-hp-hpux*)
+ # HP 9000 series 300
+ build_install_headers_dir=install-headers-cpio
+ ;;
+ mips-sgi-irix5*)
+ # SGI System V r4, IRIX 5
+ build_xm_file=mips/xm-iris5.h
+ ;;
+ mips-sgi-irix6*o32)
+ # SGI System V r4, IRIX 6, O32 ABI
+ build_xm_file=mips/xm-iris5.h
+ ;;
+ *-*-sysv*)
+ # All other System V variants.
+ build_install_headers_dir=install-headers-cpio
+ ;;
+esac
+
Index: config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.349
diff -u -r1.349 config.gcc
--- config.gcc 29 Aug 2003 22:15:41 -0000 1.349
+++ config.gcc 30 Aug 2003 19:21:56 -0000
@@ -1,4 +1,4 @@
-# GCC build-, host- and target-specific configuration file.
+# GCC host- and target-specific configuration file.
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
@@ -19,13 +19,13 @@
#Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#02111-1307, USA.
-# This is the GCC build-, host- and target-specific configuration file
+# This is the GCC host- and target-specific configuration file
# where a configuration type, as recognized and generated by config.bfd,
# is mapped to different system-specific definitions and files. This is
-# invoked by the autoconf-generated configure script, called for build,
+# invoked by the autoconf-generated configure script, called for
# host and target in that order, setting ${machine} to each. Putting it
# in a separate shell file lets us skip running autoconf when modifying
-# build-, host- and target-specific information.
+# host- and target-specific information.
# This file switches on the shell variable ${machine}, and also uses the
# following shell variables:
@@ -114,12 +114,6 @@
#
# target_gtfiles List of extra source files with type information.
#
-# build_xm_defines List of macros to define when compiling for the
-# build machine.
-#
-# build_xm_file List of files to include when compiling for the
-# build machine.
-#
# host_xm_defines List of macros to define when compiling for the
# host machine.
#
@@ -137,16 +131,10 @@
#
# target_cpu_default Set to override the default target model.
#
-# build_install_headers_dir
-# Target to use when installing header files.
-#
# gdb_needs_out_file_path
# Set to yes if gdb needs a dir command with
# `dirname $out_file`.
#
-# build_exeext Set to the suffix, if the build machine requires
-# executables to have a file name suffix.
-#
# host_exeext Set to the suffix, if the host machine requires
# executables to have a file name suffix.
#
@@ -179,8 +167,7 @@
# host_hook_obj An object file that provides the host hooks.
#
# install_headers_dir Makefile-target for how the header file directory
-# is installed, when this system is a build system,
-# for build_install_headers_dir.
+# is installed.
#
# exeext The suffix for executables on this system.
#
@@ -2736,29 +2723,16 @@
fi
fi
-# Save data on machine being used to compile GCC in build_xm_file.
# Save data on host machine in vars host_xm_file and host_xmake_file.
-if test x$pass1done = x
-then
- if test x$xm_file != x
- then build_xm_file=$xm_file
- fi
- build_xm_defines=$xm_defines
- build_install_headers_dir=$install_headers_dir
- build_exeext=$exeext
- pass1done=yes
-else
- if test x$pass2done = x
- then
- if test x$xm_file != x
- then host_xm_file=$xm_file
- fi
- host_xm_defines=$xm_defines
- host_xmake_file="$xmake_file"
- host_extra_gcc_objs=$extra_gcc_objs
- host_extra_objs=$extra_host_objs
- host_exeext=$exeext
- out_host_hook_obj=$host_hook_obj
- pass2done=yes
- fi
+if test x$pass2done = x ; then
+ if test x$xm_file != x ; then
+ host_xm_file=$xm_file
+ fi
+ host_xm_defines=$xm_defines
+ host_xmake_file="$xmake_file"
+ host_extra_gcc_objs=$extra_gcc_objs
+ host_extra_objs=$extra_host_objs
+ host_exeext=$exeext
+ out_host_hook_obj=$host_hook_obj
+ pass2done=yes
fi
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.718
diff -u -r1.718 configure.in
--- configure.in 21 Aug 2003 02:19:32 -0000 1.718
+++ configure.in 30 Aug 2003 19:21:59 -0000
@@ -962,11 +962,10 @@
# Build, host, and target specific configuration fragments
# --------------------------------------------------------
+# Collect build-machine-specific information.
+. ${srcdir}/config.build
+
target_gtfiles=
-build_xm_file=
-build_xm_defines=
-build_install_headers_dir=install-headers-tar
-build_exeext=
host_xm_file=
host_xm_defines=
host_xmake_file=
@@ -976,7 +975,7 @@
# For the host machine, we save the xm_file variable as host_xm_file;
# then we decode the target machine and forget everything else
# that came from the host machine.
-for machine in $build $host $target; do
+for machine in $host $target; do
. ${srcdir}/config.gcc
done
--
Nathanael Nerode <neroden at gcc.gnu.org>
http://home.twcny.rr.com/nerode/neroden/fdl.html