#!/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="$PREFIX/etc/" LIBNAME=lib%PROJECT% DISTNAME=%PROJECT% DISTDIR=%PROJECT% VERSION=0.0.1 # include the check function library . ./conf/functions SRCDIRS="src" LIBS=-lpthread LIBLIBS="-liwremote" INCLUDES="-I \$(TOPDIR)/include/" EXTRACLEANFILES="test doxygen.log libiw* parser/idlparser.cc parser/*.o parser/idlparser.hh parser/idlparser.o* parser/idlparser.yy.cc parser/idlparser.yy.hh parser/idlparser.yy.o* src/sensorserver.* src/sensorcommon.* src/sensorclient.*" STERILFILES="*.tag lib/*.a lib/*.so* include/config.h makefile.conf" STERILDIRS= # Files to be linked together to the library LIBFILES_src=" %PROJECT%common.o %PROJECT%client.o %PROJECT%server.o " # internal configuration and needed versions CONFLOG=config.log DEBUG=0 CONFIG_H=./include/config.h MIN_MAKE="3.78" MIN_GCC="3.3.0" MIN_GPP="3.3.1" MIN_SSL="0.9.7a" MIN_BOOST="1.32.0" # # End of configurable stuff # echo "Starting automagix config script" > $CONFLOG check_sed if [ $BAIL == "yes" ] then cleanup; 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-make | --force-make | --force-mak | --force-ma | --force-m) FORCEMAKE=yes ;; -force-gcc | --force-gcc | --force-gc) FORCEGCC=yes ;; -help | --help | --hel | --he | -h) HELP=yes ;; --debug=*) DEBUG="$ac_optarg" ;; *=*) 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 { (cleanup; exit 1); cleanup; 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--force-gcc=yes\tForces configure to accept current C compiler version" echo -e "\t--force-gpp=yes\tForces configure to accept current C++ compiler version" 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 " CXXFLAGS C++ Compiler flags, e.g. -I if you have" echo -e " headers in a nonstandard directory " echo -e " CXX C++ Compiler" 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." cleanup; exit 0 fi ############################################################################## # GCC Version ############################################################################## check_ostype check_dynlib check_gcc $MIN_GCC if [ $BAIL == "yes" ] then echo "Your GCC is too old and does not support proper ISO C" cleanup; 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++" cleanup; exit 1 fi ############################################################################## # gmake Version ############################################################################## check_gmake $MIN_MAKE if [ $BAIL == "yes" ] then cleanup; exit 1 fi #check_dlopen if [ $BAIL == "yes" ] then cleanup; exit 1 fi #check_strnlen #check_strcasestr #check_vasprintf #check_strerror_r check_echo ############################################################################## # pkg-config Version ############################################################################## check_pkg_config check_boost $MIN_BOOST if [ $BAIL == "yes" ] then cleanup; exit 1 fi check_doxygen BAIL=no set_debug $DEBUG 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 "LIBDIR\t\t$PREFIX/lib" echo -e "\nWe are ready to compile. Type \"gmake lnk\" and then \"gmake\" or \"gmake install\" to create and then install the software. If you plan to develop then \"gmake dep\" is a usefull feature too"