configure.lang

来自「GCC编译器源代码」· LANG 代码 · 共 234 行

LANG
234
字号
# configure.lang for GNU CC# This script is run by configure for configuration of language# subdirectories which conform to the old GCC configure mechanism# for such subdirectories.# Copyright (C) 1997 Free Software Foundation, Inc.#This file is part of GNU CC.#GNU CC 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.#GNU CC 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 GNU CC; see the file COPYING.  If not, write to#the Free Software Foundation, 59 Temple Place - Suite 330,#Boston, MA 02111-1307, USA.savesrcdir=$srcdirfor subdir in . $oldstyle_subdirsdo	# We only want to do this in language subdirs, but we have to handle	# the case of $oldstyle_subdirs = "".	if [ $subdir = . ]	then		continue	fi	oldsrcdir=$savesrcdir	# Re-adjust the path	case $oldsrcdir in	/*)		srcdir=$oldsrcdir/$subdir		;;	*)		oldsrcdir=../${oldsrcdir}		srcdir=$oldsrcdir/$subdir		;;	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		echo "dir ${mainsrcdir}" >> .gdbinit		if [ x$gdb_needs_out_file_path = xyes ]		then			echo "dir ${mainsrcdir}/config/"`dirname ${out_file}` >> .gdbinit		fi		echo "source ${mainsrcdir}/.gdbinit" >> .gdbinit		;;	esac	# Conditionalize the makefile for this host machine.	rm -f Makefile.xx Makefile.ll	merged_frags=	for f in .. ${host_xmake_file}	do		if [ -f ${mainsrcdir}/config/$f ]		then			cat ${mainsrcdir}/config/$f >> Makefile.ll			if [ x"${merged_frags}" != x ]			then				merged_frags="${merged_frags} and "			fi			merged_frags="${merged_frags}${f}"		fi	done	if [ x"${merged_frags}" != x ]	then		sed -e "/####host/  r Makefile.ll" Makefile.tem > Makefile.xx		echo "Merged ${merged_frags}."		rm -f Makefile.tem		mv Makefile.xx Makefile.tem		rm -f Makefile.ll	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$build_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	# If using -program-transform-name, override the installation names.	if [ "x${program_transform_set}" = "xyes" ] ; then		sed -e "s/^program_transform_name[ 	]*=.*$/program_transform_name =$program_transform_name/" \		    -e "s/^program_transform_cross_name[]*=.*$/program_transform_cross_name = $program_transform_name/" \		    Makefile.tem > Makefile.xx		rm -f Makefile.tem		mv Makefile.xx Makefile.tem	fi	# Conditionalize the makefile for this target machine.	rm -f Makefile.xx Makefile.ll	merged_frags=	for f in .. ${tmake_file}	do		if [ -f ${mainsrcdir}/config/$f ]		then			cat ${mainsrcdir}/config/$f >> Makefile.ll			if [ x"${merged_frags}" != x ]			then				merged_frags="${merged_frags} and "			fi			merged_frags="${merged_frags}$f"		fi	done	if [ x"${merged_frags}" != x ]	then		sed -e "/####target/  r Makefile.ll" Makefile.tem > Makefile.xx		echo "Merged ${merged_frags}."		rm -f Makefile.tem		mv Makefile.xx Makefile.tem		rm -f Makefile.ll	fi	# If the host supports	# symlinks, point stage[123] at ../stage[123] so bootstrapping and the	# installation procedure can still use CC="stage1/xgcc -Bstage1/".	# If the host doesn't support symlinks, FLAGS_TO_PASS has been	# modified to solve the problem there.	for t in stage1 stage2 stage3 stage4 include	do		rm -f $t		$symbolic_link ../$t $t 2>/dev/null	done	# Remove all formfeeds, since some Makes get confused by them.	# Also arrange to give the variables `target', `target_alias',	# `host_xmake_file', `tmake_file', `prefix', `local_prefix',	# `exec_prefix', `INSTALL_HEADERS_DIR', `exeext'	# values in the Makefile from the values they have in this script.	rm -f Makefile.xx	# Create an empty Makefile.sed first, to work around a Nextstep 3.3 bug.	echo 's|||' > Makefile.sed	rm Makefile.sed	echo 's|||' > Makefile.sed	echo "s|^target=.*$|target=${target}|" >> Makefile.sed	echo "s|^target_alias=.*$|target=${target_alias}|" >> Makefile.sed	echo "s|^xmake_file=.*$|xmake_file=${dep_host_xmake_file}|" >> Makefile.sed	echo "s|^tmake_file=.*$|tmake_file=${dep_tmake_file}|" >> Makefile.sed	echo "s|^version=.*$|version=${version}|" >> Makefile.sed	echo "s|^GCC_THREAD_FILE=.*$|GCC_THREAD_FILE=${thread_file}|" >> Makefile.sed	echo "s|^prefix[ 	]*=.*|prefix = $prefix|" >> Makefile.sed	echo "s|^local_prefix[ 	]*=.*|local_prefix = $local_prefix|" >> Makefile.sed	echo "s|^exec_prefix[ 	]*=.*|exec_prefix = $exec_prefix|" >> Makefile.sed	echo "s|^INSTALL_HEADERS_DIR[ 	]*=.*$|INSTALL_HEADERS_DIR = ${build_install_headers_dir}|" >> Makefile.sed	echo "s|^exeext[ 	]*=.*$|exeext = ${build_exeext}|" >> Makefile.sed	sed -f Makefile.sed Makefile.tem > Makefile.xx	rm -f Makefile.tem Makefile.sed	mv Makefile.xx Makefile.tem	# Install Makefile for real, after making final changes.	# Define macro CROSS_COMPILE in compilation	# if this is a cross-compiler.	# Also use all.cross instead of all.internal	# and add cross-make to Makefile.	if [ x$host != x$target ]	then		rm -f Makefile.xx		echo "CROSS=-DCROSS_COMPILE" > Makefile.xx		sed -e "/####cross/  r ${mainsrcdir}/cross-make" Makefile.tem >> Makefile.xx		rm -f Makefile.tem		mv Makefile.xx Makefile.tem	fi	# When building gcc with a cross-compiler, we need to fix a few things.	# This must come after cross-make as we want all.build to override	# all.cross.  	if [ x$build != x$host ]	then		rm -f Makefile.xx		echo "build= $build" > Makefile.xx		echo "host= $host" >> Makefile.xx    		sed -e "s|objc-runtime$||" \		    -e "/####build/  r ${mainsrcdir}/build-make" Makefile.tem >> Makefile.xx		rm -f Makefile.tem		mv Makefile.xx Makefile.tem	fi	rm -f Makefile	mv Makefile.tem Makefile	echo "Created \`$subdir/Makefile'."	cd $STARTDIRdone   # end of current-dir SUBDIRS loop# Restore this, remember we're invoked with `.'.srcdir=$savesrcdir

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?