📄 configure
字号:
cpu_type=sh ;; sparc-tti-*) tm_file=sparc/pbd.h xm_file=sparc/xm-pbd.h ;; sparc-wrs-vxworks* | sparclite-wrs-vxworks*) cpu_type=sparc tm_file=sparc/vxsparc.h tmake_file=sparc/t-vxsparc use_collect2=yes ;; sparc-*-aout*) tmake_file=sparc/t-sparcbare tm_file=sparc/sparc-aout.h ;; sparc-*-netbsd*) tm_file=sparc/netbsd.h xm_file=sparc/xm-netbsd.h # On NetBSD, the headers are already okay. fixincludes=Makefile.in tmake_file=t-libc-ok xmake_file=x-netbsd ;; sparc-*-bsd*) tm_file=sparc/bsd.h ;; sparc-*-lynxos*) if [ x$gas = xyes ] then tm_file=sparc/lynx.h else tm_file=sparc/lynx-ng.h fi xm_file=sparc/xm-lynx.h tmake_file=sparc/t-sunos41 xmake_file=x-lynx ;; sparc-*-solaris2* | sparc-*-sunos5*) xm_file=sparc/xm-sol2.h tm_file=sparc/sol2.h tmake_file=sparc/t-sol2 xmake_file=sparc/x-sysv4 extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o" fixincludes=fixinc.svr4 broken_install=yes ;; sparc-*-sunos4.0*) tm_file=sparc/sunos4.h tmake_file=sparc/t-sunos40 use_collect2=yes ;; sparc-*-sunos4*) tm_file=sparc/sunos4.h tmake_file=sparc/t-sunos41 use_collect2=yes ;; sparc-*-sunos3*) tm_file=sparc/sun4o3.h use_collect2=yes ;; sparc-*-sysv4*) xm_file=sparc/xm-sysv4.h tm_file=sparc/sysv4.h tmake_file=t-svr4 xmake_file=sparc/x-sysv4 extra_parts="crtbegin.o crtend.o" ;; sparclite-*-coff*) cpu_type=sparc tm_file=sparc/litecoff.h tmake_file=sparc/t-sparclite ;; sparclite-*-*) cpu_type=sparc tm_file=sparc/lite.h tmake_file=sparc/t-sparclite use_collect2=yes ;; sparc64-*-aout*) cpu_type=sparc tmake_file=sparc/t-sp64 tm_file=sparc/sp64-aout.h ;; sparc64-*-elf*) cpu_type=sparc tmake_file=sparc/t-sp64 tm_file=sparc/sp64-elf.h extra_parts="crtbegin.o crtend.o" ;;# This hasn't been upgraded to GCC 2.# tahoe-harris-*) # Harris tahoe, using COFF.# tm_file=tahoe/harris.h# ;;# tahoe-*-bsd*) # tahoe running BSD# ;;# This hasn't been upgraded to GCC 2.# tron-*-*)# cpu_type=gmicro# use_collect2=yes# ;; vax-*-bsd*) # vaxen running BSD use_collect2=yes ;; vax-*-sysv*) # vaxen running system V xm_file=vax/xm-vaxv.h tm_file=vax/vaxv.h ;; vax-*-netbsd*) tm_file=vax/netbsd.h xm_file=vax/xm-netbsd.h tmake_file=t-libc-ok # On NetBSD, the headers are already okay. fixincludes=Makefile.in xmake_file=x-netbsd ;; vax-*-ultrix*) # vaxen running ultrix tm_file=vax/ultrix.h use_collect2=yes ;; vax-*-vms*) # vaxen running VMS xm_file=vax/xm-vms.h tm_file=vax/vms.h ;; pdp11-*-bsd) xm_file=pdp11/xm-pdp11.h tm_file=pdp11/2bsd.h tmake_file=pdp11/t-pdp11 ;; pdp11-*-*) xm_file=pdp11/xm-pdp11.h tm_file=pdp11/pdp11.h tmake_file=pdp11/t-pdp11 ;; we32k-att-sysv*) cpu_type=we32k use_collect2=yes ;; *) echo "Configuration $machine not supported" 1>&2 exit 1 ;; esac case $machine in *-*-gnu*) # On the GNU system, the setup is just about the same on # each different CPU. The specific machines that GNU # supports are matched above and just set $cpu_type. xm_file=${cpu_type}/xm-gnu.h tm_file=${cpu_type}/gnu.h extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" # GNU always uses ELF. elf=yes # GNU tools are the only tools. gnu_ld=yes gas=yes # On GNU, the headers are already okay. fixincludes=Makefile.in # Don't build libgcc1.c, because there is no non-GNU # compiler to build it with. The GNU system C library will # include assembly versions of any needed functions. tmake_file=t-libc-ok ;; *-*-sysv4*) fixincludes=fixinc.svr4 xmake_try_sysv=x-sysv broken_install=yes install_headers_dir=install-headers-cpio ;; *-*-sysv*) broken_install=yes install_headers_dir=install-headers-cpio ;; esac # Distinguish i386 from i486/i586. # ??? For the moment we treat i586 as an i486. # Also, do not run mips-tfile on MIPS if using gas. case $machine in i[45]86-*-*) target_cpu_default=2 ;; mips*-*-*) if [ x$gas = xyes ] then target_cpu_default=16 fi ;; alpha-*-*) if [ x$gas = xyes ] then target_cpu_default=4 fi ;; esac # No need for collect2 if we have the GNU linker. case x$gnu_ld in xyes) use_collect2= ;; esac# Default certain vars that apply to both host and target in turn. if [ x$cpu_type = x ] then cpu_type=`echo $machine | sed 's/-.*$//'` fi# Save data on machine being used to compile GCC in build_xm_file.# Save data on host machine in vars host_xm_file and host_xmake_file. if [ x$pass1done = x ] then if [ x$xm_file = x ] then build_xm_file=$cpu_type/xm-$cpu_type.h else build_xm_file=$xm_file fi pass1done=yes else if [ x$pass2done = x ] then if [ x$xm_file = x ] then host_xm_file=$cpu_type/xm-$cpu_type.h else host_xm_file=$xm_file fi if [ x$xmake_file = x ] then xmake_file=$cpu_type/x-$cpu_type fi host_xmake_file=$xmake_file host_broken_install=$broken_install host_install_headers_dir=$install_headers_dir host_truncate_target=$truncate_target pass2done=yes fi fidone# Default the target-machine variables that were not explicitly set.if [ x$tm_file = x ]then tm_file=$cpu_type/$cpu_type.h; fiif [ x$extra_headers = x ]then extra_headers=; fiif [ x$xm_file = x ]then xm_file=$cpu_type/xm-$cpu_type.h; fimd_file=$cpu_type/$cpu_type.mdif [ x$out_file = x ]then out_file=$cpu_type/$cpu_type.c; fiif [ x$tmake_file = x ]then tmake_file=$cpu_type/t-$cpu_typefi# Say what files are being used for the output code and MD file.echo "Using \`$srcdir/config/$out_file' to output insns."echo "Using \`$srcdir/config/$md_file' as machine description file."echo "Using \`$srcdir/config/$tm_file' as target machine macro file."echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."if [ $host_xm_file != $build_xm_file ]; then echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."fi# Set up the list of links to be made.# $links is the list of link names, and $files is the list of names to link to.files="$host_xm_file $tm_file $xm_file $build_xm_file"links="config.h tm.h tconfig.h hconfig.h"rm -f config.bakif [ -f config.status ]; then mv -f config.status config.bak; fi# Make the links.while [ -n "$files" ]do # set file to car of files, files to cdr of files set $files; file=$1; shift; files=$* set $links; link=$1; shift; links=$* rm -f $link echo "#include \"$file\"" >$linkdone# Truncate the target if necessaryif [ x$host_truncate_target != x ]; then target=`echo $target | sed -e 's/\(..............\).*/\1/'`fi# Get the version number from the toplevelversion=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${srcdir}/version.c`# For the current directory and all of the language subdirectories,# do the rest of the script ...subdirs=for lang in ${srcdir}/*/config-lang.in ..do case $lang in ..) ;; # The odd quoting in the next line works around # an apparent bug in bash 1.12 on linux. ${srcdir}/[*]/config-lang.in) ;; *) subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`" ;; esacdone# Are we using gcc as the native compiler?case $canon_host in*linux*) # All Linux's use gcc as the native compiler. prefix=$native_prefix ;;esac# Make empty files to contain the specs and options for each language.# Then add #include lines to for a compiler that has specs and/or options.lang_specs_files=lang_options_files=rm -f specs.h options.htouch specs.h options.hfor subdir in . $subdirsdo if [ -f $srcdir/$subdir/lang-specs.h ]; then echo "#include \"$subdir/lang-specs.h\"" >>specs.h lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h" fi if [ -f $srcdir/$subdir/lang-options.h ]; then echo "#include \"$subdir/lang-options.h\"" >>options.h lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h" fidone# Define SET_MAKE if this old version of `make' doesn't define $(MAKE).rm -f Makefile.xx(echo 'all:'; echo ' @echo maketemp=$(MAKE)') >Makefile.xxcase `${MAKE-make} -f Makefile.xx 2>/dev/null | grep maketemp=` in'maketemp=') SET_MAKE="MAKE = ${MAKE-make}" ;;*) SET_MAKE= ;;esacrm -f Makefile.xxsavesrcdir=$srcdirfor subdir in . $subdirsdo oldsrcdir=$savesrcdir # Re-adjust the path case $oldsrcdir in /*) srcdir=$oldsrcdir/$subdir ;; *) case $subdir in .) ;; *) oldsrcdir=../${oldsrcdir} srcdir=$oldsrcdir/$subdir ;; esac ;; esac mainsrcdir=$oldsrcdir STARTDIR=`pwd` test -d $subdir || mkdir $subdir cd $subdir # Create Makefile.tem from Makefile.in. # Make it set VPATH if necessary so that the sources are found. # Also change its value of srcdir. # Also create a .gdbinit file which runs the one in srcdir # and tells GDB to look there for source files. case $srcdir in . | ./$subdir | .././$subdir) rm -f Makefile.tem cp Makefile.in Makefile.tem chmod +w Makefile.tem ;; *) rm -f Makefile.tem echo "VPATH = ${srcdir}" \ | cat - ${srcdir}/Makefile.in \ | sed "s@^srcdir = \.@srcdir = ${srcdir}@" > Makefile.tem rm -f .gdbinit echo "dir ." > .gdbinit echo "dir ${srcdir}" >> .gdbinit if [ x$gdb_needs_out_file_path = xyes ] then echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit fi if [ "x$subdirs" != x ]; then for s in $subdirs do echo "dir ${srcdir}/$s" >> .gdbinit done fi echo "source ${srcdir}/.gdbinit" >> .gdbinit ;; esac # Conditionalize the makefile for this host machine. if [ -f ${mainsrcdir}/config/${host_xmake_file} ] then rm -f Makefile.xx sed -e "/####host/ r ${mainsrcdir}/config/${host_xmake_file}" Makefile.tem > Makefile.xx echo "Merged ${host_xmake_file}." rm -f Makefile.tem mv Makefile.xx Makefile.tem dep_host_xmake_file=${host_xmake_file} else # Say in the makefile that there is no host_xmake_file, # by using a name which (when interpreted relative to $srcdir/config) # will duplicate another dependency: $srcdir/Makefile.in. dep_host_xmake_file=../Makefile.in fi # Add a definition for MAKE if system wants one. case "$SET_MAKE" in ?*) rm -f Makefile.xx (echo "$SET_MAKE"; cat Makefile.tem) >Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem esac # Add a definition for INSTALL if system wants one. # This substitutes for lots of x-* files. if [ x$host_broken_install = x ] then true else rm -f Makefile.xx abssrcdir=`cd ${srcdir}; pwd` sed "s|^INSTALL = .*|INSTALL = ${abssrcdir}/install.sh -c|" Makefile.tem > Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem fi # Some of the following don't make sense in the language makefiles, # but rather than introduce another level of nesting, we leave them # as is. # Set EXTRA_HEADERS according to extra_headers. # This substitutes for lots of t-* files. if [ "x$extra_headers" = x ] then true else # Prepend ${srcdir}/ginclude/ to every entry in extra_headers. list= for file in $extra_headers; do list="${list} ${srcdir}/ginclude/${file}" done rm -f Makefile.xx sed "s|^EXTRA_HEADERS =|EXTRA_HEADERS = ${list}|" Makefile.tem > Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem fi # Set EXTRA_PASSES according to extra_passes. # This substitutes for lots of t-* files. if [ "x$extra_passes" = x ] then true else rm -f Makefile.xx sed "s/^EXTRA_PASSES =/EXTRA_PASSES = $extra_passes/" Makefile.tem > Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem fi # Set EXTRA_PARTS according to extra_parts. # This substitutes for lots of t-* files. if [ "x$extra_parts" = x ] then true else rm -f Makefile.xx sed "s/^EXTRA_PARTS =/EXTRA_PARTS = $extra_parts/" Makefile.tem > Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem fi # Set EXTRA_PROGRAMS according to extra_programs. if [ "x$extra_programs" = x ] then true else rm -f Makefile.xx sed "s/^EXTRA_PROGRAMS =/EXTRA_PROGRAMS = $extra_programs/" Makefile.tem > Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem fi # Set EXTRA_OBJS according to extra_objs. # This substitutes for lots of t-* files. if [ "x$extra_objs" = x ] then true else rm -f Makefile.xx sed "s|^EXTRA_OBJS =|EXTRA_OBJS = $extra_objs|" Makefile.tem > Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem fi # Set EXTRA_GCC_OBJS according to extra_gcc_objs. # This substitutes for lots of t-* files. if [ "x$extra_gcc_objs" = x ] then true else rm -f Makefile.xx sed "s|^EXTRA_GCC_OBJS =|EXTRA_GCC_OBJS = $extra_gcc_objs|" Makefile.tem > Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem fi # Add a definition of USE_COLLECT2 if system wants one. # Also tell toplev.c what to do. # This substitutes for lots of t-* files. if [ x$use_collect2 = x ] then true else rm -f Makefile.xx (echo "USE_COLLECT2 = ld"; echo "MAYBE_USE_COLLECT2 = -DUSE_COLLECT2")\ | cat - Makefile.tem > Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem fi # Add -DTARGET_CPU_DEFAULT for toplev.c if system wants one. # This substitutes for lots of *.h files. if [ x$target_cpu_default = x ] then true else rm -f Makefile.xx # This used cat, but rfg@netcom.com said that ran into NFS bugs. sed -e "/^# Makefile for GNU C compiler./c\\MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFAULT=$target_cpu_default\\\# Makefile for GNU C compiler." Makefile.tem > Makefile.xx rm -f Makefile.tem mv Makefile.xx Makefile.tem fi # Set MD_DEPS if the real md file is in md.pre-cpp. # Set MD_CPP to the cpp to pass the md file through. Md files use ';' # for line oriented comments, so we must always use a GNU cpp. If # building gcc with a cross compiler, use the cross compiler just # built. Otherwise, we can use the cpp just built. if [ "x$md_cppflags" = x ] then md_file=$srcdir/config/$md_file else rm -f Makefile.xx (if [ x$host = x$build ] ; then echo "MD_DEPS = $(md_file) cpp" ; echo "MD_CPP = ./cpp" else echo "MD_DEPS = md.pre-cpp" ; echo "MD_CPP = \$(HOST_CC) -x c -E"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -