Changeset 08f188a7 in rtems for contrib/crossrpms/patches


Ignore:
Timestamp:
Oct 16, 2009, 12:46:49 AM (11 years ago)
Author:
Ralf Corsepius <ralf.corsepius@…>
Branches:
4.10, 4.11, 5, master
Children:
dc5affb
Parents:
7be223e
Message:

Re-cut the patch. The previous version was unclean.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • contrib/crossrpms/patches/gcc-core-4.4.2-rtems4.10-20091015.diff

    r7be223e r08f188a7  
    1 diff -Naur gcc-4.4.2.orig/configure gcc-4.4.2-rtems4.10-20091015/configure
     1diff -Naur gcc-4.4.2.orig/configure gcc-4.4.2/configure
    22--- gcc-4.4.2.orig/configure    2009-04-25 06:10:29.000000000 +0200
    3 +++ gcc-4.4.2-rtems4.10-20091015/configure      2009-10-15 18:36:00.000000000 +0200
     3+++ gcc-4.4.2/configure 2009-10-15 18:36:00.000000000 +0200
    44@@ -2267,6 +2267,7 @@
    55     noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap"
     
    1919        # Someone might think of using the pre-installed headers on
    2020        # Canadian crosses, in case the installed compiler is not fully
    21 diff -Naur gcc-4.4.2.orig/configure.ac gcc-4.4.2-rtems4.10-20091015/configure.ac
     21diff -Naur gcc-4.4.2.orig/configure.ac gcc-4.4.2/configure.ac
    2222--- gcc-4.4.2.orig/configure.ac 2009-04-25 06:10:29.000000000 +0200
    23 +++ gcc-4.4.2-rtems4.10-20091015/configure.ac   2009-10-15 18:36:00.000000000 +0200
     23+++ gcc-4.4.2/configure.ac      2009-10-15 18:36:00.000000000 +0200
    2424@@ -502,6 +502,7 @@
    2525     noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap"
     
    3939        # Someone might think of using the pre-installed headers on
    4040        # Canadian crosses, in case the installed compiler is not fully
    41 diff -Naur gcc-4.4.2.orig/gcc/config/avr/t-rtems gcc-4.4.2-rtems4.10-20091015/gcc/config/avr/t-rtems
     41diff -Naur gcc-4.4.2.orig/gcc/config/avr/t-rtems gcc-4.4.2/gcc/config/avr/t-rtems
    4242--- gcc-4.4.2.orig/gcc/config/avr/t-rtems       2004-11-23 04:44:03.000000000 +0100
    43 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/avr/t-rtems 2009-10-15 18:36:00.000000000 +0200
     43+++ gcc-4.4.2/gcc/config/avr/t-rtems    2009-10-15 18:36:00.000000000 +0200
    4444@@ -1,3 +1,4 @@
    4545 # Multilibs for avr RTEMS targets.
     
    4848+# RTEMS uses _exit from newlib
    4949+LIB1ASMFUNCS := $(filter-out _exit,$(LIB1ASMFUNCS))
    50 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/arithmetic.c gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/arithmetic.c
     50diff -Naur gcc-4.4.2.orig/gcc/config/lm32/arithmetic.c gcc-4.4.2/gcc/config/lm32/arithmetic.c
    5151--- gcc-4.4.2.orig/gcc/config/lm32/arithmetic.c 1970-01-01 01:00:00.000000000 +0100
    52 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/arithmetic.c   2009-10-15 18:36:00.000000000 +0200
     52+++ gcc-4.4.2/gcc/config/lm32/arithmetic.c      2009-10-15 18:36:00.000000000 +0200
    5353@@ -0,0 +1,305 @@
    5454+/* Fixed-point arithmetic for Lattice Mico32.
     
    357357+
    358358+#endif
    359 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/crti.S gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/crti.S
     359diff -Naur gcc-4.4.2.orig/gcc/config/lm32/crti.S gcc-4.4.2/gcc/config/lm32/crti.S
    360360--- gcc-4.4.2.orig/gcc/config/lm32/crti.S       1970-01-01 01:00:00.000000000 +0100
    361 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/crti.S 2009-10-15 18:36:00.000000000 +0200
     361+++ gcc-4.4.2/gcc/config/lm32/crti.S    2009-10-15 18:36:00.000000000 +0200
    362362@@ -0,0 +1,45 @@
    363363+# crti.S for Lattice Mico32
     
    406406+        addi    sp, sp, -4       
    407407+        sw      (sp+4), ra
    408 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/crtn.S gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/crtn.S
     408diff -Naur gcc-4.4.2.orig/gcc/config/lm32/crtn.S gcc-4.4.2/gcc/config/lm32/crtn.S
    409409--- gcc-4.4.2.orig/gcc/config/lm32/crtn.S       1970-01-01 01:00:00.000000000 +0100
    410 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/crtn.S 2009-10-15 18:36:00.000000000 +0200
     410+++ gcc-4.4.2/gcc/config/lm32/crtn.S    2009-10-15 18:36:00.000000000 +0200
    411411@@ -0,0 +1,42 @@
    412412+# crtn.S for Lattice Mico32
     
    452452+        ret
    453453+       
    454 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lib1funcs.S gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lib1funcs.S
     454diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lib1funcs.S gcc-4.4.2/gcc/config/lm32/lib1funcs.S
    455455--- gcc-4.4.2.orig/gcc/config/lm32/lib1funcs.S  1970-01-01 01:00:00.000000000 +0100
    456 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lib1funcs.S    2009-10-15 18:36:00.000000000 +0200
     456+++ gcc-4.4.2/gcc/config/lm32/lib1funcs.S       2009-10-15 18:36:00.000000000 +0200
    457457@@ -0,0 +1,429 @@
    458458+# lib1funcs.S for Lattice Mico32
     
    885885+        .word   __ashrsi3_31
    886886+       
    887 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32.c gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32.c
     887diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32.c gcc-4.4.2/gcc/config/lm32/lm32.c
    888888--- gcc-4.4.2.orig/gcc/config/lm32/lm32.c       1970-01-01 01:00:00.000000000 +0100
    889 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32.c 2009-10-15 18:36:00.000000000 +0200
     889+++ gcc-4.4.2/gcc/config/lm32/lm32.c    2009-10-15 18:36:00.000000000 +0200
    890890@@ -0,0 +1,869 @@
    891891+/* Subroutines used for code generation on the Lattice Mico32 architecture.
     
    17581758+  return 0;
    17591759+}
    1760 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32.h gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32.h
     1760diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32.h gcc-4.4.2/gcc/config/lm32/lm32.h
    17611761--- gcc-4.4.2.orig/gcc/config/lm32/lm32.h       1970-01-01 01:00:00.000000000 +0100
    1762 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32.h 2009-10-15 18:36:00.000000000 +0200
     1762+++ gcc-4.4.2/gcc/config/lm32/lm32.h    2009-10-15 18:36:00.000000000 +0200
    17631763@@ -0,0 +1,657 @@
    17641764+/* Definitions of target machine for GNU compiler, Lattice Mico32 architecture.
     
    24192419+
    24202420+#define STORE_FLAG_VALUE 1
    2421 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32.md gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32.md
     2421diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32.md gcc-4.4.2/gcc/config/lm32/lm32.md
    24222422--- gcc-4.4.2.orig/gcc/config/lm32/lm32.md      1970-01-01 01:00:00.000000000 +0100
    2423 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32.md        2009-10-15 18:36:00.000000000 +0200
     2423+++ gcc-4.4.2/gcc/config/lm32/lm32.md   2009-10-15 18:36:00.000000000 +0200
    24242424@@ -0,0 +1,1233 @@
    24252425+;; Machine description of the Lattice Mico32 architecture for GNU C compiler.
     
    36563656+)
    36573657+
    3658 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32.opt gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32.opt
     3658diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32.opt gcc-4.4.2/gcc/config/lm32/lm32.opt
    36593659--- gcc-4.4.2.orig/gcc/config/lm32/lm32.opt     1970-01-01 01:00:00.000000000 +0100
    3660 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32.opt       2009-10-15 18:36:00.000000000 +0200
     3660+++ gcc-4.4.2/gcc/config/lm32/lm32.opt  2009-10-15 18:36:00.000000000 +0200
    36613661@@ -0,0 +1,40 @@
    36623662+; Options for the Lattice Mico32 port of the compiler.
     
    37003700+Target Report Mask(USER_ENABLED)
    37013701+Enable user-defined instructions
    3702 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32-protos.h gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32-protos.h
     3702diff -Naur gcc-4.4.2.orig/gcc/config/lm32/lm32-protos.h gcc-4.4.2/gcc/config/lm32/lm32-protos.h
    37033703--- gcc-4.4.2.orig/gcc/config/lm32/lm32-protos.h        1970-01-01 01:00:00.000000000 +0100
    3704 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/lm32-protos.h  2009-10-15 18:36:00.000000000 +0200
     3704+++ gcc-4.4.2/gcc/config/lm32/lm32-protos.h     2009-10-15 18:36:00.000000000 +0200
    37053705@@ -0,0 +1,52 @@
    37063706+/* Prototypes of target machine functions, Lattice Mico32 architecture.
     
    37563756+extern int nonpic_symbol_mentioned_p (rtx);
    37573757+extern rtx lm32_legitimize_pic_address (rtx, enum machine_mode, rtx);
    3758 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/predicates.md gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/predicates.md
     3758diff -Naur gcc-4.4.2.orig/gcc/config/lm32/predicates.md gcc-4.4.2/gcc/config/lm32/predicates.md
    37593759--- gcc-4.4.2.orig/gcc/config/lm32/predicates.md        1970-01-01 01:00:00.000000000 +0100
    3760 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/predicates.md  2009-10-15 18:36:00.000000000 +0200
     3760+++ gcc-4.4.2/gcc/config/lm32/predicates.md     2009-10-15 18:36:00.000000000 +0200
    37613761@@ -0,0 +1,58 @@
    37623762+;; Predicate definitions for Lattice Mico32.
     
    38183818+       (match_code "symbol_ref")))
    38193819+       
    3820 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/rtems.h gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/rtems.h
     3820diff -Naur gcc-4.4.2.orig/gcc/config/lm32/rtems.h gcc-4.4.2/gcc/config/lm32/rtems.h
    38213821--- gcc-4.4.2.orig/gcc/config/lm32/rtems.h      1970-01-01 01:00:00.000000000 +0100
    3822 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/rtems.h        2009-10-15 18:36:00.000000000 +0200
     3822+++ gcc-4.4.2/gcc/config/lm32/rtems.h   2009-10-15 18:36:00.000000000 +0200
    38233823@@ -0,0 +1,32 @@
    38243824+/* Definitions for rtems targeting a lm32 using ELF.
     
    38543854+/* Use the default */
    38553855+#undef LINK_GCC_C_SEQUENCE_SPEC
    3856 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/sfp-machine.h gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/sfp-machine.h
     3856diff -Naur gcc-4.4.2.orig/gcc/config/lm32/sfp-machine.h gcc-4.4.2/gcc/config/lm32/sfp-machine.h
    38573857--- gcc-4.4.2.orig/gcc/config/lm32/sfp-machine.h        1970-01-01 01:00:00.000000000 +0100
    3858 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/sfp-machine.h  2009-10-15 18:36:00.000000000 +0200
     3858+++ gcc-4.4.2/gcc/config/lm32/sfp-machine.h     2009-10-15 18:36:00.000000000 +0200
    38593859@@ -0,0 +1,51 @@
    38603860+#define _FP_W_TYPE_SIZE                32
     
    39093909+# define _strong_alias(name, aliasname) \
    39103910+  extern __typeof (name) aliasname __attribute__ ((alias (#name)));
    3911 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/t-fprules-softfp gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/t-fprules-softfp
     3911diff -Naur gcc-4.4.2.orig/gcc/config/lm32/t-fprules-softfp gcc-4.4.2/gcc/config/lm32/t-fprules-softfp
    39123912--- gcc-4.4.2.orig/gcc/config/lm32/t-fprules-softfp     1970-01-01 01:00:00.000000000 +0100
    3913 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/t-fprules-softfp       2009-10-15 18:36:00.000000000 +0200
     3913+++ gcc-4.4.2/gcc/config/lm32/t-fprules-softfp  2009-10-15 18:36:00.000000000 +0200
    39143914@@ -0,0 +1,5 @@
    39153915+softfp_float_modes := sf df
     
    39183918+softfp_truncations := dfsf
    39193919+softfp_machine_header := lm32/sfp-machine.h
    3920 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/t-lm32 gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/t-lm32
     3920diff -Naur gcc-4.4.2.orig/gcc/config/lm32/t-lm32 gcc-4.4.2/gcc/config/lm32/t-lm32
    39213921--- gcc-4.4.2.orig/gcc/config/lm32/t-lm32       1970-01-01 01:00:00.000000000 +0100
    3922 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/t-lm32 2009-10-15 18:36:00.000000000 +0200
     3922+++ gcc-4.4.2/gcc/config/lm32/t-lm32    2009-10-15 18:36:00.000000000 +0200
    39233923@@ -0,0 +1,19 @@
    39243924+LIB1ASMSRC = lm32/lib1funcs.S
     
    39413941+MULTILIB_OPTIONS = mmultiply-enabled mbarrel-shift-enabled
    39423942+# Don't bother building multilib with mdivide-enabled, not much of a gain
    3943 diff -Naur gcc-4.4.2.orig/gcc/config/lm32/uclinux-elf.h gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/uclinux-elf.h
     3943diff -Naur gcc-4.4.2.orig/gcc/config/lm32/uclinux-elf.h gcc-4.4.2/gcc/config/lm32/uclinux-elf.h
    39443944--- gcc-4.4.2.orig/gcc/config/lm32/uclinux-elf.h        1970-01-01 01:00:00.000000000 +0100
    3945 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/lm32/uclinux-elf.h  2009-10-15 18:36:00.000000000 +0200
     3945+++ gcc-4.4.2/gcc/config/lm32/uclinux-elf.h     2009-10-15 18:36:00.000000000 +0200
    39463946@@ -0,0 +1,85 @@
    39473947+/* Definitions for LM32 running Linux-based GNU systems using ELF
     
    40304030+#define CC1_SPEC "%{G*} %{!fno-PIC:-fPIC}"
    40314031+
    4032 diff -Naur gcc-4.4.2.orig/gcc/config/mips/elf.h gcc-4.4.2-rtems4.10-20091015/gcc/config/mips/elf.h
     4032diff -Naur gcc-4.4.2.orig/gcc/config/mips/elf.h gcc-4.4.2/gcc/config/mips/elf.h
    40334033--- gcc-4.4.2.orig/gcc/config/mips/elf.h        2007-08-02 12:49:31.000000000 +0200
    4034 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/mips/elf.h  2009-10-15 18:36:00.000000000 +0200
     4034+++ gcc-4.4.2/gcc/config/mips/elf.h     2009-10-15 18:36:00.000000000 +0200
    40354035@@ -48,6 +48,4 @@
    40364036 #undef  ENDFILE_SPEC
     
    40404040-
    40414041 #define HANDLE_PRAGMA_PACK_PUSH_POP 1
    4042 diff -Naur gcc-4.4.2.orig/gcc/config/rs6000/rtems.h gcc-4.4.2-rtems4.10-20091015/gcc/config/rs6000/rtems.h
     4042diff -Naur gcc-4.4.2.orig/gcc/config/rs6000/rtems.h gcc-4.4.2/gcc/config/rs6000/rtems.h
    40434043--- gcc-4.4.2.orig/gcc/config/rs6000/rtems.h    2007-08-02 12:49:31.000000000 +0200
    4044 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/rs6000/rtems.h      2009-10-15 18:36:00.000000000 +0200
     4044+++ gcc-4.4.2/gcc/config/rs6000/rtems.h 2009-10-15 18:36:00.000000000 +0200
    40454045@@ -49,8 +49,18 @@
    40464046 %{mcpu=604:  %{!Dppc*: %{!Dmpc*: -Dmpc604}  } } \
     
    40634063+      }                                                \
    40644064+  } while(0)
    4065 diff -Naur gcc-4.4.2.orig/gcc/config/rs6000/t-rtems gcc-4.4.2-rtems4.10-20091015/gcc/config/rs6000/t-rtems
     4065diff -Naur gcc-4.4.2.orig/gcc/config/rs6000/t-rtems gcc-4.4.2/gcc/config/rs6000/t-rtems
    40664066--- gcc-4.4.2.orig/gcc/config/rs6000/t-rtems    2009-03-25 13:54:16.000000000 +0100
    4067 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config/rs6000/t-rtems      2009-10-15 18:36:00.000000000 +0200
     4067+++ gcc-4.4.2/gcc/config/rs6000/t-rtems 2009-10-15 18:36:00.000000000 +0200
    40684068@@ -1,12 +1,12 @@
    40694069 # Multilibs for powerpc RTEMS targets.
     
    40974097 MULTILIB_EXCEPTIONS += *mcpu=7400/Dmpc*
    40984098+MULTILIB_EXCEPTIONS += *mcpu=8540/Dmpc*
    4099 diff -Naur gcc-4.4.2.orig/gcc/config.gcc gcc-4.4.2-rtems4.10-20091015/gcc/config.gcc
     4099diff -Naur gcc-4.4.2.orig/gcc/config.gcc gcc-4.4.2/gcc/config.gcc
    41004100--- gcc-4.4.2.orig/gcc/config.gcc       2009-09-13 15:01:13.000000000 +0200
    4101 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config.gcc 2009-10-15 18:36:00.000000000 +0200
     4101+++ gcc-4.4.2/gcc/config.gcc    2009-10-15 18:36:00.000000000 +0200
    41024102@@ -1364,6 +1364,23 @@
    41034103         out_file=iq2000/iq2000.c
     
    41244124        tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
    41254125        extra_parts="crtinit.o crtfini.o"
    4126 diff -Naur gcc-4.4.2.orig/gcc/config.gcc.orig gcc-4.4.2-rtems4.10-20091015/gcc/config.gcc.orig
    4127 --- gcc-4.4.2.orig/gcc/config.gcc.orig  1970-01-01 01:00:00.000000000 +0100
    4128 +++ gcc-4.4.2-rtems4.10-20091015/gcc/config.gcc.orig    2009-10-15 18:36:00.000000000 +0200
    4129 @@ -0,0 +1,3183 @@
    4130 +# GCC target-specific configuration file.
    4131 +# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
    4132 +# 2008, 2009 Free Software Foundation, Inc.
    4133 +
    4134 +#This file is part of GCC.
    4135 +
    4136 +#GCC is free software; you can redistribute it and/or modify it under
    4137 +#the terms of the GNU General Public License as published by the Free
    4138 +#Software Foundation; either version 3, or (at your option) any later
    4139 +#version.
    4140 +
    4141 +#GCC is distributed in the hope that it will be useful, but WITHOUT
    4142 +#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    4143 +#FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    4144 +#for more details.
    4145 +
    4146 +#You should have received a copy of the GNU General Public License
    4147 +#along with GCC; see the file COPYING3.  If not see
    4148 +#<http://www.gnu.org/licenses/>.
    4149 +
    4150 +# This is the GCC target-specific configuration file
    4151 +# where a configuration type is mapped to different system-specific
    4152 +# definitions and files.  This is invoked by the autoconf-generated
    4153 +# configure script.  Putting it in a separate shell file lets us skip
    4154 +# running autoconf when modifying target-specific information.
    4155 +
    4156 +# When you change the cases in the OS or target switches, consider
    4157 +# updating ../libgcc/config.host also.
    4158 +
    4159 +# This file switches on the shell variable ${target}, and also uses the
    4160 +# following shell variables:
    4161 +#
    4162 +#  with_*              Various variables as set by configure.
    4163 +#
    4164 +#  enable_threads      Either the name, yes or no depending on whether
    4165 +#                      threads support was requested.
    4166 +#
    4167 +#  default_use_cxa_atexit
    4168 +#                        The default value for the $enable___cxa_atexit
    4169 +#                      variable.  enable___cxa_atexit needs to be set to
    4170 +#                      "yes" for the correct operation of C++ destructors
    4171 +#                      but it relies upon the presence of a non-standard C
    4172 +#                      library function called __cxa_atexit.
    4173 +#                        Since not all C libraries provide __cxa_atexit the
    4174 +#                      default value of $default_use_cxa_atexit is set to
    4175 +#                      "no" except for targets which are known to be OK.
    4176 +#
    4177 +#  gas_flag            Either yes or no depending on whether GNU as was
    4178 +#                      requested.
    4179 +#
    4180 +#  gnu_ld_flag         Either yes or no depending on whether GNU ld was
    4181 +#                      requested.
    4182 +
    4183 +# This file sets the following shell variables for use by the
    4184 +# autoconf-generated configure script:
    4185 +#
    4186 +#  cpu_type            The name of the cpu, if different from the first
    4187 +#                      chunk of the canonical target name.
    4188 +#
    4189 +#  tm_defines          List of target macros to define for all compilations.
    4190 +#
    4191 +#  tm_file             A list of target macro files, if different from
    4192 +#                      "$cpu_type/$cpu_type.h". Usually it's constructed
    4193 +#                      per target in a way like this:
    4194 +#                      tm_file="${tm_file} dbxelf.h elfos.h svr4.h ${cpu_type.h}/elf.h"
    4195 +#                      Note that the preferred order is:
    4196 +#                      - specific target header "${cpu_type}/${cpu_type.h}"
    4197 +#                      - generic headers like dbxelf.h elfos.h, etc.
    4198 +#                      - specializing target headers like ${cpu_type.h}/elf.h
    4199 +#                      This helps to keep OS specific stuff out of the CPU
    4200 +#                      defining header ${cpu_type}/${cpu_type.h}.
    4201 +#
    4202 +#                      It is possible to include automatically-generated
    4203 +#                      build-directory files by prefixing them with "./".
    4204 +#                      All other files should relative to $srcdir/config.
    4205 +#
    4206 +#  tm_p_file           Location of file with declarations for functions
    4207 +#                      in $out_file.
    4208 +#
    4209 +#  out_file            The name of the machine description C support
    4210 +#                      file, if different from "$cpu_type/$cpu_type.c".
    4211 +#
    4212 +#  md_file             The name of the machine-description file, if
    4213 +#                      different from "$cpu_type/$cpu_type.md".
    4214 +#
    4215 +#  tmake_file          A list of machine-description-specific
    4216 +#                      makefile-fragments, if different from
    4217 +#                      "$cpu_type/t-$cpu_type".
    4218 +#
    4219 +#  extra_modes          The name of the file containing a list of extra
    4220 +#                       machine modes, if necessary and different from
    4221 +#                       "$cpu_type/$cpu_type-modes.def".
    4222 +#
    4223 +#  extra_objs          List of extra objects that should be linked into
    4224 +#                      the compiler proper (cc1, cc1obj, cc1plus)
    4225 +#                      depending on target.
    4226 +#
    4227 +#  extra_gcc_objs      List of extra objects that should be linked into
    4228 +#                      the compiler driver (gcc) depending on target.
    4229 +#
    4230 +#  extra_headers       List of used header files from the directory
    4231 +#                      config/${cpu_type}.
    4232 +#
    4233 +#  use_gcc_tgmath      If set, add tgmath.h to the list of used header
    4234 +#                      files.
    4235 +#
    4236 +#  extra_passes                List of extra executables compiled for this target
    4237 +#                      machine, used for compiling from source to object.
    4238 +#
    4239 +#  extra_parts         List of extra object files that should be compiled
    4240 +#                      for this target machine.
    4241 +#
    4242 +#  extra_programs      Like extra_passes, but these are used when linking.
    4243 +#
    4244 +#  extra_options       List of target-dependent .opt files.
    4245 +#
    4246 +#  c_target_objs       List of extra target-dependent objects that be
    4247 +#                      linked into the C compiler only.
    4248 +#
    4249 +#  cxx_target_objs     List of extra target-dependent objects that be
    4250 +#                      linked into the C++ compiler only.
    4251 +#
    4252 +#  fortran_target_objs List of extra target-dependent objects that be
    4253 +#                      linked into the fortran compiler only.
    4254 +#
    4255 +#  target_gtfiles       List of extra source files with type information.
    4256 +#
    4257 +#  xm_defines          List of macros to define when compiling for the
    4258 +#                      target machine.
    4259 +#
    4260 +#  xm_file             List of files to include when compiling for the
    4261 +#                      target machine.
    4262 +#
    4263 +#  use_collect2                Set to yes or no, depending on whether collect2
    4264 +#                      will be used.
    4265 +#
    4266 +#  target_cpu_default  Set to override the default target model.
    4267 +#
    4268 +#  gdb_needs_out_file_path
    4269 +#                      Set to yes if gdb needs a dir command with
    4270 +#                      `dirname $out_file`.
    4271 +#
    4272 +#  thread_file         Set to control which thread package to use.
    4273 +#
    4274 +#  gas                 Set to yes or no depending on whether the target
    4275 +#                      system normally uses GNU as.
    4276 +#
    4277 +#  need_64bit_hwint    Set to yes if HOST_WIDE_INT must be 64 bits wide
    4278 +#                      for this target.  This is true if this target
    4279 +#                      supports "long" or "wchar_t" wider than 32 bits,
    4280 +#                      or BITS_PER_WORD is wider than 32 bits.
    4281 +#                      The setting made here must match the one made in
    4282 +#                      other locations such as libcpp/configure.ac
    4283 +#
    4284 +#  configure_default_options
    4285 +#                      Set to an initializer for configure_default_options
    4286 +#                      in configargs.h, based on --with-cpu et cetera.
    4287 +#
    4288 +#  use_fixproto                Set to "yes" if fixproto should be run normally,
    4289 +#                      "no" if fixproto should never be run.
    4290 +
    4291 +# The following variables are used in each case-construct to build up the
    4292 +# outgoing variables:
    4293 +#
    4294 +#  gnu_ld              Set to yes or no depending on whether the target
    4295 +#                      system normally uses GNU ld.
    4296 +
    4297 +out_file=
    4298 +tmake_file=
    4299 +extra_headers=
    4300 +use_gcc_tgmath=yes
    4301 +extra_passes=
    4302 +extra_parts=
    4303 +extra_programs=
    4304 +extra_objs=
    4305 +extra_gcc_objs=
    4306 +extra_options=
    4307 +c_target_objs=
    4308 +cxx_target_objs=
    4309 +fortran_target_objs=
    4310 +tm_defines=
    4311 +xm_defines=
    4312 +# Set this to force installation and use of collect2.
    4313 +use_collect2=
    4314 +# Set this to override the default target model.
    4315 +target_cpu_default=
    4316 +# Set this if gdb needs a dir command with `dirname $out_file`
    4317 +gdb_needs_out_file_path=
    4318 +# Set this to control which thread package will be used.
    4319 +thread_file=
    4320 +# Reinitialize these from the flag values every loop pass, since some
    4321 +# configure entries modify them.
    4322 +gas="$gas_flag"
    4323 +gnu_ld="$gnu_ld_flag"
    4324 +default_use_cxa_atexit=no
    4325 +target_gtfiles=
    4326 +need_64bit_hwint=
    4327 +
    4328 +# Default to not using fixproto.  Targets which need fixproto should
    4329 +# specifically set this to 'yes'.
    4330 +use_fixproto=no
    4331 +
    4332 +# Don't carry these over build->host->target.  Please.
    4333 +xm_file=
    4334 +md_file=
    4335 +
    4336 +# Obsolete configurations.
    4337 +case ${target} in
    4338 +# Avoid generic cases below matching.
    4339 +   h8300-*-rtems* | h8300-*-elf* \
    4340 + | sh-*-elf* | sh-*-symbianelf* | sh-*-linux* | sh-*-netbsdelf* \
    4341 + | sh-*-rtems* | sh-wrs-vxworks) ;;
    4342 +   arm-*-coff*         \
    4343 + | armel-*-coff*       \
    4344 + | h8300-*-*           \
    4345 + | i[34567]86-*-aout*  \
    4346 + | i[34567]86-*-coff*  \
    4347 + | m68k-*-aout*                \
    4348 + | m68k-*-coff*                \
    4349 + | sh-*-*              \
    4350 + | pdp11-*-bsd         \
    4351 + | rs6000-ibm-aix4.[12]* \
    4352 + | powerpc-ibm-aix4.[12]* \
    4353 + )
    4354 +    if test "x$enable_obsolete" != xyes; then
    4355 +      echo "*** Configuration ${target} is obsolete." >&2
    4356 +      echo "*** Specify --enable-obsolete to build it anyway." >&2
    4357 +      echo "*** Support will be REMOVED in the next major release of GCC," >&2
    4358 +      echo "*** unless a maintainer comes forward." >&2
    4359 +      exit 1
    4360 +    fi;;
    4361 +esac
    4362 +
    4363 +# Unsupported targets list.  Do not put an entry in this list unless
    4364 +# it would otherwise be caught by a more permissive pattern.  The list
    4365 +# should be in alphabetical order.
    4366 +case ${target} in
    4367 +   i[34567]86-go32-*                   \
    4368 + | i[34567]86-*-go32*                  \
    4369 + | mips64orion*-*-rtems*               \
    4370 + | sparc-hal-solaris2*                 \
    4371 + | thumb-*-*                           \
    4372 + | *-*-linux*aout*                     \
    4373 + | *-*-linux*coff*                     \
    4374 + | *-*-linux*libc1*                    \
    4375 + | *-*-linux*oldld*                    \
    4376 + | *-*-rtemsaout*                      \
    4377 + | *-*-rtemscoff*                      \
    4378 + | *-*-solaris2.[0-6]                  \
    4379 + | *-*-solaris2.[0-6].*                        \
    4380 + | *-*-sysv*           \
    4381 + | vax-*-vms*                          \
    4382 + )
    4383 +       echo "*** Configuration ${target} not supported" 1>&2
    4384 +       exit 1
    4385 +       ;;
    4386 +esac
    4387 +
    4388 +# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
    4389 +# updated in each machine entry.  Also set default extra_headers for some
    4390 +# machines.
    4391 +tm_p_file=
    4392 +cpu_type=`echo ${target} | sed 's/-.*$//'`
    4393 +cpu_is_64bit=
    4394 +case ${target} in
    4395 +m32c*-*-*)
    4396 +        cpu_type=m32c
    4397 +       tmake_file=m32c/t-m32c
    4398 +        ;;
    4399 +alpha*-*-*)
    4400 +       cpu_type=alpha
    4401 +       need_64bit_hwint=yes
    4402 +       ;;
    4403 +am33_2.0-*-linux*)
    4404 +       cpu_type=mn10300
    4405 +       ;;
    4406 +arm*-*-*)
    4407 +       cpu_type=arm
    4408 +       extra_headers="mmintrin.h arm_neon.h"
    4409 +       c_target_objs="arm-c.o"
    4410 +       cxx_target_objs="arm-c.o"
    4411 +       ;;
    4412 +bfin*-*)
    4413 +       cpu_type=bfin
    4414 +       ;;
    4415 +crisv32-*)
    4416 +       cpu_type=cris
    4417 +       ;;
    4418 +frv*)  cpu_type=frv
    4419 +       ;;
    4420 +fido-*-*)
    4421 +       cpu_type=m68k
    4422 +       extra_headers=math-68881.h
    4423 +        ;;
    4424 +i[34567]86-*-*)
    4425 +       cpu_type=i386
    4426 +       c_target_objs="i386-c.o"
    4427 +       cxx_target_objs="i386-c.o"
    4428 +       extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
    4429 +                      pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
    4430 +                      nmmintrin.h bmmintrin.h mmintrin-common.h
    4431 +                      wmmintrin.h immintrin.h x86intrin.h avxintrin.h
    4432 +                      cross-stdarg.h"
    4433 +       ;;
    4434 +x86_64-*-*)
    4435 +       cpu_type=i386
    4436 +       c_target_objs="i386-c.o"
    4437 +       cxx_target_objs="i386-c.o"
    4438 +       extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
    4439 +                      pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h
    4440 +                      nmmintrin.h bmmintrin.h mmintrin-common.h
    4441 +                      wmmintrin.h immintrin.h x86intrin.h avxintrin.h
    4442 +                      cross-stdarg.h"
    4443 +       need_64bit_hwint=yes
    4444 +       ;;
    4445 +ia64-*-*)
    4446 +       extra_headers=ia64intrin.h
    4447 +       need_64bit_hwint=yes
    4448 +       ;;
    4449 +hppa*-*-*)
    4450 +       cpu_type=pa
    4451 +       ;;
    4452 +m32r*-*-*)
    4453 +        cpu_type=m32r
    4454 +        ;;
    4455 +m68k-*-*)
    4456 +       extra_headers=math-68881.h
    4457 +       ;;
    4458 +mips*-*-*)
    4459 +       cpu_type=mips
    4460 +       need_64bit_hwint=yes
    4461 +       extra_headers="loongson.h"
    4462 +       ;;
    4463 +picochip-*-*)
    4464 +        cpu_type=picochip
    4465 +        ;;
    4466 +powerpc*-*-*)
    4467 +       cpu_type=rs6000
    4468 +       extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h"
    4469 +       need_64bit_hwint=yes
    4470 +       case x$with_cpu in
    4471 +           xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell)
    4472 +               cpu_is_64bit=yes
    4473 +               ;;
    4474 +       esac
    4475 +       ;;
    4476 +rs6000*-*-*)
    4477 +       need_64bit_hwint=yes
    4478 +       ;;
    4479 +score*-*-*)
    4480 +       cpu_type=score
    4481 +       ;;
    4482 +sparc*-*-*)
    4483 +       cpu_type=sparc
    4484 +       need_64bit_hwint=yes
    4485 +       ;;
    4486 +spu*-*-*)
    4487 +       cpu_type=spu
    4488 +       need_64bit_hwint=yes
    4489 +       ;;
    4490 +s390*-*-*)
    4491 +       cpu_type=s390
    4492 +       need_64bit_hwint=yes
    4493 +       ;;
    4494 +# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
    4495 +sh[123456789lbe]*-*-* | sh-*-*)
    4496 +       cpu_type=sh
    4497 +       need_64bit_hwint=yes
    4498 +       ;;
    4499 +esac
    4500 +
    4501 +tm_file=${cpu_type}/${cpu_type}.h
    4502 +if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
    4503 +then
    4504 +       tm_p_file=${cpu_type}/${cpu_type}-protos.h
    4505 +fi
    4506 +extra_modes=
    4507 +if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
    4508 +then
    4509 +       extra_modes=${cpu_type}/${cpu_type}-modes.def
    4510 +fi
    4511 +if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
    4512 +then
    4513 +       extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
    4514 +fi
    4515 +
    4516 +case ${target} in
    4517 +i[34567]86-*-*)
    4518 +       if test "x$enable_cld" = xyes; then
    4519 +               tm_defines="${tm_defines} USE_IX86_CLD=1"
    4520 +       fi
    4521 +       ;;
    4522 +x86_64-*-*)
    4523 +       tm_file="i386/biarch64.h ${tm_file}"
    4524 +       if test "x$enable_cld" = xyes; then
    4525 +               tm_defines="${tm_defines} USE_IX86_CLD=1"
    4526 +       fi
    4527 +       ;;
    4528 +esac
    4529 +
    4530 +# On a.out targets, we need to use collect2.
    4531 +case ${target} in
    4532 +*-*-*aout*)
    4533 +       use_collect2=yes
    4534 +       ;;
    4535 +esac
    4536 +
    4537 +# Common parts for widely ported systems.
    4538 +case ${target} in
    4539 +*-*-darwin*)
    4540 +  tm_file="${tm_file} darwin.h"
    4541 +  case ${target} in
    4542 +  *-*-darwin[912]*)
    4543 +    tm_file="${tm_file} darwin9.h"
    4544 +    ;;
    4545 +  esac
    4546 +  tm_file="${tm_file} ${cpu_type}/darwin.h"
    4547 +  tm_p_file="${tm_p_file} darwin-protos.h"
    4548 +  tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
    4549 +  target_gtfiles="\$(srcdir)/config/darwin.c"
    4550 +  extra_options="${extra_options} darwin.opt"
    4551 +  c_target_objs="${c_target_objs} darwin-c.o"
    4552 +  cxx_target_objs="${cxx_target_objs} darwin-c.o"
    4553 +  fortran_target_objs="darwin-f.o"
    4554 +  extra_objs="darwin.o"
    4555 +  extra_gcc_objs="darwin-driver.o"
    4556 +  default_use_cxa_atexit=yes
    4557 +  case ${enable_threads} in
    4558 +    "" | yes | posix) thread_file='posix' ;;
    4559 +  esac
    4560 +  ;;
    4561 +*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
    4562 +  # This is the place-holder for the generic a.out configuration
    4563 +  # of FreeBSD.  No actual configuration resides here since
    4564 +  # there was only ever a bare-bones ix86 configuration for
    4565 +  # a.out and it exists solely in the machine-specific section.
    4566 +  # This place-holder must exist to avoid dropping into
    4567 +  # the generic ELF configuration of FreeBSD (i.e. it must be
    4568 +  # ordered before that section).
    4569 +  ;;
    4570 +*-*-freebsd*)
    4571 +  # This is the generic ELF configuration of FreeBSD.  Later
    4572 +  # machine-specific sections may refine and add to this
    4573 +  # configuration.
    4574 +  #
    4575 +  # Due to tm_file entry ordering issues that vary between cpu
    4576 +  # architectures, we only define fbsd_tm_file to allow the
    4577 +  # machine-specific section to dictate the final order of all
    4578 +  # entries of tm_file with the minor exception that components
    4579 +  # of the tm_file set here will always be of the form:
    4580 +  #
    4581 +  # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
    4582 +  #
    4583 +  # The machine-specific section should not tamper with this
    4584 +  # ordering but may order all other entries of tm_file as it
    4585 +  # pleases around the provided core setting.
    4586 +  gas=yes
    4587 +  gnu_ld=yes
    4588 +  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
    4589 +  fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
    4590 +  tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
    4591 +  tmake_file="t-slibgcc-elf-ver t-freebsd"
    4592 +  case ${enable_threads} in
    4593 +    no)
    4594 +      fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
    4595 +      ;;
    4596 +    "" | yes | posix)
    4597 +      thread_file='posix'
    4598 +      tmake_file="${tmake_file} t-freebsd-thread"
    4599 +      # Before 5.0, FreeBSD can't bind shared libraries to -lc
    4600 +      # when "optionally" threaded via weak pthread_* checks.
    4601 +      case ${target} in
    4602 +        *-*-freebsd[34] | *-*-freebsd[34].*)
    4603 +          tmake_file="${tmake_file} t-slibgcc-nolc-override"
    4604 +          ;;
    4605 +      esac
    4606 +      ;;
    4607 +    *)
    4608 +      echo 'Unknown thread configuration for FreeBSD'
    4609 +      exit 1
    4610 +      ;;
    4611 +  esac
    4612 +  fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
    4613 +  ;;
    4614 +*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
    4615 +  extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
    4616 +  gas=yes
    4617 +  gnu_ld=yes
    4618 +  case ${enable_threads} in
    4619 +    "" | yes | posix) thread_file='posix' ;;
    4620 +  esac
    4621 +  tmake_file="t-slibgcc-elf-ver t-linux"
    4622 +  case $target in
    4623 +    *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu)
    4624 +      :;;
    4625 +    *-*-gnu*)
    4626 +      tmake_file="$tmake_file t-gnu";;
    4627 +  esac
    4628 +  # glibc / uclibc switch.  uclibc isn't usable for GNU/Hurd and neither for
    4629 +  # GNU/k*BSD.
    4630 +  case $target in
    4631 +    *linux*)
    4632 +      extra_options="$extra_options linux.opt";;
    4633 +    *)
    4634 +      tm_defines="$tm_defines OPTION_GLIBC=1";;
    4635 +  esac
    4636 +  case ${target} in
    4637 +    *-*-*uclibc*)
    4638 +      tm_defines="${tm_defines} UCLIBC_DEFAULT=1"
    4639 +      ;;
    4640 +    *)
    4641 +      tm_defines="${tm_defines} UCLIBC_DEFAULT=0"
    4642 +      ;;
    4643 +  esac
    4644 +  # Assume that glibc or uClibc are being used and so __cxa_atexit is provided.
    4645 +  default_use_cxa_atexit=yes
    4646 +  use_gcc_tgmath=no
    4647 +  ;;
    4648 +*-*-netbsd*)
    4649 +  tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd t-libgcc-pic"
    4650 +  gas=yes
    4651 +  gnu_ld=yes
    4652 +
    4653 +  # NetBSD 2.0 and later get POSIX threads enabled by default.
    4654 +  # Allow them to be explicitly enabled on any other version.
    4655 +  case ${enable_threads} in
    4656 +    "")
    4657 +      case ${target} in
    4658 +        *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
    4659 +          thread_file='posix'
    4660 +          tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
    4661 +          ;;
    4662 +      esac
    4663 +      ;;
    4664 +    yes | posix)
    4665 +      thread_file='posix'
    4666 +      tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
    4667 +      ;;
    4668 +  esac
    4669 +
    4670 +  # NetBSD 1.7 and later are set up to use GCC's crtstuff for
    4671 +  # ELF configurations.  We will clear extra_parts in the
    4672 +  # a.out configurations.
    4673 +  case ${target} in
    4674 +    *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
    4675 +      extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
    4676 +      ;;
    4677 +  esac
    4678 +
    4679 +  # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
    4680 +  # default (unless overridden by --disable-__cxa_atexit).
    4681 +  case ${target} in
    4682 +    *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
    4683 +      default_use_cxa_atexit=yes
    4684 +      ;;
    4685 +  esac
    4686 +  ;;
    4687 +*-*-openbsd*)
    4688 +  tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
    4689 +  case ${enable_threads} in
    4690 +    yes)
    4691 +      thread_file='posix'
    4692 +      tmake_file="${tmake_file} t-openbsd-thread"
    4693 +      ;;
    4694 +  esac
    4695 +  case ${target} in
    4696 +    *-*-openbsd2.*|*-*-openbsd3.[012])
    4697 +      tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
    4698 +  esac
    4699 +  ;;
    4700 +*-*-rtems*)
    4701 +  case ${enable_threads} in
    4702 +    yes) thread_file='rtems' ;;
    4703 +  esac
    4704 +  ;;
    4705 +*-*-vxworks*)
    4706 +  tmake_file=t-vxworks
    4707 +  xm_defines=POSIX
    4708 +  extra_options="${extra_options} vxworks.opt"
    4709 +  extra_objs=vxworks.o
    4710 +  case ${enable_threads} in
    4711 +    no) ;;
    4712 +    "" | yes | vxworks) thread_file='vxworks' ;;
    4713 +    *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
    4714 +  esac
    4715 +  ;;
    4716 +*-*-elf)
    4717 +  # Assume that newlib is being used and so __cxa_atexit is provided.
    4718 +  default_use_cxa_atexit=yes
    4719 +  ;;
    4720 +esac
    4721 +
    4722 +case ${target} in
    4723 +# Support site-specific machine types.
    4724 +*local*)
    4725 +       rest=`echo ${target} | sed -e "s/$cpu_type-//"`
    4726 +       tm_file=${cpu_type}/$rest.h
    4727 +       if test -f $srcdir/config/${cpu_type}/xm-$rest.h
    4728 +       then xm_file=${cpu_type}/xm-$rest.h
    4729 +       fi
    4730 +       if test -f $srcdir/config/${cpu_type}/t-$rest
    4731 +       then tmake_file=${cpu_type}/t-$rest
    4732 +       fi
    4733 +       ;;
    4734 +alpha*-*-linux*)
    4735 +       tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
    4736 +       target_cpu_default="MASK_GAS"
    4737 +       tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee alpha/t-linux"
    4738 +       ;;
    4739 +alpha*-*-gnu*)
    4740 +       tm_file="$tm_file alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h alpha/gnu.h"
    4741 +       target_cpu_default="MASK_GAS"
    4742 +       tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
    4743 +       ;;
    4744 +alpha*-*-freebsd*)
    4745 +       tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
    4746 +       target_cpu_default="MASK_GAS"
    4747 +       tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
    4748 +       extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
    4749 +       ;;
    4750 +alpha*-*-netbsd*)
    4751 +       tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
    4752 +       target_cpu_default="MASK_GAS"
    4753 +       tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
    4754 +       ;;
    4755 +alpha*-*-openbsd*)
    4756 +       tm_defines="${tm_defines} OBSD_NO_DYNAMIC_LIBRARIES OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
    4757 +       tm_file="alpha/alpha.h openbsd.h alpha/openbsd.h"
    4758 +       # default x-alpha is only appropriate for dec-osf.
    4759 +       target_cpu_default="MASK_GAS"
    4760 +       tmake_file="alpha/t-alpha alpha/t-ieee"
    4761 +       ;;
    4762 +alpha*-dec-osf[45]*)
    4763 +       if test x$stabs = xyes
    4764 +       then
    4765 +               tm_file="${tm_file} dbx.h"
    4766 +       fi
    4767 +       if test x$gas != xyes
    4768 +       then
    4769 +               extra_passes="mips-tfile mips-tdump"
    4770 +       fi
    4771 +       use_collect2=yes
    4772 +       tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf4"
    4773 +       tm_file="${tm_file} alpha/osf.h"
    4774 +       extra_headers=va_list.h
    4775 +       case ${target} in
    4776 +         *-*-osf4*)
    4777 +           # Define TARGET_SUPPORT_ARCH except on 4.0a.
    4778 +           case ${target} in
    4779 +               *-*-osf4.0a) ;;
    4780 +               *) tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
    4781 +           esac
    4782 +           ;;
    4783 +         *-*-osf5*)
    4784 +           tm_file="${tm_file} alpha/osf5.h"
    4785 +           tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
    4786 +           ;;
    4787 +       esac
    4788 +       case ${enable_threads} in
    4789 +         "" | yes | posix)
    4790 +           thread_file='posix'
    4791 +           tmake_file="${tmake_file} alpha/t-osf-pthread"
    4792 +           ;;
    4793 +       esac
    4794 +       ;;
    4795 +alpha64-dec-*vms*)
    4796 +       tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
    4797 +       xm_file="alpha/xm-vms.h"
    4798 +       tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
    4799 +       prefix=/gnu
    4800 +       local_prefix=/gnu
    4801 +       ;;
    4802 +alpha*-dec-*vms*)
    4803 +       tm_file="${tm_file} alpha/vms.h"
    4804 +       xm_file=alpha/xm-vms.h
    4805 +       tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
    4806 +       prefix=/gnu
    4807 +       local_prefix=/gnu
    4808 +       ;;
    4809 +arc-*-elf*)
    4810 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
    4811 +       extra_parts="crtinit.o crtfini.o"
    4812 +       ;;
    4813 +arm-*-coff* | armel-*-coff*)
    4814 +       tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h"
    4815 +       tmake_file="arm/t-arm arm/t-arm-coff"
    4816 +       ;;
    4817 +arm-wrs-vxworks)
    4818 +       tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
    4819 +       tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
    4820 +       ;;
    4821 +arm*-*-freebsd*)
    4822 +       tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
    4823 +       tmake_file="${tmake_file} arm/t-arm arm/t-strongarm-elf"
    4824 +       ;;
    4825 +arm*-*-netbsdelf*)
    4826 +       tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h"
    4827 +       tmake_file="${tmake_file} arm/t-arm arm/t-netbsd"
    4828 +       ;;
    4829 +arm*-*-netbsd*)
    4830 +       tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h"
    4831 +       tmake_file="t-netbsd arm/t-arm arm/t-netbsd"
    4832 +       extra_parts=""
    4833 +       use_collect2=yes
    4834 +       ;;
    4835 +arm*-*-linux*)                 # ARM GNU/Linux with ELF
    4836 +       tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
    4837 +       case $target in
    4838 +       arm*b-*)
    4839 +               tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
    4840 +               ;;
    4841 +       esac
    4842 +       tmake_file="${tmake_file} t-linux arm/t-arm"
    4843 +       case ${target} in
    4844 +       arm*-*-linux-*eabi)
    4845 +           tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
    4846 +           tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
    4847 +           # The BPABI long long divmod functions return a 128-bit value in
    4848 +           # registers r0-r3.  Correctly modeling that requires the use of
    4849 +           # TImode.
    4850 +           need_64bit_hwint=yes
    4851 +           # The EABI requires the use of __cxa_atexit.
    4852 +           default_use_cxa_atexit=yes
    4853 +           ;;
    4854 +       *)
    4855 +           tmake_file="$tmake_file arm/t-linux"
    4856 +           ;;
    4857 +       esac
    4858 +       tm_file="$tm_file arm/aout.h arm/arm.h"
    4859 +       tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
    4860 +       ;;
    4861 +arm*-*-uclinux*)               # ARM ucLinux
    4862 +       tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h"
    4863 +       tmake_file="arm/t-arm arm/t-arm-elf"
    4864 +       case ${target} in
    4865 +       arm*-*-uclinux*eabi)
    4866 +           tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
    4867 +           tmake_file="$tmake_file arm/t-bpabi"
    4868 +           # The BPABI long long divmod functions return a 128-bit value in
    4869 +           # registers r0-r3.  Correctly modeling that requires the use of
    4870 +           # TImode.
    4871 +           need_64bit_hwint=yes
    4872 +           # The EABI requires the use of __cxa_atexit.
    4873 +           default_use_cxa_atexit=yes
    4874 +       esac
    4875 +       tm_file="$tm_file arm/aout.h arm/arm.h"
    4876 +       tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
    4877 +       ;;
    4878 +arm*-*-ecos-elf)
    4879 +       tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
    4880 +       tmake_file="arm/t-arm arm/t-arm-elf"
    4881 +       tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
    4882 +       ;;
    4883 +arm*-*-eabi* | arm*-*-symbianelf* )
    4884 +       # The BPABI long long divmod functions return a 128-bit value in
    4885 +       # registers r0-r3.  Correctly modeling that requires the use of
    4886 +       # TImode.
    4887 +       need_64bit_hwint=yes
    4888 +       default_use_cxa_atexit=yes
    4889 +       tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
    4890 +       tmake_file="arm/t-arm arm/t-arm-elf"
    4891 +       case ${target} in
    4892 +       arm*-*-eabi*)
    4893 +         tm_file="$tm_file arm/eabi.h"
    4894 +         tmake_file="${tmake_file} arm/t-bpabi"
    4895 +         extra_options="${extra_options} arm/eabi.opt"
    4896 +         ;;
    4897 +       arm*-*-symbianelf*)
    4898 +         tm_file="${tm_file} arm/symbian.h"
    4899 +         # We do not include t-bpabi for Symbian OS because the system
    4900 +         # provides its own implementation of the BPABI functions.
    4901 +         tmake_file="${tmake_file} arm/t-symbian"
    4902 +         ;;
    4903 +       esac
    4904 +       tm_file="${tm_file} arm/aout.h arm/arm.h"
    4905 +       tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
    4906 +       ;;
    4907 +arm*-*-rtems*)
    4908 +       tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h"
    4909 +       tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
    4910 +       tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
    4911 +       ;;
    4912 +arm*-*-elf)
    4913 +       tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
    4914 +       tmake_file="arm/t-arm arm/t-arm-elf"
    4915 +       tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
    4916 +       ;;
    4917 +arm*-wince-pe*)
    4918 +       tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h arm/wince-pe.h"
    4919 +       tmake_file="arm/t-arm arm/t-wince-pe"
    4920 +       extra_options="${extra_options} arm/pe.opt"
    4921 +       extra_objs="pe.o"
    4922 +       ;;
    4923 +arm-*-pe*)
    4924 +       tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h"
    4925 +       tmake_file="arm/t-arm arm/t-pe"
    4926 +       extra_options="${extra_options} arm/pe.opt"
    4927 +       extra_objs="pe.o"
    4928 +       ;;
    4929 +avr-*-rtems*)
    4930 +       tm_file="avr/avr.h dbxelf.h avr/rtems.h rtems.h"
    4931 +       tmake_file="avr/t-avr t-rtems avr/t-rtems"
    4932 +       ;;
    4933 +avr-*-*)
    4934 +       tm_file="avr/avr.h dbxelf.h"
    4935 +       ;;
    4936 +bfin*-elf*)
    4937 +       tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
    4938 +       tmake_file=bfin/t-bfin-elf
    4939 +       use_collect2=no
    4940 +       ;;
    4941 +bfin*-uclinux*)
    4942 +       tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/uclinux.h"
    4943 +       tmake_file=bfin/t-bfin-uclinux
    4944 +       tm_defines="${tm_defines} UCLIBC_DEFAULT=1"
    4945 +       extra_options="${extra_options} linux.opt"
    4946 +       use_collect2=no
    4947 +       ;;
    4948 +bfin*-linux-uclibc*)
    4949 +       tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h linux.h bfin/linux.h ./linux-sysroot-suffix.h"
    4950 +       tmake_file="t-slibgcc-elf-ver bfin/t-bfin-linux"
    4951 +       extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
    4952 +       use_collect2=no
    4953 +       ;;
    4954 +bfin*-rtems*)
    4955 +       tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h"
    4956 +       tmake_file="bfin/t-bfin t-rtems bfin/t-rtems"
    4957 +       ;;
    4958 +bfin*-*)
    4959 +       tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
    4960 +       tmake_file=bfin/t-bfin
    4961 +       use_collect2=no
    4962 +       ;;
    4963 +crisv32-*-elf | crisv32-*-none)
    4964 +       tm_file="dbxelf.h elfos.h ${tm_file}"
    4965 +       tmake_file="cris/t-cris"
    4966 +       target_cpu_default=32
    4967 +       gas=yes
    4968 +       extra_options="${extra_options} cris/elf.opt"
    4969 +       ;;
    4970 +cris-*-elf | cris-*-none)
    4971 +       tm_file="dbxelf.h elfos.h ${tm_file}"
    4972 +       tmake_file="cris/t-cris cris/t-elfmulti"
    4973 +       gas=yes
    4974 +       extra_options="${extra_options} cris/elf.opt"
    4975 +       ;;
    4976 +crisv32-*-linux* | cris-*-linux*)
    4977 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
    4978 +       # We need to avoid using t-linux, so override default tmake_file
    4979 +       tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
    4980 +       extra_options="${extra_options} cris/linux.opt"
    4981 +       case $target in
    4982 +         cris-*-*)
    4983 +               target_cpu_default=10
    4984 +               ;;
    4985 +         crisv32-*-*)
    4986 +               target_cpu_default=32
    4987 +               ;;
    4988 +       esac
    4989 +       ;;
    4990 +crx-*-elf)
    4991 +       tm_file="elfos.h ${tm_file}"
    4992 +       extra_parts="crtbegin.o crtend.o"
    4993 +       use_collect2=no
    4994 +       ;;
    4995 +fr30-*-elf)
    4996 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
    4997 +       tmake_file=fr30/t-fr30
    4998 +       extra_parts="crti.o crtn.o crtbegin.o crtend.o"
    4999 +       ;;
    5000 +frv-*-elf)
    5001 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file} frv/frv-abi.h"
    5002 +       tmake_file=frv/t-frv
    5003 +       ;;
    5004 +frv-*-*linux*)
    5005 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file} \
    5006 +                linux.h frv/linux.h frv/frv-abi.h"
    5007 +       tmake_file="${tmake_file} frv/t-frv frv/t-linux"
    5008 +       ;;
    5009 +h8300-*-rtems*)
    5010 +       tmake_file="h8300/t-h8300 h8300/t-elf t-rtems h8300/t-rtems"
    5011 +       tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h"
    5012 +       ;;
    5013 +h8300-*-elf*)
    5014 +       tmake_file="h8300/t-h8300 h8300/t-elf"
    5015 +       tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h"
    5016 +       ;;
    5017 +h8300-*-*)
    5018 +       tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h"
    5019 +       ;;
    5020 +hppa*64*-*-linux*)
    5021 +       target_cpu_default="MASK_PA_11|MASK_PA_20"
    5022 +       tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \
    5023 +                pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
    5024 +       tmake_file="${tmake_file} pa/t-linux64"
    5025 +       gas=yes gnu_ld=yes
    5026 +       need_64bit_hwint=yes
    5027 +       ;;
    5028 +hppa*-*-linux*)
    5029 +       target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
    5030 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \
    5031 +                pa/pa32-regs.h pa/pa32-linux.h"
    5032 +       tmake_file="${tmake_file} pa/t-linux"
    5033 +       # Set the libgcc version number
    5034 +       if test x$sjlj = x1; then
    5035 +           tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
    5036 +       else
    5037 +           tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
    5038 +       fi
    5039 +       ;;
    5040 +# port not yet contributed.
    5041 +#hppa*-*-openbsd*)
    5042 +#      target_cpu_default="MASK_PA_11"
    5043 +#      ;;
    5044 +hppa[12]*-*-hpux10*)
    5045 +       case ${target} in
    5046 +       hppa1.1-*-* | hppa2*-*-*)
    5047 +               target_cpu_default="MASK_PA_11"
    5048 +               ;;
    5049 +       esac
    5050 +       tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
    5051 +                pa/pa-hpux.h pa/pa-hpux10.h"
    5052 +       extra_options="${extra_options} pa/pa-hpux.opt"
    5053 +       case ${target} in
    5054 +       *-*-hpux10.[1-9]*)
    5055 +               tm_file="${tm_file} pa/pa-hpux1010.h"
    5056 +               extra_options="${extra_options} pa/pa-hpux1010.opt"
    5057 +               ;;
    5058 +       esac
    5059 +       tmake_file="pa/t-pa-hpux10 pa/t-pa-hpux pa/t-hpux-shlib"
    5060 +       case ${enable_threads} in
    5061 +         "")
    5062 +           if test x$have_pthread_h = xyes ; then
    5063 +             tmake_file="${tmake_file} pa/t-dce-thr"
    5064 +           fi
    5065 +           ;;
    5066 +         yes | dce)
    5067 +           tmake_file="${tmake_file} pa/t-dce-thr"
    5068 +           ;;
    5069 +       esac
    5070 +       # Set the libgcc version number
    5071 +       if test x$sjlj = x1; then
    5072 +           tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
    5073 +       else
    5074 +           tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
    5075 +       fi
    5076 +       use_collect2=yes
    5077 +       gas=yes
    5078 +       ;;
    5079 +hppa*64*-*-hpux11*)
    5080 +       target_cpu_default="MASK_PA_11|MASK_PA_20"
    5081 +       if test x$gnu_ld = xyes
    5082 +       then
    5083 +               target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
    5084 +       fi
    5085 +       tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
    5086 +                pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
    5087 +                pa/pa-hpux11.h"
    5088 +       case ${target} in
    5089 +       *-*-hpux11.[1-9]*)
    5090 +               tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
    5091 +               extra_options="${extra_options} pa/pa-hpux1111.opt"
    5092 +               ;;
    5093 +       *)
    5094 +               tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
    5095 +               ;;
    5096 +       esac
    5097 +       extra_options="${extra_options} pa/pa-hpux.opt \
    5098 +                      pa/pa-hpux1010.opt pa/pa64-hpux.opt"
    5099 +       need_64bit_hwint=yes
    5100 +       tmake_file="pa/t-pa64 pa/t-pa-hpux pa/t-hpux-shlib"
    5101 +       # Set the libgcc version number
    5102 +       if test x$sjlj = x1; then
    5103 +           tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
    5104 +       else
    5105 +           tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
    5106 +       fi
    5107 +       extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
    5108 +                    libgcc_stub.a"
    5109 +       case x${enable_threads} in
    5110 +       x | xyes | xposix )
    5111 +               thread_file=posix
    5112 +               ;;
    5113 +       esac
    5114 +       gas=yes
    5115 +       ;;
    5116 +hppa[12]*-*-hpux11*)
    5117 +       case ${target} in
    5118 +       hppa1.1-*-* | hppa2*-*-*)
    5119 +               target_cpu_default="MASK_PA_11"
    5120 +               ;;
    5121 +       esac
    5122 +       tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
    5123 +                pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
    5124 +       extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt"
    5125 +       case ${target} in
    5126 +       *-*-hpux11.[1-9]*)
    5127 +               tm_file="${tm_file} pa/pa-hpux1111.h"
    5128 +               extra_options="${extra_options} pa/pa-hpux1111.opt"
    5129 +               ;;
    5130 +       esac
    5131 +       tmake_file="pa/t-pa-hpux11 pa/t-pa-hpux pa/t-hpux-shlib"
    5132 +       # Set the libgcc version number
    5133 +       if test x$sjlj = x1; then
    5134 +           tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
    5135 +       else
    5136 +           tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
    5137 +       fi
    5138 +       case x${enable_threads} in
    5139 +       x | xyes | xposix )
    5140 +               thread_file=posix
    5141 +               ;;
    5142 +       esac
    5143 +       use_collect2=yes
    5144 +       gas=yes
    5145 +       ;;
    5146 +i[34567]86-*-darwin*)
    5147 +       need_64bit_hwint=yes
    5148 +
    5149 +       # This is so that '.../configure && make' doesn't fail due to
    5150 +       # config.guess deciding that the configuration is i386-*-darwin* and
    5151 +       # then this file using that to set --with-cpu=i386 which has no -m64
    5152 +       # support.
    5153 +       with_cpu=${with_cpu:-generic}
    5154 +       tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
    5155 +       ;;
    5156 +x86_64-*-darwin*)
    5157 +       with_cpu=${with_cpu:-generic}
    5158 +       tmake_file="${tmake_file} t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin i386/t-crtpc i386/t-crtfm"
    5159 +       tm_file="${tm_file} ${cpu_type}/darwin64.h"
    5160 +       ;;
    5161 +i[34567]86-*-elf*)
    5162 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"
    5163 +       tmake_file="${tmake_file} i386/t-i386elf t-svr4"
    5164 +       ;;
    5165 +x86_64-*-elf*)
    5166 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/x86-64.h"
    5167 +       tmake_file="${tmake_file} i386/t-i386elf t-svr4"
    5168 +       ;;
    5169 +i[34567]86-*-aout*)
    5170 +       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
    5171 +       ;;
    5172 +i[34567]86-*-freebsd*)
    5173 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
    5174 +       ;;
    5175 +x86_64-*-freebsd*)
    5176 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
    5177 +       tmake_file="${tmake_file} i386/t-crtstuff"
    5178 +       ;;
    5179 +i[34567]86-*-netbsdelf*)
    5180 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
    5181 +       ;;
    5182 +i[34567]86-*-netbsd*)
    5183 +       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
    5184 +       tmake_file="${tmake_file} t-netbsd"
    5185 +       extra_parts=""
    5186 +       use_collect2=yes
    5187 +       ;;
    5188 +x86_64-*-netbsd*)
    5189 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
    5190 +       tmake_file="${tmake_file} i386/t-crtstuff"
    5191 +       ;;
    5192 +i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
    5193 +       tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
    5194 +       # needed to unconfuse gdb
    5195 +       tmake_file="${tmake_file} t-libc-ok t-openbsd i386/t-openbsd"
    5196 +       # we need collect2 until our bug is fixed...
    5197 +       use_collect2=yes
    5198 +       ;;
    5199 +i[34567]86-*-openbsd*)
    5200 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
    5201 +       tm_file="${tm_file} openbsd.h i386/openbsdelf.h"
    5202 +       gas=yes
    5203 +       gnu_ld=yes
    5204 +       ;;
    5205 +i[34567]86-*-coff*)
    5206 +       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
    5207 +       ;;
    5208 +i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
    5209 +                       # Intel 80386's running GNU/*
    5210 +                       # with ELF format using glibc 2
    5211 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h"
    5212 +       case ${target} in
    5213 +       i[34567]86-*-linux*)
    5214 +               if test x$enable_targets = xall; then
    5215 +                       tm_file="${tm_file} i386/x86-64.h i386/linux64.h"
    5216 +                       tm_defines="${tm_defines} TARGET_BI_ARCH=1"
    5217 +                       tmake_file="${tmake_file} i386/t-linux64"
    5218 +                       need_64bit_hwint=yes
    5219 +                       case X"${with_cpu}" in
    5220 +                       Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
    5221 +                               ;;
    5222 +                       X)
    5223 +                               if test x$with_cpu_64 = x; then
    5224 +                                       with_cpu_64=generic
    5225 +                               fi
    5226 +                               ;;
    5227 +                       *)
    5228 +                               echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
    5229 +                               echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
    5230 +                               exit 1
    5231 +                               ;;
    5232 +                       esac
    5233 +               else
    5234 +                       tm_file="${tm_file} i386/linux.h"
    5235 +               fi
    5236 +               ;;
    5237 +       i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} i386/linux.h knetbsd-gnu.h i386/knetbsd-gnu.h" ;;
    5238 +       i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} i386/linux.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
    5239 +       i[34567]86-*-kopensolaris*-gnu) tm_file="${tm_file} i386/linux.h kopensolaris-gnu.h i386/kopensolaris-gnu.h" ;;
    5240 +       i[34567]86-*-gnu*) tm_file="$tm_file i386/linux.h gnu.h i386/gnu.h";;
    5241 +       esac
    5242 +       tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
    5243 +       ;;
    5244 +x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
    5245 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
    5246 +                i386/x86-64.h i386/linux64.h"
    5247 +       case ${target} in
    5248 +       x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
    5249 +       x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
    5250 +       esac
    5251 +       tmake_file="${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
    5252 +       ;;
    5253 +i[34567]86-pc-msdosdjgpp*)
    5254 +       xm_file=i386/xm-djgpp.h
    5255 +       tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h"
    5256 +       tmake_file="${tmake_file} i386/t-djgpp"
    5257 +       extra_options="${extra_options} i386/djgpp.opt"
    5258 +       gnu_ld=yes
    5259 +       gas=yes
    5260 +       ;;
    5261 +i[34567]86-*-lynxos*)
    5262 +       xm_defines=POSIX
    5263 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
    5264 +       tmake_file="${tmake_file} i386/t-crtstuff t-lynx"
    5265 +       extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
    5266 +       extra_options="${extra_options} lynx.opt"
    5267 +       thread_file=lynx
    5268 +       gnu_ld=yes
    5269 +       gas=yes
    5270 +       ;;
    5271 +i[3456x]86-*-netware*)
    5272 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h tm-dwarf2.h i386/netware.h"
    5273 +       tmake_file="${tmake_file} i386/t-netware"
    5274 +       extra_objs=netware.o
    5275 +       case /${with_ld} in
    5276 +       */nwld)
    5277 +               extra_objs="$extra_objs nwld.o"
    5278 +               tm_file="${tm_file} i386/nwld.h"
    5279 +               tmake_file="${tmake_file} i386/t-nwld"
    5280 +               extra_parts="crt0.o libgcc.def libc.def libcpre.def posixpre.def"
    5281 +               ;;
    5282 +       esac
    5283 +       case x${enable_threads} in
    5284 +       x | xyes | xposix) thread_file='posix';;
    5285 +       xnks) thread_file='nks';;
    5286 +       xno) ;;
    5287 +       *) echo 'Unknown thread configuration for NetWare' >&2; exit 1;;
    5288 +       esac
    5289 +       ;;
    5290 +i[34567]86-*-nto-qnx*)
    5291 +       tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h svr4.h i386/unix.h i386/nto.h"
    5292 +       tmake_file="${tmake_file} i386/t-nto"
    5293 +       gnu_ld=yes
    5294 +       gas=yes
    5295 +       ;;
    5296 +i[34567]86-*-rtems*)
    5297 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h"
    5298 +       extra_parts="crtbegin.o crtend.o crti.o crtn.o"
    5299 +       tmake_file="${tmake_file} i386/t-rtems-i386 i386/t-crtstuff t-rtems"
    5300 +       ;;
    5301 +i[34567]86-*-solaris2*)
    5302 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h"
    5303 +       case ${target} in
    5304 +       *-*-solaris2.1[0-9]*)
    5305 +               tm_file="${tm_file} sol2-10.h"
    5306 +               ;;
    5307 +       esac
    5308 +       tm_file="${tm_file} i386/sol2.h"
    5309 +       tmake_file="${tmake_file} t-sol2 t-svr4"
    5310 +       c_target_objs="${c_target_objs} sol2-c.o"
    5311 +       cxx_target_objs="${cxx_target_objs} sol2-c.o"
    5312 +       extra_objs="sol2.o"
    5313 +       tm_p_file="${tm_p_file} sol2-protos.h"
    5314 +       if test x$gnu_ld = xyes; then
    5315 +               tmake_file="$tmake_file t-slibgcc-elf-ver"
    5316 +               tm_defines="${tm_defines} TARGET_GNU_LD=1"
    5317 +       else
    5318 +               tmake_file="$tmake_file t-slibgcc-sld"
    5319 +       fi
    5320 +       if test x$gas = xyes; then
    5321 +               tm_file="usegas.h ${tm_file}"
    5322 +       fi
    5323 +       tm_file="$tm_file tm-dwarf2.h"
    5324 +       case ${target} in
    5325 +       *-*-solaris2.1[0-9]*)
    5326 +               tm_file="${tm_file} i386/x86-64.h i386/sol2-10.h"
    5327 +               tm_defines="${tm_defines} TARGET_BI_ARCH=1"
    5328 +               tmake_file="$tmake_file i386/t-sol2-10"
    5329 +               # i386/t-crtstuff only affects libgcc.  Its inclusion
    5330 +               # depends on a runtime test and is thus performed in
    5331 +               # libgcc/configure.ac instead.
    5332 +               need_64bit_hwint=yes
    5333 +               case X"${with_cpu}" in
    5334 +               Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
    5335 +                       ;;
    5336 +               X)
    5337 +                       if test x$with_cpu_64 = x; then
    5338 +                               with_cpu_64=generic
    5339 +                       fi
    5340 +                       ;;
    5341 +               *)
    5342 +                       echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
    5343 +                       echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
    5344 +                       exit 1
    5345 +                       ;;
    5346 +               esac
    5347 +               ;;
    5348 +       esac
    5349 +       case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
    5350 +         "":yes:* | yes:yes:* )
    5351 +               thread_file=posix
    5352 +               ;;
    5353 +         "":*:yes | yes:*:yes )
    5354 +               thread_file=solaris
    5355 +               ;;
    5356 +       esac
    5357 +       ;;
    5358 +i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
    5359 +       tm_file="${tm_file} i386/unix.h i386/att.h elfos.h svr4.h vx-common.h"
    5360 +       case ${target} in
    5361 +         *-vxworksae*)
    5362 +           tm_file="${tm_file} vxworksae.h i386/vx-common.h i386/vxworksae.h"
    5363 +           tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
    5364 +           ;;
    5365 +         *)
    5366 +           tm_file="${tm_file} vxworks.h i386/vx-common.h i386/vxworks.h"
    5367 +           tmake_file="${tmake_file} i386/t-vxworks"
    5368 +           ;;
    5369 +       esac
    5370 +       ;;
    5371 +i[34567]86-*-pe | i[34567]86-*-cygwin*)
    5372 +       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h"
    5373 +       xm_file=i386/xm-cygwin.h
    5374 +       # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
    5375 +       if test x$sjlj = x0; then
    5376 +               tmake_eh_file="i386/t-dw2-eh"
    5377 +       else
    5378 +               tmake_eh_file="i386/t-sjlj-eh"
    5379 +       fi
    5380 +       tmake_file="${tmake_file} ${tmake_eh_file} i386/t-cygming i386/t-cygwin"
    5381 +       target_gtfiles="\$(srcdir)/config/i386/winnt.c"
    5382 +       extra_options="${extra_options} i386/cygming.opt"
    5383 +       extra_objs="winnt.o winnt-stubs.o"
    5384 +       c_target_objs="${c_target_objs} cygwin2.o msformat-c.o"
    5385 +       cxx_target_objs="${cxx_target_objs} cygwin2.o winnt-cxx.o msformat-c.o"
    5386 +       extra_gcc_objs=cygwin1.o
    5387 +       if test x$enable_threads = xyes; then
    5388 +               thread_file='posix'
    5389 +       fi
    5390 +       ;;
    5391 +i[34567]86-*-mingw* | x86_64-*-mingw*)
    5392 +       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h"
    5393 +       xm_file=i386/xm-mingw32.h
    5394 +       case ${target} in
    5395 +               x86_64-*-*)
    5396 +                       need_64bit_hwint=yes
    5397 +                       ;;
    5398 +               *)
    5399 +                       ;;
    5400 +       esac
    5401 +       # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
    5402 +       if test x$sjlj = x0; then
    5403 +               tmake_eh_file="i386/t-dw2-eh"
    5404 +       else
    5405 +               tmake_eh_file="i386/t-sjlj-eh"
    5406 +       fi
    5407 +       tmake_file="${tmake_file} ${tmake_eh_file} i386/t-cygming i386/t-mingw32"
    5408 +       target_gtfiles="\$(srcdir)/config/i386/winnt.c"
    5409 +       extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
    5410 +       extra_objs="winnt.o winnt-stubs.o"
    5411 +       c_target_objs="${c_target_objs} msformat-c.o"
    5412 +       cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
    5413 +       default_use_cxa_atexit=yes
    5414 +       case ${enable_threads} in
    5415 +         "" | yes | win32)
    5416 +         thread_file='win32'
    5417 +         tmake_file="${tmake_file} i386/t-gthr-win32"
    5418 +         ;;
    5419 +       esac
    5420 +       case ${target} in
    5421 +               x86_64-*-mingw*)
    5422 +                       tmake_file="${tmake_file} i386/t-crtfm"
    5423 +                       ;;
    5424 +               *)
    5425 +                       ;;
    5426 +       esac
    5427 +       case ${target} in
    5428 +               *mingw32crt*)
    5429 +                       tm_file="${tm_file} i386/crtdll.h"
    5430 +                       ;;
    5431 +               *mingw32msv* | *mingw*)
    5432 +                       ;;
    5433 +       esac
    5434 +       ;;
    5435 +i[34567]86-*-interix3*)
    5436 +       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
    5437 +       tmake_file="${tmake_file} i386/t-interix"
    5438 +       extra_objs=winnt.o
    5439 +       target_gtfiles="\$(srcdir)/config/i386/winnt.c"
    5440 +       if test x$enable_threads = xyes ; then
    5441 +               thread_file='posix'
    5442 +       fi
    5443 +       if test x$stabs = xyes ; then
    5444 +               tm_file="${tm_file} dbxcoff.h"
    5445 +       fi
    5446 +       ;;
    5447 +ia64*-*-elf*)
    5448 +       tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h"
    5449 +       tmake_file="ia64/t-ia64"
    5450 +       target_cpu_default="0"
    5451 +       if test x$gas = xyes
    5452 +       then
    5453 +               target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
    5454 +       fi
    5455 +       if test x$gnu_ld = xyes
    5456 +       then
    5457 +               target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
    5458 +       fi
    5459 +       extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
    5460 +       ;;
    5461 +ia64*-*-freebsd*)
    5462 +       tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
    5463 +       target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
    5464 +       tmake_file="${tmake_file} ia64/t-ia64"
    5465 +       extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
    5466 +       ;;
    5467 +ia64*-*-linux*)
    5468 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
    5469 +       tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc"
    5470 +       if test x$with_system_libunwind != xyes ; then
    5471 +               tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
    5472 +       fi
    5473 +       target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
    5474 +       extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
    5475 +       ;;
    5476 +ia64*-*-hpux*)
    5477 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h"
    5478 +       tmake_file="ia64/t-ia64 ia64/t-hpux"
    5479 +       target_cpu_default="MASK_GNU_AS"
    5480 +       case x$enable_threads in
    5481 +       x | xyes | xposix )
    5482 +               thread_file=posix
    5483 +               ;;
    5484 +       esac
    5485 +       use_collect2=no
    5486 +       c_target_objs="ia64-c.o"
    5487 +       cxx_target_objs="ia64-c.o"
    5488 +       extra_options="${extra_options} ia64/ilp32.opt"
    5489 +       ;;
    5490 +iq2000*-*-elf*)
    5491 +        tm_file="svr4.h elfos.h iq2000/iq2000.h"
    5492 +        tmake_file=iq2000/t-iq2000
    5493 +        out_file=iq2000/iq2000.c
    5494 +        md_file=iq2000/iq2000.md
    5495 +        ;;
    5496 +m32r-*-elf*)
    5497 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
    5498 +       extra_parts="crtinit.o crtfini.o"
    5499 +       ;;
    5500 +m32rle-*-elf*)
    5501 +       tm_file="dbxelf.h elfos.h svr4.h m32r/little.h ${tm_file}"
    5502 +       extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o"
    5503 +       ;;
    5504 +m32r-*-rtems*)
    5505 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file} m32r/rtems.h rtems.h"
    5506 +       tmake_file="m32r/t-m32r t-rtems"
    5507 +       extra_parts="crtinit.o crtfini.o"
    5508 +       ;;
    5509 +m32r-*-linux*)
    5510 +       tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} m32r/linux.h"
    5511 +       # We override the tmake_file for linux -- why?
    5512 +       tmake_file="t-slibgcc-elf-ver m32r/t-linux"
    5513 +       gnu_ld=yes
    5514 +       if test x$enable_threads = xyes; then
    5515 +               thread_file='posix'
    5516 +       fi
    5517 +       ;;
    5518 +m32rle-*-linux*)
    5519 +       tm_file="dbxelf.h elfos.h svr4.h linux.h m32r/little.h ${tm_file} m32r/linux.h"
    5520 +       # We override the tmake_file for linux -- why?
    5521 +       tmake_file="t-slibgcc-elf-ver m32r/t-linux"
    5522 +       gnu_ld=yes
    5523 +       if test x$enable_threads = xyes; then
    5524 +               thread_file='posix'
    5525 +       fi
    5526 +       ;;
    5527 +# m68hc11 and m68hc12 share the same machine description.
    5528 +m68hc11-*-*|m6811-*-*)
    5529 +       tm_file="dbxelf.h elfos.h usegas.h m68hc11/m68hc11.h"
    5530 +       tm_p_file="m68hc11/m68hc11-protos.h"
    5531 +       md_file="m68hc11/m68hc11.md"
    5532 +       out_file="m68hc11/m68hc11.c"
    5533 +       tmake_file="m68hc11/t-m68hc11"
    5534 +        ;;
    5535 +m68hc12-*-*|m6812-*-*)
    5536 +       tm_file="m68hc11/m68hc12.h dbxelf.h elfos.h usegas.h m68hc11/m68hc11.h"
    5537 +       tm_p_file="m68hc11/m68hc11-protos.h"
    5538 +       md_file="m68hc11/m68hc11.md"
    5539 +       out_file="m68hc11/m68hc11.c"
    5540 +       tmake_file="m68hc11/t-m68hc11"
    5541 +       extra_options="${extra_options} m68hc11/m68hc11.opt"
    5542 +        ;;
    5543 +m68k-*-aout*)
    5544 +       default_m68k_cpu=68020
    5545 +       default_cf_cpu=5206
    5546 +       tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
    5547 +       tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h"
    5548 +       ;;
    5549 +m68k-*-coff*)
    5550 +       default_m68k_cpu=68020
    5551 +       default_cf_cpu=5206
    5552 +       tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
    5553 +       tm_defines="${tm_defines} MOTOROLA=1"
    5554 +       tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
    5555 +       ;;
    5556 +m68k-*-elf* | fido-*-elf*)
    5557 +       case ${target} in
    5558 +       fido-*-elf*)
    5559 +               # Check that $with_cpu makes sense.
    5560 +               case $with_cpu in
    5561 +               "" | "fidoa")
    5562 +                       ;;
    5563 +               *)
    5564 +                       echo "Cannot accept --with-cpu=$with_cpu"
    5565 +                       exit 1
    5566 +                       ;;
    5567 +               esac
    5568 +               with_cpu=fidoa
    5569 +               ;;
    5570 +       *)
    5571 +               default_m68k_cpu=68020
    5572 +               default_cf_cpu=5206
    5573 +               ;;
    5574 +       esac
    5575 +       tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
    5576 +       tm_defines="${tm_defines} MOTOROLA=1"
    5577 +       tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-m68kelf"
    5578 +       # Add multilibs for targets other than fido.
    5579 +       case ${target} in
    5580 +       fido-*-elf*)
    5581 +               ;;
    5582 +       *)
    5583 +               tmake_file="$tmake_file m68k/t-mlibs"
    5584 +               ;;
    5585 +       esac
    5586 +       extra_parts="crtbegin.o crtend.o"
    5587 +       ;;
    5588 +m68k*-*-netbsdelf*)
    5589 +       default_m68k_cpu=68020
    5590 +       default_cf_cpu=5475
    5591 +       tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
    5592 +       tm_defines="${tm_defines} MOTOROLA=1"
    5593 +       ;;
    5594 +m68k*-*-openbsd*)
    5595 +       default_m68k_cpu=68020
    5596 +       default_cf_cpu=5475
    5597 +       # needed to unconfuse gdb
    5598 +       tm_defines="${tm_defines} OBSD_OLD_GAS"
    5599 +       tm_file="${tm_file} openbsd.h m68k/openbsd.h"
    5600 +       tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
    5601 +       # we need collect2 until our bug is fixed...
    5602 +       use_collect2=yes
    5603 +       ;;
    5604 +m68k-*-uclinuxoldabi*)         # Motorola m68k/ColdFire running uClinux
    5605 +                               # with uClibc, using the original
    5606 +                               # m68k-elf-based ABI
    5607 +       default_m68k_cpu=68020
    5608 +       default_cf_cpu=5206
    5609 +       tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux-oldabi.h"
    5610 +       tm_defines="${tm_defines} MOTOROLA=1"
    5611 +       tmake_file="m68k/t-floatlib m68k/t-uclinux"
    5612 +       ;;
    5613 +m68k-*-uclinux*)               # Motorola m68k/ColdFire running uClinux
    5614 +                               # with uClibc, using the new GNU/Linux-style
    5615 +                               # ABI.
    5616 +       default_m68k_cpu=68020
    5617 +       default_cf_cpu=5206
    5618 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
    5619 +       tm_defines="${tm_defines} MOTOROLA=1 UCLIBC_DEFAULT=1"
    5620 +       extra_options="${extra_options} linux.opt"
    5621 +       tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
    5622 +       ;;
    5623 +m68k-*-linux*)         # Motorola m68k's running GNU/Linux
    5624 +                               # with ELF format using glibc 2
    5625 +                               # aka the GNU/Linux C library 6.
    5626 +       default_m68k_cpu=68020
    5627 +       default_cf_cpu=5475
    5628 +       with_arch=${with_arch:-m68k}
    5629 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h m68k/linux.h ./sysroot-suffix.h"
    5630 +       extra_options="${extra_options} m68k/ieee.opt"
    5631 +       tm_defines="${tm_defines} MOTOROLA=1"
    5632 +       tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"
    5633 +       # if not configured with --enable-sjlj-exceptions, bump the
    5634 +       # libgcc version number
    5635 +       if test x$sjlj != x1; then
    5636 +           tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
    5637 +       fi
    5638 +       ;;
    5639 +m68k-*-rtems*)
    5640 +       default_m68k_cpu=68020
    5641 +       default_cf_cpu=5206
    5642 +       tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems m68k/t-mlibs"
    5643 +       tm_file="${tm_file} m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h"
    5644 +       tm_defines="${tm_defines} MOTOROLA=1"
    5645 +       extra_parts="crtbegin.o crtend.o"
    5646 +       ;;
    5647 +mcore-*-elf)
    5648 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file} mcore/mcore-elf.h"
    5649 +       tmake_file=mcore/t-mcore
    5650 +       inhibit_libc=true
    5651 +       ;;
    5652 +mcore-*-pe*)
    5653 +       tm_file="svr3.h dbxcoff.h ${tm_file} mcore/mcore-pe.h"
    5654 +       tmake_file=mcore/t-mcore-pe
    5655 +       inhibit_libc=true
    5656 +       ;;
    5657 +mips-sgi-irix[56]*)
    5658 +       tm_file="elfos.h ${tm_file} mips/iris.h"
    5659 +       tmake_file="mips/t-iris mips/t-slibgcc-irix"
    5660 +       target_cpu_default="MASK_ABICALLS"
    5661 +       case ${target} in
    5662 +       *-*-irix5*)
    5663 +               tm_file="${tm_file} mips/iris5.h"
    5664 +               ;;
    5665 +
    5666 +       *-*-irix6*)
    5667 +               tm_file="${tm_file} mips/iris6.h"
    5668 +               tmake_file="${tmake_file} mips/t-iris6"
    5669 +               tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
    5670 +               ;;
    5671 +       esac
    5672 +       if test "x$stabs" = xyes
    5673 +       then
    5674 +               tm_file="${tm_file} dbx.h mips/dbxmdebug.h"
    5675 +       fi
    5676 +       if test "x$gnu_ld" = xyes
    5677 +       then
    5678 +               tm_defines="${tm_defines} IRIX_USING_GNU_LD"
    5679 +       fi
    5680 +       case ${enable_threads}:${have_pthread_h} in
    5681 +         "":yes | yes:yes ) thread_file=posix ;;
    5682 +       esac
    5683 +       ;;
    5684 +mips*-*-netbsd*)                       # NetBSD/mips, either endian.
    5685 +       target_cpu_default="MASK_ABICALLS"
    5686 +       tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
    5687 +       ;;
    5688 +mips64*-*-linux* | mipsisa64*-*-linux*)
    5689 +       tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h"
    5690 +       tmake_file="${tmake_file} mips/t-linux64 mips/t-libgcc-mips16"
    5691 +       tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
    5692 +       case ${target} in
    5693 +               mips64el-st-linux-gnu)
    5694 +                       tm_file="${tm_file} mips/st.h"
    5695 +                       tmake_file="${tmake_file} mips/t-st"
    5696 +                       ;;
    5697 +               mips64octeon*-*-linux*)
    5698 +                       tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
    5699 +                       target_cpu_default=MASK_SOFT_FLOAT_ABI
    5700 +                       ;;
    5701 +               mipsisa64r2*-*-linux*)
    5702 +                       tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
    5703 +                       ;;
    5704 +       esac
    5705 +       gnu_ld=yes
    5706 +       gas=yes
    5707 +       test x$with_llsc != x || with_llsc=yes
    5708 +       ;;
    5709 +mips*-*-linux*)                                # Linux MIPS, either endian.
    5710 +        tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
    5711 +       tmake_file="${tmake_file} mips/t-libgcc-mips16"
    5712 +       case ${target} in
    5713 +        mipsisa32r2*)
    5714 +               tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
    5715 +                ;;
    5716 +        mipsisa32*)
    5717 +               tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
    5718 +        esac
    5719 +       test x$with_llsc != x || with_llsc=yes
    5720 +       ;;
    5721 +mips*-*-openbsd*)
    5722 +       tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
    5723 +       target_cpu_default="MASK_ABICALLS"
    5724 +       tm_file="mips/mips.h openbsd.h mips/openbsd.h mips/sdb.h"
    5725 +       case ${target} in
    5726 +       mips*el-*-openbsd*)
    5727 +           tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0";;
    5728 +       *)  tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";;
    5729 +        esac
    5730 +       ;;
    5731 +mips*-sde-elf*)
    5732 +       tm_file="elfos.h ${tm_file} mips/elf.h mips/sde.h"
    5733 +       tmake_file="mips/t-sde mips/t-libgcc-mips16"
    5734 +       case "${with_newlib}" in
    5735 +         yes)
    5736 +           # newlib / libgloss.
    5737 +           ;;
    5738 +         *)
    5739 +           # MIPS toolkit libraries.
    5740 +           tm_file="$tm_file mips/sdemtk.h"
    5741 +           tmake_file="$tmake_file mips/t-sdemtk"
    5742 +           extra_options="$extra_options mips/sdemtk.opt"
    5743 +           case ${enable_threads} in
    5744 +             "" | yes | mipssde)
    5745 +               thread_file='mipssde'
    5746 +               ;;
    5747 +           esac
    5748 +           ;;
    5749 +       esac
    5750 +       case ${target} in
    5751 +         mipsisa32r2*)
    5752 +           tm_defines="MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_32"
    5753 +           ;;
    5754 +         mipsisa32*)
    5755 +           tm_defines="MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_32"
    5756 +           ;;
    5757 +         mipsisa64r2*)
    5758 +           tm_defines="MIPS_ISA_DEFAULT=65 MIPS_ABI_DEFAULT=ABI_N32"
    5759 +           ;;
    5760 +         mipsisa64*)
    5761 +           tm_defines="MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_N32"
    5762 +           ;;
    5763 +       esac
    5764 +       ;;
    5765 +mipsisa32-*-elf* | mipsisa32el-*-elf* | \
    5766 +mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
    5767 +mipsisa64-*-elf* | mipsisa64el-*-elf* | \
    5768 +mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
    5769 +       tm_file="elfos.h ${tm_file} mips/elf.h"
    5770 +       tmake_file="mips/t-isa3264 mips/t-libgcc-mips16"
    5771 +       case ${target} in
    5772 +         mipsisa32r2*)
    5773 +           tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
    5774 +           ;;
    5775 +         mipsisa32*)
    5776 +           tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
    5777 +           ;;
    5778 +         mipsisa64r2*)
    5779 +           tm_defines="${tm_defines} MIPS_ISA_DEFAULT=65"
    5780 +           ;;
    5781 +         mipsisa64*)
    5782 +           tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64"
    5783 +           ;;
    5784 +       esac
    5785 +       case ${target} in
    5786 +         mipsisa32*-*-elfoabi*)
    5787 +           tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
    5788 +           tm_file="${tm_file} mips/elfoabi.h"
    5789 +           ;;
    5790 +         mipsisa64*-*-elfoabi*)
    5791 +           tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_O64"
    5792 +           tm_file="${tm_file} mips/elfoabi.h"
    5793 +           ;;
    5794 +         *-*-elf*)
    5795 +           tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_EABI"
    5796 +           ;;
    5797 +       esac
    5798 +       ;;
    5799 +mipsisa64sr71k-*-elf*)
    5800 +        tm_file="elfos.h ${tm_file} mips/elf.h"
    5801 +        tmake_file=mips/t-sr71k
    5802 +       target_cpu_default="MASK_64BIT|MASK_FLOAT64"
    5803 +       tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
    5804 +        ;;
    5805 +mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
    5806 +       tm_file="elfos.h ${tm_file} mips/elf.h"
    5807 +       tmake_file="mips/t-elf mips/t-libgcc-mips16 mips/t-sb1"
    5808 +       target_cpu_default="MASK_64BIT|MASK_FLOAT64"
    5809 +       tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
    5810 +       ;;
    5811 +mips-*-elf* | mipsel-*-elf*)
    5812 +       tm_file="elfos.h ${tm_file} mips/elf.h"
    5813 +       tmake_file="mips/t-elf mips/t-libgcc-mips16"
    5814 +       ;;
    5815 +mips64-*-elf* | mips64el-*-elf*)
    5816 +       tm_file="elfos.h ${tm_file} mips/elf.h"
    5817 +       tmake_file="mips/t-elf mips/t-libgcc-mips16"
    5818 +       target_cpu_default="MASK_64BIT|MASK_FLOAT64"
    5819 +       tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
    5820 +       ;;
    5821 +mips64vr-*-elf* | mips64vrel-*-elf*)
    5822 +        tm_file="elfos.h ${tm_file} mips/vr.h mips/elf.h"
    5823 +        tmake_file=mips/t-vr
    5824 +        ;;
    5825 +mips64orion-*-elf* | mips64orionel-*-elf*)
    5826 +       tm_file="elfos.h ${tm_file} mips/elforion.h mips/elf.h"
    5827 +       tmake_file="mips/t-elf mips/t-libgcc-mips16"
    5828 +       target_cpu_default="MASK_64BIT|MASK_FLOAT64"
    5829 +       tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
    5830 +       ;;
    5831 +mips*-*-rtems*)
    5832 +       tm_file="elfos.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
    5833 +       tmake_file="mips/t-elf mips/t-libgcc-mips16 t-rtems mips/t-rtems"
    5834 +       ;;
    5835 +mips-wrs-vxworks)
    5836 +       tm_file="elfos.h ${tm_file} svr4.h mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
    5837 +       tmake_file="${tmake_file} mips/t-vxworks"
    5838 +       ;;
    5839 +mipstx39-*-elf* | mipstx39el-*-elf*)
    5840 +       tm_file="elfos.h ${tm_file} mips/r3900.h mips/elf.h"
    5841 +       tmake_file="mips/t-r3900 mips/t-libgcc-mips16"
    5842 +       ;;
    5843 +mmix-knuth-mmixware)
    5844 +       need_64bit_hwint=yes
    5845 +       ;;
    5846 +mn10300-*-*)
    5847 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
    5848 +       if test x$stabs = xyes
    5849 +       then
    5850 +               tm_file="${tm_file} dbx.h"
    5851 +       fi
    5852 +       use_collect2=no
    5853 +       ;;
    5854 +pdp11-*-bsd)
    5855 +       tm_file="${tm_file} pdp11/2bsd.h"
    5856 +       use_fixproto=yes
    5857 +        ;;
    5858 +pdp11-*-*)
    5859 +       ;;
    5860 +picochip-*)
    5861 +        # Nothing special
    5862 +        ;;
    5863 +# port not yet contributed
    5864 +#powerpc-*-openbsd*)
    5865 +#      tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit "
    5866 +#      extra_headers=
    5867 +#      ;;
    5868 +powerpc64-*-linux*)
    5869 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
    5870 +       test x$with_cpu != x || cpu_is_64bit=yes
    5871 +       test x$cpu_is_64bit != xyes || tm_file="${tm_file} rs6000/default64.h"
    5872 +       tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h"
    5873 +       if test x${enable_secureplt} = xyes; then
    5874 +               tm_file="rs6000/secureplt.h ${tm_file}"
    5875 +       fi
    5876 +       extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
    5877 +       tmake_file="t-dfprules rs6000/t-fprules ${tmake_file} rs6000/t-ppccomm rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
    5878 +       ;;
    5879 +powerpc64-*-gnu*)
    5880 +       tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux64.h rs6000/gnu.h"
    5881 +       extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
    5882 +       tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-gnu rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
    5883 +       ;;
    5884 +powerpc-*-darwin*)
    5885 +       extra_options="${extra_options} rs6000/darwin.opt"
    5886 +       extra_parts="crt2.o"
    5887 +       case ${target} in
    5888 +         *-darwin1[0-9]* | *-darwin[8-9]*)
    5889 +           tmake_file="${tmake_file} rs6000/t-darwin8"
    5890 +           tm_file="${tm_file} rs6000/darwin8.h"
    5891 +           ;;
    5892 +         *-darwin7*)
    5893 +           tm_file="${tm_file} rs6000/darwin7.h"
    5894 +           ;;
    5895 +         *-darwin[0-6]*)
    5896 +           ;;
    5897 +       esac
    5898 +       extra_headers=altivec.h
    5899 +       ;;
    5900 +powerpc64-*-darwin*)
    5901 +       tm_file="${tm_file} ${cpu_type}/darwin8.h ${cpu_type}/darwin64.h"
    5902 +       extra_options="${extra_options} ${cpu_type}/darwin.opt"
    5903 +       # We're omitting t-darwin8 to avoid building any multilibs
    5904 +       extra_headers=altivec.h
    5905 +       ;;
    5906 +powerpc*-*-freebsd*)
    5907 +       tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
    5908 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
    5909 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5910 +       ;;
    5911 +powerpc-*-netbsd*)
    5912 +       tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
    5913 +       tmake_file="${tmake_file} rs6000/t-netbsd"
    5914 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5915 +       ;;
    5916 +powerpc-*-eabispe*)
    5917 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
    5918 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5919 +       tmake_file="rs6000/t-spe rs6000/t-ppccomm"
    5920 +       ;;
    5921 +powerpc-*-eabisimaltivec*)
    5922 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h rs6000/eabialtivec.h"
    5923 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5924 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
    5925 +       ;;
    5926 +powerpc-*-eabisim*)
    5927 +       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
    5928 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5929 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
    5930 +       ;;
    5931 +powerpc-*-elf*)
    5932 +       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h rs6000/sysv4.h"
    5933 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5934 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
    5935 +       ;;
    5936 +powerpc-*-eabialtivec*)
    5937 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabialtivec.h"
    5938 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5939 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
    5940 +       ;;
    5941 +powerpc-xilinx-eabi*)
    5942 +       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h"
    5943 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5944 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
    5945 +       ;;
    5946 +powerpc-*-eabi*)
    5947 +       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h"
    5948 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5949 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
    5950 +       ;;
    5951 +powerpc-*-rtems*)
    5952 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/rtems.h rtems.h"
    5953 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5954 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm"
    5955 +       ;;
    5956 +powerpc-*-linux*altivec*)
    5957 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h"
    5958 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5959 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
    5960 +       ;;
    5961 +powerpc-*-linux*spe*)
    5962 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h rs6000/e500.h"
    5963 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5964 +       tmake_file="t-dfprules rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
    5965 +       ;;
    5966 +powerpc-*-linux*paired*)
    5967 +        tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/750cl.h"
    5968 +        extra_options="${extra_options} rs6000/sysv4.opt"
    5969 +        tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
    5970 +        ;;
    5971 +powerpc-*-linux*)
    5972 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
    5973 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5974 +       tmake_file="t-dfprules rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
    5975 +       case ${enable_targets}:${cpu_is_64bit} in
    5976 +           *powerpc64* | all:* | *:yes)
    5977 +               if test x$cpu_is_64bit = xyes; then
    5978 +                   tm_file="${tm_file} rs6000/default64.h"
    5979 +               fi
    5980 +               tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h"
    5981 +               tmake_file="$tmake_file rs6000/t-linux64"
    5982 +               extra_options="${extra_options} rs6000/linux64.opt"
    5983 +               ;;
    5984 +           *)
    5985 +               tm_file="${tm_file} rs6000/linux.h"
    5986 +               ;;
    5987 +       esac
    5988 +       tmake_file="${tmake_file} rs6000/t-fprules-softfp soft-fp/t-softfp"
    5989 +       if test x${enable_secureplt} = xyes; then
    5990 +               tm_file="rs6000/secureplt.h ${tm_file}"
    5991 +       fi
    5992 +       ;;
    5993 +powerpc-*-gnu-gnualtivec*)
    5994 +       tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h rs6000/gnu.h"
    5995 +       extra_options="${extra_options} rs6000/sysv4.opt"
    5996 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
    5997 +       if test x$enable_threads = xyes; then
    5998 +               thread_file='posix'
    5999 +       fi
    6000 +       ;;
    6001 +powerpc-*-gnu*)
    6002 +       tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/gnu.h"
    6003 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
    6004 +       extra_options="${extra_options} rs6000/sysv4.opt"
    6005 +       if test x$enable_threads = xyes; then
    6006 +               thread_file='posix'
    6007 +       fi
    6008 +       ;;
    6009 +powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
    6010 +       tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
    6011 +       tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppccomm rs6000/t-vxworks"
    6012 +       extra_options="${extra_options} rs6000/sysv4.opt"
    6013 +       extra_headers=ppc-asm.h
    6014 +       case ${target} in
    6015 +         *-vxworksae*)
    6016 +           tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
    6017 +           tmake_file="${tmake_file} rs6000/t-vxworksae"
    6018 +           ;;
    6019 +         *-vxworks*)
    6020 +           tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h rs6000/e500.h"
    6021 +           ;;
    6022 +       esac
    6023 +       ;;
    6024 +powerpc-*-lynxos*)
    6025 +       xm_defines=POSIX
    6026 +       tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
    6027 +       tmake_file="t-lynx rs6000/t-lynx"
    6028 +       extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
    6029 +       extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
    6030 +       extra_options="${extra_options} lynx.opt"
    6031 +       thread_file=lynx
    6032 +       gnu_ld=yes
    6033 +       gas=yes
    6034 +       ;;
    6035 +powerpcle-*-elf*)
    6036 +       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
    6037 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
    6038 +       extra_options="${extra_options} rs6000/sysv4.opt"
    6039 +       ;;
    6040 +powerpcle-*-eabisim*)
    6041 +       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h rs6000/eabisim.h"
    6042 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
    6043 +       extra_options="${extra_options} rs6000/sysv4.opt"
    6044 +       ;;
    6045 +powerpcle-*-eabi*)
    6046 +       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/e500.h"
    6047 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
    6048 +       extra_options="${extra_options} rs6000/sysv4.opt"
    6049 +       ;;
    6050 +powerpc-xilinx-eabi*)
    6051 +       tm_file="${tm_file} dbxelf.h elfos.h usegas.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/singlefp.h rs6000/xfpu.h"
    6052 +       extra_options="${extra_options} rs6000/sysv4.opt"
    6053 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
    6054 +       ;;
    6055 +rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
    6056 +       tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
    6057 +       tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-newas"
    6058 +       extra_options="${extra_options} rs6000/aix41.opt"
    6059 +       use_collect2=yes
    6060 +       extra_headers=
    6061 +       use_fixproto=yes
    6062 +       ;;
    6063 +rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
    6064 +       tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
    6065 +       tmake_file=rs6000/t-aix43
    6066 +       extra_options="${extra_options} rs6000/aix64.opt"
    6067 +       use_collect2=yes
    6068 +       thread_file='aix'
    6069 +       extra_headers=
    6070 +       ;;
    6071 +rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
    6072 +       tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h"
    6073 +       extra_options="${extra_options} rs6000/aix64.opt"
    6074 +       tmake_file=rs6000/t-aix43
    6075 +       use_collect2=yes
    6076 +       thread_file='aix'
    6077 +       extra_headers=
    6078 +       ;;
    6079 +rs6000-ibm-aix5.2.* | powerpc-ibm-aix5.2.*)
    6080 +       tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h"
    6081 +       tmake_file=rs6000/t-aix52
    6082 +       extra_options="${extra_options} rs6000/aix64.opt"
    6083 +       use_collect2=yes
    6084 +       thread_file='aix'
    6085 +       extra_headers=
    6086 +       ;;
    6087 +rs6000-ibm-aix5.3.* | powerpc-ibm-aix5.3.*)
    6088 +       tm_file="${tm_file} rs6000/aix.h rs6000/aix53.h rs6000/xcoff.h"
    6089 +       tmake_file=rs6000/t-aix52
    6090 +       extra_options="${extra_options} rs6000/aix64.opt"
    6091 +       use_collect2=yes
    6092 +       thread_file='aix'
    6093 +       extra_headers=altivec.h
    6094 +       ;;
    6095 +rs6000-ibm-aix[6789].* | powerpc-ibm-aix[6789].*)
    6096 +       tm_file="${tm_file} rs6000/aix.h rs6000/aix61.h rs6000/xcoff.h"
    6097 +       tmake_file=rs6000/t-aix52
    6098 +       extra_options="${extra_options} rs6000/aix64.opt"
    6099 +       use_collect2=yes
    6100 +       thread_file='aix'
    6101 +       extra_headers=altivec.h
    6102 +       ;;
    6103 +s390-*-linux*)
    6104 +       tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
    6105 +       tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux"
    6106 +       ;;
    6107 +s390x-*-linux*)
    6108 +       tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
    6109 +       tm_p_file=s390/s390-protos.h
    6110 +       md_file=s390/s390.md
    6111 +       extra_modes=s390/s390-modes.def
    6112 +       out_file=s390/s390.c
    6113 +       tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux s390/t-linux64"
    6114 +       ;;
    6115 +s390x-ibm-tpf*)
    6116 +        tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h"
    6117 +        tm_p_file=s390/s390-protos.h
    6118 +        md_file=s390/s390.md
    6119 +        extra_modes=s390/s390-modes.def
    6120 +        out_file=s390/s390.c
    6121 +        extra_parts="crtbeginS.o crtendS.o"
    6122 +        tmake_file="s390/t-crtstuff s390/t-tpf"
    6123 +        thread_file='tpf'
    6124 +       extra_options="${extra_options} s390/tpf.opt"
    6125 +       ;;
    6126 +score-*-elf)
    6127 +        tm_file="dbxelf.h elfos.h score/elf.h score/score.h"
    6128 +        tmake_file=score/t-score-elf
    6129 +        extra_objs="score7.o score3.o"
    6130 +        ;;
    6131 +sh-*-elf* | sh[12346l]*-*-elf* | \
    6132 +sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
    6133 +  sh-*-linux* | sh[2346lbe]*-*-linux* | \
    6134 +  sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
    6135 +   sh64-*-netbsd* | sh64l*-*-netbsd*)
    6136 +       tmake_file="${tmake_file} sh/t-sh sh/t-elf"
    6137 +       if test x${with_endian} = x; then
    6138 +               case ${target} in
    6139 +               sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
    6140 +               shbe-*-* | sheb-*-*)               with_endian=big,little ;;
    6141 +               sh[1234]l* | sh[34]*-*-linux*)     with_endian=little ;;
    6142 +               shl* | sh64l* | sh*-*-linux* | \
    6143 +                 sh5l* | sh-superh-elf)           with_endian=little,big ;;
    6144 +               sh[1234]*-*-*)                     with_endian=big ;;
    6145 +               *)                                 with_endian=big,little ;;
    6146 +               esac
    6147 +       fi
    6148 +       case ${with_endian} in
    6149 +       big|little)     tmake_file="${tmake_file} sh/t-1e" ;;
    6150 +       big,little|little,big) ;;
    6151 +       *)      echo "with_endian=${with_endian} not supported."; exit 1 ;;
    6152 +       esac
    6153 +       case ${with_endian} in
    6154 +       little*)        tm_file="sh/little.h ${tm_file}" ;;
    6155 +       esac
    6156 +       tm_file="${tm_file} dbxelf.h elfos.h"
    6157 +       case ${target} in
    6158 +       sh*-*-netbsd*)  ;;
    6159 +       *)              tm_file="${tm_file} svr4.h" ;;
    6160 +       esac
    6161 +       tm_file="${tm_file} sh/elf.h"
    6162 +       case ${target} in
    6163 +       sh*-*-linux*)   tmake_file="${tmake_file} sh/t-linux"
    6164 +                       tm_file="${tm_file} linux.h sh/linux.h" ;;
    6165 +       sh*-*-netbsd*)  tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h" ;;
    6166 +       sh*-superh-elf) if test x$with_libgloss != xno; then
    6167 +                               with_libgloss=yes
    6168 +                               tm_file="${tm_file} sh/newlib.h"
    6169 +                       fi
    6170 +                       tm_file="${tm_file} sh/embed-elf.h sh/superh.h"
    6171 +                       tmake_file="${tmake_file} sh/t-superh"
    6172 +                       extra_options="${extra_options} sh/superh.opt" ;;
    6173 +       *)              if test x$with_newlib = xyes \
    6174 +                          && test x$with_libgloss = xyes; then
    6175 +                               tm_file="${tm_file} sh/newlib.h"
    6176 +                       fi
    6177 +                       tm_file="${tm_file} sh/embed-elf.h" ;;
    6178 +       esac
    6179 +       case ${target} in
    6180 +       sh5*-*-netbsd*)
    6181 +               # SHmedia, 32-bit ABI
    6182 +               tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd"
    6183 +               ;;
    6184 +       sh64*-netbsd*)
    6185 +               # SHmedia, 64-bit ABI
    6186 +               tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd sh/t-netbsd-sh5-64"
    6187 +               ;;
    6188 +       *-*-netbsd)
    6189 +                tmake_file="${tmake_file} sh/t-netbsd"
    6190 +               ;;
    6191 +       sh64*-*-linux*)
    6192 +               tmake_file="${tmake_file} sh/t-sh64 sh/t-linux64"
    6193 +               tm_file="${tm_file} sh/sh64.h"
    6194 +               extra_headers="shmedia.h ushmedia.h sshmedia.h"
    6195 +               ;;
    6196 +       sh64*)
    6197 +               tmake_file="${tmake_file} sh/t-sh64"
    6198 +               tm_file="${tm_file} sh/sh64.h"
    6199 +               extra_headers="shmedia.h ushmedia.h sshmedia.h"
    6200 +               ;;
    6201 +       *-*-symbianelf*)
    6202 +               tmake_file="sh/t-symbian"
    6203 +               tm_file="sh/symbian-pre.h sh/little.h ${tm_file} sh/symbian-post.h"
    6204 +               extra_objs="symbian.o"
    6205 +               extra_parts="crt1.o crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
    6206 +               ;;
    6207 +       esac
    6208 +       # sed el/eb endian suffixes away to avoid confusion with sh[23]e
    6209 +       case `echo ${target} | sed 's/e[lb]-/-/'` in
    6210 +       sh64*-*-netbsd*)        sh_cpu_target=sh5-64media ;;
    6211 +       sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;;
    6212 +       sh4a_single_only*)      sh_cpu_target=sh4a-single-only ;;
    6213 +       sh4a_single*)           sh_cpu_target=sh4a-single ;;
    6214 +       sh4a_nofpu*)            sh_cpu_target=sh4a-nofpu ;;
    6215 +       sh4al)                  sh_cpu_target=sh4al ;;
    6216 +       sh4a*)                  sh_cpu_target=sh4a ;;
    6217 +       sh4_single_only*)       sh_cpu_target=sh4-single-only ;;
    6218 +       sh4_single*)            sh_cpu_target=sh4-single ;;
    6219 +       sh4_nofpu*)             sh_cpu_target=sh4-nofpu ;;
    6220 +       sh4* | sh-superh-*)     sh_cpu_target=sh4 ;;
    6221 +       sh3e*)                  sh_cpu_target=sh3e ;;
    6222 +       sh*-*-netbsd* | sh3*)   sh_cpu_target=sh3 ;;
    6223 +       sh2a_single_only*)      sh_cpu_target=sh2a-single-only ;;
    6224 +       sh2a_single*)           sh_cpu_target=sh2a-single ;;
    6225 +       sh2a_nofpu*)            sh_cpu_target=sh2a-nofpu ;;
    6226 +       sh2a*)                  sh_cpu_target=sh2a ;;
    6227 +       sh2e*)                  sh_cpu_target=sh2e ;;
    6228 +       sh2*)                   sh_cpu_target=sh2 ;;
    6229 +       *)                      sh_cpu_target=sh1 ;;
    6230 +       esac
    6231 +       # did the user say --without-fp ?
    6232 +       if test x$with_fp = xno; then
    6233 +               case ${sh_cpu_target} in
    6234 +               sh5-*media)     sh_cpu_target=${sh_cpu_target}-nofpu ;;
    6235 +               sh4al | sh1)    ;;
    6236 +               sh4a* )         sh_cpu_target=sh4a-nofpu ;;
    6237 +               sh4*)           sh_cpu_target=sh4-nofpu ;;
    6238 +               sh3*)           sh_cpu_target=sh3 ;;
    6239 +               sh2a*)          sh_cpu_target=sh2a-nofpu ;;
    6240 +               sh2*)           sh_cpu_target=sh2 ;;
    6241 +               *)      echo --without-fp not available for $target: ignored
    6242 +               esac
    6243 +               tm_defines="$tm_defines STRICT_NOFPU=1"
    6244 +       fi
    6245 +       sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
    6246 +       case $sh_cpu_default in
    6247 +       sh5-64media-nofpu | sh5-64media | \
    6248 +         sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
    6249 +         sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
    6250 +         sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
    6251 +         sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
    6252 +         sh3e | sh3 | sh2e | sh2 | sh1) ;;
    6253 +       "")     sh_cpu_default=${sh_cpu_target} ;;
    6254 +       *)      echo "with_cpu=$with_cpu not supported"; exit 1 ;;
    6255 +       esac
    6256 +       sh_multilibs=${with_multilib_list}
    6257 +       if test x${sh_multilibs} = x ; then
    6258 +               case ${target} in
    6259 +               sh64-superh-linux* | \
    6260 +               sh[1234]*)      sh_multilibs=${sh_cpu_target} ;;
    6261 +               sh64* | sh5*)   sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
    6262 +               sh-superh-*)    sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
    6263 +               sh*-*-linux*)   sh_multilibs=m1,m3e,m4 ;;
    6264 +               sh*-*-netbsd*)  sh_multilibs=m3,m3e,m4 ;;
    6265 +               *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
    6266 +               esac
    6267 +               if test x$with_fp = xno; then
    6268 +                       sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`"
    6269 +               fi
    6270 +       fi
    6271 +       target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
    6272 +       tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
    6273 +       sh_multilibs=`echo $sh_multilibs,$sh_cpu_default | sed -e 's/[  ,/][    ,]*/ /g' -e 's/ $//' -e 's/^m/sh/' -e 's/ m/ sh/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
    6274 +       for sh_multilib in ${sh_multilibs}; do
    6275 +               case ${sh_multilib} in
    6276 +               sh1 | sh2 | sh2e | sh3 | sh3e | \
    6277 +               sh4 | sh4-single | sh4-single-only | sh4-nofpu | sh4-300 |\
    6278 +               sh4a | sh4a-single | sh4a-single-only | sh4a-nofpu | sh4al | \
    6279 +               sh2a | sh2a-single | sh2a-single-only | sh2a-nofpu | \
    6280 +               sh5-64media | sh5-64media-nofpu | \
    6281 +               sh5-32media | sh5-32media-nofpu | \
    6282 +               sh5-compact | sh5-compact-nofpu)
    6283 +                       tmake_file="${tmake_file} sh/t-mlib-${sh_multilib}"
    6284 +                       tm_defines="$tm_defines SUPPORT_`echo $sh_multilib|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
    6285 +                       ;;
    6286 +               *)
    6287 +                       echo "with_multilib_list=${sh_multilib} not supported."
    6288 +                       exit 1
    6289 +                       ;;
    6290 +               esac
    6291 +       done
    6292 +       if test x${enable_incomplete_targets} = xyes ; then
    6293 +               tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1"
    6294 +       fi
    6295 +       ;;
    6296 +sh-*-rtems*)
    6297 +       tmake_file="sh/t-sh sh/t-elf t-rtems sh/t-rtems"
    6298 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
    6299 +       ;;
    6300 +sh-wrs-vxworks)
    6301 +       tmake_file="$tmake_file sh/t-sh sh/t-elf sh/t-vxworks"
    6302 +       tm_file="${tm_file} elfos.h svr4.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
    6303 +       ;;
    6304 +sh-*-*)
    6305 +       tm_file="${tm_file} dbxcoff.h sh/coff.h"
    6306 +       ;;
    6307 +sparc-*-netbsdelf*)
    6308 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
    6309 +       extra_options="${extra_options} sparc/long-double-switch.opt"
    6310 +       ;;
    6311 +sparc64-*-openbsd*)
    6312 +       tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
    6313 +       extra_options="${extra_options} sparc/little-endian.opt"
    6314 +       gas=yes gnu_ld=yes
    6315 +       with_cpu=ultrasparc
    6316 +       ;;
    6317 +sparc-*-elf*)
    6318 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h"
    6319 +       tmake_file="sparc/t-elf sparc/t-crtfm"
    6320 +       extra_parts="crti.o crtn.o crtbegin.o crtend.o"
    6321 +       ;;
    6322 +sparc-*-linux*)                # SPARC's running GNU/Linux, libc6
    6323 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h"
    6324 +       extra_options="${extra_options} sparc/long-double-switch.opt"
    6325 +       tmake_file="${tmake_file} sparc/t-linux"
    6326 +       if test x$enable_targets = xall; then
    6327 +               tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
    6328 +               tmake_file="${tmake_file} sparc/t-linux64"
    6329 +       else
    6330 +               tm_file="${tm_file} sparc/linux.h"
    6331 +       fi
    6332 +       tmake_file="${tmake_file} sparc/t-crtfm"
    6333 +       ;;
    6334 +sparc-*-rtems*)
    6335 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h"
    6336 +       tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
    6337 +       extra_parts="crti.o crtn.o crtbegin.o crtend.o"
    6338 +       ;;
    6339 +sparc64-*-solaris2* | sparcv9-*-solaris2*)
    6340 +       tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
    6341 +       case ${target} in
    6342 +       *-*-solaris2.1[0-9]*)
    6343 +               tm_file="${tm_file} sol2-10.h"
    6344 +               ;;
    6345 +       esac
    6346 +       tm_file="${tm_file} sparc/sol2.h sparc/sol2-64.h sparc/sol2-bi.h"
    6347 +       if test x$gnu_ld = xyes; then
    6348 +               tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h"
    6349 +       fi
    6350 +       if test x$gas = xyes; then
    6351 +               tm_file="${tm_file} sparc/sol2-gas.h sparc/sol2-gas-bi.h"
    6352 +       fi
    6353 +       tm_file="${tm_file} tm-dwarf2.h"
    6354 +       tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
    6355 +       if test x$gnu_ld = xyes; then
    6356 +               tmake_file="$tmake_file t-slibgcc-elf-ver"
    6357 +       else
    6358 +               tmake_file="$tmake_file t-slibgcc-sld"
    6359 +       fi
    6360 +       c_target_objs="sol2-c.o"
    6361 +       cxx_target_objs="sol2-c.o"
    6362 +       extra_objs="sol2.o"
    6363 +       tm_p_file="${tm_p_file} sol2-protos.h"
    6364 +       extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
    6365 +       case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
    6366 +         "":yes:* | yes:yes:* ) thread_file=posix ;;
    6367 +         "":*:yes | yes:*:yes ) thread_file=solaris ;;
    6368 +       esac
    6369 +       ;;
    6370 +sparc-*-solaris2*)
    6371 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
    6372 +       case ${target} in
    6373 +       *-*-solaris2.1[0-9]*)
    6374 +               tm_file="${tm_file} sol2-10.h"
    6375 +               ;;
    6376 +       esac
    6377 +       tm_file="${tm_file} sparc/sol2.h"
    6378 +       if test x$gnu_ld = xyes; then
    6379 +               tm_file="${tm_file} sparc/sol2-gld.h"
    6380 +       fi
    6381 +       if test x$gas = xyes; then
    6382 +               tm_file="${tm_file} sparc/sol2-gas.h"
    6383 +       fi
    6384 +       tmake_file="t-sol2 sparc/t-sol2 sparc/t-crtfm"
    6385 +       if test x$gnu_ld = xyes; then
    6386 +               tmake_file="$tmake_file t-slibgcc-elf-ver"
    6387 +       else
    6388 +               tmake_file="$tmake_file t-slibgcc-sld"
    6389 +       fi
    6390 +       tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
    6391 +       if test x$gnu_ld = xyes; then
    6392 +               tm_file="${tm_file} sparc/sol2-gld-bi.h"
    6393 +       fi
    6394 +       if test x$gas = xyes; then
    6395 +               tm_file="${tm_file} sparc/sol2-gas-bi.h"
    6396 +       fi
    6397 +       tm_file="${tm_file} tm-dwarf2.h"
    6398 +       tmake_file="$tmake_file sparc/t-sol2-64"
    6399 +       test x$with_cpu != x || with_cpu=v9
    6400 +       c_target_objs="sol2-c.o"
    6401 +       cxx_target_objs="sol2-c.o"
    6402 +       extra_objs="sol2.o"
    6403 +       tm_p_file="${tm_p_file} sol2-protos.h"
    6404 +       extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
    6405 +       case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
    6406 +         "":yes:* | yes:yes:* )
    6407 +               thread_file=posix
    6408 +               ;;
    6409 +         "":*:yes | yes:*:yes )
    6410 +               thread_file=solaris
    6411 +               ;;
    6412 +       esac
    6413 +       ;;
    6414 +sparc-wrs-vxworks)
    6415 +       tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
    6416 +       tmake_file="${tmake_file} sparc/t-vxworks"
    6417 +       ;;
    6418 +sparc64-*-elf*)
    6419 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h"
    6420 +       extra_options="${extra_options} sparc/little-endian.opt"
    6421 +       tmake_file="${tmake_file} sparc/t-crtfm"
    6422 +       extra_parts="crtbegin.o crtend.o"
    6423 +       ;;
    6424 +sparc64-*-freebsd*|ultrasparc-*-freebsd*)
    6425 +       tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
    6426 +       extra_options="${extra_options} sparc/long-double-switch.opt"
    6427 +       tmake_file="${tmake_file} sparc/t-crtfm"
    6428 +       case "x$with_cpu" in
    6429 +               xultrasparc) ;;
    6430 +               x) with_cpu=ultrasparc ;;
    6431 +               *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
    6432 +       esac
    6433 +       ;;
    6434 +sparc64-*-linux*)              # 64-bit SPARC's running GNU/Linux
    6435 +       tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h sparc/linux64.h"
    6436 +       extra_options="${extra_options} sparc/long-double-switch.opt"
    6437 +       tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
    6438 +       ;;
    6439 +sparc64-*-netbsd*)
    6440 +       tm_file="sparc/biarch64.h ${tm_file}"
    6441 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
    6442 +       extra_options="${extra_options} sparc/long-double-switch.opt"
    6443 +       tmake_file="${tmake_file} sparc/t-netbsd64"
    6444 +       ;;
    6445 +spu-*-elf*)
    6446 +       tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h"
    6447 +       tmake_file="spu/t-spu-elf"
    6448 +       extra_headers="spu_intrinsics.h spu_internals.h vmx2spu.h spu_mfcio.h vec_types.h"
    6449 +       extra_modes=spu/spu-modes.def
    6450 +       c_target_objs="${c_target_objs} spu-c.o"
    6451 +       cxx_target_objs="${cxx_target_objs} spu-c.o"
    6452 +       ;;
    6453 +v850e1-*-*)
    6454 +       target_cpu_default="TARGET_CPU_v850e1"
    6455 +       tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
    6456 +       tm_p_file=v850/v850-protos.h
    6457 +       tmake_file=v850/t-v850e
    6458 +       md_file=v850/v850.md
    6459 +       out_file=v850/v850.c
    6460 +       extra_options="${extra_options} v850/v850.opt"
    6461 +       if test x$stabs = xyes
    6462 +       then
    6463 +               tm_file="${tm_file} dbx.h"
    6464 +       fi
    6465 +       use_collect2=no
    6466 +       c_target_objs="v850-c.o"
    6467 +       cxx_target_objs="v850-c.o"
    6468 +       ;;
    6469 +v850e-*-*)
    6470 +       target_cpu_default="TARGET_CPU_v850e"
    6471 +       tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
    6472 +       tm_p_file=v850/v850-protos.h
    6473 +       tmake_file=v850/t-v850e
    6474 +       md_file=v850/v850.md
    6475 +       out_file=v850/v850.c
    6476 +       extra_options="${extra_options} v850/v850.opt"
    6477 +       if test x$stabs = xyes
    6478 +       then
    6479 +               tm_file="${tm_file} dbx.h"
    6480 +       fi
    6481 +       use_collect2=no
    6482 +       c_target_objs="v850-c.o"
    6483 +       cxx_target_objs="v850-c.o"
    6484 +       ;;
    6485 +v850-*-*)
    6486 +       target_cpu_default="TARGET_CPU_generic"
    6487 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
    6488 +       tmake_file=v850/t-v850
    6489 +       if test x$stabs = xyes
    6490 +       then
    6491 +               tm_file="${tm_file} dbx.h"
    6492 +       fi
    6493 +       use_collect2=no
    6494 +       c_target_objs="v850-c.o"
    6495 +       cxx_target_objs="v850-c.o"
    6496 +       ;;
    6497 +vax-*-netbsdelf*)
    6498 +       tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
    6499 +       ;;
    6500 +vax-*-netbsd*)
    6501 +       tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h"
    6502 +       tmake_file=t-netbsd
    6503 +       extra_parts=""
    6504 +       use_collect2=yes
    6505 +       ;;
    6506 +vax-*-openbsd*)
    6507 +       tm_file="vax/vax.h vax/openbsd1.h openbsd.h vax/openbsd.h"
    6508 +       use_collect2=yes
    6509 +       ;;
    6510 +xstormy16-*-elf)
    6511 +       # For historical reasons, the target files omit the 'x'.
    6512 +       tm_file="dbxelf.h elfos.h svr4.h stormy16/stormy16.h"
    6513 +       tm_p_file=stormy16/stormy16-protos.h
    6514 +       md_file=stormy16/stormy16.md
    6515 +       out_file=stormy16/stormy16.c
    6516 +       extra_options=stormy16/stormy16.opt
    6517 +       tmake_file="stormy16/t-stormy16"
    6518 +       extra_parts="crtbegin.o crtend.o"
    6519 +       ;;
    6520 +xtensa*-*-elf*)
    6521 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h xtensa/elf.h"
    6522 +       tmake_file="xtensa/t-xtensa xtensa/t-elf"
    6523 +       ;;
    6524 +xtensa*-*-linux*)
    6525 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h xtensa/linux.h"
    6526 +       tmake_file="${tmake_file} xtensa/t-xtensa xtensa/t-linux"
    6527 +       ;;
    6528 +am33_2.0-*-linux*)
    6529 +       tm_file="mn10300/mn10300.h dbxelf.h elfos.h linux.h mn10300/linux.h"
    6530 +       tmake_file="${tmake_file} mn10300/t-linux"
    6531 +       gas=yes gnu_ld=yes
    6532 +       extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
    6533 +       use_collect2=no
    6534 +       ;;
    6535 +m32c-*-rtems*)
    6536 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file} m32c/rtems.h rtems.h"
    6537 +       tmake_file="${tmake_file} t-rtems"
    6538 +       c_target_objs="m32c-pragma.o"
    6539 +       cxx_target_objs="m32c-pragma.o"
    6540 +       ;;
    6541 +m32c-*-elf*)
    6542 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
    6543 +       c_target_objs="m32c-pragma.o"
    6544 +       cxx_target_objs="m32c-pragma.o"
    6545 +       ;;
    6546 +*)
    6547 +       echo "*** Configuration ${target} not supported" 1>&2
    6548 +       exit 1
    6549 +       ;;
    6550 +esac
    6551 +
    6552 +case ${target} in
    6553 +i[34567]86-*-linux* | x86_64-*-linux*)
    6554 +       tmake_file="${tmake_file} i386/t-pmm_malloc i386/t-i386"
    6555 +       ;;
    6556 +i[34567]86-*-* | x86_64-*-*)
    6557 +       tmake_file="${tmake_file} i386/t-gmm_malloc i386/t-i386"
    6558 +       ;;
    6559 +esac
    6560 +
    6561 +# Support for --with-cpu and related options (and a few unrelated options,
    6562 +# too).
    6563 +case ${with_cpu} in
    6564 +  yes | no)
    6565 +    echo "--with-cpu must be passed a value" 1>&2
    6566 +    exit 1
    6567 +    ;;
    6568 +esac
    6569 +
    6570 +# If there is no $with_cpu option, try to infer one from ${target}.
    6571 +# This block sets nothing except for with_cpu.
    6572 +if test x$with_cpu = x ; then
    6573 +  case ${target} in
    6574 +    i386-*-*)
    6575 +      with_cpu=i386
    6576 +      ;;
    6577 +    i486-*-*)
    6578 +      with_cpu=i486
    6579 +      ;;
    6580 +    i586-*-*)
    6581 +      case ${target_noncanonical} in
    6582 +        k6_2-*)
    6583 +          with_cpu=k6-2
    6584 +          ;;
    6585 +        k6_3-*)
    6586 +          with_cpu=k6-3
    6587 +          ;;
    6588 +        k6-*)
    6589 +          with_cpu=k6
    6590 +          ;;
    6591 +        pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
    6592 +          with_cpu=pentium-mmx
    6593 +          ;;
    6594 +        *)
    6595 +          with_cpu=pentium
    6596 +          ;;
    6597 +      esac
    6598 +      ;;
    6599 +    i686-*-* | i786-*-*)
    6600 +      case ${target_noncanonical} in
    6601 +        amdfam10-*|barcelona-*)
    6602 +          with_cpu=amdfam10
    6603 +          ;;
    6604 +        k8-*|opteron-*|athlon_64-*)
    6605 +          with_cpu=k8
    6606 +          ;;
    6607 +        athlon_xp-*|athlon_mp-*|athlon_4-*)
    6608 +          with_cpu=athlon-4
    6609 +          ;;
    6610 +        athlon_tbird-*|athlon-*)
    6611 +          with_cpu=athlon
    6612 +          ;;
    6613 +       geode-*)
    6614 +         with_cpu=geode
    6615 +         ;;
    6616 +        pentium2-*)
    6617 +          with_cpu=pentium2
    6618 +          ;;
    6619 +        pentium3-*|pentium3m-*)
    6620 +          with_cpu=pentium3
    6621 +          ;;
    6622 +        pentium4-*|pentium4m-*)
    6623 +          with_cpu=pentium4
    6624 +          ;;
    6625 +        prescott-*)
    6626 +          with_cpu=prescott
    6627 +          ;;
    6628 +        nocona-*)
    6629 +          with_cpu=nocona
    6630 +          ;;
    6631 +       core2-*)
    6632 +         with_cpu=core2
    6633 +         ;;
    6634 +        pentium_m-*)
    6635 +          with_cpu=pentium-m
    6636 +          ;;
    6637 +        pentiumpro-*)
    6638 +          with_cpu=pentiumpro
    6639 +          ;;
    6640 +        *)
    6641 +          with_cpu=generic
    6642 +          ;;
    6643 +      esac
    6644 +      ;;
    6645 +    x86_64-*-*)
    6646 +      case ${target_noncanonical} in
    6647 +        amdfam10-*|barcelona-*)
    6648 +          with_cpu=amdfam10
    6649 +          ;;
    6650 +        k8-*|opteron-*|athlon_64-*)
    6651 +          with_cpu=k8
    6652 +          ;;
    6653 +        nocona-*)
    6654 +          with_cpu=nocona
    6655 +          ;;
    6656 +       core2-*)
    6657 +         with_cpu=core2
    6658 +         ;;
    6659 +        *)
    6660 +          with_cpu=generic
    6661 +          ;;
    6662 +      esac
    6663 +      ;;
    6664 +    alphaev6[78]*-*-*)
    6665 +      with_cpu=ev67
    6666 +      ;;
    6667 +    alphaev6*-*-*)
    6668 +      with_cpu=ev6
    6669 +      ;;
    6670 +    alphapca56*-*-*)
    6671 +      with_cpu=pca56
    6672 +      ;;
    6673 +    alphaev56*-*-*)
    6674 +      with_cpu=ev56
    6675 +      ;;
    6676 +    alphaev5*-*-*)
    6677 +      with_cpu=ev5
    6678 +      ;;
    6679 +    frv-*-*linux* | frv400-*-*linux*)
    6680 +      with_cpu=fr400
    6681 +      ;;
    6682 +    frv550-*-*linux*)
    6683 +      with_cpu=fr550
    6684 +      ;;
    6685 +    m68k*-*-*)
    6686 +      case "$with_arch" in
    6687 +       "cf")
    6688 +         with_cpu=${default_cf_cpu}
    6689 +         ;;
    6690 +       "" | "m68k")
    6691 +         with_cpu=m${default_m68k_cpu}
    6692 +         ;;
    6693 +      esac
    6694 +      ;;
    6695 +    mips*-*-vxworks)
    6696 +      with_arch=mips2
    6697 +      ;;
    6698 +    sparc*-*-*)
    6699 +      with_cpu="`echo ${target} | sed 's/-.*$//'`"
    6700 +      ;;
    6701 +  esac
    6702 +
    6703 +  # Avoid overriding --with-cpu-32 and --with-cpu-64 values.
    6704 +  case ${target} in
    6705 +    i[34567]86-*-*|x86_64-*-*)
    6706 +      if test x$with_cpu != x; then
    6707 +        if test x$with_cpu_32 != x || test x$with_cpu_64 != x; then
    6708 +          if test x$with_cpu_32 = x; then
    6709 +            with_cpu_32=$with_cpu
    6710 +          fi
    6711 +          if test x$with_cpu_64 = x; then
    6712 +            with_cpu_64=$with_cpu
    6713 +          fi
    6714 +          with_cpu=
    6715 +        fi
    6716 +      fi
    6717 +      ;;
    6718 +  esac
    6719 +fi
    6720 +
    6721 +# Similarly for --with-schedule.
    6722 +if test x$with_schedule = x; then
    6723 +       case ${target} in
    6724 +       hppa1*)
    6725 +               # Override default PA8000 scheduling model.
    6726 +               with_schedule=7100LC
    6727 +               ;;
    6728 +       esac
    6729 +fi
    6730 +
    6731 +# Validate and mark as valid any --with options supported
    6732 +# by this target.  In order to use a particular --with option
    6733 +# you must list it in supported_defaults; validating the value
    6734 +# is optional.  This case statement should set nothing besides
    6735 +# supported_defaults.
    6736 +
    6737 +supported_defaults=
    6738 +case "${target}" in
    6739 +       alpha*-*-*)
    6740 +               supported_defaults="cpu tune"
    6741 +               for which in cpu tune; do
    6742 +                       eval "val=\$with_$which"
    6743 +                       case "$val" in
    6744 +                       "" \
    6745 +                       | ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
    6746 +                       | pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
    6747 +                       | 21264a)
    6748 +                               ;;
    6749 +                       *)
    6750 +                               echo "Unknown CPU used in --with-$which=$val" 1>&2
    6751 +                               exit 1
    6752 +                               ;;
    6753 +                       esac
    6754 +               done
    6755 +               ;;
    6756 +
    6757 +       arm*-*-*)
    6758 +               supported_defaults="arch cpu float tune fpu abi mode"
    6759 +               for which in cpu tune; do
    6760 +                       # See if it matches any of the entries in arm-cores.def
    6761 +                       eval "val=\$with_$which"
    6762 +                       if [ x"$val" = x ] \
    6763 +                           || grep "^ARM_CORE(\"$val\"," \
    6764 +                                   ${srcdir}/config/arm/arm-cores.def \
    6765 +                                   > /dev/null; then
    6766 +                         # Ok
    6767 +                         new_val=`grep "^ARM_CORE(\"$val\"," \
    6768 +                               ${srcdir}/config/arm/arm-cores.def | \
    6769 +                               sed -e 's/^[^,]*,[      ]*//' | \
    6770 +                               sed -e 's/,.*$//'`
    6771 +                         eval "target_${which}_cname=$new_val"
    6772 +                       echo "For $val real value is $new_val"
    6773 +                         true
    6774 +                       else
    6775 +                         echo "Unknown CPU used in --with-$which=$val" 1>&2
    6776 +                         exit 1
    6777 +                       fi
    6778 +               done
    6779 +
    6780 +               case "$with_arch" in
    6781 +               "" \
    6782 +               | armv[23456] | armv2a | armv3m | armv4t | armv5t \
    6783 +               | armv5te | armv6j |armv6k | armv6z | armv6zk | armv6-m \
    6784 +               | armv7 | armv7-a | armv7-r | armv7-m \
    6785 +               | iwmmxt | ep9312)
    6786 +                       # OK
    6787 +                       ;;
    6788 +               *)
    6789 +                       echo "Unknown arch used in --with-arch=$with_arch" 1>&2
    6790 +                       exit 1
    6791 +                       ;;
    6792 +               esac
    6793 +
    6794 +               case "$with_float" in
    6795 +               "" \
    6796 +               | soft | hard | softfp)
    6797 +                       # OK
    6798 +                       ;;
    6799 +               *)
    6800 +                       echo "Unknown floating point type used in --with-float=$with_float" 1>&2
    6801 +                       exit 1
    6802 +                       ;;
    6803 +               esac
    6804 +
    6805 +               case "$with_fpu" in
    6806 +               "" \
    6807 +               | fpa | fpe2 | fpe3 | maverick | vfp | vfp3 | neon )
    6808 +                       # OK
    6809 +                       ;;
    6810 +               *)
    6811 +                       echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1
    6812 +                       exit 1
    6813 +                       ;;
    6814 +               esac
    6815 +
    6816 +               case "$with_abi" in
    6817 +               "" \
    6818 +               | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
    6819 +                       #OK
    6820 +                       ;;
    6821 +               *)
    6822 +                       echo "Unknown ABI used in --with-abi=$with_abi"
    6823 +                       exit 1
    6824 +                       ;;
    6825 +               esac
    6826 +
    6827 +               case "$with_mode" in
    6828 +               "" \
    6829 +               | arm | thumb )
    6830 +                       #OK
    6831 +                       ;;
    6832 +               *)
    6833 +                       echo "Unknown mode used in --with-mode=$with_mode"
    6834 +                       exit 1
    6835 +                       ;;
    6836 +               esac
    6837 +
    6838 +               if test "x$with_arch" != x && test "x$with_cpu" != x; then
    6839 +                       echo "Warning: --with-arch overrides --with-cpu=$with_cpu" 1>&2
    6840 +               fi
    6841 +               ;;
    6842 +
    6843 +       fr*-*-*linux*)
    6844 +               supported_defaults=cpu
    6845 +               case "$with_cpu" in
    6846 +               fr400) ;;
    6847 +               fr550) ;;
    6848 +               *)
    6849 +                       echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
    6850 +                       exit 1
    6851 +                       ;;
    6852 +               esac
    6853 +               ;;
    6854 +
    6855 +       fido-*-* | m68k*-*-*)
    6856 +               supported_defaults="arch cpu"
    6857 +               case "$with_arch" in
    6858 +               "" | "m68k"| "cf")
    6859 +                       m68k_arch_family="$with_arch"
    6860 +                       ;;
    6861 +               *)
    6862 +                       echo "Invalid --with-arch=$with_arch" 1>&2
    6863 +                       exit 1
    6864 +                       ;;
    6865 +               esac
    6866 +
    6867 +               # We always have a $with_cpu setting here.
    6868 +               case "$with_cpu" in
    6869 +               "m68000" | "m68010" | "m68020" | "m68030" | "m68040" | "m68060")
    6870 +                       m68k_cpu_ident=$with_cpu
    6871 +                       ;;
    6872 +               "m68020-40")
    6873 +                       m68k_cpu_ident=m68020
    6874 +                       tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_40"
    6875 +                       ;;
    6876 +               "m68020-60")
    6877 +                       m68k_cpu_ident=m68020
    6878 +                       tm_defines="$tm_defines M68K_DEFAULT_TUNE=u68020_60"
    6879 +                       ;;
    6880 +               *)
    6881 +                       # We need the C identifier rather than the string.
    6882 +                       m68k_cpu_ident=`awk -v arg="\"$with_cpu\"" \
    6883 +                          'BEGIN { FS="[ \t]*[,()][ \t]*" }; \
    6884 +                           $1 == "M68K_DEVICE" && $2 == arg { print $3 }' \
    6885 +                                ${srcdir}/config/m68k/m68k-devices.def`
    6886 +                       if [ x"$m68k_cpu_ident" = x ] ; then
    6887 +                               echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
    6888 +                               exit 1
    6889 +                       fi
    6890 +                       with_cpu="mcpu=$with_cpu"
    6891 +                       ;;
    6892 +               esac
    6893 +               ;;
    6894 +
    6895 +       hppa*-*-*)
    6896 +               supported_defaults="arch schedule"
    6897 +
    6898 +               case "$with_arch" in
    6899 +               "" | 1.0 | 1.1 | 2.0)
    6900 +                       # OK
    6901 +                       ;;
    6902 +               *)
    6903 +                       echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
    6904 +                       exit 1
    6905 +                       ;;
    6906 +               esac
    6907 +
    6908 +               case "$with_schedule" in
    6909 +               "" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
    6910 +                       # OK
    6911 +                       ;;
    6912 +               *)
    6913 +                       echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
    6914 +                       exit 1
    6915 +                       ;;
    6916 +               esac
    6917 +               ;;
    6918 +
    6919 +       i[34567]86-*-* | x86_64-*-*)
    6920 +               supported_defaults="arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64"
    6921 +               for which in arch arch_32 arch_64 cpu cpu_32 cpu_64 tune tune_32 tune_64; do
    6922 +                       eval "val=\$with_$which"
    6923 +                       case ${val} in
    6924 +                       i386 | i486 \
    6925 +                       | i586 | pentium | pentium-mmx | winchip-c6 | winchip2 \
    6926 +                       | c3 | c3-2 | i686 | pentiumpro | pentium2 | pentium3 \
    6927 +                       | pentium4 | k6 | k6-2 | k6-3 | athlon | athlon-tbird \
    6928 +                       | athlon-4 | athlon-xp | athlon-mp | geode \
    6929 +                       | prescott | pentium-m | pentium4m | pentium3m)
    6930 +                               case "${target}" in
    6931 +                                 x86_64-*-*)
    6932 +                                     case "x$which" in
    6933 +                                       *_32)
    6934 +                                               ;;
    6935 +                                       *)
    6936 +                                               echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
    6937 +                                               exit 1
    6938 +                                               ;;
    6939 +                                     esac
    6940 +                                     ;;
    6941 +                               esac
    6942 +                               # OK
    6943 +                               ;;
    6944 +                       "" | amdfam10 | barcelona | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic)
    6945 +                               # OK
    6946 +                               ;;
    6947 +                       *)
    6948 +                               echo "Unknown CPU given in --with-$which=$val." 1>&2
    6949 +                               exit 1
    6950 +                               ;;
    6951 +                       esac
    6952 +               done
    6953 +               ;;
    6954 +
    6955 +       mips*-*-*)
    6956 +               supported_defaults="abi arch float tune divide llsc mips-plt"
    6957 +
    6958 +               case ${with_float} in
    6959 +               "" | soft | hard)
    6960 +                       # OK
    6961 +                       ;;
    6962 +               *)
    6963 +                       echo "Unknown floating point type used in --with-float=$with_float" 1>&2
    6964 +                       exit 1
    6965 +                       ;;
    6966 +               esac
    6967 +
    6968 +               case ${with_abi} in
    6969 +               "" | 32 | o64 | n32 | 64 | eabi)
    6970 +                       # OK
    6971 +                       ;;
    6972 +               *)
    6973 +                       echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
    6974 +                       exit 1
    6975 +                       ;;
    6976 +               esac
    6977 +
    6978 +               case ${with_divide} in
    6979 +               "" | breaks | traps)
    6980 +                       # OK
    6981 +                       ;;
    6982 +               *)
    6983 +                       echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
    6984 +                       exit 1
    6985 +                       ;;
    6986 +               esac
    6987 +
    6988 +               case ${with_llsc} in
    6989 +               yes)
    6990 +                       with_llsc=llsc
    6991 +                       ;;
    6992 +               no)
    6993 +                       with_llsc="no-llsc"
    6994 +                       ;;
    6995 +               "")
    6996 +                       # OK
    6997 +                       ;;
    6998 +               *)
    6999 +                       echo "Unknown llsc type used in --with-llsc" 1>&2
    7000 +                       exit 1
    7001 +                       ;;
    7002 +               esac
    7003 +
    7004 +               case ${with_mips_plt} in
    7005 +               yes)
    7006 +                       with_mips_plt=plt
    7007 +                       ;;
    7008 +               no)
    7009 +                       with_mips_plt=no-plt
    7010 +                       ;;
    7011 +               "")
    7012 +                       ;;
    7013 +               *)
    7014 +                       echo "Unknown --with-mips-plt argument: $with_mips_plt" 1>&2
    7015 +                       exit 1
    7016 +                       ;;
    7017 +               esac
    7018 +               ;;
    7019 +
    7020 +       powerpc*-*-* | rs6000-*-*)
    7021 +               supported_defaults="cpu float tune"
    7022 +
    7023 +               for which in cpu tune; do
    7024 +                       eval "val=\$with_$which"
    7025 +                       case ${val} in
    7026 +                       default32 | default64)
    7027 +                               with_which="with_$which"
    7028 +                               eval $with_which=
    7029 +                               ;;
    7030 +                       405cr)
    7031 +                               tm_defines="${tm_defines} CONFIG_PPC405CR"
    7032 +                               eval "with_$which=405"
    7033 +                               ;;
    7034 +                       "" | common \
    7035 +                       | power | power[234567] | power6x | powerpc | powerpc64 \
    7036 +                       | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
    7037 +                       | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
    7038 +                       | 505 | 601 | 602 | 603 | 603e | ec603e | 604 \
    7039 +                       | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
    7040 +                       | e300c[23] | 854[08] | e500mc \
    7041 +                       | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
    7042 +                               # OK
    7043 +                               ;;
    7044 +                       *)
    7045 +                               echo "Unknown cpu used in --with-$which=$val." 1>&2
    7046 +                               exit 1
    7047 +                               ;;
    7048 +                       esac
    7049 +               done
    7050 +               ;;
    7051 +
    7052 +       s390*-*-*)
    7053 +               supported_defaults="arch mode tune"
    7054 +
    7055 +               for which in arch tune; do
    7056 +                       eval "val=\$with_$which"
    7057 +                       case ${val} in
    7058 +                       "" | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10)
    7059 +                               # OK
    7060 +                               ;;
    7061 +                       *)
    7062 +                               echo "Unknown cpu used in --with-$which=$val." 1>&2
    7063 +                               exit 1
    7064 +                               ;;
    7065 +                       esac
    7066 +               done
    7067 +
    7068 +               case ${with_mode} in
    7069 +               "" | esa | zarch)
    7070 +                       # OK
    7071 +                       ;;
    7072 +               *)
    7073 +                       echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
    7074 +                       exit 1
    7075 +                       ;;
    7076 +               esac
    7077 +               ;;
    7078 +
    7079 +       sh[123456ble]-*-* | sh-*-*)
    7080 +               supported_defaults="cpu"
    7081 +               case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
    7082 +               "" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
    7083 +                       # OK
    7084 +                       ;;
    7085 +               m2a | m2a-single | m2a-single-only | m2a-nofpu)
    7086 +                       ;;
    7087 +               m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
    7088 +                       ;;
    7089 +               *)
    7090 +                       echo "Unknown CPU used in --with-cpu=$with_cpu, known values:"  1>&2
    7091 +                       echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
    7092 +                       echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
    7093 +                       echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
    7094 +                       exit 1
    7095 +                       ;;
    7096 +               esac
    7097 +               ;;
    7098 +       sparc*-*-*)
    7099 +               supported_defaults="cpu float tune"
    7100 +
    7101 +               for which in cpu tune; do
    7102 +                       eval "val=\$with_$which"
    7103 +                       case ${val} in
    7104 +                       "" | sparc | sparcv9 | sparc64 | sparc86x \
    7105 +                       | v7 | cypress | v8 | supersparc | sparclite | f930 \
    7106 +                       | f934 | hypersparc | sparclite86x | sparclet | tsc701 \
    7107 +                       | v9 | ultrasparc | ultrasparc3 | niagara | niagara2)
    7108 +                               # OK
    7109 +                               ;;
    7110 +                       *)
    7111 +                               echo "Unknown cpu used in --with-$which=$val" 1>&2
    7112 +                               exit 1
    7113 +                               ;;
    7114 +                       esac
    7115 +               done
    7116 +
    7117 +               case ${with_float} in
    7118 +               "" | soft | hard)
    7119 +                       # OK
    7120 +                       ;;
    7121 +               *)
    7122 +                       echo "Unknown floating point type used in --with-float=$with_float" 1>&2
    7123 +                       exit 1
    7124 +                       ;;
    7125 +               esac
    7126 +               ;;
    7127 +
    7128 +       spu-*-*)
    7129 +               supported_defaults="arch tune"
    7130 +
    7131 +               for which in arch tune; do
    7132 +                       eval "val=\$with_$which"
    7133 +                       case ${val} in
    7134 +                       "" | cell | celledp)
    7135 +                               # OK
    7136 +                               ;;
    7137 +                       *)
    7138 +                               echo "Unknown cpu used in --with-$which=$val." 1>&2
    7139 +                               exit 1
    7140 +                               ;;
    7141 +                       esac
    7142 +               done
    7143 +               ;;
    7144 +
    7145 +       v850*-*-*)
    7146 +               supported_defaults=cpu
    7147 +               case ${with_cpu} in
    7148 +               "" | v850e | v850e1)
    7149 +                       # OK
    7150 +                       ;;
    7151 +               *)
    7152 +                       echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
    7153 +                       exit 1
    7154 +                       ;;
    7155 +               esac
    7156 +               ;;
    7157 +esac
    7158 +
    7159 +# Set some miscellaneous flags for particular targets.
    7160 +target_cpu_default2=
    7161 +case ${target} in
    7162 +       alpha*-*-*)
    7163 +               if test x$gas = xyes
    7164 +               then
    7165 +                       target_cpu_default2="MASK_GAS"
    7166 +               fi
    7167 +               ;;
    7168 +
    7169 +       arm*-*-*)
    7170 +               if test x$target_cpu_cname = x
    7171 +               then
    7172 +                       target_cpu_default2=TARGET_CPU_generic
    7173 +               else
    7174 +                       target_cpu_default2=TARGET_CPU_$target_cpu_cname
    7175 +               fi
    7176 +               ;;
    7177 +
    7178 +       hppa*-*-*)
    7179 +               target_cpu_default2="MASK_BIG_SWITCH"
    7180 +               if test x$gas = xyes
    7181 +               then
    7182 +                       target_cpu_default2="${target_cpu_default2}|MASK_GAS|MASK_JUMP_IN_DELAY"
    7183 +               fi
    7184 +               ;;
    7185 +
    7186 +       fido*-*-* | m68k*-*-*)
    7187 +               target_cpu_default2=$m68k_cpu_ident
    7188 +               if [ x"$m68k_arch_family" != x ]; then
    7189 +                       tmake_file="m68k/t-$m68k_arch_family $tmake_file"
    7190 +               fi
    7191 +               ;;
    7192 +
    7193 +       i[34567]86-*-darwin* | x86_64-*-darwin*)
    7194 +               tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
    7195 +               ;;
    7196 +       i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
    7197 +               tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux"
    7198 +               ;;
    7199 +       ia64*-*-linux*)
    7200 +               tmake_file="${tmake_file} ia64/t-fprules-softfp soft-fp/t-softfp"
    7201 +               ;;
    7202 +
    7203 +       mips*-*-*)
    7204 +               if test x$gnu_ld = xyes
    7205 +               then
    7206 +                       target_cpu_default2="MASK_SPLIT_ADDRESSES"
    7207 +               fi
    7208 +               case ${target} in
    7209 +                       mips*el-*-*)
    7210 +                               tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
    7211 +                               ;;
    7212 +               esac
    7213 +               if test "x$enable_gofast" = xyes
    7214 +               then
    7215 +                       tm_defines="US_SOFTWARE_GOFAST $tm_defines"
    7216 +                       tmake_file="mips/t-gofast $tmake_file"
    7217 +               else
    7218 +                       tmake_file="mips/t-mips $tmake_file"
    7219 +               fi
    7220 +               ;;
    7221 +
    7222 +       powerpc*-*-* | rs6000-*-*)
    7223 +               # FIXME: The PowerPC port uses the value set at compile time,
    7224 +               # although it's only cosmetic.
    7225 +               if test "x$with_cpu" != x
    7226 +               then
    7227 +                       target_cpu_default2="\\\"$with_cpu\\\""
    7228 +               fi
    7229 +               out_file=rs6000/rs6000.c
    7230 +               c_target_objs="${c_target_objs} rs6000-c.o"
    7231 +               cxx_target_objs="${cxx_target_objs} rs6000-c.o"
    7232 +               tmake_file="rs6000/t-rs6000 ${tmake_file}"
    7233 +
    7234 +                if test x$enable_e500_double = xyes
    7235 +                then
    7236 +                        tm_file="$tm_file rs6000/e500-double.h"
    7237 +                fi
    7238 +               ;;
    7239 +
    7240 +       sh[123456ble]*-*-* | sh-*-*)
    7241 +               c_target_objs="${c_target_objs} sh-c.o"
    7242 +               cxx_target_objs="${cxx_target_objs} sh-c.o"
    7243 +               ;;
    7244 +
    7245 +       sparc*-*-*)
    7246 +               # Some standard aliases.
    7247 +               case x$with_cpu in
    7248 +               xsparc)
    7249 +                       with_cpu=v7
    7250 +                       ;;
    7251 +               xsparcv9 | xsparc64)
    7252 +                       with_cpu=v9
    7253 +                       ;;
    7254 +               esac
    7255 +
    7256 +               # The SPARC port checks this value at compile-time.
    7257 +               target_cpu_default2="TARGET_CPU_$with_cpu"
    7258 +               ;;
    7259 +       v850*-*-*)
    7260 +               # FIXME: The v850 is "special" in that it does not support
    7261 +               # runtime CPU selection, only --with-cpu.
    7262 +               case "x$with_cpu" in
    7263 +               x)
    7264 +                       ;;
    7265 +               xv850e)
    7266 +                       target_cpu_default2="TARGET_CPU_$with_cpu"
    7267 +                       ;;
    7268 +               esac
    7269 +               ;;
    7270 +esac
    7271 +
    7272 +t=
    7273 +all_defaults="abi cpu cpu_32 cpu_64 arch arch_32 arch_64 tune tune_32 tune_64 schedule float mode fpu divide llsc mips-plt"
    7274 +for option in $all_defaults
    7275 +do
    7276 +       eval "val=\$with_"`echo $option | sed s/-/_/g`
    7277 +       if test -n "$val"; then
    7278 +               case " $supported_defaults " in
    7279 +               *" $option "*)
    7280 +                       ;;
    7281 +               *)
    7282 +                       echo "This target does not support --with-$option." 2>&1
    7283 +                       echo "Valid --with options are: $supported_defaults" 2>&1
    7284 +                       exit 1
    7285 +                       ;;
    7286 +               esac
    7287 +
    7288 +               if test "x$t" = x
    7289 +               then
    7290 +                       t="{ \"$option\", \"$val\" }"
    7291 +               else
    7292 +                       t="${t}, { \"$option\", \"$val\" }"
    7293 +               fi
    7294 +       fi
    7295 +done
    7296 +
    7297 +if test "x$t" = x
    7298 +then
    7299 +       configure_default_options="{ { NULL, NULL} }"
    7300 +else
    7301 +       configure_default_options="{ ${t} }"
    7302 +fi
    7303 +
    7304 +if test "$target_cpu_default2" != ""
    7305 +then
    7306 +       if test "$target_cpu_default" != ""
    7307 +       then
    7308 +               target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
    7309 +       else
    7310 +               target_cpu_default=$target_cpu_default2
    7311 +       fi
    7312 +fi
    7313 diff -Naur gcc-4.4.2.orig/gcc/doc/contrib.texi gcc-4.4.2-rtems4.10-20091015/gcc/doc/contrib.texi
     4126diff -Naur gcc-4.4.2.orig/gcc/doc/contrib.texi gcc-4.4.2/gcc/doc/contrib.texi
    73144127--- gcc-4.4.2.orig/gcc/doc/contrib.texi 2009-02-20 16:20:38.000000000 +0100
    7315 +++ gcc-4.4.2-rtems4.10-20091015/gcc/doc/contrib.texi   2009-10-15 18:36:00.000000000 +0200
     4128+++ gcc-4.4.2/gcc/doc/contrib.texi      2009-10-15 18:36:00.000000000 +0200
    73164129@@ -55,7 +55,7 @@
    73174130 Wolfgang Bangerth for processing tons of bug reports.
     
    73234136 @item
    73244137 Daniel Berlin for better DWARF2 support, faster/better optimizations,
    7325 diff -Naur gcc-4.4.2.orig/gcc/doc/install.texi gcc-4.4.2-rtems4.10-20091015/gcc/doc/install.texi
     4138diff -Naur gcc-4.4.2.orig/gcc/doc/install.texi gcc-4.4.2/gcc/doc/install.texi
    73264139--- gcc-4.4.2.orig/gcc/doc/install.texi 2009-09-12 20:57:06.000000000 +0200
    7327 +++ gcc-4.4.2-rtems4.10-20091015/gcc/doc/install.texi   2009-10-15 18:36:00.000000000 +0200
     4140+++ gcc-4.4.2/gcc/doc/install.texi      2009-10-15 18:36:00.000000000 +0200
    73284141@@ -2658,6 +2658,10 @@
    73294142 @item
     
    73584171 Renesas M32C processor.
    73594172 This configuration is intended for embedded systems.
    7360 diff -Naur gcc-4.4.2.orig/gcc/doc/install.texi.orig gcc-4.4.2-rtems4.10-20091015/gcc/doc/install.texi.orig
    7361 --- gcc-4.4.2.orig/gcc/doc/install.texi.orig    1970-01-01 01:00:00.000000000 +0100
    7362 +++ gcc-4.4.2-rtems4.10-20091015/gcc/doc/install.texi.orig      2009-10-15 18:36:00.000000000 +0200
    7363 @@ -0,0 +1,4324 @@
    7364 +\input texinfo.tex    @c -*-texinfo-*-
    7365 +@c @ifnothtml
    7366 +@c %**start of header
    7367 +@setfilename gccinstall.info
    7368 +@settitle Installing GCC
    7369 +@setchapternewpage odd
    7370 +@c %**end of header
    7371 +@c @end ifnothtml
    7372 +
    7373 +@include gcc-common.texi
    7374 +
    7375 +@c Specify title for specific html page
    7376 +@ifset indexhtml
    7377 +@settitle Installing GCC
    7378 +@end ifset
    7379 +@ifset specifichtml
    7380 +@settitle Host/Target specific installation notes for GCC
    7381 +@end ifset
    7382 +@ifset prerequisiteshtml
    7383 +@settitle Prerequisites for GCC
    7384 +@end ifset
    7385 +@ifset downloadhtml
    7386 +@settitle Downloading GCC
    7387 +@end ifset
    7388 +@ifset configurehtml
    7389 +@settitle Installing GCC: Configuration
    7390 +@end ifset
    7391 +@ifset buildhtml
    7392 +@settitle Installing GCC: Building
    7393 +@end ifset
    7394 +@ifset testhtml
    7395 +@settitle Installing GCC: Testing
    7396 +@end ifset
    7397 +@ifset finalinstallhtml
    7398 +@settitle Installing GCC: Final installation
    7399 +@end ifset
    7400 +@ifset binarieshtml
    7401 +@settitle Installing GCC: Binaries
    7402 +@end ifset
    7403 +@ifset oldhtml
    7404 +@settitle Installing GCC: Old documentation
    7405 +@end ifset
    7406 +@ifset gfdlhtml
    7407 +@settitle Installing GCC: GNU Free Documentation License
    7408 +@end ifset
    7409 +
    7410 +@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
    7411 +@c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
    7412 +@c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
    7413 +
    7414 +@c IMPORTANT: whenever you modify this file, run `install.texi2html' to
    7415 +@c test the generation of HTML documents for the gcc.gnu.org web pages.
    7416 +@c
    7417 +@c Do not use @footnote{} in this file as it breaks install.texi2html!
    7418 +
    7419 +@c Include everything if we're not making html
    7420 +@ifnothtml
    7421 +@set indexhtml
    7422 +@set specifichtml
    7423 +@set prerequisiteshtml
    7424 +@set downloadhtml
    7425 +@set configurehtml
    7426 +@set buildhtml
    7427 +@set testhtml
    7428 +@set finalinstallhtml
    7429 +@set binarieshtml
    7430 +@set oldhtml
    7431 +@set gfdlhtml
    7432 +@end ifnothtml
    7433 +
    7434 +@c Part 2 Summary Description and Copyright
    7435 +@copying
    7436 +Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
    7437 +1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
    7438 +2008 Free Software Foundation, Inc.
    7439 +@sp 1
    7440 +Permission is granted to copy, distribute and/or modify this document
    7441 +under the terms of the GNU Free Documentation License, Version 1.2 or
    7442 +any later version published by the Free Software Foundation; with no
    7443 +Invariant Sections, the Front-Cover texts being (a) (see below), and
    7444 +with the Back-Cover Texts being (b) (see below).  A copy of the
    7445 +license is included in the section entitled ``@uref{./gfdl.html,,GNU
    7446 +Free Documentation License}''.
    7447 +
    7448 +(a) The FSF's Front-Cover Text is:
    7449 +
    7450 +     A GNU Manual
    7451 +
    7452 +(b) The FSF's Back-Cover Text is:
    7453 +
    7454 +     You have freedom to copy and modify this GNU Manual, like GNU
    7455 +     software.  Copies published by the Free Software Foundation raise
    7456 +     funds for GNU development.
    7457 +@end copying
    7458 +@ifinfo
    7459 +@insertcopying
    7460 +@end ifinfo
    7461 +@dircategory Software development
    7462 +@direntry
    7463 +* gccinstall: (gccinstall).    Installing the GNU Compiler Collection.
    7464 +@end direntry
    7465 +
    7466 +@c Part 3 Titlepage and Copyright
    7467 +@titlepage
    7468 +@title Installing GCC
    7469 +@versionsubtitle
    7470 +
    7471 +@c The following two commands start the copyright page.
    7472 +@page
    7473 +@vskip 0pt plus 1filll
    7474 +@insertcopying
    7475 +@end titlepage
    7476 +
    7477 +@c Part 4 Top node, Master Menu, and/or Table of Contents
    7478 +@ifinfo
    7479 +@node    Top, , , (dir)
    7480 +@comment node-name, next,          Previous, up
    7481 +
    7482 +@menu
    7483 +* Installing GCC::  This document describes the generic installation
    7484 +                    procedure for GCC as well as detailing some target
    7485 +                    specific installation instructions.
    7486 +
    7487 +* Specific::        Host/target specific installation notes for GCC.
    7488 +* Binaries::        Where to get pre-compiled binaries.
    7489 +
    7490 +* Old::             Old installation documentation.
    7491 +
    7492 +* GNU Free Documentation License:: How you can copy and share this manual.
    7493 +* Concept Index::   This index has two entries.
    7494 +@end menu
    7495 +@end ifinfo
    7496 +
    7497 +@iftex
    7498 +@contents
    7499 +@end iftex
    7500 +
    7501 +@c Part 5 The Body of the Document
    7502 +@c ***Installing GCC**********************************************************
    7503 +@ifnothtml
    7504 +@comment node-name,     next,          previous, up
    7505 +@node    Installing GCC, Binaries, , Top
    7506 +@end ifnothtml
    7507 +@ifset indexhtml
    7508 +@ifnothtml
    7509 +@chapter Installing GCC
    7510 +@end ifnothtml
    7511 +
    7512 +The latest version of this document is always available at
    7513 +@uref{http://gcc.gnu.org/install/,,http://gcc.gnu.org/install/}.
    7514 +
    7515 +This document describes the generic installation procedure for GCC as well
    7516 +as detailing some target specific installation instructions.
    7517 +
    7518 +GCC includes several components that previously were separate distributions
    7519 +with their own installation instructions.  This document supersedes all
    7520 +package specific installation instructions.
    7521 +
    7522 +@emph{Before} starting the build/install procedure please check the
    7523 +@ifnothtml
    7524 +@ref{Specific, host/target specific installation notes}.
    7525 +@end ifnothtml
    7526 +@ifhtml
    7527 +@uref{specific.html,,host/target specific installation notes}.
    7528 +@end ifhtml
    7529 +We recommend you browse the entire generic installation instructions before
    7530 +you proceed.
    7531 +
    7532 +Lists of successful builds for released versions of GCC are
    7533 +available at @uref{http://gcc.gnu.org/buildstat.html}.
    7534 +These lists are updated as new information becomes available.
    7535 +
    7536 +The installation procedure itself is broken into five steps.
    7537 +
    7538 +@ifinfo
    7539 +@menu
    7540 +* Prerequisites::
    7541 +* Downloading the source::
    7542 +* Configuration::
    7543 +* Building::
    7544 +* Testing:: (optional)
    7545 +* Final install::
    7546 +@end menu
    7547 +@end ifinfo
    7548 +@ifhtml
    7549 +@enumerate
    7550 +@item
    7551 +@uref{prerequisites.html,,Prerequisites}
    7552 +@item
    7553 +@uref{download.html,,Downloading the source}
    7554 +@item
    7555 +@uref{configure.html,,Configuration}
    7556 +@item
    7557 +@uref{build.html,,Building}
    7558 +@item
    7559 +@uref{test.html,,Testing} (optional)
    7560 +@item
    7561 +@uref{finalinstall.html,,Final install}
    7562 +@end enumerate
    7563 +@end ifhtml
    7564 +
    7565 +Please note that GCC does not support @samp{make uninstall} and probably
    7566 +won't do so in the near future as this would open a can of worms.  Instead,
    7567 +we suggest that you install GCC into a directory of its own and simply
    7568 +remove that directory when you do not need that specific version of GCC
    7569 +any longer, and, if shared libraries are installed there as well, no
    7570 +more binaries exist that use them.
    7571 +
    7572 +@ifhtml
    7573 +There are also some @uref{old.html,,old installation instructions},
    7574 +which are mostly obsolete but still contain some information which has
    7575 +not yet been merged into the main part of this manual.
    7576 +@end ifhtml
    7577 +
    7578 +@html
    7579 +<hr />
    7580 +<p>
    7581 +@end html
    7582 +@ifhtml
    7583 +@uref{./index.html,,Return to the GCC Installation page}
    7584 +
    7585 +@insertcopying
    7586 +@end ifhtml
    7587 +@end ifset
    7588 +
    7589 +@c ***Prerequisites**************************************************
    7590 +@ifnothtml
    7591 +@comment node-name,     next,          previous, up
    7592 +@node    Prerequisites, Downloading the source, , Installing GCC
    7593 +@end ifnothtml
    7594 +@ifset prerequisiteshtml
    7595 +@ifnothtml
    7596 +@chapter Prerequisites
    7597 +@end ifnothtml
    7598 +@cindex Prerequisites
    7599 +
    7600 +GCC requires that various tools and packages be available for use in the
    7601 +build procedure.  Modifying GCC sources requires additional tools
    7602 +described below.
    7603 +
    7604 +@heading Tools/packages necessary for building GCC
    7605 +@table @asis
    7606 +@item ISO C90 compiler
    7607 +Necessary to bootstrap GCC, although versions of GCC prior
    7608 +to 3.4 also allow bootstrapping with a traditional (K&R) C compiler.
    7609 +
    7610 +To build all languages in a cross-compiler or other configuration where
    7611 +3-stage bootstrap is not performed, you need to start with an existing
    7612 +GCC binary (version 2.95 or later) because source code for language
    7613 +frontends other than C might use GCC extensions.
    7614 +
    7615 +@item GNAT
    7616 +
    7617 +In order to build the Ada compiler (GNAT) you must already have GNAT
    7618 +installed because portions of the Ada frontend are written in Ada (with
    7619 +GNAT extensions.)  Refer to the Ada installation instructions for more
    7620 +specific information.
    7621 +
    7622 +@item A ``working'' POSIX compatible shell, or GNU bash
    7623 +
    7624 +Necessary when running @command{configure} because some
    7625 +@command{/bin/sh} shells have bugs and may crash when configuring the
    7626 +target libraries.  In other cases, @command{/bin/sh} or @command{ksh}
    7627 +have disastrous corner-case performance problems.  This
    7628 +can cause target @command{configure} runs to literally take days to
    7629 +complete in some cases.
    7630 +
    7631 +So on some platforms @command{/bin/ksh} is sufficient, on others it
    7632 +isn't.  See the host/target specific instructions for your platform, or
    7633 +use @command{bash} to be sure.  Then set @env{CONFIG_SHELL} in your
    7634 +environment to your ``good'' shell prior to running
    7635 +@command{configure}/@command{make}.
    7636 +
    7637 +@command{zsh} is not a fully compliant POSIX shell and will not
    7638 +work when configuring GCC@.
    7639 +
    7640 +@item A POSIX or SVR4 awk
    7641 +
    7642 +Necessary for creating some of the generated source files for GCC@.
    7643 +If in doubt, use a recent GNU awk version, as some of the older ones
    7644 +are broken.  GNU awk version 3.1.5 is known to work.
    7645 +
    7646 +@item GNU binutils
    7647 +
    7648 +Necessary in some circumstances, optional in others.  See the
    7649 +host/target specific instructions for your platform for the exact
    7650 +requirements.
    7651 +
    7652 +@item gzip version 1.2.4 (or later) or
    7653 +@itemx bzip2 version 1.0.2 (or later)
    7654 +
    7655 +Necessary to uncompress GCC @command{tar} files when source code is
    7656 +obtained via FTP mirror sites.
    7657 +
    7658 +@item GNU make version 3.80 (or later)
    7659 +
    7660 +You must have GNU make installed to build GCC@.
    7661 +
    7662 +@item GNU tar version 1.14 (or later)
    7663 +
    7664 +Necessary (only on some platforms) to untar the source code.  Many
    7665 +systems' @command{tar} programs will also work, only try GNU
    7666 +@command{tar} if you have problems.
    7667 +
    7668 +@item GNU Multiple Precision Library (GMP) version 4.1 (or later)
    7669 +
    7670 +Necessary to build GCC@.  If you do not have it installed in your
    7671 +library search path, you will have to configure with the
    7672 +@option{--with-gmp} configure option.  See also @option{--with-gmp-lib}
    7673 +and @option{--with-gmp-include}.  Alternatively, if a GMP source
    7674 +distribution is found in a subdirectory of your GCC sources named
    7675 +@file{gmp}, it will be built together with GCC@.
    7676 +
    7677 +@item MPFR Library version 2.3.2 (or later)
    7678 +
    7679 +Necessary to build GCC@.  It can be downloaded from
    7680 +@uref{http://www.mpfr.org/}.  The version of MPFR that is bundled with
    7681 +GMP 4.1.x contains numerous bugs.  Although GCC may appear to function
    7682 +with the buggy versions of MPFR, there are a few bugs that will not be
    7683 +fixed when using this version.  It is strongly recommended to upgrade
    7684 +to the recommended version of MPFR.
    7685 +
    7686 +The @option{--with-mpfr} configure option should be used if your MPFR
    7687 +Library is not installed in your default library search path.  See also
    7688 +@option{--with-mpfr-lib} and @option{--with-mpfr-include}.
    7689 +Alternatively, if a MPFR source distribution is found in a subdirectory
    7690 +of your GCC sources named @file{mpfr}, it will be built together with
    7691 +GCC@.
    7692 +
    7693 +@item Parma Polyhedra Library (PPL) version 0.10
    7694 +
    7695 +Necessary to build GCC with the Graphite loop optimizations.
    7696 +It can be downloaded from @uref{http://www.cs.unipr.it/ppl/Download/}.
    7697 +
    7698 +The @option{--with-ppl} configure option should be used if PPL is not
    7699 +installed in your default library search path.
    7700 +
    7701 +@item CLooG-PPL version 0.15
    7702 +
    7703 +Necessary to build GCC with the Graphite loop optimizations.  It can
    7704 +be downloaded from @uref{ftp://gcc.gnu.org/pub/gcc/infrastructure/}.
    7705 +The code in @file{cloog-ppl-0.15.tar.gz} comes from a branch of CLooG
    7706 +available from @uref{http://repo.or.cz/w/cloog-ppl.git}.  CLooG-PPL
    7707 +should be configured with @option{--with-ppl}.
    7708 +
    7709 +The @option{--with-cloog} configure option should be used if CLooG is
    7710 +not installed in your default library search path.
    7711 +
    7712 +@item @command{jar}, or InfoZIP (@command{zip} and @command{unzip})
    7713 +
    7714 +Necessary to build libgcj, the GCJ runtime.
    7715 +
    7716 +@end table
    7717 +
    7718 +
    7719 +@heading Tools/packages necessary for modifying GCC
    7720 +@table @asis
    7721 +@item autoconf version 2.59
    7722 +@itemx GNU m4 version 1.4 (or later)
    7723 +
    7724 +Necessary when modifying @file{configure.ac}, @file{aclocal.m4}, etc.@:
    7725 +to regenerate @file{configure} and @file{config.in} files.
    7726 +
    7727 +@item automake version 1.9.6
    7728 +
    7729 +Necessary when modifying a @file{Makefile.am} file to regenerate its
    7730 +associated @file{Makefile.in}.
    7731 +
    7732 +Much of GCC does not use automake, so directly edit the @file{Makefile.in}
    7733 +file.  Specifically this applies to the @file{gcc}, @file{intl},
    7734 +@file{libcpp}, @file{libiberty}, @file{libobjc} directories as well
    7735 +as any of their subdirectories.
    7736 +
    7737 +For directories that use automake, GCC requires the latest release in
    7738 +the 1.9.x series, which is currently 1.9.6.  When regenerating a directory
    7739 +to a newer version, please update all the directories using an older 1.9.x
    7740 +to the latest released version.
    7741 +
    7742 +@item gettext version 0.14.5 (or later)
    7743 +
    7744 +Needed to regenerate @file{gcc.pot}.
    7745 +
    7746 +@item gperf version 2.7.2 (or later)
    7747 +
    7748 +Necessary when modifying @command{gperf} input files, e.g.@:
    7749 +@file{gcc/cp/cfns.gperf} to regenerate its associated header file, e.g.@:
    7750 +@file{gcc/cp/cfns.h}.
    7751 +
    7752 +@item DejaGnu 1.4.4
    7753 +@itemx Expect
    7754 +@itemx Tcl
    7755 +
    7756 +Necessary to run the GCC testsuite; see the section on testing for details.
    7757 +
    7758 +@item autogen version 5.5.4 (or later) and
    7759 +@itemx guile version 1.4.1 (or later)
    7760 +
    7761 +Necessary to regenerate @file{fixinc/fixincl.x} from
    7762 +@file{fixinc/inclhack.def} and @file{fixinc/*.tpl}.
    7763 +
    7764 +Necessary to run @samp{make check} for @file{fixinc}.
    7765 +
    7766 +Necessary to regenerate the top level @file{Makefile.in} file from
    7767 +@file{Makefile.tpl} and @file{Makefile.def}.
    7768 +
    7769 +@item Flex version 2.5.4 (or later)
    7770 +
    7771 +Necessary when modifying @file{*.l} files.
    7772 +
    7773 +Necessary to build GCC during development because the generated output
    7774 +files are not included in the SVN repository.  They are included in
    7775 +releases.
    7776 +
    7777 +@item Texinfo version 4.7 (or later)
    7778 +
    7779 +Necessary for running @command{makeinfo} when modifying @file{*.texi}
    7780 +files to test your changes.
    7781 +
    7782 +Necessary for running @command{make dvi} or @command{make pdf} to
    7783 +create printable documentation in DVI or PDF format.  Texinfo version
    7784 +4.8 or later is required for @command{make pdf}.
    7785 +
    7786 +Necessary to build GCC documentation during development because the
    7787 +generated output files are not included in the SVN repository.  They are
    7788 +included in releases.
    7789 +
    7790 +@item @TeX{} (any working version)
    7791 +
    7792 +Necessary for running @command{texi2dvi} and @command{texi2pdf}, which
    7793 +are used when running @command{make dvi} or @command{make pdf} to create
    7794 +DVI or PDF files, respectively.
    7795 +
    7796 +@item SVN (any version)
    7797 +@itemx SSH (any version)
    7798 +
    7799 +Necessary to access the SVN repository.  Public releases and weekly
    7800 +snapshots of the development sources are also available via FTP@.
    7801 +
    7802 +@item Perl version 5.6.1 (or later)
    7803 +
    7804 +Necessary when regenerating @file{Makefile} dependencies in libiberty.
    7805 +Necessary when regenerating @file{libiberty/functions.texi}.
    7806 +Necessary when generating manpages from Texinfo manuals.
    7807 +Necessary when targetting Darwin, building libstdc++,
    7808 +and not using @option{--disable-symvers}.
    7809 +Used by various scripts to generate some files included in SVN (mainly
    7810 +Unicode-related and rarely changing) from source tables.
    7811 +
    7812 +@item GNU diffutils version 2.7 (or later)
    7813 +
    7814 +Useful when submitting patches for the GCC source code.
    7815 +
    7816 +@item patch version 2.5.4 (or later)
    7817 +
    7818 +Necessary when applying patches, created with @command{diff}, to one's
    7819 +own sources.
    7820 +
    7821 +@item ecj1
    7822 +@itemx gjavah
    7823 +
    7824 +If you wish to modify @file{.java} files in libjava, you will need to
    7825 +configure with @option{--enable-java-maintainer-mode}, and you will need
    7826 +to have executables named @command{ecj1} and @command{gjavah} in your path.
    7827 +The @command{ecj1} executable should run the Eclipse Java compiler via
    7828 +the GCC-specific entry point.  You can download a suitable jar from
    7829 +@uref{ftp://sourceware.org/pub/java/}, or by running the script
    7830 +@command{contrib/download_ecj}.
    7831 +
    7832 +@item antlr.jar version 2.7.1 (or later)
    7833 +@itemx antlr binary
    7834 +
    7835 +If you wish to build the @command{gjdoc} binary in libjava, you will
    7836 +need to have a @file{antlr.jar} library available. The library is
    7837 +searched in system locations but can be configured with
    7838 +@option{--with-antlr-jar=} instead.  When configuring with
    7839 +@option{--enable-java-maintainer-mode}, you will need to have one of
    7840 +the executables named @command{cantlr}, @command{runantlr} or
    7841 +@command{antlr} in your path.
    7842 +
    7843 +@end table
    7844 +
    7845 +@html
    7846 +<hr />
    7847 +<p>
    7848 +@end html
    7849 +@ifhtml
    7850 +@uref{./index.html,,Return to the GCC Installation page}
    7851 +@end ifhtml
    7852 +@end ifset
    7853 +
    7854 +@c ***Downloading the source**************************************************
    7855 +@ifnothtml
    7856 +@comment node-name,     next,          previous, up
    7857 +@node    Downloading the source, Configuration, Prerequisites, Installing GCC
    7858 +@end ifnothtml
    7859 +@ifset downloadhtml
    7860 +@ifnothtml
    7861 +@chapter Downloading GCC
    7862 +@end ifnothtml
    7863 +@cindex Downloading GCC
    7864 +@cindex Downloading the Source
    7865 +
    7866 +GCC is distributed via @uref{http://gcc.gnu.org/svn.html,,SVN} and FTP
    7867 +tarballs compressed with @command{gzip} or
    7868 +@command{bzip2}.  It is possible to download a full distribution or specific
    7869 +components.
    7870 +
    7871 +Please refer to the @uref{http://gcc.gnu.org/releases.html,,releases web page}
    7872 +for information on how to obtain GCC@.
    7873 +
    7874 +The full distribution includes the C, C++, Objective-C, Fortran, Java,
    7875 +and Ada (in the case of GCC 3.1 and later) compilers.  The full
    7876 +distribution also includes runtime libraries for C++, Objective-C,
    7877 +Fortran, and Java.  In GCC 3.0 and later versions, the GNU compiler
    7878 +testsuites are also included in the full distribution.
    7879 +
    7880 +If you choose to download specific components, you must download the core
    7881 +GCC distribution plus any language specific distributions you wish to
    7882 +use.  The core distribution includes the C language front end as well as the
    7883 +shared components.  Each language has a tarball which includes the language
    7884 +front end as well as the language runtime (when appropriate).
    7885 +
    7886 +Unpack the core distribution as well as any language specific
    7887 +distributions in the same directory.
    7888 +
    7889 +If you also intend to build binutils (either to upgrade an existing
    7890 +installation or for use in place of the corresponding tools of your
    7891 +OS), unpack the binutils distribution either in the same directory or
    7892 +a separate one.  In the latter case, add symbolic links to any
    7893 +components of the binutils you intend to build alongside the compiler
    7894 +(@file{bfd}, @file{binutils}, @file{gas}, @file{gprof}, @file{ld},
    7895 +@file{opcodes}, @dots{}) to the directory containing the GCC sources.
    7896 +
    7897 +Likewise, the GMP and MPFR libraries can be automatically built together
    7898 +with GCC.  Unpack the GMP and/or MPFR source distributions in the
    7899 +directory containing the GCC sources and rename their directories to
    7900 +@file{gmp} and @file{mpfr}, respectively (or use symbolic links with the
    7901 +same name).
    7902 +
    7903 +@html
    7904 +<hr />
    7905 +<p>
    7906 +@end html
    7907 +@ifhtml
    7908 +@uref{./index.html,,Return to the GCC Installation page}
    7909 +@end ifhtml
    7910 +@end ifset
    7911 +
    7912 +@c ***Configuration***********************************************************
    7913 +@ifnothtml
    7914 +@comment node-name,     next,          previous, up
    7915 +@node    Configuration, Building, Downloading the source, Installing GCC
    7916 +@end ifnothtml
    7917 +@ifset configurehtml
    7918 +@ifnothtml
    7919 +@chapter Installing GCC: Configuration
    7920 +@end ifnothtml
    7921 +@cindex Configuration
    7922 +@cindex Installing GCC: Configuration
    7923 +
    7924 +Like most GNU software, GCC must be configured before it can be built.
    7925 +This document describes the recommended configuration procedure
    7926 +for both native and cross targets.
    7927 +
    7928 +We use @var{srcdir} to refer to the toplevel source directory for
    7929 +GCC; we use @var{objdir} to refer to the toplevel build/object directory.
    7930 +
    7931 +If you obtained the sources via SVN, @var{srcdir} must refer to the top
    7932 +@file{gcc} directory, the one where the @file{MAINTAINERS} can be found,
    7933 +and not its @file{gcc} subdirectory, otherwise the build will fail.
    7934 +
    7935 +If either @var{srcdir} or @var{objdir} is located on an automounted NFS
    7936 +file system, the shell's built-in @command{pwd} command will return
    7937 +temporary pathnames.  Using these can lead to various sorts of build
    7938 +problems.  To avoid this issue, set the @env{PWDCMD} environment
    7939 +variable to an automounter-aware @command{pwd} command, e.g.,
    7940 +@command{pawd} or @samp{amq -w}, during the configuration and build
    7941 +phases.
    7942 +
    7943 +First, we @strong{highly} recommend that GCC be built into a
    7944 +separate directory than the sources which does @strong{not} reside
    7945 +within the source tree.  This is how we generally build GCC; building
    7946 +where @var{srcdir} == @var{objdir} should still work, but doesn't
    7947 +get extensive testing; building where @var{objdir} is a subdirectory
    7948 +of @var{srcdir} is unsupported.
    7949 +
    7950 +If you have previously built GCC in the same directory for a
    7951 +different target machine, do @samp{make distclean} to delete all files
    7952 +that might be invalid.  One of the files this deletes is @file{Makefile};
    7953 +if @samp{make distclean} complains that @file{Makefile} does not exist
    7954 +or issues a message like ``don't know how to make distclean'' it probably
    7955 +means that the directory is already suitably clean.  However, with the
    7956 +recommended method of building in a separate @var{objdir}, you should
    7957 +simply use a different @var{objdir} for each target.
    7958 +
    7959 +Second, when configuring a native system, either @command{cc} or
    7960 +@command{gcc} must be in your path or you must set @env{CC} in
    7961 +your environment before running configure.  Otherwise the configuration
    7962 +scripts may fail.
    7963 +
    7964 +@ignore
    7965 +Note that the bootstrap compiler and the resulting GCC must be link
    7966 +compatible, else the bootstrap will fail with linker errors about
    7967 +incompatible object file formats.  Several multilibed targets are
    7968 +affected by this requirement, see
    7969 +@ifnothtml
    7970 +@ref{Specific, host/target specific installation notes}.
    7971 +@end ifnothtml
    7972 +@ifhtml
    7973 +@uref{specific.html,,host/target specific installation notes}.
    7974 +@end ifhtml
    7975 +@end ignore
    7976 +
    7977 +To configure GCC:
    7978 +
    7979 +@smallexample
    7980 +   % mkdir @var{objdir}
    7981 +   % cd @var{objdir}
    7982 +   % @var{srcdir}/configure [@var{options}] [@var{target}]
    7983 +@end smallexample
    7984 +
    7985 +@heading Distributor options
    7986 +
    7987 +If you will be distributing binary versions of GCC, with modifications
    7988 +to the source code, you should use the options described in this
    7989 +section to make clear that your version contains modifications.
    7990 +
    7991 +@table @code
    7992 +@item --with-pkgversion=@var{version}
    7993 +Specify a string that identifies your package.  You may wish
    7994 +to include a build number or build date.  This version string will be
    7995 +included in the output of @command{gcc --version}.  This suffix does
    7996 +not replace the default version string, only the @samp{GCC} part.
    7997 +
    7998 +The default value is @samp{GCC}.
    7999 +
    8000 +@item --with-bugurl=@var{url}
    8001 +Specify the URL that users should visit if they wish to report a bug.
    8002 +You are of course welcome to forward bugs reported to you to the FSF,
    8003 +if you determine that they are not bugs in your modifications.
    8004 +
    8005 +The default value refers to the FSF's GCC bug tracker.
    8006 +
    8007 +@end table
    8008 +
    8009 +@heading Target specification
    8010 +@itemize @bullet
    8011 +@item
    8012 +GCC has code to correctly determine the correct value for @var{target}
    8013 +for nearly all native systems.  Therefore, we highly recommend you not
    8014 +provide a configure target when configuring a native compiler.
    8015 +
    8016 +@item
    8017 +@var{target} must be specified as @option{--target=@var{target}}
    8018 +when configuring a cross compiler; examples of valid targets would be
    8019 +m68k-coff, sh-elf, etc.
    8020 +
    8021 +@item
    8022 +Specifying just @var{target} instead of @option{--target=@var{target}}
    8023 +implies that the host defaults to @var{target}.
    8024 +@end itemize
    8025 +
    8026 +
    8027 +@heading Options specification
    8028 +
    8029 +Use @var{options} to override several configure time options for
    8030 +GCC@.  A list of supported @var{options} follows; @samp{configure
    8031 +--help} may list other options, but those not listed below may not
    8032 +work and should not normally be used.
    8033 +
    8034 +Note that each @option{--enable} option has a corresponding
    8035 +@option{--disable} option and that each @option{--with} option has a
    8036 +corresponding @option{--without} option.
    8037 +
    8038 +@table @code
    8039 +@item --prefix=@var{dirname}
    8040 +Specify the toplevel installation
    8041 +directory.  This is the recommended way to install the tools into a directory
    8042 +other than the default.  The toplevel installation directory defaults to
    8043 +@file{/usr/local}.
    8044 +
    8045 +We @strong{highly} recommend against @var{dirname} being the same or a
    8046 +subdirectory of @var{objdir} or vice versa.  If specifying a directory
    8047 +beneath a user's home directory tree, some shells will not expand
    8048 +@var{dirname} correctly if it contains the @samp{~} metacharacter; use
    8049 +@env{$HOME} instead.
    8050 +
    8051 +The following standard @command{autoconf} options are supported.  Normally you
    8052 +should not need to use these options.
    8053 +@table @code
    8054 +@item --exec-prefix=@var{dirname}
    8055 +Specify the toplevel installation directory for architecture-dependent
    8056 +files.  The default is @file{@var{prefix}}.
    8057 +
    8058 +@item --bindir=@var{dirname}
    8059 +Specify the installation directory for the executables called by users
    8060 +(such as @command{gcc} and @command{g++}).  The default is
    8061 +@file{@var{exec-prefix}/bin}.
    8062 +
    8063 +@item --libdir=@var{dirname}
    8064 +Specify the installation directory for object code libraries and
    8065 +internal data files of GCC@.  The default is @file{@var{exec-prefix}/lib}.
    8066 +
    8067 +@item --libexecdir=@var{dirname}
    8068 +Specify the installation directory for internal executables of GCC@.
    8069 +The default is @file{@var{exec-prefix}/libexec}.
    8070 +
    8071 +@item --with-slibdir=@var{dirname}
    8072 +Specify the installation directory for the shared libgcc library.  The
    8073 +default is @file{@var{libdir}}.
    8074 +
    8075 +@item --infodir=@var{dirname}
    8076 +Specify the installation directory for documentation in info format.
    8077 +The default is @file{@var{prefix}/info}.
    8078 +
    8079 +@item --datadir=@var{dirname}
    8080 +Specify the installation directory for some architecture-independent
    8081 +data files referenced by GCC@.  The default is @file{@var{prefix}/share}.
    8082 +
    8083 +@item --mandir=@var{dirname}
    8084 +Specify the installation directory for manual pages.  The default is
    8085 +@file{@var{prefix}/man}.  (Note that the manual pages are only extracts from
    8086 +the full GCC manuals, which are provided in Texinfo format.  The manpages
    8087 +are derived by an automatic conversion process from parts of the full
    8088 +manual.)
    8089 +
    8090 +@item --with-gxx-include-dir=@var{dirname}
    8091 +Specify
    8092 +the installation directory for G++ header files.  The default is
    8093 +@file{@var{prefix}/include/c++/@var{version}}.
    8094 +
    8095 +@end table
    8096 +
    8097 +@item --program-prefix=@var{prefix}
    8098 +GCC supports some transformations of the names of its programs when
    8099 +installing them.  This option prepends @var{prefix} to the names of
    8100 +programs to install in @var{bindir} (see above).  For example, specifying
    8101 +@option{--program-prefix=foo-} would result in @samp{gcc}
    8102 +being installed as @file{/usr/local/bin/foo-gcc}.
    8103 +
    8104 +@item --program-suffix=@var{suffix}
    8105 +Appends @var{suffix} to the names of programs to install in @var{bindir}
    8106 +(see above).  For example, specifying @option{--program-suffix=-3.1}
    8107 +would result in @samp{gcc} being installed as
    8108 +@file{/usr/local/bin/gcc-3.1}.
    8109 +
    8110 +@item --program-transform-name=@var{pattern}
    8111 +Applies the @samp{sed} script @var{pattern} to be applied to the names
    8112 +of programs to install in @var{bindir} (see above).  @var{pattern} has to
    8113 +consist of one or more basic @samp{sed} editing commands, separated by
    8114 +semicolons.  For example, if you want the @samp{gcc} program name to be
    8115 +transformed to the installed program @file{/usr/local/bin/myowngcc} and
    8116 +the @samp{g++} program name to be transformed to
    8117 +@file{/usr/local/bin/gspecial++} without changing other program names,
    8118 +you could use the pattern
    8119 +@option{--program-transform-name='s/^gcc$/myowngcc/; s/^g++$/gspecial++/'}
    8120 +to achieve this effect.
    8121 +
    8122 +All three options can be combined and used together, resulting in more
    8123 +complex conversion patterns.  As a basic rule, @var{prefix} (and
    8124 +@var{suffix}) are prepended (appended) before further transformations
    8125 +can happen with a special transformation script @var{pattern}.
    8126 +
    8127 +As currently implemented, this option only takes effect for native
    8128 +builds; cross compiler binaries' names are not transformed even when a
    8129 +transformation is explicitly asked for by one of these options.
    8130 +
    8131 +For native builds, some of the installed programs are also installed
    8132 +with the target alias in front of their name, as in
    8133 +@samp{i686-pc-linux-gnu-gcc}.  All of the above transformations happen
    8134 +before the target alias is prepended to the name---so, specifying
    8135 +@option{--program-prefix=foo-} and @option{program-suffix=-3.1}, the
    8136 +resulting binary would be installed as
    8137 +@file{/usr/local/bin/i686-pc-linux-gnu-foo-gcc-3.1}.
    8138 +
    8139 +As a last shortcoming, none of the installed Ada programs are
    8140 +transformed yet, which will be fixed in some time.
    8141 +
    8142 +@item --with-local-prefix=@var{dirname}
    8143 +Specify the
    8144 +installation directory for local include files.  The default is
    8145 +@file{/usr/local}.  Specify this option if you want the compiler to
    8146 +search directory @file{@var{dirname}/include} for locally installed
    8147 +header files @emph{instead} of @file{/usr/local/include}.
    8148 +
    8149 +You should specify @option{--with-local-prefix} @strong{only} if your
    8150 +site has a different convention (not @file{/usr/local}) for where to put
    8151 +site-specific files.
    8152 +
    8153 +The default value for @option{--with-local-prefix} is @file{/usr/local}
    8154 +regardless of the value of @option{--prefix}.  Specifying
    8155 +@option{--prefix} has no effect on which directory GCC searches for
    8156 +local header files.  This may seem counterintuitive, but actually it is
    8157 +logical.
    8158 +
    8159 +The purpose of @option{--prefix} is to specify where to @emph{install
    8160 +GCC}.  The local header files in @file{/usr/local/include}---if you put
    8161 +any in that directory---are not part of GCC@.  They are part of other
    8162 +programs---perhaps many others.  (GCC installs its own header files in
    8163 +another directory which is based on the @option{--prefix} value.)
    8164 +
    8165 +Both the local-prefix include directory and the GCC-prefix include
    8166 +directory are part of GCC's ``system include'' directories.  Although these
    8167 +two directories are not fixed, they need to be searched in the proper
    8168 +order for the correct processing of the include_next directive.  The
    8169 +local-prefix include directory is searched before the GCC-prefix
    8170 +include directory.  Another characteristic of system include directories
    8171 +is that pedantic warnings are turned off for headers in these directories.
    8172 +
    8173 +Some autoconf macros add @option{-I @var{directory}} options to the
    8174 +compiler command line, to ensure that directories containing installed
    8175 +packages' headers are searched.  When @var{directory} is one of GCC's
    8176 +system include directories, GCC will ignore the option so that system
    8177 +directories continue to be processed in the correct order.  This
    8178 +may result in a search order different from what was specified but the
    8179 +directory will still be searched.
    8180 +
    8181 +GCC automatically searches for ordinary libraries using
    8182 +@env{GCC_EXEC_PREFIX}.  Thus, when the same installation prefix is
    8183 +used for both GCC and packages, GCC will automatically search for
    8184 +both headers and libraries.  This provides a configuration that is
    8185 +easy to use.  GCC behaves in a manner similar to that when it is
    8186 +installed as a system compiler in @file{/usr}.
    8187 +
    8188 +Sites that need to install multiple versions of GCC may not want to
    8189 +use the above simple configuration.  It is possible to use the
    8190 +@option{--program-prefix}, @option{--program-suffix} and
    8191 +@option{--program-transform-name} options to install multiple versions
    8192 +into a single directory, but it may be simpler to use different prefixes
    8193 +and the @option{--with-local-prefix} option to specify the location of the
    8194 +site-specific files for each version.  It will then be necessary for
    8195 +users to specify explicitly the location of local site libraries
    8196 +(e.g., with @env{LIBRARY_PATH}).
    8197 +
    8198 +The same value can be used for both @option{--with-local-prefix} and
    8199 +@option{--prefix} provided it is not @file{/usr}.  This can be used
    8200 +to avoid the default search of @file{/usr/local/include}.
    8201 +
    8202 +@strong{Do not} specify @file{/usr} as the @option{--with-local-prefix}!
    8203 +The directory you use for @option{--with-local-prefix} @strong{must not}
    8204 +contain any of the system's standard header files.  If it did contain
    8205 +them, certain programs would be miscompiled (including GNU Emacs, on
    8206 +certain targets), because this would override and nullify the header
    8207 +file corrections made by the @command{fixincludes} script.
    8208 +
    8209 +Indications are that people who use this option use it based on mistaken
    8210 +ideas of what it is for.  People use it as if it specified where to
    8211 +install part of GCC@.  Perhaps they make this assumption because
    8212 +installing GCC creates the directory.
    8213 +
    8214 +@item --enable-shared[=@var{package}[,@dots{}]]
    8215 +Build shared versions of libraries, if shared libraries are supported on
    8216 +the target platform.  Unlike GCC 2.95.x and earlier, shared libraries
    8217 +are enabled by default on all platforms that support shared libraries.
    8218 +
    8219 +If a list of packages is given as an argument, build shared libraries
    8220 +only for the listed packages.  For other packages, only static libraries
    8221 +will be built.  Package names currently recognized in the GCC tree are
    8222 +@samp{libgcc} (also known as @samp{gcc}), @samp{libstdc++} (not
    8223 +@samp{libstdc++-v3}), @samp{libffi}, @samp{zlib}, @samp{boehm-gc},
    8224 +@samp{ada}, @samp{libada}, @samp{libjava} and @samp{libobjc}.
    8225 +Note @samp{libiberty} does not support shared libraries at all.
    8226 +
    8227 +Use @option{--disable-shared} to build only static libraries.  Note that
    8228 +@option{--disable-shared} does not accept a list of package names as
    8229 +argument, only @option{--enable-shared} does.
    8230 +
    8231 +@item @anchor{with-gnu-as}--with-gnu-as
    8232 +Specify that the compiler should assume that the
    8233 +assembler it finds is the GNU assembler.  However, this does not modify
    8234 +the rules to find an assembler and will result in confusion if the
    8235 +assembler found is not actually the GNU assembler.  (Confusion may also
    8236 +result if the compiler finds the GNU assembler but has not been
    8237 +configured with @option{--with-gnu-as}.)  If you have more than one
    8238 +assembler installed on your system, you may want to use this option in
    8239 +connection with @option{--with-as=@var{pathname}} or
    8240 +@option{--with-build-time-tools=@var{pathname}}.
    8241 +
    8242 +The following systems are the only ones where it makes a difference
    8243 +whether you use the GNU assembler.  On any other system,
    8244 +@option{--with-gnu-as} has no effect.
    8245 +
    8246 +@itemize @bullet
    8247 +@item @samp{hppa1.0-@var{any}-@var{any}}
    8248 +@item @samp{hppa1.1-@var{any}-@var{any}}
    8249 +@item @samp{sparc-sun-solaris2.@var{any}}
    8250 +@item @samp{sparc64-@var{any}-solaris2.@var{any}}
    8251 +@end itemize
    8252 +
    8253 +@item @anchor{with-as}--with-as=@var{pathname}
    8254 +Specify that the compiler should use the assembler pointed to by
    8255 +@var{pathname}, rather than the one found by the standard rules to find
    8256 +an assembler, which are:
    8257 +@itemize @bullet
    8258 +@item
    8259 +Unless GCC is being built with a cross compiler, check the
    8260 +@file{@var{libexec}/gcc/@var{target}/@var{version}} directory.
    8261 +@var{libexec} defaults to @file{@var{exec-prefix}/libexec};
    8262 +@var{exec-prefix} defaults to @var{prefix}, which
    8263 +defaults to @file{/usr/local} unless overridden by the
    8264 +@option{--prefix=@var{pathname}} switch described above.  @var{target}
    8265 +is the target system triple, such as @samp{sparc-sun-solaris2.7}, and
    8266 +@var{version} denotes the GCC version, such as 3.0.
    8267 +
    8268 +@item
    8269 +If the target system is the same that you are building on, check
    8270 +operating system specific directories (e.g.@: @file{/usr/ccs/bin} on
    8271 +Sun Solaris 2).
    8272 +
    8273 +@item
    8274 +Check in the @env{PATH} for a tool whose name is prefixed by the
    8275 +target system triple.
    8276 +
    8277 +@item
    8278 +Check in the @env{PATH} for a tool whose name is not prefixed by the
    8279 +target system triple, if the host and target system triple are
    8280 +the same (in other words, we use a host tool if it can be used for
    8281 +the target as well).
    8282 +@end itemize
    8283 +
    8284 +You may want to use @option{--with-as} if no assembler
    8285 +is installed in the directories listed above, or if you have multiple
    8286 +assemblers installed and want to choose one that is not found by the
    8287 +above rules.
    8288 +
    8289 +@item @anchor{with-gnu-ld}--with-gnu-ld
    8290 +Same as @uref{#with-gnu-as,,@option{--with-gnu-as}}
    8291 +but for the linker.
    8292 +
    8293 +@item --with-ld=@var{pathname}
    8294 +Same as @uref{#with-as,,@option{--with-as}}
    8295 +but for the linker.
    8296 +
    8297 +@item --with-stabs
    8298 +Specify that stabs debugging
    8299 +information should be used instead of whatever format the host normally
    8300 +uses.  Normally GCC uses the same debug format as the host system.
    8301 +
    8302 +On MIPS based systems and on Alphas, you must specify whether you want
    8303 +GCC to create the normal ECOFF debugging format, or to use BSD-style
    8304 +stabs passed through the ECOFF symbol table.  The normal ECOFF debug
    8305 +format cannot fully handle languages other than C@.  BSD stabs format can
    8306 +handle other languages, but it only works with the GNU debugger GDB@.
    8307 +
    8308 +Normally, GCC uses the ECOFF debugging format by default; if you
    8309 +prefer BSD stabs, specify @option{--with-stabs} when you configure GCC@.
    8310 +
    8311 +No matter which default you choose when you configure GCC, the user
    8312 +can use the @option{-gcoff} and @option{-gstabs+} options to specify explicitly
    8313 +the debug format for a particular compilation.
    8314 +
    8315 +@option{--with-stabs} is meaningful on the ISC system on the 386, also, if
    8316 +@option{--with-gas} is used.  It selects use of stabs debugging
    8317 +information embedded in COFF output.  This kind of debugging information
    8318 +supports C++ well; ordinary COFF debugging information does not.
    8319 +
    8320 +@option{--with-stabs} is also meaningful on 386 systems running SVR4.  It
    8321 +selects use of stabs debugging information embedded in ELF output.  The
    8322 +C++ compiler currently (2.6.0) does not support the DWARF debugging
    8323 +information normally used on 386 SVR4 platforms; stabs provide a
    8324 +workable alternative.  This requires gas and gdb, as the normal SVR4
    8325 +tools can not generate or interpret stabs.
    8326 +
    8327 +@item --disable-multilib
    8328 +Specify that multiple target
    8329 +libraries to support different target variants, calling
    8330 +conventions, etc.@: should not be built.  The default is to build a
    8331 +predefined set of them.
    8332 +
    8333 +Some targets provide finer-grained control over which multilibs are built
    8334 +(e.g., @option{--disable-softfloat}):
    8335 +@table @code
    8336 +@item arc-*-elf*
    8337 +biendian.
    8338 +
    8339 +@item arm-*-*
    8340 +fpu, 26bit, underscore, interwork, biendian, nofmult.
    8341 +
    8342 +@item m68*-*-*
    8343 +softfloat, m68881, m68000, m68020.
    8344 +
    8345 +@item mips*-*-*
    8346 +single-float, biendian, softfloat.
    8347 +
    8348 +@item powerpc*-*-*, rs6000*-*-*
    8349 +aix64, pthread, softfloat, powercpu, powerpccpu, powerpcos, biendian,
    8350 +sysv, aix.
    8351 +
    8352 +@end table
    8353 +
    8354 +@item --enable-threads
    8355 +Specify that the target
    8356 +supports threads.  This affects the Objective-C compiler and runtime
    8357 +library, and exception handling for other languages like C++ and Java.
    8358 +On some systems, this is the default.
    8359 +
    8360 +In general, the best (and, in many cases, the only known) threading
    8361 +model available will be configured for use.  Beware that on some
    8362 +systems, GCC has not been taught what threading models are generally
    8363 +available for the system.  In this case, @option{--enable-threads} is an
    8364 +alias for @option{--enable-threads=single}.
    8365 +
    8366 +@item --disable-threads
    8367 +Specify that threading support should be disabled for the system.
    8368 +This is an alias for @option{--enable-threads=single}.
    8369 +
    8370 +@item --enable-threads=@var{lib}
    8371 +Specify that
    8372 +@var{lib} is the thread support library.  This affects the Objective-C
    8373 +compiler and runtime library, and exception handling for other languages
    8374 +like C++ and Java.  The possibilities for @var{lib} are:
    8375 +
    8376 +@table @code
    8377 +@item aix
    8378 +AIX thread support.
    8379 +@item dce
    8380 +DCE thread support.
    8381 +@item gnat
    8382 +Ada tasking support.  For non-Ada programs, this setting is equivalent
    8383 +to @samp{single}.  When used in conjunction with the Ada run time, it
    8384 +causes GCC to use the same thread primitives as Ada uses.  This option
    8385 +is necessary when using both Ada and the back end exception handling,
    8386 +which is the default for most Ada targets.
    8387 +@item mach
    8388 +Generic MACH thread support, known to work on NeXTSTEP@.  (Please note
    8389 +that the file needed to support this configuration, @file{gthr-mach.h}, is
    8390 +missing and thus this setting will cause a known bootstrap failure.)
    8391 +@item no
    8392 +This is an alias for @samp{single}.
    8393 +@item posix
    8394 +Generic POSIX/Unix98 thread support.
    8395 +@item posix95
    8396 +Generic POSIX/Unix95 thread support.
    8397 +@item rtems
    8398 +RTEMS thread support.
    8399 +@item single
    8400 +Disable thread support, should work for all platforms.
    8401 +@item solaris
    8402 +Sun Solaris 2 thread support.
    8403 +@item vxworks
    8404 +VxWorks thread support.
    8405 +@item win32
    8406 +Microsoft Win32 API thread support.
    8407 +@item nks
    8408 +Novell Kernel Services thread support.
    8409 +@end table
    8410 +
    8411 +@item --enable-tls
    8412 +Specify that the target supports TLS (Thread Local Storage).  Usually
    8413 +configure can correctly determine if TLS is supported.  In cases where
    8414 +it guesses incorrectly, TLS can be explicitly enabled or disabled with
    8415 +@option{--enable-tls} or @option{--disable-tls}.  This can happen if
    8416 +the assembler supports TLS but the C library does not, or if the
    8417 +assumptions made by the configure test are incorrect.
    8418 +
    8419 +@item --disable-tls
    8420 +Specify that the target does not support TLS.
    8421 +This is an alias for @option{--enable-tls=no}.
    8422 +
    8423 +@item --with-cpu=@var{cpu}
    8424 +@itemx --with-cpu-32=@var{cpu}
    8425 +@itemx --with-cpu-64=@var{cpu}
    8426 +Specify which cpu variant the compiler should generate code for by default.
    8427 +@var{cpu} will be used as the default value of the @option{-mcpu=} switch.
    8428 +This option is only supported on some targets, including ARM, i386, M68k,
    8429 +PowerPC, and SPARC@.  The @option{--with-cpu-32} and
    8430 +@option{--with-cpu-64} options specify separate default CPUs for
    8431 +32-bit and 64-bit modes; these options are only supported for i386 and
    8432 +x86-64.
    8433 +
    8434 +@item --with-schedule=@var{cpu}
    8435 +@itemx --with-arch=@var{cpu}
    8436 +@itemx --with-arch-32=@var{cpu}
    8437 +@itemx --with-arch-64=@var{cpu}
    8438 +@itemx --with-tune=@var{cpu}
    8439 +@itemx --with-tune-32=@var{cpu}
    8440 +@itemx --with-tune-64=@var{cpu}
    8441 +@itemx --with-abi=@var{abi}
    8442 +@itemx --with-fpu=@var{type}
    8443 +@itemx --with-float=@var{type}
    8444 +These configure options provide default values for the @option{-mschedule=},
    8445 +@option{-march=}, @option{-mtune=}, @option{-mabi=}, and @option{-mfpu=}
    8446 +options and for @option{-mhard-float} or @option{-msoft-float}.  As with
    8447 +@option{--with-cpu}, which switches will be accepted and acceptable values
    8448 +of the arguments depend on the target.
    8449 +
    8450 +@item --with-mode=@var{mode}
    8451 +Specify if the compiler should default to @option{-marm} or @option{-mthumb}.
    8452 +This option is only supported on ARM targets.
    8453 +
    8454 +@item --with-divide=@var{type}
    8455 +Specify how the compiler should generate code for checking for
    8456 +division by zero.  This option is only supported on the MIPS target.
    8457 +The possibilities for @var{type} are:
    8458 +@table @code
    8459 +@item traps
    8460 +Division by zero checks use conditional traps (this is the default on
    8461 +systems that support conditional traps).
    8462 +@item breaks
    8463 +Division by zero checks use the break instruction.
    8464 +@end table
    8465 +
    8466 +@c If you make --with-llsc the default for additional targets,
    8467 +@c update the --with-llsc description in the MIPS section below.
    8468 +
    8469 +@item --with-llsc
    8470 +On MIPS targets, make @option{-mllsc} the default when no
    8471 +@option{-mno-lsc} option is passed.  This is the default for
    8472 +Linux-based targets, as the kernel will emulate them if the ISA does
    8473 +not provide them.
    8474 +
    8475 +@item --without-llsc
    8476 +On MIPS targets, make @option{-mno-llsc} the default when no
    8477 +@option{-mllsc} option is passed.
    8478 +
    8479 +@item --with-mips-plt
    8480 +On MIPS targets, make use of copy relocations and PLTs.
    8481 +These features are extensions to the traditional
    8482 +SVR4-based MIPS ABIs and require support from GNU binutils
    8483 +and the runtime C library.
    8484 +
    8485 +@item --enable-__cxa_atexit
    8486 +Define if you want to use __cxa_atexit, rather than atexit, to
    8487 +register C++ destructors for local statics and global objects.
    8488 +This is essential for fully standards-compliant handling of
    8489 +destructors, but requires __cxa_atexit in libc.  This option is currently
    8490 +only available on systems with GNU libc.  When enabled, this will cause
    8491 +@option{-fuse-cxa-atexit} to be passed by default.
    8492 +
    8493 +@item --enable-target-optspace
    8494 +Specify that target
    8495 +libraries should be optimized for code space instead of code speed.
    8496 +This is the default for the m32r platform.
    8497 +
    8498 +@item --disable-cpp
    8499 +Specify that a user visible @command{cpp} program should not be installed.
    8500 +
    8501 +@item --with-cpp-install-dir=@var{dirname}
    8502 +Specify that the user visible @command{cpp} program should be installed
    8503 +in @file{@var{prefix}/@var{dirname}/cpp}, in addition to @var{bindir}.
    8504 +
    8505 +@item --enable-initfini-array
    8506 +Force the use of sections @code{.init_array} and @code{.fini_array}
    8507 +(instead of @code{.init} and @code{.fini}) for constructors and
    8508 +destructors.  Option @option{--disable-initfini-array} has the
    8509 +opposite effect.  If neither option is specified, the configure script
    8510 +will try to guess whether the @code{.init_array} and
    8511 +@code{.fini_array} sections are supported and, if they are, use them.
    8512 +
    8513 +@item --enable-maintainer-mode
    8514 +The build rules that
    8515 +regenerate the GCC master message catalog @file{gcc.pot} are normally
    8516 +disabled.  This is because it can only be rebuilt if the complete source
    8517 +tree is present.  If you have changed the sources and want to rebuild the
    8518 +catalog, configuring with @option{--enable-maintainer-mode} will enable
    8519 +this.  Note that you need a recent version of the @code{gettext} tools
    8520 +to do so.
    8521 +
    8522 +@item --disable-bootstrap
    8523 +For a native build, the default configuration is to perform
    8524 +a 3-stage bootstrap of the compiler when @samp{make} is invoked,
    8525 +testing that GCC can compile itself correctly.  If you want to disable
    8526 +this process, you can configure with @option{--disable-bootstrap}.
    8527 +
    8528 +@item --enable-bootstrap
    8529 +In special cases, you may want to perform a 3-stage build
    8530 +even if the target and host triplets are different.
    8531 +This could happen when the host can run code compiled for
    8532 +the target (e.g.@: host is i686-linux, target is i486-linux).
    8533 +Starting from GCC 4.2, to do this you have to configure explicitly
    8534 +with @option{--enable-bootstrap}.
    8535 +
    8536 +@item --enable-generated-files-in-srcdir
    8537 +Neither the .c and .h files that are generated from Bison and flex nor the
    8538 +info manuals and man pages that are built from the .texi files are present
    8539 +in the SVN development tree.  When building GCC from that development tree,
    8540 +or from one of our snapshots, those generated files are placed in your
    8541 +build directory, which allows for the source to be in a readonly
    8542 +directory.
    8543 +
    8544 +If you configure with @option{--enable-generated-files-in-srcdir} then those
    8545 +generated files will go into the source directory.  This is mainly intended
    8546 +for generating release or prerelease tarballs of the GCC sources, since it
    8547 +is not a requirement that the users of source releases to have flex, Bison,
    8548 +or makeinfo.
    8549 +
    8550 +@item --enable-version-specific-runtime-libs
    8551 +Specify
    8552 +that runtime libraries should be installed in the compiler specific
    8553 +subdirectory (@file{@var{libdir}/gcc}) rather than the usual places.  In
    8554 +addition, @samp{libstdc++}'s include files will be installed into
    8555 +@file{@var{libdir}} unless you overruled it by using
    8556 +@option{--with-gxx-include-dir=@var{dirname}}.  Using this option is
    8557 +particularly useful if you intend to use several versions of GCC in
    8558 +parallel.  This is currently supported by @samp{libgfortran},
    8559 +@samp{libjava}, @samp{libmudflap}, @samp{libstdc++}, and @samp{libobjc}.
    8560 +
    8561 +@item --enable-languages=@var{lang1},@var{lang2},@dots{}
    8562 +Specify that only a particular subset of compilers and
    8563 +their runtime libraries should be built.  For a list of valid values for
    8564 +@var{langN} you can issue the following command in the
    8565 +@file{gcc} directory of your GCC source tree:@*
    8566 +@smallexample
    8567 +grep language= */config-lang.in
    8568 +@end smallexample
    8569 +Currently, you can use any of the following:
    8570 +@code{all}, @code{ada}, @code{c}, @code{c++}, @code{fortran}, @code{java},
    8571 +@code{objc}, @code{obj-c++}.
    8572 +Building the Ada compiler has special requirements, see below.
    8573 +If you do not pass this flag, or specify the option @code{all}, then all
    8574 +default languages available in the @file{gcc} sub-tree will be configured.
    8575 +Ada and Objective-C++ are not default languages; the rest are.
    8576 +Re-defining @code{LANGUAGES} when calling @samp{make} @strong{does not}
    8577 +work anymore, as those language sub-directories might not have been
    8578 +configured!
    8579 +
    8580 +@item --enable-stage1-languages=@var{lang1},@var{lang2},@dots{}
    8581 +Specify that a particular subset of compilers and their runtime
    8582 +libraries should be built with the system C compiler during stage 1 of
    8583 +the bootstrap process, rather than only in later stages with the
    8584 +bootstrapped C compiler.  The list of valid values is the same as for
    8585 +@option{--enable-languages}, and the option @code{all} will select all
    8586 +of the languages enabled by @option{--enable-languages}.  This option is
    8587 +primarily useful for GCC development; for instance, when a development
    8588 +version of the compiler cannot bootstrap due to compiler bugs, or when
    8589 +one is debugging front ends other than the C front end.  When this
    8590 +option is used, one can then build the target libraries for the
    8591 +specified languages with the stage-1 compiler by using @command{make
    8592 +stage1-bubble all-target}, or run the testsuite on the stage-1 compiler
    8593 +for the specified languages using @command{make stage1-start check-gcc}.
    8594 +
    8595 +@item --disable-libada
    8596 +Specify that the run-time libraries and tools used by GNAT should not
    8597 +be built.  This can be useful for debugging, or for compatibility with
    8598 +previous Ada build procedures, when it was required to explicitly
    8599 +do a @samp{make -C gcc gnatlib_and_tools}.
    8600 +
    8601 +@item --disable-libssp
    8602 +Specify that the run-time libraries for stack smashing protection
    8603 +should not be built.
    8604 +
    8605 +@item --disable-libgomp
    8606 +Specify that the run-time libraries used by GOMP should not be built.
    8607 +
    8608 +@item --with-dwarf2
    8609 +Specify that the compiler should
    8610 +use DWARF 2 debugging information as the default.
    8611 +
    8612 +@item --enable-targets=all
    8613 +@itemx --enable-targets=@var{target_list}
    8614 +Some GCC targets, e.g.@: powerpc64-linux, build bi-arch compilers.
    8615 +These are compilers that are able to generate either 64-bit or 32-bit
    8616 +code.  Typically, the corresponding 32-bit target, e.g.@:
    8617 +powerpc-linux for powerpc64-linux, only generates 32-bit code.  This
    8618 +option enables the 32-bit target to be a bi-arch compiler, which is
    8619 +useful when you want a bi-arch compiler that defaults to 32-bit, and
    8620 +you are building a bi-arch or multi-arch binutils in a combined tree.
    8621 +Currently, this option only affects sparc-linux, powerpc-linux and
    8622 +x86-linux.
    8623 +
    8624 +@item --enable-secureplt
    8625 +This option enables @option{-msecure-plt} by default for powerpc-linux.
    8626 +@ifnothtml
    8627 +@xref{RS/6000 and PowerPC Options,, RS/6000 and PowerPC Options, gcc,
    8628 +Using the GNU Compiler Collection (GCC)},
    8629 +@end ifnothtml
    8630 +@ifhtml
    8631 +See ``RS/6000 and PowerPC Options'' in the main manual
    8632 +@end ifhtml
    8633 +
    8634 +@item --enable-cld
    8635 +This option enables @option{-mcld} by default for 32-bit x86 targets.
    8636 +@ifnothtml
    8637 +@xref{i386 and x86-64 Options,, i386 and x86-64 Options, gcc,
    8638 +Using the GNU Compiler Collection (GCC)},
    8639 +@end ifnothtml
    8640 +@ifhtml
    8641 +See ``i386 and x86-64 Options'' in the main manual
    8642 +@end ifhtml
    8643 +
    8644 +@item --enable-win32-registry
    8645 +@itemx --enable-win32-registry=@var{key}
    8646 +@itemx --disable-win32-registry
    8647 +The @option{--enable-win32-registry} option enables Microsoft Windows-hosted GCC
    8648 +to look up installations paths in the registry using the following key:
    8649 +
    8650 +@smallexample
    8651 +@code{HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\@var{key}}
    8652 +@end smallexample
    8653 +
    8654 +@var{key} defaults to GCC version number, and can be overridden by the
    8655 +@option{--enable-win32-registry=@var{key}} option.  Vendors and distributors
    8656 +who use custom installers are encouraged to provide a different key,
    8657 +perhaps one comprised of vendor name and GCC version number, to
    8658 +avoid conflict with existing installations.  This feature is enabled
    8659 +by default, and can be disabled by @option{--disable-win32-registry}
    8660 +option.  This option has no effect on the other hosts.
    8661 +
    8662 +@item --nfp
    8663 +Specify that the machine does not have a floating point unit.  This
    8664 +option only applies to @samp{m68k-sun-sunos@var{n}}.  On any other
    8665 +system, @option{--nfp} has no effect.
    8666 +
    8667 +@item --enable-werror
    8668 +@itemx --disable-werror
    8669 +@itemx --enable-werror=yes
    8670 +@itemx --enable-werror=no
    8671 +When you specify this option, it controls whether certain files in the
    8672 +compiler are built with @option{-Werror} in bootstrap stage2 and later.
    8673 +If you don't specify it, @option{-Werror} is turned on for the main
    8674 +development trunk.  However it defaults to off for release branches and
    8675 +final releases.  The specific files which get @option{-Werror} are
    8676 +controlled by the Makefiles.
    8677 +
    8678 +@item --enable-checking
    8679 +@itemx --enable-checking=@var{list}
    8680 +When you specify this option, the compiler is built to perform internal
    8681 +consistency checks of the requested complexity.  This does not change the
    8682 +generated code, but adds error checking within the compiler.  This will
    8683 +slow down the compiler and may only work properly if you are building
    8684 +the compiler with GCC@.  This is @samp{yes} by default when building
    8685 +from SVN or snapshots, but @samp{release} for releases.  The default
    8686 +for building the stage1 compiler is @samp{yes}.  More control
    8687 +over the checks may be had by specifying @var{list}.  The categories of
    8688 +checks available are @samp{yes} (most common checks
    8689 +@samp{assert,misc,tree,gc,rtlflag,runtime}), @samp{no} (no checks at
    8690 +all), @samp{all} (all but @samp{valgrind}), @samp{release} (cheapest
    8691 +checks @samp{assert,runtime}) or @samp{none} (same as @samp{no}).
    8692 +Individual checks can be enabled with these flags @samp{assert},
    8693 +@samp{df}, @samp{fold}, @samp{gc}, @samp{gcac} @samp{misc}, @samp{rtl},
    8694 +@samp{rtlflag}, @samp{runtime}, @samp{tree}, and @samp{valgrind}.
    8695 +
    8696 +The @samp{valgrind} check requires the external @command{valgrind}
    8697 +simulator, available from @uref{http://valgrind.org/}.  The
    8698 +@samp{df}, @samp{rtl}, @samp{gcac} and @samp{valgrind} checks are very expensive.
    8699 +To disable all checking, @samp{--disable-checking} or
    8700 +@samp{--enable-checking=none} must be explicitly requested.  Disabling
    8701 +assertions will make the compiler and runtime slightly faster but
    8702 +increase the risk of undetected internal errors causing wrong code to be
    8703 +generated.
    8704 +
    8705 +@item --disable-stage1-checking
    8706 +@item --enable-stage1-checking
    8707 +@itemx --enable-stage1-checking=@var{list}
    8708 +If no @option{--enable-checking} option is specified the stage1
    8709 +compiler will be built with @samp{yes} checking enabled, otherwise
    8710 +the stage1 checking flags are the same as specified by
    8711 +@option{--enable-checking}.  To build the stage1 compiler with
    8712 +different checking options use @option{--enable-stage1-checking}.
    8713 +The list of checking options is the same as for @option{--enable-checking}.
    8714 +If your system is too slow or too small to bootstrap a released compiler
    8715 +with checking for stage1 enabled, you can use @samp{--disable-stage1-checking}
    8716 +to disable checking for the stage1 compiler.
    8717 +
    8718 +@item --enable-coverage
    8719 +@itemx --enable-coverage=@var{level}
    8720 +With this option, the compiler is built to collect self coverage
    8721 +information, every time it is run.  This is for internal development
    8722 +purposes, and only works when the compiler is being built with gcc.  The
    8723 +@var{level} argument controls whether the compiler is built optimized or
    8724 +not, values are @samp{opt} and @samp{noopt}.  For coverage analysis you
    8725 +want to disable optimization, for performance analysis you want to
    8726 +enable optimization.  When coverage is enabled, the default level is
    8727 +without optimization.
    8728 +
    8729 +@item --enable-gather-detailed-mem-stats
    8730 +When this option is specified more detailed information on memory
    8731 +allocation is gathered.  This information is printed when using
    8732 +@option{-fmem-report}.
    8733 +
    8734 +@item --with-gc
    8735 +@itemx --with-gc=@var{choice}
    8736 +With this option you can specify the garbage collector implementation
    8737 +used during the compilation process.  @var{choice} can be one of
    8738 +@samp{page} and @samp{zone}, where @samp{page} is the default.
    8739 +
    8740 +@item --enable-nls
    8741 +@itemx --disable-nls
    8742 +The @option{--enable-nls} option enables Native Language Support (NLS),
    8743 +which lets GCC output diagnostics in languages other than American
    8744 +English.  Native Language Support is enabled by default if not doing a
    8745 +canadian cross build.  The @option{--disable-nls} option disables NLS@.
    8746 +
    8747 +@item --with-included-gettext
    8748 +If NLS is enabled, the @option{--with-included-gettext} option causes the build
    8749 +procedure to prefer its copy of GNU @command{gettext}.
    8750 +
    8751 +@item --with-catgets
    8752 +If NLS is enabled, and if the host lacks @code{gettext} but has the
    8753 +inferior @code{catgets} interface, the GCC build procedure normally
    8754 +ignores @code{catgets} and instead uses GCC's copy of the GNU
    8755 +@code{gettext} library.  The @option{--with-catgets} option causes the
    8756 +build procedure to use the host's @code{catgets} in this situation.
    8757 +
    8758 +@item --with-libiconv-prefix=@var{dir}
    8759 +Search for libiconv header files in @file{@var{dir}/include} and
    8760 +libiconv library files in @file{@var{dir}/lib}.
    8761 +
    8762 +@item --enable-obsolete
    8763 +Enable configuration for an obsoleted system.  If you attempt to
    8764 +configure GCC for a system (build, host, or target) which has been
    8765 +obsoleted, and you do not specify this flag, configure will halt with an
    8766 +error message.
    8767 +
    8768 +All support for systems which have been obsoleted in one release of GCC
    8769 +is removed entirely in the next major release, unless someone steps
    8770 +forward to maintain the port.
    8771 +
    8772 +@item --enable-decimal-float
    8773 +@itemx --enable-decimal-float=yes
    8774 +@itemx --enable-decimal-float=no
    8775 +@itemx --enable-decimal-float=bid
    8776 +@itemx --enable-decimal-float=dpd
    8777 +@itemx --disable-decimal-float
    8778 +Enable (or disable) support for the C decimal floating point extension
    8779 +that is in the IEEE 754-2008 standard.  This is enabled by default only
    8780 +on PowerPC, i386, and x86_64 GNU/Linux systems.  Other systems may also
    8781 +support it, but require the user to specifically enable it.  You can
    8782 +optionally control which decimal floating point format is used (either
    8783 +@samp{bid} or @samp{dpd}).  The @samp{bid} (binary integer decimal)
    8784 +format is default on i386 and x86_64 systems, and the @samp{dpd}
    8785 +(densely packed decimal) format is default on PowerPC systems.
    8786 +
    8787 +@item --enable-fixed-point
    8788 +@itemx --disable-fixed-point
    8789 +Enable (or disable) support for C fixed-point arithmetic.
    8790 +This option is enabled by default for some targets (such as MIPS) which
    8791 +have hardware-support for fixed-point operations.  On other targets, you
    8792 +may enable this option manually.
    8793 +
    8794 +@item --with-long-double-128
    8795 +Specify if @code{long double} type should be 128-bit by default on selected
    8796 +GNU/Linux architectures.  If using @code{--without-long-double-128},
    8797 +@code{long double} will be by default 64-bit, the same as @code{double} type.
    8798 +When neither of these configure options are used, the default will be
    8799 +128-bit @code{long double} when built against GNU C Library 2.4 and later,
    8800 +64-bit @code{long double} otherwise.
    8801 +
    8802 +@item --with-gmp=@var{pathname}
    8803 +@itemx --with-gmp-include=@var{pathname}
    8804 +@itemx --with-gmp-lib=@var{pathname}
    8805 +@itemx --with-mpfr=@var{pathname}
    8806 +@itemx --with-mpfr-include=@var{pathname}
    8807 +@itemx --with-mpfr-lib=@var{pathname}
    8808 +If you do not have GMP (the GNU Multiple Precision library) and the
    8809 +MPFR Libraries installed in a standard location and you want to build
    8810 +GCC, you can explicitly specify the directory where they are installed
    8811 +(@samp{--with-gmp=@var{gmpinstalldir}},
    8812 +@samp{--with-mpfr=@var{mpfrinstalldir}}).  The
    8813 +@option{--with-gmp=@var{gmpinstalldir}} option is shorthand for
    8814 +@option{--with-gmp-lib=@var{gmpinstalldir}/lib} and
    8815 +@option{--with-gmp-include=@var{gmpinstalldir}/include}.  Likewise the
    8816 +@option{--with-mpfr=@var{mpfrinstalldir}} option is shorthand for
    8817 +@option{--with-mpfr-lib=@var{mpfrinstalldir}/lib} and
    8818 +@option{--with-mpfr-include=@var{mpfrinstalldir}/include}.  If these
    8819 +shorthand assumptions are not correct, you can use the explicit
    8820 +include and lib options directly.
    8821 +
    8822 +@item --with-ppl=@var{pathname}
    8823 +@itemx --with-ppl-include=@var{pathname}
    8824 +@itemx --with-ppl-lib=@var{pathname}
    8825 +@itemx --with-cloog=@var{pathname}
    8826 +@itemx --with-cloog-include=@var{pathname}
    8827 +@itemx --with-cloog-lib=@var{pathname}
    8828 +If you do not have PPL (the Parma Polyhedra Library) and the CLooG
    8829 +libraries installed in a standard location and you want to build GCC,
    8830 +you can explicitly specify the directory where they are installed
    8831 +(@samp{--with-ppl=@var{pplinstalldir}},
    8832 +@samp{--with-cloog=@var{clooginstalldir}}). The
    8833 +@option{--with-ppl=@var{pplinstalldir}} option is shorthand for
    8834 +@option{--with-ppl-lib=@var{pplinstalldir}/lib} and
    8835 +@option{--with-ppl-include=@var{pplinstalldir}/include}.  Likewise the
    8836 +@option{--with-cloog=@var{clooginstalldir}} option is shorthand for
    8837 +@option{--with-cloog-lib=@var{clooginstalldir}/lib} and
    8838 +@option{--with-cloog-include=@var{clooginstalldir}/include}.  If these
    8839 +shorthand assumptions are not correct, you can use the explicit
    8840 +include and lib options directly.
    8841 +
    8842 +@item --with-host-libstdcxx=@var{linker-args}
    8843 +If you are linking with a static copy of PPL, you can use this option
    8844 +to specify how the linker should find the standard C++ library used
    8845 +internally by PPL.  Typical values of @var{linker-args} might be
    8846 +@samp{-lstdc++} or @samp{-Wl,-Bstatic,-lstdc++,-Bdynamic -lm}.  If you are
    8847 +linking with a shared copy of PPL, you probably do not need this
    8848 +option; shared library dependencies will cause the linker to search
    8849 +for the standard C++ library automatically.
    8850 +
    8851 +@item --with-debug-prefix-map=@var{map}
    8852 +Convert source directory names using @option{-fdebug-prefix-map} when
    8853 +building runtime libraries.  @samp{@var{map}} is a space-separated
    8854 +list of maps of the form @samp{@var{old}=@var{new}}.
    8855 +
    8856 +@end table
    8857 +
    8858 +@subheading Cross-Compiler-Specific Options
    8859 +The following options only apply to building cross compilers.
    8860 +@table @code
    8861 +@item --with-sysroot
    8862 +@itemx --with-sysroot=@var{dir}
    8863 +Tells GCC to consider @var{dir} as the root of a tree that contains a
    8864 +(subset of) the root filesystem of the target operating system.
    8865 +Target system headers, libraries and run-time object files will be
    8866 +searched in there.  The specified directory is not copied into the
    8867 +install tree, unlike the options @option{--with-headers} and
    8868 +@option{--with-libs} that this option obsoletes.  The default value,
    8869 +in case @option{--with-sysroot} is not given an argument, is
    8870 +@option{$@{gcc_tooldir@}/sys-root}.  If the specified directory is a
    8871 +subdirectory of @option{$@{exec_prefix@}}, then it will be found relative to
    8872 +the GCC binaries if the installation tree is moved.
    8873 +
    8874 +@item --with-build-sysroot
    8875 +@itemx --with-build-sysroot=@var{dir}
    8876 +Tells GCC to consider @var{dir} as the system root (see
    8877 +@option{--with-sysroot}) while building target libraries, instead of
    8878 +the directory specified with @option{--with-sysroot}.  This option is
    8879 +only useful when you are already using @option{--with-sysroot}.  You
    8880 +can use @option{--with-build-sysroot} when you are configuring with
    8881 +@option{--prefix} set to a directory that is different from the one in
    8882 +which you are installing GCC and your target libraries. 
    8883 +
    8884 +This option affects the system root for the compiler used to build
    8885 +target libraries (which runs on the build system); it does not affect
    8886 +the compiler which is used to build GCC itself.
    8887 +
    8888 +@item --with-headers
    8889 +@itemx --with-headers=@var{dir}
    8890 +Deprecated in favor of @option{--with-sysroot}.
    8891 +Specifies that target headers are available when building a cross compiler.
    8892 +The @var{dir} argument specifies a directory which has the target include
    8893 +files.  These include files will be copied into the @file{gcc} install
    8894 +directory.  @emph{This option with the @var{dir} argument is required} when
    8895 +building a cross compiler, if @file{@var{prefix}/@var{target}/sys-include}
    8896 +doesn't pre-exist.  If @file{@var{prefix}/@var{target}/sys-include} does
    8897 +pre-exist, the @var{dir} argument may be omitted.  @command{fixincludes}
    8898 +will be run on these files to make them compatible with GCC@.
    8899 +
    8900 +@item --without-headers
    8901 +Tells GCC not use any target headers from a libc when building a cross
    8902 +compiler.  When crossing to GNU/Linux, you need the headers so GCC
    8903 +can build the exception handling for libgcc.
    8904 +
    8905 +@item --with-libs
    8906 +@itemx --with-libs=``@var{dir1} @var{dir2} @dots{} @var{dirN}''
    8907 +Deprecated in favor of @option{--with-sysroot}.
    8908 +Specifies a list of directories which contain the target runtime
    8909 +libraries.  These libraries will be copied into the @file{gcc} install
    8910 +directory.  If the directory list is omitted, this option has no
    8911 +effect.
    8912 +
    8913 +@item --with-newlib
    8914 +Specifies that @samp{newlib} is
    8915 +being used as the target C library.  This causes @code{__eprintf} to be
    8916 +omitted from @file{libgcc.a} on the assumption that it will be provided by
    8917 +@samp{newlib}.
    8918 +
    8919 +@item --with-build-time-tools=@var{dir}
    8920 +Specifies where to find the set of target tools (assembler, linker, etc.)
    8921 +that will be used while building GCC itself.  This option can be useful
    8922 +if the directory layouts are different between the system you are building
    8923 +GCC on, and the system where you will deploy it.
    8924 +
    8925 +For example, on a @option{ia64-hp-hpux} system, you may have the GNU
    8926 +assembler and linker in @file{/usr/bin}, and the native tools in a
    8927 +different path, and build a toolchain that expects to find the
    8928 +native tools in @file{/usr/bin}.
    8929 +
    8930 +When you use this option, you should ensure that @var{dir} includes
    8931 +@command{ar}, @command{as}, @command{ld}, @command{nm},
    8932 +@command{ranlib} and @command{strip} if necessary, and possibly
    8933 +@command{objdump}.  Otherwise, GCC may use an inconsistent set of
    8934 +tools.
    8935 +@end table
    8936 +
    8937 +@subheading Java-Specific Options
    8938 +
    8939 +The following option applies to the build of the Java front end.
    8940 +
    8941 +@table @code
    8942 +@item --disable-libgcj
    8943 +Specify that the run-time libraries
    8944 +used by GCJ should not be built.  This is useful in case you intend
    8945 +to use GCJ with some other run-time, or you're going to install it
    8946 +separately, or it just happens not to build on your particular
    8947 +machine.  In general, if the Java front end is enabled, the GCJ
    8948 +libraries will be enabled too, unless they're known to not work on
    8949 +the target platform.  If GCJ is enabled but @samp{libgcj} isn't built, you
    8950 +may need to port it; in this case, before modifying the top-level
    8951 +@file{configure.in} so that @samp{libgcj} is enabled by default on this platform,
    8952 +you may use @option{--enable-libgcj} to override the default.
    8953 +
    8954 +@end table
    8955 +
    8956 +The following options apply to building @samp{libgcj}.
    8957 +
    8958 +@subsubheading General Options
    8959 +
    8960 +@table @code
    8961 +@item --enable-java-maintainer-mode
    8962 +By default the @samp{libjava} build will not attempt to compile the
    8963 +@file{.java} source files to @file{.class}.  Instead, it will use the
    8964 +@file{.class} files from the source tree.  If you use this option you
    8965 +must have executables named @command{ecj1} and @command{gjavah} in your path
    8966 +for use by the build.  You must use this option if you intend to
    8967 +modify any @file{.java} files in @file{libjava}.
    8968 +
    8969 +@item --with-java-home=@var{dirname}
    8970 +This @samp{libjava} option overrides the default value of the
    8971 +@samp{java.home} system property.  It is also used to set
    8972 +@samp{sun.boot.class.path} to @file{@var{dirname}/lib/rt.jar}.  By
    8973 +default @samp{java.home} is set to @file{@var{prefix}} and
    8974 +@samp{sun.boot.class.path} to
    8975 +@file{@var{datadir}/java/libgcj-@var{version}.jar}.
    8976 +
    8977 +@item --with-ecj-jar=@var{filename}
    8978 +This option can be used to specify the location of an external jar
    8979 +file containing the Eclipse Java compiler.  A specially modified
    8980 +version of this compiler is used by @command{gcj} to parse
    8981 +@file{.java} source files.  If this option is given, the
    8982 +@samp{libjava} build will create and install an @file{ecj1} executable
    8983 +which uses this jar file at runtime.
    8984 +
    8985 +If this option is not given, but an @file{ecj.jar} file is found in
    8986 +the topmost source tree at configure time, then the @samp{libgcj}
    8987 +build will create and install @file{ecj1}, and will also install the
    8988 +discovered @file{ecj.jar} into a suitable place in the install tree.
    8989 +
    8990 +If @file{ecj1} is not installed, then the user will have to supply one
    8991 +on his path in order for @command{gcj} to properly parse @file{.java}
    8992 +source files.  A suitable jar is available from
    8993 +@uref{ftp://sourceware.org/pub/java/}.
    8994 +
    8995 +@item --disable-getenv-properties
    8996 +Don't set system properties from @env{GCJ_PROPERTIES}.
    8997 +
    8998 +@item --enable-hash-synchronization
    8999 +Use a global hash table for monitor locks.  Ordinarily,
    9000 +@samp{libgcj}'s @samp{configure} script automatically makes
    9001 +the correct choice for this option for your platform.  Only use
    9002 +this if you know you need the library to be configured differently.
    9003 +
    9004 +@item --enable-interpreter
    9005 +Enable the Java interpreter.  The interpreter is automatically
    9006 +enabled by default on all platforms that support it.  This option
    9007 +is really only useful if you want to disable the interpreter
    9008 +(using @option{--disable-interpreter}).
    9009 +
    9010 +@item --disable-java-net
    9011 +Disable java.net.  This disables the native part of java.net only,
    9012 +using non-functional stubs for native method implementations.
    9013 +
    9014 +@item --disable-jvmpi
    9015 +Disable JVMPI support.
    9016 +
    9017 +@item --disable-libgcj-bc
    9018 +Disable BC ABI compilation of certain parts of libgcj.  By default,
    9019 +some portions of libgcj are compiled with @option{-findirect-dispatch}
    9020 +and @option{-fno-indirect-classes}, allowing them to be overridden at
    9021 +run-time.
    9022 +
    9023 +If @option{--disable-libgcj-bc} is specified, libgcj is built without
    9024 +these options.  This allows the compile-time linker to resolve
    9025 +dependencies when statically linking to libgcj.  However it makes it
    9026 +impossible to override the affected portions of libgcj at run-time.
    9027 +
    9028 +@item --enable-reduced-reflection
    9029 +Build most of libgcj with @option{-freduced-reflection}.  This reduces
    9030 +the size of libgcj at the expense of not being able to do accurate
    9031 +reflection on the classes it contains.  This option is safe if you
    9032 +know that code using libgcj will never use reflection on the standard
    9033 +runtime classes in libgcj (including using serialization, RMI or CORBA).
    9034 +
    9035 +@item --with-ecos
    9036 +Enable runtime eCos target support.
    9037 +
    9038 +@item --without-libffi
    9039 +Don't use @samp{libffi}.  This will disable the interpreter and JNI
    9040 +support as well, as these require @samp{libffi} to work.
    9041 +
    9042 +@item --enable-libgcj-debug
    9043 +Enable runtime debugging code.
    9044 +
    9045 +@item --enable-libgcj-multifile
    9046 +If specified, causes all @file{.java} source files to be
    9047 +compiled into @file{.class} files in one invocation of
    9048 +@samp{gcj}.  This can speed up build time, but is more
    9049 +resource-intensive.  If this option is unspecified or
    9050 +disabled, @samp{gcj} is invoked once for each @file{.java}
    9051 +file to compile into a @file{.class} file.
    9052 +
    9053 +@item --with-libiconv-prefix=DIR
    9054 +Search for libiconv in @file{DIR/include} and @file{DIR/lib}.
    9055 +
    9056 +@item --enable-sjlj-exceptions
    9057 +Force use of the @code{setjmp}/@code{longjmp}-based scheme for exceptions.
    9058 +@samp{configure} ordinarily picks the correct value based on the platform.
    9059 +Only use this option if you are sure you need a different setting.
    9060 +
    9061 +@item --with-system-zlib
    9062 +Use installed @samp{zlib} rather than that included with GCC@.
    9063 +
    9064 +@item --with-win32-nlsapi=ansi, unicows or unicode
    9065 +Indicates how MinGW @samp{libgcj} translates between UNICODE
    9066 +characters and the Win32 API@.
    9067 +
    9068 +@item --enable-java-home
    9069 +If enabled, this creates a JPackage compatible SDK environment during install.
    9070 +Note that if --enable-java-home is used, --with-arch-directory=ARCH must also
    9071 +be specified.
    9072 +
    9073 +@item --with-arch-directory=ARCH
    9074 +Specifies the name to use for the @file{jre/lib/ARCH} directory in the SDK
    9075 +environment created when --enable-java-home is passed. Typical names for this
    9076 +directory include i386, amd64, ia64, etc.
    9077 +
    9078 +@item --with-os-directory=DIR
    9079 +Specifies the OS directory for the SDK include directory. This is set to auto
    9080 +detect, and is typically 'linux'.
    9081 +
    9082 +@item --with-origin-name=NAME
    9083 +Specifies the JPackage origin name. This defaults to the 'gcj' in
    9084 +java-1.5.0-gcj.
    9085 +
    9086 +@item --with-arch-suffix=SUFFIX
    9087 +Specifies the suffix for the sdk directory. Defaults to the empty string.
    9088 +Examples include '.x86_64' in 'java-1.5.0-gcj-1.5.0.0.x86_64'.
    9089 +
    9090 +@item --with-jvm-root-dir=DIR
    9091 +Specifies where to install the SDK. Default is $(prefix)/lib/jvm.
    9092 +
    9093 +@item --with-jvm-jar-dir=DIR
    9094 +Specifies where to install jars. Default is $(prefix)/lib/jvm-exports.
    9095 +
    9096 +@item --with-python-dir=DIR
    9097 +Specifies where to install the Python modules used for aot-compile. DIR should
    9098 +not include the prefix used in installation. For example, if the Python modules
    9099 +are to be installed in /usr/lib/python2.5/site-packages, then
    9100 +--with-python-dir=/lib/python2.5/site-packages should be passed. If this is
    9101 +not specified, then the Python modules are installed in $(prefix)/share/python.
    9102 +
    9103 +@item --enable-aot-compile-rpm
    9104 +Adds aot-compile-rpm to the list of installed scripts.
    9105 +
    9106 +@table @code
    9107 +@item ansi
    9108 +Use the single-byte @code{char} and the Win32 A functions natively,
    9109 +translating to and from UNICODE when using these functions.  If
    9110 +unspecified, this is the default.
    9111 +
    9112 +@item unicows
    9113 +Use the @code{WCHAR} and Win32 W functions natively.  Adds
    9114 +@code{-lunicows} to @file{libgcj.spec} to link with @samp{libunicows}.
    9115 +@file{unicows.dll} needs to be deployed on Microsoft Windows 9X machines
    9116 +running built executables.  @file{libunicows.a}, an open-source
    9117 +import library around Microsoft's @code{unicows.dll}, is obtained from
    9118 +@uref{http://libunicows.sourceforge.net/}, which also gives details
    9119 +on getting @file{unicows.dll} from Microsoft.
    9120 +
    9121 +@item unicode
    9122 +Use the @code{WCHAR} and Win32 W functions natively.  Does @emph{not}
    9123 +add @code{-lunicows} to @file{libgcj.spec}.  The built executables will
    9124 +only run on Microsoft Windows NT and above.
    9125 +@end table
    9126 +@end table
    9127 +
    9128 +@subsubheading AWT-Specific Options
    9129 +
    9130 +@table @code
    9131 +@item --with-x
    9132 +Use the X Window System.
    9133 +
    9134 +@item --enable-java-awt=PEER(S)
    9135 +Specifies the AWT peer library or libraries to build alongside
    9136 +@samp{libgcj}.  If this option is unspecified or disabled, AWT
    9137 +will be non-functional.  Current valid values are @option{gtk} and
    9138 +@option{xlib}.  Multiple libraries should be separated by a
    9139 +comma (i.e.@: @option{--enable-java-awt=gtk,xlib}).
    9140 +
    9141 +@item --enable-gtk-cairo
    9142 +Build the cairo Graphics2D implementation on GTK@.
    9143 +
    9144 +@item --enable-java-gc=TYPE
    9145 +Choose garbage collector.  Defaults to @option{boehm} if unspecified.
    9146 +
    9147 +@item --disable-gtktest
    9148 +Do not try to compile and run a test GTK+ program.
    9149 +
    9150 +@item --disable-glibtest
    9151 +Do not try to compile and run a test GLIB program.
    9152 +
    9153 +@item --with-libart-prefix=PFX
    9154 +Prefix where libart is installed (optional).
    9155 +
    9156 +@item --with-libart-exec-prefix=PFX
    9157 +Exec prefix where libart is installed (optional).
    9158 +
    9159 +@item --disable-libarttest
    9160 +Do not try to compile and run a test libart program.
    9161 +
    9162 +@end table
    9163 +
    9164 +@html
    9165 +<hr />
    9166 +<p>
    9167 +@end html
    9168 +@ifhtml
    9169 +@uref{./index.html,,Return to the GCC Installation page}
    9170 +@end ifhtml
    9171 +@end ifset
    9172 +
    9173 +@c ***Building****************************************************************
    9174 +@ifnothtml
    9175 +@comment node-name,     next,          previous, up
    9176 +@node    Building, Testing, Configuration, Installing GCC
    9177 +@end ifnothtml
    9178 +@ifset buildhtml
    9179 +@ifnothtml
    9180 +@chapter Building
    9181 +@end ifnothtml
    9182 +@cindex Installing GCC: Building
    9183 +
    9184 +Now that GCC is configured, you are ready to build the compiler and
    9185 +runtime libraries.
    9186 +
    9187 +Some commands executed when making the compiler may fail (return a
    9188 +nonzero status) and be ignored by @command{make}.  These failures, which
    9189 +are often due to files that were not found, are expected, and can safely
    9190 +be ignored.
    9191 +
    9192 +It is normal to have compiler warnings when compiling certain files.
    9193 +Unless you are a GCC developer, you can generally ignore these warnings
    9194 +unless they cause compilation to fail.  Developers should attempt to fix
    9195 +any warnings encountered, however they can temporarily continue past
    9196 +warnings-as-errors by specifying the configure flag
    9197 +@option{--disable-werror}.
    9198 +
    9199 +On certain old systems, defining certain environment variables such as
    9200 +@env{CC} can interfere with the functioning of @command{make}.
    9201 +
    9202 +If you encounter seemingly strange errors when trying to build the
    9203 +compiler in a directory other than the source directory, it could be
    9204 +because you have previously configured the compiler in the source
    9205 +directory.  Make sure you have done all the necessary preparations.
    9206 +
    9207 +If you build GCC on a BSD system using a directory stored in an old System
    9208 +V file system, problems may occur in running @command{fixincludes} if the
    9209 +System V file system doesn't support symbolic links.  These problems
    9210 +result in a failure to fix the declaration of @code{size_t} in
    9211 +@file{sys/types.h}.  If you find that @code{size_t} is a signed type and
    9212 +that type mismatches occur, this could be the cause.
    9213 +
    9214 +The solution is not to use such a directory for building GCC@.
    9215 +
    9216 +Similarly, when building from SVN or snapshots, or if you modify
    9217 +@file{*.l} files, you need the Flex lexical analyzer generator
    9218 +installed.  If you do not modify @file{*.l} files, releases contain
    9219 +the Flex-generated files and you do not need Flex installed to build
    9220 +them.  There is still one Flex-based lexical analyzer (part of the
    9221 +build machinery, not of GCC itself) that is used even if you only
    9222 +build the C front end.
    9223 +
    9224 +When building from SVN or snapshots, or if you modify Texinfo
    9225 +documentation, you need version 4.7 or later of Texinfo installed if you
    9226 +want Info documentation to be regenerated.  Releases contain Info
    9227 +documentation pre-built for the unmodified documentation in the release.
    9228 +
    9229 +@section Building a native compiler
    9230 +
    9231 +For a native build, the default configuration is to perform
    9232 +a 3-stage bootstrap of the compiler when @samp{make} is invoked.
    9233 +This will build the entire GCC system and ensure that it compiles
    9234 +itself correctly.  It can be disabled with the @option{--disable-bootstrap}
    9235 +parameter to @samp{configure}, but bootstrapping is suggested because
    9236 +the compiler will be tested more completely and could also have
    9237 +better performance.
    9238 +
    9239 +The bootstrapping process will complete the following steps:
    9240 +
    9241 +@itemize @bullet
    9242 +@item
    9243 +Build tools necessary to build the compiler.
    9244 +
    9245 +@item
    9246 +Perform a 3-stage bootstrap of the compiler.  This includes building
    9247 +three times the target tools for use by the compiler such as binutils
    9248 +(bfd, binutils, gas, gprof, ld, and opcodes) if they have been
    9249 +individually linked or moved into the top level GCC source tree before
    9250 +configuring.
    9251 +
    9252 +@item
    9253 +Perform a comparison test of the stage2 and stage3 compilers.
    9254 +
    9255 +@item
    9256 +Build runtime libraries using the stage3 compiler from the previous step.
    9257 +
    9258 +@end itemize
    9259 +
    9260 +If you are short on disk space you might consider @samp{make
    9261 +bootstrap-lean} instead.  The sequence of compilation is the
    9262 +same described above, but object files from the stage1 and
    9263 +stage2 of the 3-stage bootstrap of the compiler are deleted as
    9264 +soon as they are no longer needed.
    9265 +
    9266 +If you wish to use non-default GCC flags when compiling the stage2
    9267 +and stage3 compilers, set @code{BOOT_CFLAGS} on the command line when
    9268 +doing @samp{make}.  For example, if you want to save additional space
    9269 +during the bootstrap and in the final installation as well, you can
    9270 +build the compiler binaries without debugging information as in the
    9271 +following example.  This will save roughly 40% of disk space both for
    9272 +the bootstrap and the final installation.  (Libraries will still contain
    9273 +debugging information.)
    9274 +
    9275 +@smallexample
    9276 +     make BOOT_CFLAGS='-O' bootstrap
    9277 +@end smallexample
    9278 +
    9279 +You can place non-default optimization flags into @code{BOOT_CFLAGS}; they
    9280 +are less well tested here than the default of @samp{-g -O2}, but should
    9281 +still work.  In a few cases, you may find that you need to specify special
    9282 +flags such as @option{-msoft-float} here to complete the bootstrap; or,
    9283 +if the native compiler miscompiles the stage1 compiler, you may need
    9284 +to work around this, by choosing @code{BOOT_CFLAGS} to avoid the parts
    9285 +of the stage1 compiler that were miscompiled, or by using @samp{make
    9286 +bootstrap4} to increase the number of stages of bootstrap.
    9287 +
    9288 +@code{BOOT_CFLAGS} does not apply to bootstrapped target libraries.
    9289 +Since these are always compiled with the compiler currently being
    9290 +bootstrapped, you can use @code{CFLAGS_FOR_TARGET} to modify their
    9291 +compilation flags, as for non-bootstrapped target libraries.
    9292 +Again, if the native compiler miscompiles the stage1 compiler, you may
    9293 +need to work around this by avoiding non-working parts of the stage1
    9294 +compiler.  Use @code{STAGE1_LIBCFLAGS} to this end.
    9295 +
    9296 +If you used the flag @option{--enable-languages=@dots{}} to restrict
    9297 +the compilers to be built, only those you've actually enabled will be
    9298 +built.  This will of course only build those runtime libraries, for
    9299 +which the particular compiler has been built.  Please note,
    9300 +that re-defining @env{LANGUAGES} when calling @samp{make}
    9301 +@strong{does not} work anymore!
    9302 +
    9303 +If the comparison of stage2 and stage3 fails, this normally indicates
    9304 +that the stage2 compiler has compiled GCC incorrectly, and is therefore
    9305 +a potentially serious bug which you should investigate and report.  (On
    9306 +a few systems, meaningful comparison of object files is impossible; they
    9307 +always appear ``different''.  If you encounter this problem, you will
    9308 +need to disable comparison in the @file{Makefile}.)
    9309 +
    9310 +If you do not want to bootstrap your compiler, you can configure with
    9311 +@option{--disable-bootstrap}.  In particular cases, you may want to
    9312 +bootstrap your compiler even if the target system is not the same as
    9313 +the one you are building on: for example, you could build a
    9314 +@code{powerpc-unknown-linux-gnu} toolchain on a
    9315 +@code{powerpc64-unknown-linux-gnu} host.  In this case, pass
    9316 +@option{--enable-bootstrap} to the configure script.
    9317 +
    9318 +
    9319 +@section Building a cross compiler
    9320 +
    9321 +When building a cross compiler, it is not generally possible to do a
    9322 +3-stage bootstrap of the compiler.  This makes for an interesting problem
    9323 +as parts of GCC can only be built with GCC@.
    9324 +
    9325 +To build a cross compiler, we first recommend building and installing a
    9326 +native compiler.  You can then use the native GCC compiler to build the
    9327 +cross compiler.  The installed native compiler needs to be GCC version
    9328 +2.95 or later.
    9329 +
    9330 +If the cross compiler is to be built with support for the Java
    9331 +programming language and the ability to compile .java source files is
    9332 +desired, the installed native compiler used to build the cross
    9333 +compiler needs to be the same GCC version as the cross compiler.  In
    9334 +addition the cross compiler needs to be configured with
    9335 +@option{--with-ecj-jar=@dots{}}.
    9336 +
    9337 +Assuming you have already installed a native copy of GCC and configured
    9338 +your cross compiler, issue the command @command{make}, which performs the
    9339 +following steps:
    9340 +
    9341 +@itemize @bullet
    9342 +@item
    9343 +Build host tools necessary to build the compiler.
    9344 +
    9345 +@item
    9346 +Build target tools for use by the compiler such as binutils (bfd,
    9347 +binutils, gas, gprof, ld, and opcodes)
    9348 +if they have been individually linked or moved into the top level GCC source
    9349 +tree before configuring.
    9350 +
    9351 +@item
    9352 +Build the compiler (single stage only).
    9353 +
    9354 +@item
    9355 +Build runtime libraries using the compiler from the previous step.
    9356 +@end itemize
    9357 +
    9358 +Note that if an error occurs in any step the make process will exit.
    9359 +
    9360 +If you are not building GNU binutils in the same source tree as GCC,
    9361 +you will need a cross-assembler and cross-linker installed before
    9362 +configuring GCC@.  Put them in the directory
    9363 +@file{@var{prefix}/@var{target}/bin}.  Here is a table of the tools
    9364 +you should put in this directory:
    9365 +
    9366 +@table @file
    9367 +@item as
    9368 +This should be the cross-assembler.
    9369 +
    9370 +@item ld
    9371 +This should be the cross-linker.
    9372 +
    9373 +@item ar
    9374 +This should be the cross-archiver: a program which can manipulate
    9375 +archive files (linker libraries) in the target machine's format.
    9376 +
    9377 +@item ranlib
    9378 +This should be a program to construct a symbol table in an archive file.
    9379 +@end table
    9380 +
    9381 +The installation of GCC will find these programs in that directory,
    9382 +and copy or link them to the proper place to for the cross-compiler to
    9383 +find them when run later.
    9384 +
    9385 +The easiest way to provide these files is to build the Binutils package.
    9386 +Configure it with the same @option{--host} and @option{--target}
    9387 +options that you use for configuring GCC, then build and install
    9388 +them.  They install their executables automatically into the proper
    9389 +directory.  Alas, they do not support all the targets that GCC
    9390 +supports.
    9391 +
    9392 +If you are not building a C library in the same source tree as GCC,
    9393 +you should also provide the target libraries and headers before
    9394 +configuring GCC, specifying the directories with
    9395 +@option{--with-sysroot} or @option{--with-headers} and
    9396 +@option{--with-libs}.  Many targets also require ``start files'' such
    9397 +as @file{crt0.o} and
    9398 +@file{crtn.o} which are linked into each executable.  There may be several
    9399 +alternatives for @file{crt0.o}, for use with profiling or other
    9400 +compilation options.  Check your target's definition of
    9401 +@code{STARTFILE_SPEC} to find out what start files it uses.
    9402 +
    9403 +@section Building in parallel
    9404 +
    9405 +GNU Make 3.79 and above, which is necessary to build GCC, support
    9406 +building in parallel.  To activate this, you can use @samp{make -j 2}
    9407 +instead of @samp{make}.  You can also specify a bigger number, and
    9408 +in most cases using a value greater than the number of processors in
    9409 +your machine will result in fewer and shorter I/O latency hits, thus
    9410 +improving overall throughput; this is especially true for slow drives
    9411 +and network filesystems.
    9412 +
    9413 +@section Building the Ada compiler
    9414 +
    9415 +In order to build GNAT, the Ada compiler, you need a working GNAT
    9416 +compiler (GCC version 3.4 or later).
    9417 +This includes GNAT tools such as @command{gnatmake} and
    9418 +@command{gnatlink}, since the Ada front end is written in Ada and
    9419 +uses some GNAT-specific extensions.
    9420 +
    9421 +In order to build a cross compiler, it is suggested to install
    9422 +the new compiler as native first, and then use it to build the cross
    9423 +compiler.
    9424 +
    9425 +@command{configure} does not test whether the GNAT installation works
    9426 +and has a sufficiently recent version; if too old a GNAT version is
    9427 +installed, the build will fail unless @option{--enable-languages} is
    9428 +used to disable building the Ada front end.
    9429 +
    9430 +@env{ADA_INCLUDE_PATH} and @env{ADA_OBJECT_PATH} environment variables
    9431 +must not be set when building the Ada compiler, the Ada tools, or the
    9432 +Ada runtime libraries. You can check that your build environment is clean
    9433 +by verifying that @samp{gnatls -v} lists only one explicit path in each
    9434 +section.
    9435 +
    9436 +@section Building with profile feedback
    9437 +
    9438 +It is possible to use profile feedback to optimize the compiler itself.  This
    9439 +should result in a faster compiler binary.  Experiments done on x86 using gcc
    9440 +3.3 showed approximately 7 percent speedup on compiling C programs.  To
    9441 +bootstrap the compiler with profile feedback, use @code{make profiledbootstrap}.
    9442 +
    9443 +When @samp{make profiledbootstrap} is run, it will first build a @code{stage1}
    9444 +compiler.  This compiler is used to build a @code{stageprofile} compiler
    9445 +instrumented to collect execution counts of instruction and branch
    9446 +probabilities.  Then runtime libraries are compiled with profile collected.
    9447 +Finally a @code{stagefeedback} compiler is built using the information collected.
    9448 +
    9449 +Unlike standard bootstrap, several additional restrictions apply.  The
    9450 +compiler used to build @code{stage1} needs to support a 64-bit integral type.
    9451 +It is recommended to only use GCC for this.  Also parallel make is currently
    9452 +not supported since collisions in profile collecting may occur.
    9453 +
    9454 +@html
    9455 +<hr />
    9456 +<p>
    9457 +@end html
    9458 +@ifhtml
    9459 +@uref{./index.html,,Return to the GCC Installation page}
    9460 +@end ifhtml
    9461 +@end ifset
    9462 +
    9463 +@c ***Testing*****************************************************************
    9464 +@ifnothtml
    9465 +@comment node-name,     next,          previous, up
    9466 +@node    Testing, Final install, Building, Installing GCC
    9467 +@end ifnothtml
    9468 +@ifset testhtml
    9469 +@ifnothtml
    9470 +@chapter Installing GCC: Testing
    9471 +@end ifnothtml
    9472 +@cindex Testing
    9473 +@cindex Installing GCC: Testing
    9474 +@cindex Testsuite
    9475 +
    9476 +Before you install GCC, we encourage you to run the testsuites and to
    9477 +compare your results with results from a similar configuration that have
    9478 +been submitted to the
    9479 +@uref{http://gcc.gnu.org/ml/gcc-testresults/,,gcc-testresults mailing list}.
    9480 +Some of these archived results are linked from the build status lists
    9481 +at @uref{http://gcc.gnu.org/buildstat.html}, although not everyone who
    9482 +reports a successful build runs the testsuites and submits the results.
    9483 +This step is optional and may require you to download additional software,
    9484 +but it can give you confidence in your new GCC installation or point out
    9485 +problems before you install and start using your new GCC@.
    9486 +
    9487 +First, you must have @uref{download.html,,downloaded the testsuites}.
    9488 +These are part of the full distribution, but if you downloaded the
    9489 +``core'' compiler plus any front ends, you must download the testsuites
    9490 +separately.
    9491 +
    9492 +Second, you must have the testing tools installed.  This includes
    9493 +@uref{http://www.gnu.org/software/dejagnu/,,DejaGnu}, Tcl, and Expect;
    9494 +the DejaGnu site has links to these.
    9495 +
    9496 +If the directories where @command{runtest} and @command{expect} were
    9497 +installed are not in the @env{PATH}, you may need to set the following
    9498 +environment variables appropriately, as in the following example (which
    9499 +assumes that DejaGnu has been installed under @file{/usr/local}):
    9500 +
    9501 +@smallexample
    9502 +     TCL_LIBRARY = /usr/local/share/tcl8.0
    9503 +     DEJAGNULIBS = /usr/local/share/dejagnu
    9504 +@end smallexample
    9505 +
    9506 +(On systems such as Cygwin, these paths are required to be actual
    9507 +paths, not mounts or links; presumably this is due to some lack of
    9508 +portability in the DejaGnu code.)
    9509 +
    9510 +
    9511 +Finally, you can run the testsuite (which may take a long time):
    9512 +@smallexample
    9513 +     cd @var{objdir}; make -k check
    9514 +@end smallexample
    9515 +
    9516 +This will test various components of GCC, such as compiler
    9517 +front ends and runtime libraries.  While running the testsuite, DejaGnu
    9518 +might emit some harmless messages resembling
    9519 +@samp{WARNING: Couldn't find the global config file.} or
    9520 +@samp{WARNING: Couldn't find tool init file} that can be ignored.
    9521 +
    9522 +If you are testing a cross-compiler, you may want to run the testsuite
    9523 +on a simulator as described at @uref{http://gcc.gnu.org/simtest-howto.html}.
    9524 +
    9525 +@section How can you run the testsuite on selected tests?
    9526 +
    9527 +In order to run sets of tests selectively, there are targets
    9528 +@samp{make check-gcc} and @samp{make check-g++}
    9529 +in the @file{gcc} subdirectory of the object directory.  You can also
    9530 +just run @samp{make check} in a subdirectory of the object directory.
    9531 +
    9532 +
    9533 +A more selective way to just run all @command{gcc} execute tests in the
    9534 +testsuite is to use
    9535 +
    9536 +@smallexample
    9537 +    make check-gcc RUNTESTFLAGS="execute.exp @var{other-options}"
    9538 +@end smallexample
    9539 +
    9540 +Likewise, in order to run only the @command{g++} ``old-deja'' tests in
    9541 +the testsuite with filenames matching @samp{9805*}, you would use
    9542 +
    9543 +@smallexample
    9544 +    make check-g++ RUNTESTFLAGS="old-deja.exp=9805* @var{other-options}"
    9545 +@end smallexample
    9546 +
    9547 +The @file{*.exp} files are located in the testsuite directories of the GCC
    9548 +source, the most important ones being @file{compile.exp},
    9549 +@file{execute.exp}, @file{dg.exp} and @file{old-deja.exp}.
    9550 +To get a list of the possible @file{*.exp} files, pipe the
    9551 +output of @samp{make check} into a file and look at the
    9552 +@samp{Running @dots{}  .exp} lines.
    9553 +
    9554 +@section Passing options and running multiple testsuites
    9555 +
    9556 +You can pass multiple options to the testsuite using the
    9557 +@samp{--target_board} option of DejaGNU, either passed as part of
    9558 +@samp{RUNTESTFLAGS}, or directly to @command{runtest} if you prefer to
    9559 +work outside the makefiles.  For example,
    9560 +
    9561 +@smallexample
    9562 +    make check-g++ RUNTESTFLAGS="--target_board=unix/-O3/-fmerge-constants"
    9563 +@end smallexample
    9564 +
    9565 +will run the standard @command{g++} testsuites (``unix'' is the target name
    9566 +for a standard native testsuite situation), passing
    9567 +@samp{-O3 -fmerge-constants} to the compiler on every test, i.e.,
    9568 +slashes separate options.
    9569 +
    9570 +You can run the testsuites multiple times using combinations of options
    9571 +with a syntax similar to the brace expansion of popular shells:
    9572 +
    9573 +@smallexample
    9574 +    @dots{}"--target_board=arm-sim\@{-mhard-float,-msoft-float\@}\@{-O1,-O2,-O3,\@}"
    9575 +@end smallexample
    9576 +
    9577 +(Note the empty option caused by the trailing comma in the final group.)
    9578 +The following will run each testsuite eight times using the @samp{arm-sim}
    9579 +target, as if you had specified all possible combinations yourself:
    9580 +
    9581 +@smallexample
    9582 +    --target_board=arm-sim/-mhard-float/-O1
    9583 +    --target_board=arm-sim/-mhard-float/-O2
    9584 +    --target_board=arm-sim/-mhard-float/-O3
    9585 +    --target_board=arm-sim/-mhard-float
    9586 +    --target_board=arm-sim/-msoft-float/-O1
    9587 +    --target_board=arm-sim/-msoft-float/-O2
    9588 +    --target_board=arm-sim/-msoft-float/-O3
    9589 +    --target_board=arm-sim/-msoft-float
    9590 +@end smallexample
    9591 +
    9592 +They can be combined as many times as you wish, in arbitrary ways.  This
    9593 +list:
    9594 +
    9595 +@smallexample
    9596 +    @dots{}"--target_board=unix/-Wextra\@{-O3,-fno-strength\@}\@{-fomit-frame,\@}"
    9597 +@end smallexample
    9598 +
    9599 +will generate four combinations, all involving @samp{-Wextra}.
    9600 +
    9601 +The disadvantage to this method is that the testsuites are run in serial,
    9602 +which is a waste on multiprocessor systems.  For users with GNU Make and
    9603 +a shell which performs brace expansion, you can run the testsuites in
    9604 +parallel by having the shell perform the combinations and @command{make}
    9605 +do the parallel runs.  Instead of using @samp{--target_board}, use a
    9606 +special makefile target:
    9607 +
    9608 +@smallexample
    9609 +    make -j@var{N} check-@var{testsuite}//@var{test-target}/@var{option1}/@var{option2}/@dots{}
    9610 +@end smallexample
    9611 +
    9612 +For example,
    9613 +
    9614 +@smallexample
    9615 +    make -j3 check-gcc//sh-hms-sim/@{-m1,-m2,-m3,-m3e,-m4@}/@{,-nofpu@}
    9616 +@end smallexample
    9617 +
    9618 +will run three concurrent ``make-gcc'' testsuites, eventually testing all
    9619 +ten combinations as described above.  Note that this is currently only
    9620 +supported in the @file{gcc} subdirectory.  (To see how this works, try
    9621 +typing @command{echo} before the example given here.)
    9622 +
    9623 +
    9624 +@section Additional testing for Java Class Libraries
    9625 +
    9626 +The Java runtime tests can be executed via @samp{make check}
    9627 +in the @file{@var{target}/libjava/testsuite} directory in
    9628 +the build tree.
    9629 +
    9630 +The @uref{http://sourceware.org/mauve/,,Mauve Project} provides
    9631 +a suite of tests for the Java Class Libraries.  This suite can be run
    9632 +as part of libgcj testing by placing the Mauve tree within the libjava
    9633 +testsuite at @file{libjava/testsuite/libjava.mauve/mauve}, or by
    9634 +specifying the location of that tree when invoking @samp{make}, as in
    9635 +@samp{make MAUVEDIR=~/mauve check}.
    9636 +
    9637 +@section How to interpret test results
    9638 +
    9639 +The result of running the testsuite are various @file{*.sum} and @file{*.log}
    9640 +files in the testsuite subdirectories.  The @file{*.log} files contain a
    9641 +detailed log of the compiler invocations and the corresponding
    9642 +results, the @file{*.sum} files summarize the results.  These summaries
    9643 +contain status codes for all tests:
    9644 +
    9645 +@itemize @bullet
    9646 +@item
    9647 +PASS: the test passed as expected
    9648 +@item
    9649 +XPASS: the test unexpectedly passed
    9650 +@item
    9651 +FAIL: the test unexpectedly failed
    9652 +@item
    9653 +XFAIL: the test failed as expected
    9654 +@item
    9655 +UNSUPPORTED: the test is not supported on this platform
    9656 +@item
    9657 +ERROR: the testsuite detected an error
    9658 +@item
    9659 +WARNING: the testsuite detected a possible problem
    9660 +@end itemize
    9661 +
    9662 +It is normal for some tests to report unexpected failures.  At the
    9663 +current time the testing harness does not allow fine grained control
    9664 +over whether or not a test is expected to fail.  This problem should
    9665 +be fixed in future releases.
    9666 +
    9667 +
    9668 +@section Submitting test results
    9669 +
    9670 +If you want to report the results to the GCC project, use the
    9671 +@file{contrib/test_summary} shell script.  Start it in the @var{objdir} with
    9672 +
    9673 +@smallexample
    9674 +    @var{srcdir}/contrib/test_summary -p your_commentary.txt \
    9675 +        -m gcc-testresults@@gcc.gnu.org |sh
    9676 +@end smallexample
    9677 +
    9678 +This script uses the @command{Mail} program to send the results, so
    9679 +make sure it is in your @env{PATH}.  The file @file{your_commentary.txt} is
    9680 +prepended to the testsuite summary and should contain any special
    9681 +remarks you have on your results or your build environment.  Please
    9682 +do not edit the testsuite result block or the subject line, as these
    9683 +messages may be automatically processed.
    9684 +
    9685 +@html
    9686 +<hr />
    9687 +<p>
    9688 +@end html
    9689 +@ifhtml
    9690 +@uref{./index.html,,Return to the GCC Installation page}
    9691 +@end ifhtml
    9692 +@end ifset
    9693 +
    9694 +@c ***Final install***********************************************************
    9695 +@ifnothtml
    9696 +@comment node-name,     next,          previous, up
    9697 +@node    Final install, , Testing, Installing GCC
    9698 +@end ifnothtml
    9699 +@ifset finalinstallhtml
    9700 +@ifnothtml
    9701 +@chapter Installing GCC: Final installation
    9702 +@end ifnothtml
    9703 +
    9704 +Now that GCC has been built (and optionally tested), you can install it with
    9705 +@smallexample
    9706 +cd @var{objdir}; make install
    9707 +@end smallexample
    9708 +
    9709 +We strongly recommend to install into a target directory where there is
    9710 +no previous version of GCC present.  Also, the GNAT runtime should not
    9711 +be stripped, as this would break certain features of the debugger that
    9712 +depend on this debugging information (catching Ada exceptions for
    9713 +instance).
    9714 +
    9715 +That step completes the installation of GCC; user level binaries can
    9716 +be found in @file{@var{prefix}/bin} where @var{prefix} is the value
    9717 +you specified with the @option{--prefix} to configure (or
    9718 +@file{/usr/local} by default).  (If you specified @option{--bindir},
    9719 +that directory will be used instead; otherwise, if you specified
    9720 +@option{--exec-prefix}, @file{@var{exec-prefix}/bin} will be used.)
    9721 +Headers for the C++ and Java libraries are installed in
    9722 +@file{@var{prefix}/include}; libraries in @file{@var{libdir}}
    9723 +(normally @file{@var{prefix}/lib}); internal parts of the compiler in
    9724 +@file{@var{libdir}/gcc} and @file{@var{libexecdir}/gcc}; documentation
    9725 +in info format in @file{@var{infodir}} (normally
    9726 +@file{@var{prefix}/info}).
    9727 +
    9728 +When installing cross-compilers, GCC's executables
    9729 +are not only installed into @file{@var{bindir}}, that
    9730 +is, @file{@var{exec-prefix}/bin}, but additionally into
    9731 +@file{@var{exec-prefix}/@var{target-alias}/bin}, if that directory
    9732 +exists.  Typically, such @dfn{tooldirs} hold target-specific
    9733 +binutils, including assembler and linker.
    9734 +
    9735 +Installation into a temporary staging area or into a @command{chroot}
    9736 +jail can be achieved with the command
    9737 +
    9738 +@smallexample
    9739 +make DESTDIR=@var{path-to-rootdir} install
    9740 +@end smallexample
    9741 +
    9742 +@noindent where @var{path-to-rootdir} is the absolute path of
    9743 +a directory relative to which all installation paths will be
    9744 +interpreted.  Note that the directory specified by @code{DESTDIR}
    9745 +need not exist yet; it will be created if necessary.
    9746 +
    9747 +There is a subtle point with tooldirs and @code{DESTDIR}:
    9748 +If you relocate a cross-compiler installation with
    9749 +e.g.@: @samp{DESTDIR=@var{rootdir}}, then the directory
    9750 +@file{@var{rootdir}/@var{exec-prefix}/@var{target-alias}/bin} will
    9751 +be filled with duplicated GCC executables only if it already exists,
    9752 +it will not be created otherwise.  This is regarded as a feature,
    9753 +not as a bug, because it gives slightly more control to the packagers
    9754 +using the @code{DESTDIR} feature.
    9755 +
    9756 +If you are bootstrapping a released version of GCC then please
    9757 +quickly review the build status page for your release, available from
    9758 +@uref{http://gcc.gnu.org/buildstat.html}.
    9759 +If your system is not listed for the version of GCC that you built,
    9760 +send a note to
    9761 +@email{gcc@@gcc.gnu.org} indicating
    9762 +that you successfully built and installed GCC@.
    9763 +Include the following information:
    9764 +
    9765 +@itemize @bullet
    9766 +@item
    9767 +Output from running @file{@var{srcdir}/config.guess}.  Do not send
    9768 +that file itself, just the one-line output from running it.
    9769 +
    9770 +@item
    9771 +The output of @samp{gcc -v} for your newly installed @command{gcc}.
    9772 +This tells us which version of GCC you built and the options you passed to
    9773 +configure.
    9774 +
    9775 +@item
    9776 +Whether you enabled all languages or a subset of them.  If you used a
    9777 +full distribution then this information is part of the configure
    9778 +options in the output of @samp{gcc -v}, but if you downloaded the
    9779 +``core'' compiler plus additional front ends then it isn't apparent
    9780 +which ones you built unless you tell us about it.
    9781 +
    9782 +@item
    9783 +If the build was for GNU/Linux, also include:
    9784 +@itemize @bullet
    9785 +@item
    9786 +The distribution name and version (e.g., Red Hat 7.1 or Debian 2.2.3);
    9787 +this information should be available from @file{/etc/issue}.
    9788 +
    9789 +@item
    9790 +The version of the Linux kernel, available from @samp{uname --version}
    9791 +or @samp{uname -a}.
    9792 +
    9793 +@item
    9794 +The version of glibc you used; for RPM-based systems like Red Hat,
    9795 +Mandrake, and SuSE type @samp{rpm -q glibc} to get the glibc version,
    9796 +and on systems like Debian and Progeny use @samp{dpkg -l libc6}.
    9797 +@end itemize
    9798 +For other systems, you can include similar information if you think it is
    9799 +relevant.
    9800 +
    9801 +@item
    9802 +Any other information that you think would be useful to people building
    9803 +GCC on the same configuration.  The new entry in the build status list
    9804 +will include a link to the archived copy of your message.
    9805 +@end itemize
    9806 +
    9807 +We'd also like to know if the
    9808 +@ifnothtml
    9809 +@ref{Specific, host/target specific installation notes}
    9810 +@end ifnothtml
    9811 +@ifhtml
    9812 +@uref{specific.html,,host/target specific installation notes}
    9813 +@end ifhtml
    9814 +didn't include your host/target information or if that information is
    9815 +incomplete or out of date.  Send a note to
    9816 +@email{gcc@@gcc.gnu.org} detailing how the information should be changed.
    9817 +
    9818 +If you find a bug, please report it following the
    9819 +@uref{../bugs.html,,bug reporting guidelines}.
    9820 +
    9821 +If you want to print the GCC manuals, do @samp{cd @var{objdir}; make
    9822 +dvi}.  You will need to have @command{texi2dvi} (version at least 4.7)
    9823 +and @TeX{} installed.  This creates a number of @file{.dvi} files in
    9824 +subdirectories of @file{@var{objdir}}; these may be converted for
    9825 +printing with programs such as @command{dvips}.  Alternately, by using
    9826 +@samp{make pdf} in place of @samp{make dvi}, you can create documentation
    9827 +in the form of @file{.pdf} files; this requires @command{texi2pdf}, which
    9828 +is included with Texinfo version 4.8 and later.  You can also
    9829 +@uref{http://shop.fsf.org/,,buy printed manuals from the
    9830 +Free Software Foundation}, though such manuals may not be for the most
    9831 +recent version of GCC@.
    9832 +
    9833 +If you would like to generate online HTML documentation, do @samp{cd
    9834 +@var{objdir}; make html} and HTML will be generated for the gcc manuals in
    9835 +@file{@var{objdir}/gcc/HTML}.
    9836 +
    9837 +@html
    9838 +<hr />
    9839 +<p>
    9840 +@end html
    9841 +@ifhtml
    9842 +@uref{./index.html,,Return to the GCC Installation page}
    9843 +@end ifhtml
    9844 +@end ifset
    9845 +
    9846 +@c ***Binaries****************************************************************
    9847 +@ifnothtml
    9848 +@comment node-name,     next,          previous, up
    9849 +@node    Binaries, Specific, Installing GCC, Top
    9850 +@end ifnothtml
    9851 +@ifset binarieshtml
    9852 +@ifnothtml
    9853 +@chapter Installing GCC: Binaries
    9854 +@end ifnothtml
    9855 +@cindex Binaries
    9856 +@cindex Installing GCC: Binaries
    9857 +
    9858 +We are often asked about pre-compiled versions of GCC@.  While we cannot
    9859 +provide these for all platforms, below you'll find links to binaries for
    9860 +various platforms where creating them by yourself is not easy due to various
    9861 +reasons.
    9862 +
    9863 +Please note that we did not create these binaries, nor do we
    9864 +support them.  If you have any problems installing them, please
    9865 +contact their makers.
    9866 +
    9867 +@itemize
    9868 +@item
    9869 +AIX:
    9870 +@itemize
    9871 +@item
    9872 +@uref{http://www.bullfreeware.com,,Bull's Freeware and Shareware Archive for AIX};
    9873 +
    9874 +@item
    9875 +@uref{http://pware.hvcc.edu,,Hudson Valley Community College Open Source Software for IBM System p};
    9876 +
    9877 +@item
    9878 +@uref{http://www.perzl.org/aix/,,AIX 5L and 6 Open Source Packages}.
    9879 +@end itemize
    9880 +
    9881 +@item
    9882 +DOS---@uref{http://www.delorie.com/djgpp/,,DJGPP}.
    9883 +
    9884 +@item
    9885 +Renesas H8/300[HS]---@uref{http://h8300-hms.sourceforge.net/,,GNU
    9886 +Development Tools for the Renesas H8/300[HS] Series}.
    9887 +
    9888 +@item
    9889 +HP-UX:
    9890 +@itemize
    9891 +@item
    9892 +@uref{http://hpux.cs.utah.edu/,,HP-UX Porting Center};
    9893 +
    9894 +@item
    9895 +@uref{ftp://sunsite.informatik.rwth-aachen.de/pub/packages/gcc_hpux/,,Binaries for HP-UX 11.00 at Aachen University of Technology}.
    9896 +@end itemize
    9897 +
    9898 +@item
    9899 +Motorola 68HC11/68HC12---@uref{http://www.gnu-m68hc11.org,,GNU
    9900 +Development Tools for the Motorola 68HC11/68HC12}.
    9901 +
    9902 +@item
    9903 +@uref{http://www.sco.com/skunkware/devtools/index.html#gcc,,SCO
    9904 +OpenServer/Unixware}.
    9905 +
    9906 +@item
    9907 +Solaris 2 (SPARC, Intel)---@uref{http://www.sunfreeware.com/,,Sunfreeware}.
    9908 +
    9909 +@item
    9910 +SGI---@uref{http://freeware.sgi.com/,,SGI Freeware}.
    9911 +
    9912 +@item
    9913 +Microsoft Windows:
    9914 +@itemize
    9915 +@item
    9916 +The @uref{http://sourceware.org/cygwin/,,Cygwin} project;
    9917 +@item
    9918 +The @uref{http://www.mingw.org/,,MinGW} project.
    9919 +@end itemize
    9920 +
    9921 +@item
    9922 +@uref{ftp://ftp.thewrittenword.com/packages/by-name/,,The
    9923 +Written Word} offers binaries for
    9924 +AIX 4.3.3, 5.1 and 5.2,
    9925 +IRIX 6.5,
    9926 +Tru64 UNIX 4.0D and 5.1,
    9927 +GNU/Linux (i386),
    9928 +HP-UX 10.20, 11.00, and 11.11, and
    9929 +Solaris/SPARC 2.5.1, 2.6, 7, 8, 9 and 10.
    9930 +
    9931 +@item
    9932 +@uref{http://www.openpkg.org/,,OpenPKG} offers binaries for quite a
    9933 +number of platforms.
    9934 +
    9935 +@item
    9936 +The @uref{http://gcc.gnu.org/wiki/GFortranBinaries,,GFortran Wiki} has
    9937 +links to GNU Fortran binaries for several platforms.
    9938 +@end itemize
    9939 +
    9940 +In addition to those specific offerings, you can get a binary
    9941 +distribution CD-ROM from the
    9942 +@uref{http://www.gnu.org/order/order.html,,Free Software Foundation}.
    9943 +It contains binaries for a number of platforms, and
    9944 +includes not only GCC, but other stuff as well.  The current CD does
    9945 +not contain the latest version of GCC, but it should allow
    9946 +bootstrapping the compiler.  An updated version of that disk is in the
    9947 +works.
    9948 +
    9949 +@html
    9950 +<hr />
    9951 +<p>
    9952 +@end html
    9953 +@ifhtml
    9954 +@uref{./index.html,,Return to the GCC Installation page}
    9955 +@end ifhtml
    9956 +@end ifset
    9957 +
    9958 +@c ***Specific****************************************************************
    9959 +@ifnothtml
    9960 +@comment node-name,     next,          previous, up
    9961 +@node    Specific, Old, Binaries, Top
    9962 +@end ifnothtml
    9963 +@ifset specifichtml
    9964 +@ifnothtml
    9965 +@chapter Host/target specific installation notes for GCC
    9966 +@end ifnothtml
    9967 +@cindex Specific
    9968 +@cindex Specific installation notes
    9969 +@cindex Target specific installation
    9970 +@cindex Host specific installation
    9971 +@cindex Target specific installation notes
    9972 +
    9973 +Please read this document carefully @emph{before} installing the
    9974 +GNU Compiler Collection on your machine.
    9975 +
    9976 +Note that this list of install notes is @emph{not} a list of supported
    9977 +hosts or targets.  Not all supported hosts and targets are listed
    9978 +here, only the ones that require host-specific or target-specific
    9979 +information are.
    9980 +
    9981 +@ifhtml
    9982 +@itemize
    9983 +@item
    9984 +@uref{#alpha-x-x,,alpha*-*-*}
    9985 +@item
    9986 +@uref{#alpha-dec-osf,,alpha*-dec-osf*}
    9987 +@item
    9988 +@uref{#arc-x-elf,,arc-*-elf}
    9989 +@item
    9990 +@uref{#arm-x-elf,,arm-*-elf}
    9991 +@uref{#arm-x-coff,,arm-*-coff}
    9992 +@uref{#arm-x-aout,,arm-*-aout}
    9993 +@item
    9994 +@uref{#avr,,avr}
    9995 +@item
    9996 +@uref{#bfin,,Blackfin}
    9997 +@item
    9998 +@uref{#dos,,DOS}
    9999 +@item
    10000 +@uref{#x-x-freebsd,,*-*-freebsd*}
    10001 +@item
    10002 +@uref{#h8300-hms,,h8300-hms}
    10003 +@item
    10004 +@uref{#hppa-hp-hpux,,hppa*-hp-hpux*}
    10005 +@item
    10006 +@uref{#hppa-hp-hpux10,,hppa*-hp-hpux10}
    10007 +@item
    10008 +@uref{#hppa-hp-hpux11,,hppa*-hp-hpux11}
    10009 +@item
    10010 +@uref{#x-x-linux-gnu,,*-*-linux-gnu}
    10011 +@item
    10012 +@uref{#ix86-x-linux,,i?86-*-linux*}
    10013 +@item
    10014 +@uref{#ix86-x-solaris210,,i?86-*-solaris2.10}
    10015 +@item
    10016 +@uref{#ia64-x-linux,,ia64-*-linux}
    10017 +@item
    10018 +@uref{#ia64-x-hpux,,ia64-*-hpux*}
    10019 +@item
    10020 +@uref{#x-ibm-aix,,*-ibm-aix*}
    10021 +@item
    10022 +@uref{#iq2000-x-elf,,iq2000-*-elf}
    10023 +@item
    10024 +@uref{#m32c-x-elf,,m32c-*-elf}
    10025 +@item
    10026 +@uref{#m32r-x-elf,,m32r-*-elf}
    10027 +@item
    10028 +@uref{#m6811-elf,,m6811-elf}
    10029 +@item
    10030 +@uref{#m6812-elf,,m6812-elf}
    10031 +@item
    10032 +@uref{#m68k-x-x,,m68k-*-*}
    10033 +@item
    10034 +@uref{#m68k-uclinux,,m68k-uclinux}
    10035 +@item
    10036 +@uref{#mips-x-x,,mips-*-*}
    10037 +@item
    10038 +@uref{#mips-sgi-irix5,,mips-sgi-irix5}
    10039 +@item
    10040 +@uref{#mips-sgi-irix6,,mips-sgi-irix6}
    10041 +@item
    10042 +@uref{#powerpc-x-x,,powerpc*-*-*}
    10043 +@item