#!/bin/sh #set at least compiler CC=gcc SYSNAME= SOCK_FLAGS= MAKEFILE=makefile PTHREAD_LIB= STRING_LIB= #DEBUG="-g -Wall -save-temps -DDEBUG" DEBUG= #DEBUG=-DDEBUG echo Guessing system type..................... case `uname -s` in 'Linux') echo Guessed OS: Linux echo If guess is wrong, please manually set it. Will be fixed later. SYSNAME=linux PTHREAD_LIB=-lpthread SOCK_FLAGS="" ;; 'SunOS') echo Guessed OS: SunOS echo If guess is wrong, please manually set it. Will be fixed later. SYSNAME=sunos SOCK_FLAGS="-lnsl -lsocket" PTHREAD_LIB=-lpthread STRING_LIB="-DSTRINGS_H" ;; 'FreeBSD') echo Guessed OS: FreeBSD echo If guess is wrong, please manually set it. Will be fixed later. SYSNAME=freebsd SOCK_FLAGS="" echo FreeBSD links pthread libraries by -pthread, not -lpthread. PTHREAD_LIB=-pthread STRING_LIB="" ;; *) echo OS Type not supported '('apparently')' echo Please change this file manually if you feel that this program may still sompile on your machine. Will be fixed later. exit ;; esac echo Searching for compatible components ............ echo 'Searching for inet_ntop()' echo ' char inet_ntop(); int main(){ inet_ntop(); return 0;} ' > mgettmp.c $CC $SOCK_FLAGS -o mgettmp mgettmp.c 2>/dev/null; if test -s mgettmp; then HAS_INET_NTOP='-DHAVE_INET_NTOP'; else HAS_INET_NTOP=''; fi; rm -rf mgettmp* echo 'Searching for herror()' echo ' char herror(); int main(){ herror();return 0;} ' > mgettmp.c $CC $SOCK_LDFLAGS -o mgettmp mgettmp.c 2>/dev/null; if test -s mgettmp; then HAS_HERROR='-DHAS_HERROR'; else HAS_HERROR=''; fi; rm -rf mgettmp* echo 'Searching for getopt_long()' echo ' char getopt_long(); int main(){ getopt_long();return 0;} ' > mgettmp.c $CC -o mgettmp mgettmp.c 2>/dev/null; if test -s mgettmp; then HAS_GETOPT='-DHAVE_GETOPT_LONG'; else HAS_GETOPT=''; fi; rm -rf mgettmp* if [ -z "$HAS_GETOPT" ] then echo 'Searching for getopt() in getopt.h' echo " #include " > mgettmp.c echo "int main(){ return 0;} " >> mgettmp.c $CC -o mgettmp mgettmp.c 2>/dev/null; if test -s mgettmp; then HAS_GETOPT=-DHAVE_GETOPT_GETOPT_H; else HAS_GETOPT='' ; fi; rm -rf mgettmp* fi if [ -z "$HAS_GETOPT" ] then echo "Searching for getopt() in stdlib" echo ' #include ' >mgettmp.c echo 'int main(){ getopt(0,NULL,NULL);return 0;} ' >> mgettmp.c $CC -o mgettmp mgettmp.c 2>/dev/null; if test -s mgettmp; then HAS_GETOPT=-DHAVE_GETOPT_STDLIB_H; else HAS_GETOPT='' ; fi; rm -rf mgettmp* fi rm -rf $MAKEFILE; touch $MAKEFILE echo "CC=$CC" >> $MAKEFILE echo "SOCK_FLAGS=$SOCK_FLAGS" >> $MAKEFILE echo "DEBUG=$DEBUG" >> $MAKEFILE echo "HAS_HERROR=$HAS_HERROR" >> $MAKEFILE echo "HAS_GETOPT=$HAS_GETOPT" >> $MAKEFILE echo "HAS_INET_NTOP=$HAS_INET_NTOP" >> $MAKEFILE echo "STRING_LIB=$STRING_LIB" >> $MAKEFILE echo "PTHREAD_LIB=$PTHREAD_LIB" >> $MAKEFILE echo 'DEFS=$(HAS_HERROR) $(HAS_GETOPT) $(HAS_INET_NTOP) $(STRING_LIB)' >> $MAKEFILE echo 'CFLAGS=$(DEFS) $(DEBUG)' >> $MAKEFILE echo 'LDFLAGS=$(PTHREAD_LIB) $(SOCK_FLAGS)' >> $MAKEFILE cat >> $MAKEFILE <