configur
来自「GNU 系统开发优化 C 语言程序的应用程序」· 代码 · 共 548 行
TXT
548 行
#!/bin/sh# Guess values for system-dependent variables and create Makefiles.# Generated automatically using autoconf.# Copyright (C) 1991, 1992, 1993 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, 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.# Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] [--no-create]# [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE] [TARGET]# Ignores all args except --srcdir, --prefix, --exec-prefix, --no-create, and# --with-PACKAGE unless this script has special code to handle it.for argdo # Handle --exec-prefix with a space before the argument. if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix= # Handle --host with a space before the argument. elif test x$next_host = xyes; then next_host= # Handle --prefix with a space before the argument. elif test x$next_prefix = xyes; then prefix=$arg; next_prefix= # Handle --srcdir with a space before the argument. elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir= else case $arg in # For backward compatibility, also recognize exact --exec_prefix. -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*) exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e) next_exec_prefix=yes ;; -gas | --gas | --ga | --g) ;; -host=* | --host=* | --hos=* | --ho=* | --h=*) ;; -host | --host | --hos | --ho | --h) next_host=yes ;; -nfp | --nfp | --nf) ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre | --no-cr | --no-c | --no- | --no) no_create=1 ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) next_prefix=yes ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*) srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s) next_srcdir=yes ;; -with-* | --with-*) package=`echo $arg|sed 's/-*with-//'` # Delete all the valid chars; see if any are left. if test -n "`echo $package|sed 's/[-a-zA-Z0-9_]*//g'`"; then echo "configure: $package: invalid package name" >&2; exit 1 fi eval "with_`echo $package|sed s/-/_/g`=1" ;; -v | -verbose | --verbose | --verbos | --verbo | --verb | --ver | --ve | --v) verbose=yes ;; *) ;; esac fidonetrap 'rm -f conftest* core; exit 1' 1 3 15# Needed for some versions of `tr' so that character classes in `[]' work.if test "${LANG+set}" = "set" ; then LANG=Cfirm -f conftest*compile='${CC-cc} $CFLAGS $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1'# A filename unique to this package, relative to the directory that# configure is in, which we can look for to find out if srcdir is correct.unique_file=indent.c# Find the source files, if location was not specified.if test -z "$srcdir"; then srcdirdefaulted=yes # Try the directory containing this script, then `..'. prog=$0 confdir=`echo $prog|sed 's%/[^/][^/]*$%%'` test "X$confdir" = "X$prog" && confdir=. srcdir=$confdir if test ! -r $srcdir/$unique_file; then srcdir=.. fifiif test ! -r $srcdir/$unique_file; then if test x$srcdirdefaulted = xyes; then echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2 else echo "configure: Can not find sources in \`${srcdir}'." 1>&2 fi exit 1fi# Preserve a srcdir of `.' to avoid automounter screwups with pwd.# But we can't avoid them for `..', to make subdirectories work.case $srcdir in .|/*|~*) ;; *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.esac# Save the original args to write them into config.status later.configure_args="$*"if test -z "$CC"; then # Extract the first word of `gcc', so it can be a program name with args. set dummy gcc; word=$2 echo checking for $word IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do test -z "$dir" && dir=. if test -f $dir/$word; then CC="gcc" break fi done IFS="$saveifs"fitest -z "$CC" && CC="cc"test -n "$CC" -a -n "$verbose" && echo " setting CC to $CC"# Find out if we are using GNU C, under whatever name.cat > conftest.c <<EOF#ifdef __GNUC__ yes#endifEOF${CC-cc} -E conftest.c > conftest.out 2>&1if egrep yes conftest.out >/dev/null 2>&1; then GCC=1 # For later tests.firm -f conftest*echo checking how to run the C preprocessorif test -z "$CPP"; then CPP='${CC-cc} -E' cat > conftest.c <<EOF#include <stdio.h>EOFerr=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`if test -z "$err"; then :else CPP=/lib/cppfirm -f conftest*fi# Make sure to not get the incompatible SysV /etc/install and# /usr/sbin/install, which might be in PATH before a BSD-like install,# or the SunOS /usr/etc/install directory, or the AIX /bin/install,# or the AFS install, which mishandles nonexistent args, or# /usr/ucb/install on SVR4, which tries to use the nonexistent group# `staff'. On most BSDish systems install is in /usr/bin, not /usr/ucb# anyway. Sigh.if test "z${INSTALL}" = "z" ; then echo checking for install IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" for dir in $PATH; do test -z "$dir" && dir=. case $dir in /etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;; *) if test -f $dir/installbsd; then INSTALL="$dir/installbsd -c" # OSF1 INSTALL_PROGRAM='$(INSTALL)' INSTALL_DATA='$(INSTALL) -m 644' break fi if test -f $dir/install; then if grep dspmsg $dir/install >/dev/null 2>&1; then : # AIX else INSTALL="$dir/install -c" INSTALL_PROGRAM='$(INSTALL)' INSTALL_DATA='$(INSTALL) -m 644' break fi fi ;; esac done IFS="$saveifs"fiINSTALL=${INSTALL-cp}INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}echo checking for AIXcat > conftest.c <<EOF#ifdef _AIX yes#endifEOFeval "$CPP \$DEFS conftest.c > conftest.out 2>&1"if egrep "yes" conftest.out >/dev/null 2>&1; then {test -n "$verbose" && \echo ' defining' _ALL_SOURCEDEFS="$DEFS -D_ALL_SOURCE=1"}firm -f conftest*echo checking for minix/config.hcat > conftest.c <<EOF#include <minix/config.h>EOFerr=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`if test -z "$err"; then MINIX=1firm -f conftest*# The Minix shell can't assign to the same variable on the same line!if test -n "$MINIX"; then {test -n "$verbose" && \echo ' defining' _POSIX_SOURCEDEFS="$DEFS -D_POSIX_SOURCE=1"} {test -n "$verbose" && \echo ' defining' _POSIX_1_SOURCE to be '2'DEFS="$DEFS -D_POSIX_1_SOURCE=2"} {test -n "$verbose" && \echo ' defining' _MINIXDEFS="$DEFS -D_MINIX=1"}fiecho checking for POSIXized ISCif test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1then ISC=1 # If later tests want to check for ISC. {test -n "$verbose" && \echo ' defining' _POSIX_SOURCEDEFS="$DEFS -D_POSIX_SOURCE=1"} if test -n "$GCC"; then CC="$CC -posix" else CC="$CC -Xp" fifiecho checking for BSD string and memory functionscat > conftest.c <<EOF#include <strings.h>int main() { exit(0); }int t() { rindex(0, 0); bzero(0, 0); }EOFif eval $compile; then :else {test -n "$verbose" && \echo ' defining' USGDEFS="$DEFS -DUSG=1"}firm -f conftest*for func in memcpydoecho checking for ${func}cat > conftest.c <<EOFint main() { exit(0); }int t() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */#if defined (__stub_${func}) || defined (__stub___${func})choke me#else/* Override any gcc2 internal prototype to avoid an error. */extern char ${func}(); ${func}();#endif }EOFif eval $compile; then :else LIBOBJS="$LIBOBJS ${func}.o"test -n "$verbose" && echo " using ${func}.o instead"firm -f conftest*doneecho checking for unistd.hcat > conftest.c <<EOF#include <unistd.h>EOFerr=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`if test -z "$err"; then {test -n "$verbose" && \echo ' defining' HAVE_UNISTD_HDEFS="$DEFS -DHAVE_UNISTD_H=1"}firm -f conftest*echo checking for directory library headerdirheader=if test -z "$dirheader"; then echo checking for dirent.hcat > conftest.c <<EOF#include <sys/types.h>#include <dirent.h>int main() { exit(0); }int t() { DIR *dirp = opendir ("/"); }EOFif eval $compile; then {test -n "$verbose" && \echo ' defining' DIRENTDEFS="$DEFS -DDIRENT=1"} dirheader=dirent.hfirm -f conftest*fiif test -z "$dirheader"; then echo checking for sys/ndir.hcat > conftest.c <<EOF#include <sys/types.h>#include <sys/ndir.h>int main() { exit(0); }int t() { DIR *dirp = opendir ("/"); }EOFif eval $compile; then {test -n "$verbose" && \echo ' defining' SYSNDIRDEFS="$DEFS -DSYSNDIR=1"} dirheader=sys/ndir.hfirm -f conftest*fiif test -z "$dirheader"; then echo checking for sys/dir.hcat > conftest.c <<EOF#include <sys/types.h>#include <sys/dir.h>int main() { exit(0); }int t() { DIR *dirp = opendir ("/"); }EOFif eval $compile; then {test -n "$verbose" && \echo ' defining' SYSDIRDEFS="$DEFS -DSYSDIR=1"} dirheader=sys/dir.hfirm -f conftest*fiif test -z "$dirheader"; then echo checking for ndir.hcat > conftest.c <<EOF#include <sys/types.h>#include <ndir.h>int main() { exit(0); }int t() { DIR *dirp = opendir ("/"); }EOFif eval $compile; then {test -n "$verbose" && \echo ' defining' NDIRDEFS="$DEFS -DNDIR=1"} dirheader=ndir.hfirm -f conftest*fiecho checking for closedir return valuecat > conftest.c <<EOF#include <sys/types.h>#include <$dirheader>int closedir(); main() { exit(closedir(opendir(".")) != 0); }EOFeval $compileif test -s conftest && (./conftest; exit) 2>/dev/null; then :else {test -n "$verbose" && \echo ' defining' VOID_CLOSEDIRDEFS="$DEFS -DVOID_CLOSEDIR=1"}firm -f conftest*if test -z "$dirheader"; then {test -n "$verbose" && \echo ' defining' NODIRDEFS="$DEFS -DNODIR=1"}fiecho checking for Xenixcat > conftest.c <<EOF#if defined(M_XENIX) && !defined(M_UNIX) yes#endifEOFeval "$CPP \$DEFS conftest.c > conftest.out 2>&1"if egrep "yes" conftest.out >/dev/null 2>&1; then XENIX=1firm -f conftest*if test -n "$XENIX"; then LIBS="$LIBS -lx" case "$DEFS" in *SYSNDIR*) ;; *) LIBS="-ldir $LIBS" ;; # Make sure -ldir precedes any -lx. esacfiif test -n "$prefix"; then test -z "$exec_prefix" && exec_prefix='${prefix}' prsub="s%^prefix\\([ ]*\\)=\\([ ]*\\).*$%prefix\\1=\\2$prefix%"fiif test -n "$exec_prefix"; then prsub="$prsubs%^exec_prefix\\([ ]*\\)=\\([ ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"ficat >conftest.def <<EOF$DEFSEOFescape_ampersand_and_backslash='s%[&\\]%\\&%g'DEFS=`sed "$escape_ampersand_and_backslash" <conftest.def`rm -f conftest.deftrap 'rm -f config.status; exit 1' 1 3 15echo creating config.statusrm -f config.statuscat > config.status <<EOF#!/bin/sh# Generated automatically by configure.# Run this file to recreate the current configuration.# This directory was configured as follows,# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:## $0 $configure_argsfor argdo case "\$arg" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) exec /bin/sh $0 $configure_args ;; *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;; esacdonetrap 'rm -f makefile; exit 1' 1 3 15CC='$CC'CPP='$CPP'INSTALL='$INSTALL'INSTALL_PROGRAM='$INSTALL_PROGRAM'INSTALL_DATA='$INSTALL_DATA'LIBOBJS='$LIBOBJS'LIBS='$LIBS'srcdir='$srcdir'DEFS='$DEFS'prefix='$prefix'exec_prefix='$exec_prefix'prsub='$prsub'EOFcat >> config.status <<\EOFtop_srcdir=$srcdir# Allow make-time overrides of the generated file list.test -n "$gen_files" || gen_files="makefile"for file in .. $gen_files; do if [ "x$file" != "x.." ]; then srcdir=$top_srcdir # Remove last slash and all that follows it. Not all systems have dirname. dir=`echo $file|sed 's%/[^/][^/]*$%%'` if test "$dir" != "$file"; then test "$top_srcdir" != . && srcdir=$top_srcdir/$dir test ! -d $dir && mkdir $dir fi echo creating $file rm -f $file echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file sed -e "$prsubs%@CC@%$CC%gs%@CPP@%$CPP%gs%@INSTALL@%$INSTALL%gs%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%gs%@INSTALL_DATA@%$INSTALL_DATA%gs%@LIBOBJS@%$LIBOBJS%gs%@LIBS@%$LIBS%gs%@srcdir@%$srcdir%gs%@DEFS@%$DEFS%" $top_srcdir/${file}.in >> $filefi; doneexit 0EOFchmod +x config.statustest -n "$no_create" || ./config.status
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?