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

📄 configure

📁 harvest是一个下载html网页得机器人
💻
字号:
#!/bin/sh# Generate config.h from unix.cfg.trap 'rm -f doit doit.c doit.o doit.log config.out; exit 1' 1 2 3 15on=off=CC=${CC-cc}# Normally we use VARARGS if __STDC__ is not defined.# Test whether this assumption is wrong.cat >doit.c <<\EOF#ifdef __STDC__#include <stdarg.h>int foo(char *s,...){  va_list ap;  va_start(ap, s);  va_end(ap);  return 0;}#elseint foo = 0;#endifEOF$CC $CFLAGS -c doit.c >/dev/null 2>&1if test $? -ne 0then	on="$on VARARGS"ficat >doit.c <<\EOF#include <stddef.h>int foo = 0;EOFif $CC $CFLAGS -c doit.c >/dev/null 2>&1then	off="$off STDDEF_H_MISSING"else	on="$on STDDEF_H_MISSING"ficat >doit.c <<\EOF#include <stdlib.h>int foo = 0;EOFif $CC $CFLAGS -c doit.c >/dev/null 2>&1then	off="$off STDLIB_H_MISSING"else	on="$on STDLIB_H_MISSING"ficat >doit.c <<\EOF#include <limits.h>int foo = 0;EOFif $CC $CFLAGS -c doit.c >/dev/null 2>&1then	off="$off LIMITS_H_MISSING"else	on="$on LIMITS_H_MISSING"ficat >doit.c <<\EOF#include <vfork.h>int foo = 0;EOFif $CC $CFLAGS -c doit.c >/dev/null 2>&1then	on="$on HAVE_VFORK_H"else	off="$off HAVE_VFORK_H"ficat >doit.c <<\EOF#include <unistd.h>int foo = 0;EOFif $CC $CFLAGS -c doit.c >/dev/null 2>&1then	on="$on HAVE_UNISTD_H"else	off="$off HAVE_UNISTD_H"ficat >doit.c <<\EOF#include <sys/types.h>#include <sys/stat.h>int foo = 0;EOFif $CC $CFLAGS -c doit.c >/dev/null 2>&1then	on="$on HAVE_SYS_STAT_H"else	off="$off HAVE_SYS_STAT_H"ficat >doit.c <<\EOF/* Exit normally unless we need to use isascii. */#include <ctype.h>#include <signal.h>static int whoops(){  _exit(1);}main(){  int c;#ifdef isascii#ifdef SIGSEGV  signal(SIGSEGV, whoops);#endif#ifdef SIGBUS  signal(SIGBUS, whoops);#endif#ifdef SIGIOT  signal(SIGIOT, whoops);#endif  for (c = 128; c < 256; c++) {    if (c == '0' || c == '1' || c == '2' || c == '3' || c == '4' || c == '5'	|| c == '6' || c == '7' || c == '8' || c == '9') {      if (!isdigit(c) || isalpha(c) || iscntrl(c) || isspace(c) || ispunct(c))	exit(1);    }    else if (isdigit(c))      exit(1);    else if (isalpha(c)) {      if (iscntrl(c) || isspace(c) || ispunct(c)	  || (islower(c) && toupper(c) != c && !isupper(toupper(c)))	  || (isupper(c) && tolower(c) != c && !islower(tolower(c))))	exit(1);    }    else if (islower(c) || isupper(c))      exit(1);    else if (iscntrl(c)) {      if (ispunct(c))	exit(1);    }  }#endif /* isascii */  exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	# This tries to find the symbol that looks like the array	# used by <ctype.h>, and sees if its length appears to be 128	# rather than 256.	if test 1 = `(nm -n doit 2>/dev/null) | awk 'BEGIN {	weight["0"] = 0;	weight["1"] = 1;	weight["2"] = 2;	weight["3"] = 3;	weight["4"] = 4;	weight["5"] = 5;	weight["6"] = 6;	weight["7"] = 7;	weight["8"] = 8;	weight["9"] = 9;	weight["a"] = weight["A"] = 10;	weight["b"] = weight["B"] = 11;	weight["c"] = weight["C"] = 12;	weight["d"] = weight["D"] = 13;	weight["e"] = weight["E"] = 14;	weight["f"] = weight["F"] = 15;}/^[0-9a-zA-Z]* D .*ctype/ && ctype_nr == 0 {	ctype_nr = NR;	addr = 0;	len = length($1);	for (i = 1; i <= len; i++)		addr = addr*16 + weight[substr($1, i, 1)];}/^[0-9a-zA-Z]* D / && NR == ctype_nr + 1 {	next_addr = 0;	len = length($1);	for (i = 1; i <= len; i++)		next_addr = next_addr*16 + weight[substr($1, i, 1)];}END {	size = next_addr - addr;	if (size >= 128 && size < 256)		print "1";	else		print "0";}'`	then		on="$on USE_ISASCII"	else		if ((yes | man 3 ctype) 2>/dev/null) \		     | sed -e 's/.//g' -e 's/ *$//' -e '/de-$/N' \                           -e 's/-\n//g' -e '/defined$/N' -e '/only$/N' \	   		   -e '/where$/N' -e '/isascii$/N' -e '/is$/N' \			   -e 's/\n/ /g' -e 's/  */ /g' \		     | grep "defined only where isascii is true" >/dev/null		then			on="$on USE_ISASCII"		else			off="$off USE_ISASCII"		fi	fielse	on="$on USE_ISASCII"ficat >doit.c <<\EOFmain(argc, argv)int argc;char **argv;{  if (argc == 0)    remove("foo");    exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	off="$off REMOVE_MISSING"else	on="$on REMOVE_MISSING"ficat >doit.c <<\EOFmain(argc, argv)int argc;char **argv;{  if (argc == 0)    getopt(argc, argv, "v");    exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	on="$on HAVE_GETOPT"else	off="$off HAVE_GETOPT"ficat >doit.c <<\EOFmain(argc, argv)int argc;char **argv;{  if (argc == 0)    access("foo", 4);  exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	on="$on HAVE_ACCESS"else	off="$off HAVE_ACCESS"ficat >doit.c <<\EOFmain(argc, argv)int argc;char **argv;{  if (argc == 0)    vfork();  exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	on="$on HAVE_VFORK"else	off="$off HAVE_VFORK"ficat >doit.c <<\EOFmain(argc, argv)int argc;char **argv;{    if (argc == 0) {    int status;    waitpid(-1, &status, 0);  }  exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	on="$on HAVE_WAITPID"else	off="$off HAVE_WAITPID"ficat >doit.c <<\EOF#include <string.h>main(argc, argv)int argc;char **argv;{  if (argc == 0)    strerror(0);  exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	off="$off STRERROR_MISSING"else	on="$on STRERROR_MISSING"ficat >doit.c <<\EOF#include <strings.h>main(argc, argv)int argc;char **argv;{  if (argc == 0)	bcopy((char *)0, (char *)0, 0);  exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	# Only use BSD_STRINGS if ANSI string functions don't work.	cat >doit.c <<\EOF#include <string.h>main(argc, argv)int argc;char **argv;{  if (argc == 0)	memcpy((char *)0, (char *)0, 0);  exit(0);}EOF	if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null	then		off="$off BSD_STRINGS"	else		on="$on BSD_STRINGS"	fielse	off="$off BSD_STRINGS"ficat >doit.c <<\EOF#include <signal.h>main(argc, argv)int argc;char **argv;{  if (argc == 0)    raise(SIGINT);    exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	off="$off RAISE_MISSING"else	on="$on RAISE_MISSING"ficat >doit.c <<\EOF#include <stdio.h>main(argc, argv)int argc;char **argv;{  if (argc == 0) {    fpos_t pos;    fsetpos(stdin, &pos);    fgetpos(stdin, &pos);  }    exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	off="$off FPOS_MISSING"else	on="$on FPOS_MISSING"ficat >doit.c <<\EOF#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>main(argc, argv)int argc;char **argv;{  if (argc == 0) {    pid_t pid;    int status;    long n = sysconf(_SC_OPEN_MAX);    pid = waitpid(-1, &status, 0);    WIFSTOPPED(status);    WIFSIGNALED(status);    WIFEXITED(status);    WEXITSTATUS(status);    WTERMSIG(status);    WSTOPSIG(status);  }  exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	on="$on POSIX"else	off="$off POSIX"ficat >doit.c <<\EOF#include <stdio.h>#include <signal.h>static int whoops(){  _exit(1);}main(){  char buf[30];#ifdef SIGSEGV  signal(SIGSEGV, whoops);#endif#ifdef SIGBUS  signal(SIGBUS, whoops);#endif#ifdef SIGIOT  signal(SIGIOT, whoops);#endif  sprintf(buf, "%2$s%2$s%1$s%1$s", "bar", "foo");  exit(!!strcmp(buf, "foofoobarbar"));}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	on="$on HAVE_EXTENDED_PRINTF"else	off="$off HAVE_EXTENDED_PRINTF"ficat >doit.c <<\EOF#include <nl_types.h>main(argc, argv)int argc;char **argv;{  if (argc == 0) {    nl_catd d = catopen("foo", 0);    catgets(d, 1, 1, "default");    catclose(d);  }  exit(0);}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	on="$on HAVE_CAT"else	off="$off HAVE_CAT"ficat >doit.c <<\EOF#include <limits.h>char c = UCHAR_MAX;main(argc, argv)int argc;char **argv;{#if CHAR_MIN < 0  exit(!(c < 0));#else  exit(!(c > 0));#endif}EOFif $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/nullthen	char_signed=else	cat >doit.c <<\EOFmain(){  int i;  for (i = 0; i < 512; i++) {    char c = (char)i;    if (c < 0)	exit(1);  }  exit(0);}EOF	if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null	then		char_signed=0	else		char_signed=1	fificat >doit.c <<\EOFtypedef void VOID;extern VOID bar();VOID foo(){}EOFif $CC $CFLAGS -c doit.c >/dev/null 2>&1then	void_ret=voidelse	void_ret=intficat >doit.c <<\EOFvoid *foo(){  static char *buf;  return buf;}EOFif $CC $CFLAGS -c doit.c >doit.log 2>&1then	if test -s doit.log	then		void_star="char \*"	else		void_star="void \*"	fielse	void_star="char \*"fiedit=rm -f doit.c doit doit.log doit.ofor var in $ondo	edit="$edit -e 's;^/\\* *\\(#define $var [^/]*\\) *\\*/;\\1;'"donefor var in $offdo	edit="$edit -e 's;^#define $var [^/]*;/* & */;'"doneif test -n "$char_signed"then	edit="$edit -e 's;^/\\* *\\(#define CHAR_SIGNED $char_signed\\) *\\*/;\\1;'"fiedit="$edit -e 's/^typedef .*VOID;/typedef $void_ret VOID;/'"edit="$edit -e 's/^typedef .*UNIV;/typedef ${void_star}UNIV;/'"if test "X$prefix" != "X/usr/local"then	edit="$edit -e '/DEFAULT_PATH/s;/usr/local;$prefix;g'"fieval sed $edit $config ">config.out"mv config.out config.hexit 0

⌨️ 快捷键说明

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