diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2008-06-09 14:20:34 +0400 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2008-06-09 14:20:34 +0400 |
commit | 2564777f536f6fde73ddaf24eaf4697775970e13 (patch) | |
tree | 86a4c3c87b3618f1e56d19f52948ff754f909704 /configure | |
parent | 8dbb9984edd945090c2c8ae27f4cfede944ba912 (diff) | |
download | rspamd-2564777f536f6fde73ddaf24eaf4697775970e13.tar.gz rspamd-2564777f536f6fde73ddaf24eaf4697775970e13.zip |
* Add gnome mime parser to rspamd
* Add some protocol parser with evbuffer
* Add pkg-check to configure script for detecting gmime and glib
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 62 |
1 files changed, 58 insertions, 4 deletions
@@ -6,6 +6,8 @@ LEX="" YACC="" OS="" +PKG_CONFIG=`which pkg-config` + LOCALBASE=/usr/local PREFIX=$LOCALBASE @@ -17,15 +19,15 @@ LEX_SRC="cfg_file.l" YACC_OUTPUT="cfg_yacc.c" LEX_OUTPUT="cfg_lex.c" -SOURCES="upstream.c cfg_utils.c memcached.c main.c util.c worker.c fstring.c mime.c ${LEX_OUTPUT} ${YACC_OUTPUT}" +SOURCES="upstream.c cfg_utils.c memcached.c main.c util.c worker.c fstring.c ${LEX_OUTPUT} ${YACC_OUTPUT}" -CFLAGS="$CFLAGS -W -Wall -Wpointer-arith -Wno-unused-parameter" +CFLAGS="$CFLAGS -W -Wpointer-arith -Wno-unused-parameter" CFLAGS="$CFLAGS -Wno-unused-function -Wunused-variable -Wno-sign-compare" CFLAGS="$CFLAGS -Wunused-value -ggdb -I${LOCALBASE}/include" -CFLAGS="$CFLAGS -DRVERSION=\\\"${VERSION}\\\" -DHASH_COMPAT" +CFLAGS="$CFLAGS " LDFLAGS="$LDFLAGS -L/usr/lib -L${LOCALBASE}/lib" OPT_FLAGS="-O -pipe -fno-omit-frame-pointer" -DEPS="cfg_file.h memcached.h util.h main.h upstream.h fstring.h mime.h ${LEX_OUTPUT} ${YACC_OUTPUT}" +DEPS="cfg_file.h memcached.h util.h main.h upstream.h fstring.h ${LEX_OUTPUT} ${YACC_OUTPUT}" EXEC=rspamd USER=postfix GROUP=postfix @@ -251,6 +253,50 @@ check_lib() fi } +check_package() +{ + PACKAGE=$1 + PLIBS=`$PKG_CONFIG --libs $PACKAGE` + PCFLAGS=`$PKG_CONFIG --cflags $PACKAGE` + while [ $# -ne 1 -a -n $1 ] ; do + shift + if [ "F$INCLUDE" = "F" ] ; then + INCLUDE="$1" + else + INCLUDE="$INCLUDE $1" + fi + done + echo -n "Testing for $PACKAGE: " + echo >> config.log + echo "Testing for $PACKAGE: " >> config.log + echo "#include <sys/types.h>" > autotest.c + if [ "F$INCLUDE" != "F" ] ; then + for inc in $INCLUDE ; do + echo "#include \"$inc\"" >> autotest.c + done + fi + echo "#include <stdlib.h>" >> autotest.c + echo "int main (int argc, char **argv) { return 0; }" >> autotest.c + echo "$GCC $CFLAGS $PCFLAGS $PTHREAD_CFLAGS -o autotest $LDFLAGS $LIBS $PLIBS $PTHREAD_LDFLAGS autotest.c" >>config.log + $GCC $CFLAGS $PCFLAGS $PTHREAD_CFLAGS -o autotest $LDFLAGS $LIBS $PLIBS $PTHREAD_LDFLAGS autotest.c >>config.log 2>&1 + if [ $? -eq 0 ] ; then + echo "found" + LIBS="$LIBS $PLIBS" + CFLAGS="$CFLAGS $PCFLAGS" + cleanup + echo "-> OK" >> config.log + return 0 + else + echo "not found" + echo "-> FAILED" >> config.log + echo "Failed program was:" >> config.log + cat autotest.c >> config.log + cleanup + return 1 + fi + +} + check_os() { _OS=`uname -s` @@ -304,6 +350,11 @@ write_result() echo "Ldflags: $LDFLAGS" >> config.log echo "Libs: $LIBS" >> config.log OBJECTS=`echo $SOURCES | sed -e 's/\.c/\.o/g'` + # Make CFLAGS more readable + CFLAGS="$CFLAGS -DRVERSION=\\\"${VERSION}\\\" -DHASH_COMPAT" + CFLAGS=`echo $CFLAGS | sed -e 's/[ ]/ \\\\\\n/g' | sort -r -k2 | uniq` + LDFLAGS=`echo $LDLAGS | sed -e 's/[ ]/ \\\\\\n/g' | sort -r -k2 | uniq` + LIBS=`echo $LIBS | sed -e 's/[ ]/ \\\\\\n/g' | sort -r -k2 | uniq` cat > $MAKEFILE << END # This is ${EXEC} Makefile # For options edit Makefile.in, this file is autogenerated by configure @@ -505,6 +556,9 @@ else CFLAGS="$CFLAGS -DHAVE_PATH_MAX" fi +check_package "glib-2.0" "glib.h" +check_package "gmime-2.0" "gmime/gmime.h" + check_group $GROUP if [ $? -ne 0 ] ; then TARGETS="$TARGETS creategroup" |