📄 configure
字号:
#!/bin/sh## This file was generated by confgen.# Do not edit.#PREFIX='/usr'#EXECPREFIX='$PREFIX'INSTALLROOT=''BINMODE='755'MANMODE='644'while [ x$1 != x ]; do case $1 in --help) cat <<EOFUsage: configure [options] --help Show this message --debug Enable debugging --prefix=path Prefix for location of files [/usr] --exec-prefix=path Location for arch-depedent files [prefix] --installroot=root Top of filesystem tree to install in [/] --binmode=mode Mode for binaries [755] --manmode=mode Mode for manual pages [644] --disable-readline Disable support for GNU readlineEOF exit 0;; --verbose) ;; --quiet) ;; --debug) DEBUG=1;; --prefix=*) PREFIX=`echo $1 | sed 's/--prefix=//'` ;; --exec-prefix=*) EXECPREFIX=`echo $1 | sed 's/--exec-prefix=//'` ;; --installroot=*) INSTALLROOT=`echo $1 | sed 's/--installroot=//'` ;; --binmode=*) BINMODE=`echo $1 | sed 's/--binmode=//'` ;; --manmode=*) MANMODE=`echo $1 | sed 's/--manmode=//'` ;; --disable-readline) DISABLE_READLINE=1 ;; *) echo "Unrecognized option: $1"; exit 1;;esac shiftdoneif [ x$EXECPREFIX = x ]; then EXECPREFIX="$PREFIX"fi########################################################################BINDIR="$EXECPREFIX/bin"MANDIR="$PREFIX/man"echo "Directories: $ROOTBINDIR $BINDIR $SBINDIR $MANDIR"if [ x$INSTALLROOT != x ]; then echo "Installing in chroot tree rooted at $INSTALLROOT"fi########################################################################CC=gccCFLAGS=WARNINGS=LDFLAGS=LIBS=echo -n "Checking for gcc..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "nope. Using cc." CC=ccelse echo "found"firm -f __conftest __conftest.cecho -n "Checking that $CC works..."cat <<EOF >__conftest.c#include <stdio.h>int main(int argc, char *argv[]) { printf("Hello from %s\n", argv[0]); return argc;}EOF$CC $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "nope, doesn't run." echo "Sorry." exit 1fiTEMP=`./__conftest 1 2 3`if [ $? != 4 ]; then echo "nope, doesn't work." echo "Sorry." exit 1fiif [ "x$TEMP" != "xHello from ./__conftest" ]; then echo "nope, doesn't work." echo "Sorry." exit 1fiecho 'ok'rm -f __conftest __conftest.c########################################################################echo -n "Checking if $CC accepts -Wall..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Wall $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Wall"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -W..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -W $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -W"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -Wpointer-arith..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Wpointer-arith $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Wpointer-arith"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -Wbad-function-cast..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Wbad-function-cast $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Wbad-function-cast"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -Wcast-qual..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Wcast-qual $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Wcast-qual"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -Wstrict-prototypes..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Wstrict-prototypes $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Wstrict-prototypes"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -Wmissing-prototypes..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Wmissing-prototypes $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Wmissing-prototypes"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -Wmissing-declarations..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Wmissing-declarations $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Wmissing-declarations"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -Wnested-externs..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Wnested-externs $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Wnested-externs"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -Winline..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Winline $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Winline"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -Wcast-align..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -Wcast-align $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" WARNINGS="${WARNINGS} -Wcast-align"firm -f __conftest __conftest.c########################################################################echo -n "Checking if $CC accepts -pipe..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -pipe $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" CFLAGS="${CFLAGS} -pipe"firm -f __conftest __conftest.cif [ x$DEBUG != x ]; thenecho -n "Checking if $CC accepts -g..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -g $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" CFLAGS="${CFLAGS} -g"firm -f __conftest __conftest.celseecho -n "Checking if $CC accepts -O2..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -O2 $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" CFLAGS="${CFLAGS} -O2"firm -f __conftest __conftest.cecho -n "Checking if $CC accepts -s..."cat <<EOF >__conftest.c#include <stdio.h>int main() { printf("Hello\n"); return 0;}EOF$CC -s $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" LDFLAGS="${LDFLAGS} -s"firm -f __conftest __conftest.cfi########################################################################echo -n "Checking for GNU libc..."cat <<EOF >__conftest.c#include <stdio.h>#if defined(__GLIBC__) && (__GLIBC__ >= 2)int tester;#endifint main() { tester=6; return 0; }EOF$CC $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no" USE_GLIBC=0else echo "yes" USE_GLIBC=1firm -f __conftest __conftest.cecho -n "Checking for correctly installed ncurses..."cat <<EOF >__conftest.c#include <stdio.h>#include <curses.h>#ifndef KEY_DOWNsyntax error. /* not ncurses */#endifint main() { endwin(); return 0;}EOF$CC $CFLAGS $WARNINGS -lncurses $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no" HAS_NCURSES=0else echo "yes" HAS_NCURSES=1firm -f __conftest __conftest.cif [ $HAS_NCURSES = 0 ]; thenecho -n "Trying -I/usr/include/ncurses..."cat <<EOF >__conftest.c#include <stdio.h>#include <curses.h>#ifndef KEY_DOWNsyntax error. /* not ncurses */#endifint main() { endwin(); return 0;}EOF$CC -I/usr/include/ncurses $CFLAGS $WARNINGS -lncurses $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "no"else echo "yes" HAS_NCURSES=1 CFLAGS="${CFLAGS} -I/usr/include/ncurses"firm -f __conftest __conftest.cfiif [ $HAS_NCURSES = 1 ]; then echo 'Using ncurses for termcap' LIBTERMCAP=-lncurseselseecho -n "Looking for termcap library..."cat <<EOF >__conftest.c#include <stdio.h>#include <termcap.h>int main() { tgetent(NULL, NULL); return 0; }EOF$CC $CFLAGS $WARNINGS -ltermcap $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "not found" echo 'Sorry.' exit 1else echo "found" LIBTERMCAP=-ltermcapfirm -f __conftest __conftest.cfiif [ x$DISABLE_READLINE != x ]; then echo 'GNU readline support disabled' USE_READLINE=0elseecho -n "Checking for GNU readline..."cat <<EOF >__conftest.c#include <stdio.h>#include <readline/readline.h>#include <readline/tilde.h>int main() { readline("foo"); return 0; }EOF$CC $CFLAGS $WARNINGS -lreadline $LIBTERMCAP $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "not found" USE_READLINE=0else echo "yes" USE_READLINE=1firm -f __conftest __conftest.cfiNEED_BSD_SIGNAL=1echo -n "Checking for BSD signal semantics..."cat <<EOF >__conftest.c#include <unistd.h>#include <signal.h>int count=0;handle() { count++; }int main() { int pid=getpid(); signal(SIGINT, handle); kill(pid,SIGINT); kill(pid,SIGINT); kill(pid,SIGINT); if (count!=3) return 1; return 0;}EOF$CC $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "nope" TEMP=0else TEMP=1fiif [ $TEMP = 1 ]; then ./__conftest if [ $? != 0 ]; then TEMP=0; echo 'nope' else TEMP=1; echo 'got it'fi;firm -f __conftest __conftest.cif [ $TEMP = 0 ]; thenecho -n "Checking if -D__USE_BSD_SIGNAL helps..."cat <<EOF >__conftest.c#include <unistd.h>#include <signal.h>int count=0;handle() { count++; }int main() { int pid=getpid(); signal(SIGINT, handle); kill(pid,SIGINT); kill(pid,SIGINT); kill(pid,SIGINT); if (count!=3) return 1; return 0;}EOF$CC -D__USE_BSD_SIGNAL $CFLAGS $WARNINGS $LIBS __conftest.c -o __conftest >/dev/null 2>&1if [ $? != 0 ]; then echo "nope" TEMP=0else TEMP=1fiif [ $TEMP = 1 ]; then ./__conftest if [ $? != 0 ]; then TEMP=0; echo 'nope' else TEMP=1; echo 'got it'fi;firm -f __conftest __conftest.cif [ $TEMP = 0 ]; then echo 'Sorry.' exit 1else CFLAGS="${CFLAGS} -D__USE_BSD_SIGNAL"fi;fi########################################################################CFLAGS="${CFLAGS} "'$(WARNINGS)'echo 'Generating MCONFIG...'mv -f MCONFIG MCONFIG.oldecho -n '# Generated by configure on ' >MCONFIGdate >> MCONFIGecho '#' >>MCONFIGecho >>MCONFIGecho "# Directory for user binaries" >>MCONFIGecho "BINDIR=$BINDIR" >>MCONFIGecho >>MCONFIGecho "# Directory for man page tree" >>MCONFIGecho "MANDIR=$MANDIR" >>MCONFIGecho >>MCONFIGecho "# Install into chroot area found here" >>MCONFIGecho "INSTALLROOT=$INSTALLROOT" >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho "# Mode for user binaries" >>MCONFIGecho "BINMODE=$BINMODE" >>MCONFIGecho >>MCONFIGecho "# Mode for manual pages" >>MCONFIGecho "MANMODE=$MANMODE" >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho "# Compiler to use" >>MCONFIGecho "CC=$CC" >>MCONFIGecho >>MCONFIGecho "# Compiler warnings" >>MCONFIGecho "WARNINGS=$WARNINGS" >>MCONFIGecho >>MCONFIGecho "# Compiler flags to use" >>MCONFIGecho "CFLAGS=$CFLAGS" >>MCONFIGecho >>MCONFIGecho "# Link-time flags to use" >>MCONFIGecho "LDFLAGS=$LDFLAGS" >>MCONFIGecho >>MCONFIGecho "# Additional link libraries" >>MCONFIGecho "LIBS=$LIBS" >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho "# Termcap library to use" >>MCONFIGecho "LIBTERMCAP=$LIBTERMCAP" >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho "# Work around GNU libc lossage" >>MCONFIGecho "USE_GLIBC=$USE_GLIBC" >>MCONFIGecho >>MCONFIGecho "# Use GNU readline library" >>MCONFIGecho "USE_READLINE=$USE_READLINE" >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho >>MCONFIGecho "# Tell confgen we need BSD signal semantics" >>MCONFIGecho "NEED_BSD_SIGNAL=$NEED_BSD_SIGNAL" >>MCONFIGecho >>MCONFIG
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -