X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/a6b0423977ee2ad532b4e5341eaf41e7197804b2..4077971cebaa4f3d876e53e82a7f60024f4690c2:/stargazer/build diff --git a/stargazer/build b/stargazer/build deleted file mode 100755 index b5e13df6..00000000 --- a/stargazer/build +++ /dev/null @@ -1,639 +0,0 @@ -#!/bin/sh - -# $Revision: 1.57 $ -# $Author: faust $ -# $Date: 2010/05/09 12:39:01 $ -###################################################### - -# Installation path prefix - -#PREFIX="" - -# Binaries access bits - -BIN_MODE=0755 - -# Data files access bits - -DATA_MODE=0644 - -# Dir access bits - -DIR_MODE=0755 - -# Binaries and data files owner - -OWNER=root - -OS=unknown -sys=`uname -s` -release=`uname -r` -major=`printf "%s" "$release" | cut -d. -f1` -BUILD_DIR=`pwd` -CONFFILE="../../Makefile.conf" -VAR_DIR="./inst/var/stargazer" -MIN_XMLRPCC_VERSION="1.06.27" -XMLRPC_FEATURES="c++2 abyss-server" - - -if [ "$1" = "debug" ] -then - DEFS="$DEFS -DDEBUG" - MAKEOPTS="$MAKEOPTS -j1" - CFLAGS="$CFLAGS -ggdb3 -W -Wall" - CXXFLAGS="$CXXFLAGS -ggdb3 -W -Wall" - DEBUG="yes" -else - DEFS="$DEFS -DNDEBUG" - DEBUG="no" -fi - -CFLAGS="$CFLAGS -I/usr/local/include" -CXXFLAGS="$CXXFLAGS -I/usr/local/include" -LDFLAGS="$LDFLAGS -L/usr/local/lib" - -if [ "$sys" = "Linux" ] -then - OS=linux - ETC_DIR="./inst/linux/etc/stargazer" - MAKE="make" -fi - -if [ "$sys" = "FreeBSD" ] -then - case $major in - 4) OS=bsd;; - 5) OS=bsd5;; - 6) OS=bsd5;; - 7) OS=bsd7;; - *) OS=bsd7;; - esac - ETC_DIR="./inst/freebsd/etc/stargazer" - MAKE="gmake" -fi - -if [ "$sys" = "Darwin" ] -then - OS=darwin - ETC_DIR="./inst/freebsd/etc/stargazer" - MAKE="gmake" -fi - -if [ "$OS" = "unknown" ] -then - printf "#############################################################################\n" - printf "# Sorry, but stargazer is currently supported by Linux, FreeBSD and Darwin. #\n" - printf "#############################################################################\n" - exit 1 -fi - -printf "#############################################################################\n" -printf " Building STG 2.4 for $sys $release\n" -printf "#############################################################################\n" - -STG_LIBS="logger.lib - crypto.lib - common.lib - scriptexecuter.lib - conffiles.lib - pinger.lib - dotconfpp.lib - smux.lib" - -PLUGINS="authorization/ao - authorization/inetaccess - configuration/sgconfig - other/ping - other/rscript - other/smux - store/files - capture/cap_nf" - -if [ "$OS" = "linux" ] -then - DEFS="$DEFS -DLINUX" - PLUGINS="$PLUGINS - capture/ether_linux" - LIB_THREAD=-lpthread -else - LIBICONV="-liconv" - if [ "$OS" = "bsd" ] - then - DEFS="$DEFS -DFREE_BSD" - LIB_THREAD=-lc_r - else - if [ "$OS" = "bsd7" ] - then - DEFS="$DEFS -DFREE_BSD5" - LIB_THREAD=-lpthread - else - if [ "$OS" == "darwin" ] - then - DEFS="$DEFS -DDARWIN" - LIB_THREAD=-lpthread - else - LIB_THREAD=-lc_r - fi - fi - fi - PLUGINS="$PLUGINS - capture/ether_freebsd - capture/divert_freebsd" -fi - -if [ -z "$CC" ] -then - CC=gcc -fi - -if [ -z "$CXX" ] -then - CXX=g++ -fi - -printf "Checking CC... " -$CC --version > /dev/null 2> /dev/null -if [ $? != 0 ] -then - printf "FAIL!\n" - printf "$CC not found\n" - exit; -fi -printf "found\n" -printf "Checking CXX... " -$CXX --version > /dev/null 2> /dev/null -if [ $? != 0 ] -then - printf "FAIL!\n" - printf "$CXX not found\n" - exit; -fi -printf "found\n" - -printf "Checking endianess... " -printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c -$CC $CFLAGS $LDFLAGS build_check.c -o fake -if [ $? != 0 ] -then - printf "FAIL!\n" - printf "Endianess checking failed\n" - exit; -else - ./fake - if [ $? = 1 ] - then - ARCH=le - CXXFLAGS="$CXXFLAGS -DARCH_LE" - CFLAGS="$CFLAGS -DARCH_LE" - printf "Little Endian\n" - else - ARCH=be - CXXFLAGS="$CXXFLAGS -DARCH_BE" - CFLAGS="$CFLAGS -DARCH_BE" - printf "Big Endian\n" - fi -fi -rm -f fake - -printf "Checking for -lexpat... " -printf "#include \nint main() { return 0; }\n" > build_check.c -$CC $CFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null -if [ $? != 0 ] -then - CHECK_EXPAT=no - printf "no\n" -else - CHECK_EXPAT=yes - printf "yes\n" -fi -rm -f fake - -printf "Checking for iconv 2nd argument... " -printf "#include \nint main(){ const char** src = 0; iconv(0, src, 0, 0, 0); }\n" > build_check.c -$CC $CFLAGS $LDFLAGS -Werror build_check.c $LIBICONV -o fake > /dev/null 2> /dev/null -if [ $? != 0 ] -then - printf "non-const\n" -else - DEFS="$DEFS -DCONST_ICONV" - printf "const\n" -fi -rm -f fake - -printf "Checking for fb_config... " -FB_VERSION=`fb_config --version 2> /dev/null` -if [ "$?" != "0" ] -then - printf "no\n" - printf "Checking for -lfbclient... " - printf "int main() { return 0; }\n" > build_check.c - $CC $CFLAGS $LDFLAGS build_check.c -lfbclient $LIB_THREAD -o fake > /dev/null 2> /dev/null - if [ $? != 0 ] - then - CHECK_FBCLIENT=no - printf "no\n" - else - FB_CFLAGS="" - FB_LDFLAGS="-lfbclient" - CHECK_FBCLIENT=yes - printf "yes\n" - fi - rm -f fake -else - printf "yes\n" - printf "Checking for fb_config --cflags... " - FB_CFLAGS=`fb_config --cflags` - if [ "$?" != "0" ] - then - CHECK_FBCLIENT=no - printf "no\n" - else - printf "[$FB_CFLAGS]\n" - printf "Checking for fb_config --libs " - FB_LDFLAGS=`fb_config --libs` - if [ "$?" != "0" ] - then - CHECK_FBCLIENT=no - printf "no\n" - else - CHECK_FBCLIENT=yes - printf "[$FB_LDFLAGS]\n" - fi - fi -fi - - -printf "Checking for mysql_config... " -printf "#include \nint main() { return 0; }\n" > build_check.c -MYSQL_VERSION=`mysql_config --version 2> /dev/null` -if [ $? != 0 ] -then - printf "no\n"; - printf "Checking for -lmysqlclient... " - $CC $CFLAGS $LDFLAGS build_check.c -lmysqlclient_r $LIB_THREAD -o fake > /dev/null 2> /dev/null - if [ $? != 0 ] - then - CHECK_MYSQLCLIENT=no - printf "no\n" - else - CHECK_MYSQLCLIENT=yes - MYSQL_CFLAGS="" - MYSQL_LDFLAGS="-lmysqlclient_r" - printf "yes\n" - fi - rm -f fake -else - printf "yes\n" - printf "Checking for mysql_config --cflags... " - MYSQL_CFLAGS=`mysql_config --cflags 2> /dev/null` - if [ $? != 0 ] - then - CHECK_MYSQLCLIENT=no - printf "no\n" - else - printf "[$MYSQL_CFLAGS]\n" - printf "Checking for mysql_config --libs_r... " - MYSQL_LDFLAGS=`mysql_config --libs_r 2> /dev/null` - if [ $? != 0 ] - then - CHECK_MYSQLCLIENT=no - printf "no\n" - else - CHECK_MYSQLCLIENT=yes - printf "[$MYSQL_LDFLAGS]\n" - fi - fi -fi - -printf "Checking for pg_config... " -printf "#include \nint main() { return 0; }\n" > build_check.c -PG_VERSION=`pg_config --version 2> /dev/null` -if [ $? != 0 ] -then - printf "no\n"; - printf "Checking for -lpq... " - $CC $CFLAGS $LDFLAGS build_check.c -lpq $LIB_THREAD -o fake > /dev/null 2> /dev/null - if [ $? != 0 ] - then - CHECK_PQ=no - printf "no\n" - else - CHECK_PQ=yes - printf "yes\n" - fi - rm -f fake -else - printf "yes\n"; - printf "Checking for pg_config --includedir... " - PG_CFLAGS="-I"`pg_config --includedir 2> /dev/null` - if [ $? != 0 ] - then - CHECK_PQ=no - printf "no\n" - else - printf "[$PG_CFLAGS]\n" - printf "Checking for pg_config --libdir... " - PG_LDFLAGS="-L"`pg_config --libdir 2> /dev/null` - if [ $? != 0 ] - then - CHECK_PQ=no - printf "no\n" - else - CHECK_PQ=yes - printf "[$PG_LDFLAGS]\n" - fi - fi -fi - -printf "Checking for xmlrpc-c-config... " -printf "#include \nint main() { return 0; }\n" > build_check.c -XMLRPCC_VERSION=`xmlrpc-c-config $XMLRPC_FEATURES --version 2> /dev/null` -if [ $? != 0 ] -then - printf "no\n"; - printf "Checking for -lxmlrpc... " - $CC $CFLAGS $LDFLAGS build_check.c -lxmlrpc $LIB_THREAD -o fake > /dev/null 2> /dev/null - if [ $? != 0 ] - then - CHECK_XMLRPC=no - printf "no\n" - else - CHECK_XMLRPC=yes - printf "yes\n" - fi - rm -f fake -elif [ "$XMLRPCC_VERSION" \< "$MIN_XMLRPCC_VERSION" ] -then - printf "no (need at least $MIN_XMLRPCC_VERSION, actual $XMLRPCC_VERSION)\n"; - CHECK_XMLRPC=no -else - printf "yes (version $XMLRPCC_VERSION)\n"; - printf "Checking for xmlrpc-c-config --cflags... " - XMLRPC_CFLAGS=`xmlrpc-c-config $XMLRPC_FEATURES --cflags 2> /dev/null` - if [ $? != 0 ] - then - CHECK_XMLRPC=no - printf "no\n" - else - printf "[$XMLRPC_CFLAGS]\n" - printf "Checking for xmlrpc-c-config --libs... " - XMLRPC_LDFLAGS=`xmlrpc-c-config $XMLRPC_FEATURES --libs 2> /dev/null` - if [ $? != 0 ] - then - CHECK_XMLRPC=no - printf "no\n" - else - CHECK_XMLRPC=yes - printf "[$XMLRPC_LDFLAGS]\n" - fi - fi -fi - -printf "Checking for -lpcap... " -printf "#include \nint main() { return 0; }\n" > build_check.c -$CC $CFLAGS $LDFLAGS build_check.c -lpcap -o fake > /dev/null 2> /dev/null -if [ $? != 0 ] -then - CHECK_PCAP=no - printf "no\n" -else - CHECK_PCAP=yes - printf "yes\n" -fi -rm -f fake - -printf "Checking for -lnfnetlink... " -printf "#include \n#include \n#include \nint main() { return 0; }\n" > build_check.c -$CC $CFLAGS $LDFLAGS build_check.c -lnfnetlink -o fake > /dev/null 2> /dev/null -if [ $? != 0 ] -then - CHECK_NFNETLINK=no - printf "no\n" -else - CHECK_NFNETLINK=yes - NETLINK_LDFLAGS="-lnfnetlink" - printf "yes\n" -fi -rm -f fake - -printf "Checking for -lnetfilter_queue... " -printf "#include \n#include \nint main() { return 0; }\n" > build_check.c -$CC $CFLAGS $LDFLAGS build_check.c -lnetfilter_queue -o fake > /dev/null 2> /dev/null -if [ $? != 0 ] -then - CHECK_NFQ=no - printf "no\n" -else - CHECK_NFQ=yes - NFQ_LDFLAGS="-lnetfilter_queue" - printf "yes\n" -fi -rm -f fake - -printf "Checking for -lyajl... " -pkg-config --version > /dev/null 2> /dev/null -if [ "$?" = "0" ] -then - pkg-config --atleast-version=2.0.0 yajl - if [ "$?" != "0" ] - then - CHECK_YAJL=no - printf "no\n" - else - CHECK_YAJL=yes - printf `pkg-config --modversion yajl`"\n" - fi -else - printf "#include \n" > build_check.c - printf "#include \n" >> build_check.c - printf "int main() { printf(\"%%d\", yajl_version()); return 0; }\n" >> build_check.c - $CC $CFLAGS $LDFLAGS build_check.c -lyajl -o fake > /dev/null 2> /dev/null - if [ $? != 0 ] - then - CHECK_YAJL=no - printf "no\n" - else - YAJL_VERSION=`./fake` - if [ $YAJL_VERSION -ge 20000 ] - then - CHECK_YAJL=yes - printf "${YAJL_VERSION}\n" - else - CHECK_YAJL=no - printf "no. Need at least version 2.0.0, existing version is ${YAJL_VERSION}\n" - fi - fi - rm -f fake -fi - -printf "Checking for boost::scoped_ptr... " -printf "#include \nint main() { boost::scoped_ptr test(new int(1)); return 0; }\n" > build_check.cpp -$CXX $CXXFLAGS $LDFLAGS build_check.cpp -o fake # > /dev/null 2> /dev/null -if [ $? != 0 ] -then - CHECK_BOOST_SCOPED_PTR=no - printf "no\n" -else - CHECK_BOOST_SCOPED_PTR=yes - printf "yes\n" -fi -rm -f fake - -if [ "$OS" = "linux" ] -then - printf "Checking for linux/netfilter_ipv4/ip_queue.h... " - printf "#include \n" > build_check.c - printf "#include \n" >> build_check.c - printf "int main() { return 0; }\n" >> build_check.c - $CC $CFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null - if [ $? != 0 ] - then - CHECK_IP_QUEUE_H=no - printf "no\n" - else - CHECK_IP_QUEUE_H=yes - DEFS="$DEFS -DHAS_IP_QUEUE_H" - PLUGINS="$PLUGINS - capture/ipq_linux" - printf "yes\n" - fi - rm -f fake -fi - -rm -f build_check.c -rm -f build_check.cpp - -if [ "$CHECK_EXPAT" != "yes" ] -then - printf -- "-lexpat not found!\n" - exit 1 -fi - -if [ "$CHECK_FBCLIENT" = "yes" ] -then - STG_LIBS="$STG_LIBS - ibpp.lib" - PLUGINS="$PLUGINS - store/firebird" -fi - -if [ "$CHECK_PQ" = "yes" ] -then - PLUGINS="$PLUGINS - store/postgresql" -fi - -if [ "$CHECK_MYSQLCLIENT" = "yes" ] -then - PLUGINS="$PLUGINS - store/mysql" -fi - -if [ "$CHECK_XMLRPC" = "yes" ] -then - PLUGINS="$PLUGINS - configuration/rpcconfig" -fi - -if [ "$CHECK_PCAP" = "yes" ] -then - PLUGINS="$PLUGINS - capture/pcap" -fi - -if [ "$CHECK_NFNETLINK" = "yes" -a "$CHECK_NFQ" = "yes" ] -then - PLUGINS="$PLUGINS - capture/nfqueue" -fi - -if [ "$CHECK_YAJL" = "yes" -a "$CHECK_BOOST_SCOPED_PTR" = "yes" ] -then - PLUGINS="$PLUGINS - other/radius" - STG_LIBS="$STG_LIBS - json.lib" -fi - -printf "OS=$OS\n" > $CONFFILE -printf "STG_TIME=yes\n" >> $CONFFILE -printf "DEBUG=$DEBUG\n" >> $CONFFILE -printf "DIR_BUILD=$BUILD_DIR\n" >> $CONFFILE -printf "DIR_LIB=\$(DIR_BUILD)/../../lib\n" >> $CONFFILE -printf "DIR_LIBSRC=\$(DIR_BUILD)/../../stglibs\n" >> $CONFFILE -printf "DIR_INCLUDE=\$(DIR_BUILD)/../../include\n" >> $CONFFILE -printf "DIR_MOD=\$(DIR_BUILD)/modules\n" >> $CONFFILE -printf "DIR_PLUGINS=\$(DIR_BUILD)/plugins\n" >> $CONFFILE -printf "ARCH=$ARCH\n" >> $CONFFILE -printf "CHECK_EXPAT=$CHECK_EXPAT\n" >> $CONFFILE -printf "CHECK_FBCLIENT=$CHECK_FBCLIENT\n" >> $CONFFILE -if [ "$CHECK_FBCLIENT" = "yes" ] -then - printf "FB_CFLAGS=$FB_CFLAGS\n" >> $CONFFILE - printf "FB_LDFLAGS=$FB_LDFLAGS\n" >> $CONFFILE -fi -printf "CHECK_MYSQLCLIENT=$CHECK_MYSQLCLIENT\n" >> $CONFFILE -if [ "$CHECK_MYSQLCLIENT" = "yes" ] -then - printf "MYSQL_CFLAGS=$MYSQL_CFLAGS\n" >> $CONFFILE - printf "MYSQL_LDFLAGS=$MYSQL_LDFLAGS\n" >> $CONFFILE -fi -printf "CHECK_PQ=$CHECK_PQ\n" >> $CONFFILE -if [ "$CHECK_PQ" = "yes" ] -then - printf "PG_CFLAGS=$PG_CFLAGS\n" >> $CONFFILE - printf "PG_LDFLAGS=$PG_LDFLAGS\n" >> $CONFFILE -fi -printf "CHECK_XMLRPC=$CHECK_XMLRPC\n" >> $CONFFILE -if [ "$CHECK_XMLRPC" = "yes" ] -then - printf "XMLRPC_CFLAGS=$XMLRPC_CFLAGS\n" >> $CONFFILE - printf "XMLRPC_LDFLAGS=$XMLRPC_LDFLAGS\n" >> $CONFFILE -fi -printf "CHECK_PCAP=$CHECK_PCAP\n" >> $CONFFILE -printf "CHECK_NFNETLINK=$CHECK_NFNETLINK\n" >> $CONFFILE -if [ "$CHECK_NFNETLINK" = "yes" ] -then - printf "NETLINK_LDFLAGS=$NETLINK_LDFLAGS\n" >> $CONFFILE -fi -printf "CHECK_NFQ=$CHECK_NFQ\n" >> $CONFFILE -if [ "$CHECK_NFQ" = "yes" ] -then - printf "NFQ_LDFLAGS=$NFQ_LDFLAGS\n" >> $CONFFILE -fi -printf "DEFS=$DEFS\n" >> $CONFFILE -printf "STG_LIBS=" >> $CONFFILE -for lib in $STG_LIBS -do - printf "$lib " >> $CONFFILE -done -printf "\n" >> $CONFFILE -printf "PLUGINS=" >> $CONFFILE -for plugin in $PLUGINS -do - printf "$plugin " >> $CONFFILE -done -printf "\n" >> $CONFFILE -printf "CC=$CC\n" >> $CONFFILE -printf "CXX=$CXX\n" >> $CONFFILE -printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE -printf "CFLAGS=$CFLAGS\n" >> $CONFFILE -printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE -printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE -printf "LIBICONV=$LIBICONV\n" >> $CONFFILE -printf "PREFIX=$PREFIX\n" >> $CONFFILE -printf "BIN_MODE=$BIN_MODE\n" >> $CONFFILE -printf "DATA_MODE=$DATA_MODE\n" >> $CONFFILE -printf "DIR_MODE=$DIR_MODE\n" >> $CONFFILE -printf "OWNER=$OWNER\n" >> $CONFFILE -printf "VAR_DIR=$VAR_DIR\n" >> $CONFFILE -printf "ETC_DIR=$ETC_DIR\n" >> $CONFFILE - -mkdir -p modules - -if [ "$1" != "debug" ] -then - $MAKE $MAKEOPTS -else - printf "\n\n\nDebug build. Type $MAKE explicitly\n" -fi