Commit 5b28c537 by Nathanael Nerode

fragments.texi, [...]: Mention new file config.build.

	* doc/fragments.texi, doc/sourcebuild.texi: Mention new file
	config.build.

	* config.build: New file.
	* config.gcc: Remove some build-specific stuff.
	* configure.in: Use config.build.
	* configure: Regnerate.

From-SVN: r70965
parent d9e27aed
# 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
# GCC build-, host- and target-specific configuration file. # GCC host- and target-specific configuration file.
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
...@@ -19,13 +19,13 @@ ...@@ -19,13 +19,13 @@
#Software Foundation, 59 Temple Place - Suite 330, Boston, MA #Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#02111-1307, USA. #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, # where a configuration type, as recognized and generated by config.bfd,
# is mapped to different system-specific definitions and files. This is # 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 # host and target in that order, setting ${machine} to each. Putting it
# in a separate shell file lets us skip running autoconf when modifying # 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 # This file switches on the shell variable ${machine}, and also uses the
# following shell variables: # following shell variables:
...@@ -114,12 +114,6 @@ ...@@ -114,12 +114,6 @@
# #
# target_gtfiles List of extra source files with type information. # 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_xm_defines List of macros to define when compiling for the
# host machine. # host machine.
# #
...@@ -137,16 +131,10 @@ ...@@ -137,16 +131,10 @@
# #
# target_cpu_default Set to override the default target model. # 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 # gdb_needs_out_file_path
# Set to yes if gdb needs a dir command with # Set to yes if gdb needs a dir command with
# `dirname $out_file`. # `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 # host_exeext Set to the suffix, if the host machine requires
# executables to have a file name suffix. # executables to have a file name suffix.
# #
...@@ -179,8 +167,7 @@ ...@@ -179,8 +167,7 @@
# host_hook_obj An object file that provides the host hooks. # host_hook_obj An object file that provides the host hooks.
# #
# install_headers_dir Makefile-target for how the header file directory # install_headers_dir Makefile-target for how the header file directory
# is installed, when this system is a build system, # is installed.
# for build_install_headers_dir.
# #
# exeext The suffix for executables on this system. # exeext The suffix for executables on this system.
# #
...@@ -2736,29 +2723,16 @@ then ...@@ -2736,29 +2723,16 @@ then
fi fi
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. # Save data on host machine in vars host_xm_file and host_xmake_file.
if test x$pass1done = x if test x$pass2done = x ; then
then if test x$xm_file != x ; then
if test x$xm_file != x host_xm_file=$xm_file
then build_xm_file=$xm_file fi
fi host_xm_defines=$xm_defines
build_xm_defines=$xm_defines host_xmake_file="$xmake_file"
build_install_headers_dir=$install_headers_dir host_extra_gcc_objs=$extra_gcc_objs
build_exeext=$exeext host_extra_objs=$extra_host_objs
pass1done=yes host_exeext=$exeext
else out_host_hook_obj=$host_hook_obj
if test x$pass2done = x pass2done=yes
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
fi fi
...@@ -962,11 +962,10 @@ fi ...@@ -962,11 +962,10 @@ fi
# Build, host, and target specific configuration fragments # Build, host, and target specific configuration fragments
# -------------------------------------------------------- # --------------------------------------------------------
# Collect build-machine-specific information.
. ${srcdir}/config.build
target_gtfiles= target_gtfiles=
build_xm_file=
build_xm_defines=
build_install_headers_dir=install-headers-tar
build_exeext=
host_xm_file= host_xm_file=
host_xm_defines= host_xm_defines=
host_xmake_file= host_xmake_file=
...@@ -976,7 +975,7 @@ host_exeext= ...@@ -976,7 +975,7 @@ host_exeext=
# For the host machine, we save the xm_file variable as host_xm_file; # For the host machine, we save the xm_file variable as host_xm_file;
# then we decode the target machine and forget everything else # then we decode the target machine and forget everything else
# that came from the host machine. # that came from the host machine.
for machine in $build $host $target; do for machine in $host $target; do
. ${srcdir}/config.gcc . ${srcdir}/config.gcc
done done
......
...@@ -13,7 +13,7 @@ construct the file @file{Makefile} from the template file ...@@ -13,7 +13,7 @@ construct the file @file{Makefile} from the template file
fragments from the @file{config} directory. These are used to set fragments from the @file{config} directory. These are used to set
Makefile parameters that are not amenable to being calculated by Makefile parameters that are not amenable to being calculated by
autoconf. The list of fragments to incorporate is set by autoconf. The list of fragments to incorporate is set by
@file{config.gcc}; @xref{System Config}. @file{config.gcc} (and occasionally @file{config.build}); @xref{System Config}.
Fragments are named either @file{t-@var{target}} or @file{x-@var{host}}, Fragments are named either @file{t-@var{target}} or @file{x-@var{host}},
depending on whether they are relevant to configuring GCC to produce depending on whether they are relevant to configuring GCC to produce
......
...@@ -175,7 +175,7 @@ timestamp. ...@@ -175,7 +175,7 @@ timestamp.
@menu @menu
* Config Fragments:: Scripts used by @file{configure}. * Config Fragments:: Scripts used by @file{configure}.
* System Config:: The @file{config.gcc} file. * System Config:: The @file{config.build} and @file{config.gcc} files.
* Configuration Files:: Files created by running @file{configure}. * Configuration Files:: Files created by running @file{configure}.
@end menu @end menu
...@@ -191,10 +191,12 @@ files, kept in the top level directory, are used. FIXME: when is the ...@@ -191,10 +191,12 @@ files, kept in the top level directory, are used. FIXME: when is the
the top level one) used? the top level one) used?
@item The file @file{config.gcc} is used to handle configuration @item The file @file{config.gcc} is used to handle configuration
specific to the particular build, host or target machine. (In specific to the particular host or target machine. The file
general, this should only be used for features that cannot reasonably @file{config.build} is used to handle configuration specific to the
be tested in Autoconf feature tests.) @xref{System Config, , The particular build machine. (In general, these should only be used for
@file{config.gcc} File}, for details of the contents of this file. features that cannot reasonably be tested in Autoconf feature tests.)
@xref{System Config, , The @file{config.build} and @file{config.gcc} Files},
for details of the contents of these files.
@item Each language subdirectory has a file @item Each language subdirectory has a file
@file{@var{language}/config-lang.in} that is used for @file{@var{language}/config-lang.in} that is used for
...@@ -206,9 +208,9 @@ creating the output of @file{configure}. ...@@ -206,9 +208,9 @@ creating the output of @file{configure}.
@end itemize @end itemize
@node System Config @node System Config
@subsubsection The @file{config.gcc} File @subsubsection The @file{config.build} and @file{config.gcc} Files
FIXME: document the contents of this file, and what variables should FIXME: document the contents of these files, and what variables should
be set to control build, host and target configuration. be set to control build, host and target configuration.
@include configfiles.texi @include configfiles.texi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment