⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configure

📁 早期freebsd实现
💻
📖 第 1 页 / 共 2 页
字号:
for hdr in dirent.h limits.h sys/dir.h stdlib.hdotrhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'`echo checking for ${hdr}cat > conftest.c <<EOF#include <${hdr}>EOFerr=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`if test -z "$err"; then  DEFS="$DEFS -D${trhdr}=1"firm -f conftest*doneecho checking for 'C++ <limits.h>'cat <<EOF >conftest.cc#include <limits.h>extern "C" { void exit(int); }int main() { exit(0); } void t() { int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX; }EOFif eval $cc_compile; then  DEFS="$DEFS -DHAVE_CC_LIMITS_H=1"firm -f conftest*echo checking for 'C++ <unistd.h>'cat <<EOF >conftest.cc#include <unistd.h>extern "C" { void exit(int); }int main() { exit(0); } void t() { read(0, 0, 0); }EOFif eval $cc_compile; then  DEFS="$DEFS -DHAVE_CC_UNISTD_H=1"firm -f conftest*echo checking for declaration of getopt in stdlib.hcat <<EOF >conftest.cc#include <stdlib.h>extern "C" { void exit(int); }int main() { exit(0); } void t() { int opt = getopt(0, 0, 0); optarg = "foo"; optind = 1; }EOFif eval $cc_compile; then  DEFS="$DEFS -DSTDLIB_H_DECLARES_GETOPT=1"firm -f conftest*echo checking for declaration of getopt in unistd.hcat <<EOF >conftest.cc#include <sys/types.h>#include <unistd.h>extern "C" { void exit(int); }int main() { exit(0); } void t() { int opt = getopt(0, 0, 0); }EOFif eval $cc_compile; then  DEFS="$DEFS -DUNISTD_H_DECLARES_GETOPT=1"firm -f conftest*echo checking for declaration of putenvcat <<EOF >conftest.cc#include <stdlib.h>extern "C" { void exit(int); }int main() { exit(0); } void t() { putenv((char *)0); }EOFif eval $cc_compile; then  DEFS="$DEFS -DSTDLIB_H_DECLARES_PUTENV=1"firm -f conftest*echo checking for time_tcat <<EOF >conftest.cc#include <time.h>extern "C" { void exit(int); }int main() { exit(0); } void t() { time_t t = time(0); struct tm *p = localtime(&t); }EOFif eval $cc_compile; then  :else  DEFS="$DEFS -DLONG_FOR_TIME_T=1"firm -f conftest*echo checking for return type of signal handlerscat > conftest.c <<EOF#include <sys/types.h>#include <signal.h>#ifdef signal#undef signal#endifextern void (*signal ()) ();main() { exit(0); } t() { int i; }EOFif eval $compile; then  DEFS="$DEFS -DRETSIGTYPE=void"else  DEFS="$DEFS -DRETSIGTYPE=int"firm -f conftest*echo checking for struct exceptioncat > conftest.c <<EOF#include <math.h>main() { exit(0); } t() { struct exception e; }EOFif eval $compile; then  DEFS="$DEFS -DHAVE_STRUCT_EXCEPTION=1"firm -f conftest*echo checking for mmapcat > conftest.c <<EOF#include <sys/types.h>#include <sys/mman.h>main() { exit(0); } t() { char *p = mmap(0, 0, PROT_READ, MAP_PRIVATE, 0, 0); munmap(p, 0); }EOFif eval $compile; then  DEFS="$DEFS -DHAVE_MMAP=1"firm -f conftest*echo checking for pid_t in sys/types.hecho '#include <sys/types.h>' > conftest.ceval "$CPP $DEFS conftest.c > conftest.out 2>&1"if egrep "pid_t" conftest.out >/dev/null 2>&1; then  :else   DEFS="$DEFS -Dpid_t=int"firm -f conftest*echo checking for vfork.hcat > conftest.c <<EOF#include <vfork.h>EOFerr=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`if test -z "$err"; then  DEFS="$DEFS -DHAVE_VFORK_H=1"firm -f conftest*echo checking for working vforkcat > conftest.c <<EOF/* Thanks to Paul Eggert for this test.  */#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#ifdef HAVE_UNISTD_H#include <unistd.h>#endif#ifdef HAVE_VFORK_H#include <vfork.h>#endifmain() {  pid_t parent = getpid();  pid_t child = vfork();  if (child == 0) {    /* On sparc systems, changes by the child to local and incoming       argument registers are propagated back to the parent.       The compiler is told about this with #include <vfork.h>,       but some compilers (e.g. gcc -O) don't grok <vfork.h>.       Test for this by using lots of local variables, at least       as many local variables as main has allocated so far       including compiler temporaries.  4 locals are enough for       gcc 1.40.3 on a sparc, but we use 8 to be safe.       A buggy compiler should reuse the register of parent       for one of the local variables, since it will think that       parent can't possibly be used any more in this routine.       Assigning to the local variable will thus munge parent       in the parent process.  */    pid_t      p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),      p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();    /* Convince the compiler that p..p7 are live; otherwise, it might       use the same hardware register for all 8 local variables.  */    if (p != p1 || p != p2 || p != p3 || p != p4	|| p != p5 || p != p6 || p != p7)      _exit(1);    /* On some systems (e.g. IRIX 3.3),       vfork doesn't separate parent from child file descriptors.       If the child closes a descriptor before it execs or exits,       this munges the parent's descriptor as well.       Test for this by closing stdout in the child.  */    _exit(close(fileno(stdout)) != 0);  } else {    int status;    struct stat st;    while (wait(&status) != child)      ;    exit(	 /* Was there some problem with vforking?  */	 child < 0	 /* Did the child fail?  (This shouldn't happen.)  */	 || status	 /* Did the vfork/compiler bug occur?  */	 || parent != getpid()	 /* Did the file descriptor bug occur?  */	 || fstat(fileno(stdout), &st) != 0	 );  }}EOFeval $compileif test -s conftest && (./conftest; exit) 2>/dev/null; then  :else  DEFS="$DEFS -Dvfork=fork"firm -f conftest*saved_libs="$LIBS"LIBS="$LIBS -lm"for func in fmod strtol getcwd strerror putenvdoecho checking for ${func}cat > conftest.c <<EOFmain() { exit(0); } t() { /* Override any gcc2 internal prototype to avoid an error.  */extern char ${func}(); ${func}(); }EOFif eval $compile; then  :else  LIBOBJS="$LIBOBJS ${func}.o"firm -f conftest*doneLIBS="$saved_libs"for func in rename mkstempdotrfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'`echo checking for ${func}cat > conftest.c <<EOF#include <stdio.h>main() { exit(0); } t() { #ifdef __stub_${func}choke me#else/* Override any gcc2 internal prototype to avoid an error.  */extern char ${func}(); ${func}();#endif }EOFif eval $compile; then  DEFS="$DEFS -D${trfunc}=1"firm -f conftest*#endifdoneecho checking for sys_siglistcat > conftest.c <<EOFmain() { exit(0); } t() { extern char *sys_siglist[]; sys_siglist[0] = 0; }EOFif eval $compile; then  DEFS="$DEFS -DHAVE_SYS_SIGLIST=1"firm -f conftest*echo checking for gcc/g++ delete bugcat <<EOF > conftest.cc#include <stdlib.h>#include <stddef.h>int testit = 0;int main(){  testit = 1;  int *p = new int;  delete p;  testit = 0;  exit(1);}static unsigned dummy[3];void *operator new(size_t n){  if (testit) {    dummy[1] = -(unsigned)(dummy + 2);    return dummy + 2;  }  else    return (void *)malloc(n);}void operator delete(void *p){  if (testit) {    if (p == dummy)      exit(0);  }  else    free(p);}EOFrm -f conftesteval $cc_compileif test -s conftest && (./conftest) 2>/dev/null; then  DEFS="$DEFS -DCOOKIE_BUG=1"firm -f conftest*echo checking for cfront ANSI C INT_MIN bugcat <<EOF > conftest.cc#include <stdlib.h>#ifdef HAVE_CC_LIMITS_H#include <limits.h>#else#define INT_MAX 2147483647#endif#undef INT_MIN#define INT_MIN (-INT_MAX-1)int main(){  int z = 0;  exit(INT_MIN < z);}EOFrm -f conftesteval $cc_compileif test -s conftest && (./conftest) 2>/dev/null; then  DEFS="$DEFS -DCFRONT_ANSI_BUG=1"firm -f conftest*echo checking for new array delete syntaxcat <<EOF >conftest.ccextern "C" { void exit(int); }int main() { exit(0); } void t() { char *p = new char[5]; delete [] p; }EOFif eval $cc_compile; then  :else  DEFS="$DEFS -DARRAY_DELETE_NEEDS_SIZE=1"firm -f conftest*echo checking for traditional preprocessorcat <<EOF >conftest.cc#define name2(a,b) a/**/bextern "C" { void exit(int); }int main() { exit(0); } void t() { int name2(foo,bar); }EOFif eval $cc_compile; then  DEFS="$DEFS -DTRADITIONAL_CPP=1"firm -f conftest*echo checking for w_coredumpcat > conftest.c <<EOF#include <sys/types.h>#include <sys/wait.h>main(){#ifdef WCOREFLAG  exit(1);#else  int i = 0;  ((union wait *)&i)->w_coredump = 1;  exit(i != 0200);#endif}EOFeval $compileif test -s conftest && (./conftest; exit) 2>/dev/null; then  DEFS="$DEFS -DWCOREFLAG=0200"firm -f conftest*test -n "${BROKEN_SPOOLER_FLAGS}" || BROKEN_SPOOLER_FLAGS=7echo using default value of ${BROKEN_SPOOLER_FLAGS} for grops -b optionif test -z "$PAGE" && test -r $prefix/lib/groff/font/devps/DESCthen	if grep "^paperlength 841890" \		$prefix/lib/groff/font/devps/DESC >/dev/null 2>&1	then		PAGE=A4	else		PAGE=letter	fifiif test -z "$PAGE"then	dom=`awk '($1 == "dom" || $1 == "search") { print $2; exit}' \	    /etc/resolv.conf 2>/dev/null`	if test -z "$dom"	then		dom=`(domainname) 2>/dev/null | tr -d '+'`		if test -z "$dom"		then			dom=`(hostname) 2>/dev/null | grep '\.'`		fi	fi	# If the top-level domain is two letters and it's not `us' or `ca'	# then they probably use A4 paper.	case "$dom" in	*.[Uu][Ss]|*.[Cc][Aa]) ;;	*.[A-Za-z][A-Za-z]) PAGE=A4 ;;	esacfitest -n "$PAGE" || PAGE=letterecho guessing $PAGE size paperif 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%"fitrap '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`:## $0 $*for argdo  case "\$arg" in    -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)    exec /bin/sh $0 $* ;;    *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;  esacdonetrap 'rm -f Makefile; exit 1' 1 3 15CC='$CC'CCLIBS='$CCLIBS'CCC='$CCC'LPR='$LPR'LP='$LP'LPQ='$LPQ'PSPRINT='$PSPRINT'DVIPRINT='$DVIPRINT'PERLPATH='$PERLPATH'YACC='$YACC'RANLIB='$RANLIB'INSTALL='$INSTALL'INSTALL_PROGRAM='$INSTALL_PROGRAM'INSTALL_DATA='$INSTALL_DATA'LN_S='$LN_S'ETAGSCCFLAG='$ETAGSCCFLAG'SH_SCRIPT_SED_CMD='$SH_SCRIPT_SED_CMD'CPP='$CPP'LIBOBJS='$LIBOBJS'BROKEN_SPOOLER_FLAGS='$BROKEN_SPOOLER_FLAGS'PAGE='$PAGE'LIBS='$LIBS'srcdir='$srcdir'DEFS='$DEFS'prefix='$prefix'exec_prefix='$exec_prefix'prsub='$prsub'EOFcat >> config.status <<\EOFtop_srcdir=$srcdirfor file in .. Makefile; 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%@CCLIBS@%$CCLIBS%gs%@CCC@%$CCC%gs%@LPR@%$LPR%gs%@LP@%$LP%gs%@LPQ@%$LPQ%gs%@PSPRINT@%$PSPRINT%gs%@DVIPRINT@%$DVIPRINT%gs%@PERLPATH@%$PERLPATH%gs%@YACC@%$YACC%gs%@RANLIB@%$RANLIB%gs%@INSTALL@%$INSTALL%gs%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%gs%@INSTALL_DATA@%$INSTALL_DATA%gs%@LN_S@%$LN_S%gs%@ETAGSCCFLAG@%$ETAGSCCFLAG%gs%@SH_SCRIPT_SED_CMD@%$SH_SCRIPT_SED_CMD%gs%@CPP@%$CPP%gs%@LIBOBJS@%$LIBOBJS%gs%@BROKEN_SPOOLER_FLAGS@%$BROKEN_SPOOLER_FLAGS%gs%@PAGE@%$PAGE%gs%@LIBS@%$LIBS%gs%@srcdir@%$srcdir%gs%@DEFS@%$DEFS%" $top_srcdir/${file}.in >> $filefi; doneEOFchmod +x config.statustest -n "$no_create" || ./config.status

⌨️ 快捷键说明

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