?? config.gcc.svn-base
字號:
# GCC target-specific configuration file.# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005# Free Software Foundation, Inc.#This file is part of GCC.#GCC is free software; you can redistribute it and/or modify it under#the terms of the GNU General Public License as published by the Free#Software Foundation; either version 2, or (at your option) any later#version.#GCC is distributed in the hope that it will be useful, but WITHOUT#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License#for more details.#You should have received a copy of the GNU General Public License#along with GCC; see the file COPYING. If not, write to the Free#Software Foundation, 59 Temple Place - Suite 330, Boston, MA#02111-1307, USA.# This is the GCC target-specific configuration file# where a configuration type is mapped to different system-specific# definitions and files. This is invoked by the autoconf-generated# configure script. Putting it in a separate shell file lets us skip# running autoconf when modifying target-specific information.# This file switches on the shell variable ${target}, and also uses the# following shell variables:## with_* Various variables as set by configure.## enable_threads Either the name, yes or no depending on whether# threads support was requested.## default_use_cxa_atexit# "no" by default, can be set to "yes" if a target# wishes to use __cxa_atexit() by default if the# $enable___cxa_atexit variable is not set.## gas_flag Either yes or no depending on whether GNU as was# requested.## gnu_ld_flag Either yes or no depending on whether GNU ld was# requested.# This file sets the following shell variables for use by the# autoconf-generated configure script:## cpu_type The name of the cpu, if different from the first# chunk of the canonical target name.## tm_defines List of target macros to define for all compilations.## tm_file A list of target macro files, if different from# "$cpu_type/$cpu_type.h". Usually it's constructed# per target in a way like this:# tm_file="${tm_file} dbxelf.h elfos.h svr4.h ${cpu_type.h}/elf.h"# Note that the preferred order is:# - specific target header "${cpu_type}/${cpu_type.h}"# - generic headers like dbxelf.h elfos.h, etc.# - specializing target headers like ${cpu_type.h}/elf.h# This helps to keep OS specific stuff out of the CPU# defining header ${cpu_type}/${cpu_type.h}.## tm_p_file Location of file with declarations for functions# in $out_file.## out_file The name of the machine description C support# file, if different from "$cpu_type/$cpu_type.c".## md_file The name of the machine-description file, if# different from "$cpu_type/$cpu_type.md".## tmake_file A list of machine-description-specific# makefile-fragments, if different from# "$cpu_type/t-$cpu_type".## extra_modes The name of the file containing a list of extra# machine modes, if necessary and different from# "$cpu_type/$cpu_type-modes.def".## extra_objs List of extra objects that should be linked into# the compiler proper (cc1, cc1obj, cc1plus)# depending on target.## extra_gcc_objs List of extra objects that should be linked into# the compiler driver (gcc) depending on target.## extra_headers List of used header files from the directory# config/${cpu_type}.## extra_passes List of extra executables compiled for this target# machine, used for compiling from source to object.## extra_parts List of extra object files that should be compiled# for this target machine.## extra_programs Like extra_passes, but these are used when linking.## c_target_objs List of extra target-dependent objects that be# linked into the C compiler only.## cxx_target_objs List of extra target-dependent objects that be# linked into the C++ compiler only.## target_gtfiles List of extra source files with type information.## xm_defines List of macros to define when compiling for the# target machine.## xm_file List of files to include when compiling for the# target machine.## use_collect2 Set to yes or no, depending on whether collect2# will be used.## target_cpu_default Set to override the default target model.## gdb_needs_out_file_path# Set to yes if gdb needs a dir command with# `dirname $out_file`.## thread_file Set to control which thread package to use.## gas Set to yes or no depending on whether the target# system normally uses GNU as.## need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide# for this target. This is true iff this target# supports "long" or "wchar_t" wider than 32 bits.## configure_default_options# Set to an initializer for configure_default_options# in configargs.h, based on --with-cpu et cetera.## use_fixproto Set to "yes" if fixproto should be run normally,# "no" if fixproto should never be run.# The following variables are used in each case-construct to build up the# outgoing variables:## gnu_ld Set to yes or no depending on whether the target# system normally uses GNU ld.out_file=tmake_file=extra_headers=extra_passes=extra_parts=extra_programs=extra_objs=extra_gcc_objs=c_target_objs=cxx_target_objs=tm_defines=xm_defines=# Set this to force installation and use of collect2.use_collect2=# Set this to override the default target model.target_cpu_default=# Set this if gdb needs a dir command with `dirname $out_file`gdb_needs_out_file_path=# Set this to control which thread package will be used.thread_file=# Reinitialize these from the flag values every loop pass, since some# configure entries modify them.gas="$gas_flag"gnu_ld="$gnu_ld_flag"default_use_cxa_atexit=notarget_gtfiles=need_64bit_hwint=# Default to not using fixproto. Targets which need fixproto should# specifically set this to 'yes'.use_fixproto=no# Don't carry these over build->host->target. Please.xm_file=md_file=# Obsolete configurations.case ${target} in sparclite-*-coff* \ | sparclite-*-elf* \ | sparc86x-*-elf* \ | sparc-*-openbsd* \ | i860-*-sysv4* \ | ip2k-*-elf \ | ns32k-*-netbsdelf* \ | ns32k-*-netbsd* \ ) if test "x$enable_obsolete" != xyes; then echo "*** Configuration ${target} is obsolete." >&2 echo "*** Specify --enable-obsolete to build it anyway." >&2 echo "*** Support will be REMOVED in the next major release of GCC," >&2 echo "*** unless a maintainer comes forward." >&2 exit 1 fi;;esac# Unsupported targets list. Do not put an entry in this list unless# it would otherwise be caught by a more permissive pattern. The list# should be in alphabetical order.case ${target} in alpha*-*-linux*libc1* \ | i[34567]86-sequent-sysv \ | i[34567]86-sequent-sysv[123]* \ | i[34567]86-go32-* \ | i[34567]86-*-go32* \ | m68k-*-linux*aout* \ | m68k-*-linux*libc1* \ | mips64orion*-*-rtems* \ | powerpc-*-linux*libc1* \ | sparc-*-linux*aout* \ | sparc-*-linux*libc1* \ | sparc-hal-solaris2* \ | thumb-*-* \ | *-*-linux*coff* \ | *-*-linux*oldld* \ | *-*-rtemsaout* \ | *-*-rtemscoff* \ | vax-*-vms* \ ) echo "*** Configuration ${target} not supported" 1>&2 exit 1 ;;esac# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be# updated in each machine entry. Also set default extra_headers for some# machines.tm_p_file=cpu_type=`echo ${target} | sed 's/-.*$//'`cpu_is_64bit=case ${target} inalpha*-*-*) cpu_type=alpha need_64bit_hwint=yes ;;am33_2.0-*-linux*) cpu_type=mn10300 ;;strongarm*-*-*) cpu_type=arm ;;arm*-*-*) cpu_type=arm extra_headers="mmintrin.h" ;;ep9312*-*-*) cpu_type=arm ;;xscale-*-*) cpu_type=arm extra_headers="mmintrin.h" ;;i[34567]86-*-*) cpu_type=i386 extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h" ;;x86_64-*-*) cpu_type=i386 extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h" need_64bit_hwint=yes ;;ia64-*-*) extra_headers=ia64intrin.h need_64bit_hwint=yes ;;hppa*-*-* | parisc*-*-*) cpu_type=pa ;;m32r*-*-*) cpu_type=m32r ;;m680[012]0-*-*) cpu_type=m68k extra_headers=math-68881.h ;;m68k-*-*) extra_headers=math-68881.h ;;mips*-*-*) cpu_type=mips need_64bit_hwint=yes ;;powerpc*-*-*) cpu_type=rs6000 extra_headers="ppc-asm.h altivec.h spe.h" need_64bit_hwint=yes case x$with_cpu in xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345]|xrs64a) cpu_is_64bit=yes ;; esac ;;rs6000*-*-*) need_64bit_hwint=yes ;;sparc64*-*-*) cpu_type=sparc need_64bit_hwint=yes ;;sparc*-*-*) cpu_type=sparc ;;s390*-*-*) need_64bit_hwint=yes ;;# Note the 'l'; we need to be able to match e.g. "shle" or "shl".sh[123456789lbe]*-*-*) cpu_type=sh need_64bit_hwint=yes ;;tic4x-*-*) cpu_type=c4x ;;esactm_file=${cpu_type}/${cpu_type}.hif test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.hthen tm_p_file=${cpu_type}/${cpu_type}-protos.hfiextra_modes=if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.defthen extra_modes=${cpu_type}/${cpu_type}-modes.defficase ${target} inx86_64-*-*) tm_file="i386/biarch64.h ${tm_file}" ;;esac# On a.out targets, we need to use collect2.case ${target} in*-*-*aout*) use_collect2=yes ;;esac# Common parts for widely ported systems.case ${target} in*-*-darwin*) case ${target} in *-darwin1[0-9]*) tm_file="${tm_file} darwin8.h" ;; *-darwin[0-6]*) ;; *-darwin7*) tm_file="${tm_file} darwin7.h" ;; *) tm_file="${tm_file} darwin8.h" ;; esac tm_file="${tm_file} darwin.h" tm_p_file="${tm_p_file} darwin-protos.h" tmake_file="t-darwin t-slibgcc-darwin" target_gtfiles="\$(srcdir)/config/darwin.c" c_target_objs="darwin-c.o" cxx_target_objs="darwin-c.o" extra_parts="crt2.o" extra_objs="darwin.o" case ${enable_threads} in "" | yes | posix) thread_file='posix' ;; esac ;;*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*) # This is the place-holder for the generic a.out configuration # of FreeBSD. No actual configuration resides here since # there was only ever a bare-bones ix86 configuration for # a.out and it exists solely in the machine-specific section. # This place-holder must exist to avoid dropping into # the generic ELF configuration of FreeBSD (i.e. it must be # ordered before that section). ;;*-*-freebsd*) # This is the generic ELF configuration of FreeBSD. Later # machine-specific sections may refine and add to this # configuration. # # Due to tm_file entry ordering issues that vary between cpu # architectures, we only define fbsd_tm_file to allow the # machine-specific section to dictate the final order of all # entries of tm_file with the minor exception that components # of the tm_file set here will always be of the form: # # freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h # # The machine-specific section should not tamper with this # ordering but may order all other entries of tm_file as it # pleases around the provided core setting. gas=yes gnu_ld=yes extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o" case ${target} in *-*-freebsd3 | *-*-freebsd[3].*) tm_defines="${tm_defines} FBSD_MAJOR=3" ;; *-*-freebsd4 | *-*-freebsd[4].*) tm_defines="${tm_defines} FBSD_MAJOR=4" ;; *-*-freebsd5 | *-*-freebsd[5].*) tm_defines="${tm_defines} FBSD_MAJOR=5" ;; *-*-freebsd6 | *-*-freebsd[6].*) tm_defines="${tm_defines} FBSD_MAJOR=6" ;; *) echo 'Please update *-*-freebsd* in gcc/config.gcc' exit 1 ;; esac tmake_file="t-slibgcc-elf-ver t-freebsd" case ${enable_threads} in no) fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h" ;; "" | yes | posix) thread_file='posix'
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -