#!/usr/bin/env bash #!/bin/bash # # # This is not generated by autoconf or similar, just handcoded, since we don't # need this much complexity # Our configuration for the makefiles !! PREFIX=$HOME SYSCONF=$HOME/etc/ LIBNAME=libiweargps DISTNAME=iweargps DISTDIR=iweargps VERSION=0.0.2 # include the check function library . ./functions SRCDIRS="src" LIBS=-lpthread LIBLIBS="-lpthread" INCLUDES="-I \$(TOPDIR)/include/" EXTRACLEANFILES="test doxygen.log libiw*" STERILFILES="*.tag lib/*.a lib/*.so* include/config.h makefile.conf" STERILDIRS=doc # Files to be linked together to the library LIBFILES_src="gpslocator.o optionguard.o gps.o" # internal configuration and needed versions CONFLOG=config.log CONFIG_H=./include/config.h MIN_MAKE="3.78" MIN_GCC="3.3.0" MIN_GPP="3.3.0" # # End of configurable stuff # echo "Starting automagix config script" > $CONFLOG check_sed if [ $BAIL == "yes" ] then exit 1 fi # "stolen" from autoconf {{{ ac_prev= ac_option=--`echo $ac_prev | sed 's/_/-/g'` ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` case $ac_option in -no-pkg-config | --no-pkg-config | --no-pkg-config | --no-pkg-confi | --no-pkg-conf | --no-pkg-con | --no-pkg-co | --no-pkg-c | --no-pkg- | --no-pkg | --no-pk | --no-p) NO_PKG_CONFIG=yes ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf | --syscon | --sysco | --sysc | --sys | --sy | --s) ac_prev=SYSCONF ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=* | --s=*) SYSCONF=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=PREFIX ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) PREFIX=$ac_optarg ;; -force-gpp | --force-gpp | --force-gp) FORCEGPP=yes ;; -force-gcc | --force-gcc | --force-gc) FORCEGCC=yes ;; -help | --help | --hel | --he | -h) HELP=yes ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; esac done # }}} eval PREFIX='$PREFIX' eval SYSCONF='$SYSCONF' set_dirs if [ ! -z "$HELP" ] then # echo "help" # echo -e "Unrecognized argument \"$1\"\n" echo -e "Valid options are :" echo -e "" echo -e "Fine Tuning of library and include directories:" echo -e "" echo -e "Other Options:" echo -e "\t--no-pkg-config\tSkippes any search for pkg-config" echo -e "\t--prefix=\tPath prefix to install the program into. default is $PREFIX" echo -e "\t--help\t\tDisplays this help screen" echo -e "" echo -e "Some influential environment variables:" echo -e " CC C compiler command" echo -e " CFLAGS C compiler flags" # echo -e " LDFLAGS linker flags, e.g. -L if you have libraries in a" # echo -e " nonstandard directory " echo -e " CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have" echo -e " headers in a nonstandard directory " echo -e " CPP C preprocessor" echo -e "" echo -e "Use these variables to override the choices made by \`configure' or to help" echo -e "it to find libraries and programs with nonstandard names/locations." exit 0 fi ############################################################################## # GCC Version ############################################################################## check_gcc $MIN_GCC if [ $BAIL == "yes" ] then echo "Your GCC is too old and does not support proper ISO C" exit 1 fi ############################################################################## # GCC Version ############################################################################## check_gpp $MIN_GPP if [ $BAIL == "yes" ] then echo "Your GCC is too old and does not support proper ISO C++" exit 1 fi ############################################################################## # gmake Version ############################################################################## check_gmake $MIN_MAKE if [ $BAIL == "yes" ] then exit 1 fi check_dlopen if [ $BAIL == "yes" ] then exit 1 fi check_strnlen check_strcasestr check_vasprintf check_strerror_r check_echo ############################################################################## # pkg-config Version ############################################################################## check_pkg_config #check_pgsql 7.3.2 if [ $BAIL == "yes" ] then exit 1 fi #check_libpq if [ $BAIL == "yes" ] then exit 1 fi #check_libpqxx 2.1.3 if [ $BAIL == "yes" ] then exit 1 fi check_doxygen gen_makefile makefile.conf gen_config $CONFIG_H echo -e "\nConfiguration :\n" echo -e "PREFIX\t\t$PREFIX" echo -e "SYSCONF\t\t$SYSCONF" echo -e "\nWe are ready to compile. Type \"gmake lnk\" and then \"gmake\" or \"gmake install\" to create and then install the software"