📄 configure
字号:
#!/bin/sh# Configuration script# Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc.# This program 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 of the License, or# (at your option) any later version.# # This program 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 this program; if not, write to the Free Software# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */# Please email any bugs, comments, and/or additions to this file to:# configure@cygnus.com# This file was written by K. Richard Pixley.## Shell script to create proper links to machine-dependent files in# preparation for compilation.## If configure succeeds, it leaves its status in config.status.# If configure fails after disturbing the status quo, # config.status is removed.#export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0 $argv; kill $$)remove=rmhard_link=lnsymbolic_link='ln -s'#for Test#remove="echo rm"#hard_link="echo ln"#symbolic_link="echo ln -s"# clear some things potentially inherited from environment.Makefile=MakefileMakefile_in=Makefile.inarguments=$*configdirs=exec_prefix=exec_prefixoption=fatal=floating_point=defaultgas=defaulthost_alias=host_makefile_frag=moveifchange=next_host=next_prefix=next_site=next_srcdir=next_target=next_tmpdir=norecursion=prefix=/usr/localprogname=program_prefix=program_prefixoption=program_suffix=program_suffixoption=program_transform_name=program_transform_nameoption=redirect=">/dev/null"removing=site=site_makefile_frag=site_option=srcdir=srctrigger=subdirs=target_alias=target_makefile_frag=undefinedargs=version="$Revision: 1.136 $"x11=defaultNO_EDIT="This file was generated automatically by configure. Do not edit."## this is a little touchy and won't always work, but...#### if the argv[0] starts with a slash then it is an absolute name that can (and## must) be used as is.#### otherwise, if argv[0] has no slash in it, we can assume that it is on the## path. Since PATH might include "." we also add `pwd` to the end of PATH.##progname=$0# if PWD already has a value, it is probably wrong.if [ -n "$PWD" ]; then PWD=`pwd`; ficase "${progname}" in/*) ;;*/*) ;;*) PATH=$PATH:${PWD=`pwd`} ; export PATH ;;esacfor arg in $*;do # handle things that might have args following as separate words if [ -n "${next_prefix}" ] ; then prefix=${arg} ; prefixoption="-prefix=${prefix}" ; next_prefix= elif [ -n "${next_exec_prefix}" ] ; then exec_prefix=${arg} exec_prefixoption="-exec_prefix=${exec_prefix}" next_exec_prefix= elif [ -n "${next_site}" ] ; then site=${arg} ; site_option=-site=${site} ; next_site= # remove any possible trailing slash from srcdir. See note below. elif [ -n "${next_srcdir}" ] ; then srcdir=`echo ${arg} | sed -e 's:/$::'` ; next_srcdir= elif [ -n "${next_program_prefix}" ] ; then program_prefix=${arg} program_prefixoption="-program_prefix=${program_prefix}" next_program_prefix= elif [ -n "${next_program_suffix}" ] ; then program_suffix=${arg} program_suffixoption="-program_suffix=${program_suffix}" next_program_suffix= elif [ -n "${next_program_transform_name}" ] ; then # Double any backslashes or dollar signs in the argument program_transform_name="${program_transform_name} -e `echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`" program_transform_nameoption="${program_transform_nameoption} -program_transform_name='${arg}'" next_program_transform_name= elif [ -n "${next_target}" ] ; then next_target= case "${target_alias}" in "") target_alias="${arg}" ;; *) echo '***' Can only configure for one target at a time. 1>&2 fatal=yes ;; esac elif [ -n "${next_tmpdir}" ] ; then next_tmpdir= tmpdiroption="--tmpdir=${arg}" TMPDIR=${arg} else case ${arg} in -exec_prefix=* | --exec_prefix=* | --exec_prefi=* | --exec_pref=* | --exec_pre=* | --exec_pr=* | --exec_p=* | --exec_=* | --exec=* | --exe=* | --ex=* | --e=* | -exec-prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* ) exec_prefix=`echo ${arg} | sed 's/^[-a-z_]*=//'` exec_prefixoption=${arg} ;; -exec_prefix | --exec_prefix | --exec_prefi | --exec_pref | --exec_pre | --exec_pr | --exec_p | --exec_ | --exec | --exe | --ex | --e | -exec-prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec-) next_exec_prefix=yes ;; -gas | --g*) gas=yes ;; -help | --he*) fatal=true ;; -host=* | --host=* | --hos=* | --ho=*) case "${host_alias}" in "") host_alias="`echo ${arg} | sed 's/^[-a-z]*=//'`" ;; *) echo '***' Can only configure for one host at a time. 1>&2 fatal=yes ;; esac ;; -nfp | --nf*) floating_point=no ;; -norecursion | --no*) norecursion=true ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=*) prefix=`echo ${arg} | sed 's/^[-a-z]*=//'` prefixoption=${arg} ;; -prefix | --prefix | --prefi | --pref | --pre) next_prefix=yes ;; -rm | --rm) removing=${arg} ;; -program_prefix=* | --program_prefix=* | --program_prefi=* | --program_pref=* | --program_pre=* | --program_pr=* | --program_p=* | -program-prefix=* | --program-prefix=* | --program-prefi=* | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=`echo ${arg} | sed 's/^[-a-z_]*=//'` program_prefixoption=${arg} ;; -program_prefix | --program_prefix | --program_prefi | --program_pref | --program_pre | --program_pr | --program_p | -program-prefix | --program-prefix | --program-prefi | --program-pref | --program-pre | --program-pr | --program-p) next_program_prefix=yes ;; -program_suffix=* | --program_suffix=* | --program_suffi=* | --program_suff=* | --program_suf=* | --program_su=* | --program_s=* | -program-suffix=* | --program-suffix=* | --program-suffi=* | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=`echo ${arg} | sed 's/^[-a-z_]*=//'` program_suffixoption=${arg} ;; -program_suffix | --program_suffix | --program_suffi | --program_suff | --program_suf | --program_su | --program_s |-program-suffix | --program-suffix | --program-suffi | --program-suff | --program-suf | --program-su | --program-s) next_program_suffix=yes ;; -program_transform_name=* | --program_transform_name=* | --program_transform_nam=* | --program_transform_na=* | --program_transform_n=* | --program_transform_=* | --program_transform=* | --program_transfor=* | --program_transfo=* | --program_transf=* | --program_trans=* | --program_tran=* | --program_tra=* | --program_tr=* | --program_t=* | -program-transform-name=* | --program-transform-name=* | --program-transform-nam=* | --program-transform-na=* | --program-transform-n=* | --program-transform-=* | --program-transform=* | --program-transfor=* | --program-transfo=* | --program-transf=* | --program-trans=* | --program-tran=* | --program-tra=* | --program-tr=* | --program-t=*) # Double any \ or $ in the argument program_transform_name="${program_transform_name} -e `echo ${arg} | sed -e 's/^[-a-z_]*=//' -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`" program_transform_nameoption="${program_transform_nameoption} -program_transform_name='`echo ${arg} | sed 's/^[-a-z_]*=//'`'" ;; -program_transform_name | --program_transform_name | --program_transform_nam | --program_transform_na | --program_transform_n | --program_transform_ | --program_transform | --program_transfor | --program_transfo | --program_transf | --program_trans | --program_tran | --program_tra | --program_tr | --program_t | -program-transform-name | --program-transform-name | --program-transform-nam | --program-transform-na | --program-transform-n | --program-transform- | --program-transform | --program-transfor | --program-transfo | --program-transf | --program-trans | --program-tran | --program-tra | --program-tr | --program-t) next_program_transform_name=yes ;; -site=* | --site=* | --sit=* | --si=*) site_option=${arg} site=`echo ${arg} | sed 's/^[-a-z]*=//'` ;; -site | --site | --sit) next_site=yes ;; # remove trailing slashes. Otherwise, when the file name gets # bolted into an object file as debug info, it has two slashes in # it. Ordinarily this is ok, but emacs takes double slash to # mean "forget the first part". -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=`echo ${arg} | sed 's/^[-a-z]*=//' | sed -e 's:/$::'` ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) next_srcdir=yes ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=*) case "${target_alias}" in "") target_alias="`echo ${arg} | sed 's/^[-a-z]*=//'`" ;; *) echo '***' Can only configure for one target at a time. 1>&2 fatal=yes ;; esac ;; -target | --target | --targe | --targ | --tar | --ta) next_target=yes ;; -tmpdir=* | --tmpdir=* | --tmpdi=* | --tmpd=* | --tmp=* | --tm=*) tmpdiroption=${arg} TMPDIR=`echo ${arg} | sed 's/^[-a-z]*=//'` ;; -tmpdir | --tmpdir | --tmpdi | --tmpd | --tmp | --tm) next_tmpdir=yes ;; -v | -verbose | --v) redirect= verbose=-v ;; -version | -V | --version | --V) echo "This is Cygnus Configure version" `echo ${version} | sed 's/[ $:]//g'` exit 0 ;; -x | --x) ;; -* | --*) (echo ; echo "Unrecognized option: \"${arg}\"". ; echo) 1>&2 fatal=true ;; *) case "${undefs}" in "") undefs="${arg}" ;; *) echo '***' Can only configure for one host and one target at a time. 1>&2 fatal=yes ;; esac ;; esac fidone# process host and targetcase "${fatal}" in"")# # Complain if an arg is missing# if [ -z "${host_alias}" ] ; then# (echo ;# echo "configure: No HOST specified." ;# echo) 1>&2# fatal=true# fi### This is a bit twisted.### * if all three are specified, this is an error.### * if we have neither hosts, nor unadorned args, this is an error.### * if no hosts are specified, then the unadorned args are hosts, but if### there were none, this is an error.### * if no targets are specified, then the unadorned args are targets, but if### there were no unadorned args, then the hosts are also targets. if [ -n "${host_alias}" -a -n "${target_alias}" -a -n "${undefs}" ] ; then echo '***' Can only configure for one host and one target at a time. 1>&2 fatal=yes elif [ -z "${host_alias}" -a -z "${undefs}" ] ; then echo '***' You must tell me for which host you want to configure. 1>&2 fatal=yes else case "${host_alias}" in "") host_alias=${undefs} ;; *) ;; esac case "${target_alias}" in "") case "${undefs}" in "") target_alias=${host_alias} ;; *) target_alias=${undefs} ;; esac ;; *) ;; esac fi ;;*) ;;esacif [ -n "${fatal}" -o "${host_alias}" = "help" ] ; then (echo "Usage: configure HOST" ; echo ; echo "Options: [defaults in brackets]" ; echo " -exec-prefix=MYDIR configure for installation of host dependent files into MYDIR. [\"/usr/local\"]" ; echo " -gas configure the compilers for use with gas. [native as]" ; echo " -help print this message. [normal config]" ; echo " -lang=LANG configure to build LANG. [gcc]" ; echo " -nfp configure the compilers default to soft floating point. [hard float]" ; echo " -norecursion configure this directory only. [recurse]" ; echo " -prefix=MYDIR configure for installation of host dependent files into MYDIR. [\"/usr/local\"]" ; echo " -program-prefix=FOO install programs with FOO prepended to their names. [ \"\" ]" ; echo " -program-suffix=FOO install programs with FOO appended to their names. [ \"\" ]" ; echo " -program-transform-name=FOO install programs with names transformed by sed pattern FOO. [ \"\" ]" ; echo " -site=SITE configure with site specific makefile for SITE" ; echo " -srcdir=DIR find the sources in DIR. [\".\" or \"..\"]" ; echo " -target=TARGET configure for TARGET. [TARGET = HOST]" ; echo " -tmpdir=TMPDIR create temporary files in TMPDIR. [ TMPDIR = \"/tmp\" ]" ; echo ; echo "Where HOST and TARGET are something like \"vax\", \"sun3\", \"encore\", etc." ; ) 1>&2 if [ -r config.status ] ; then cat config.status fi exit 1ficonfigsub=`echo ${progname} | sed 's/configure$/config.sub/'`moveifchange=`echo ${progname} | sed 's/configure$/move-if-change/'`# this is a hack. sun4 must always be a valid host alias or this will fail.if ${configsub} sun4 >/dev/null 2>&1 ; then trueelse echo '***' cannot find config.sub. 1>&2 exit 1fitouch config.junkif ${moveifchange} config.junk config.trash ; then trueelse echo '***' cannot find move-if-change. 1>&2 exit 1firm -f config.junk config.trashcase "${srcdir}" in"") if [ -r configure.in ] ; then srcdir=. else if [ -r ${progname}.in ] ; then srcdir=`echo ${progname} | sed 's:/configure$::'` else echo '***' "Can't find configure.in. Try using -srcdir=some_dir" 1>&2 exit 1 fi fi ;;*) ;;esac### warn about some conflicting configurations.case "${srcdir}" in".") ;;*) if [ -f ${srcdir}/config.status ] ; then echo '***' Cannot configure here in \"${PWD=`pwd`}\" when \"${srcdir}\" is currently configured. 1>&2 exit 1 fiesac# default exec_prefixcase "${exec_prefix}" in"") exec_prefix="\$(prefix)" ;;*) ;;esac### break up ${srcdir}/configure.in.case "`grep '^# per\-host:' ${srcdir}/configure.in`" in"") echo '***' ${srcdir}/configure.in has no "per-host:" line. 1>&2 exit 1 ;;*) ;;esaccase "`grep '^# per\-target:' ${srcdir}/configure.in`" in"") echo '***' ${srcdir}/configure.in has no "per-target:" line. 1>&2 exit 1 ;;*) ;;esaccase "${TMPDIR}" in"") TMPDIR=/tmp ; export TMPDIR ;;*) ;;esac# keep this filename short for &%*%$*# 14 char file namestmpfile=${TMPDIR}/cONf$$trap "rm -f ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos" 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -