]> git.stg.codes - stg.git/blobdiff - projects/stargazer/build
Patch from SpiderX <spiderx@spiderx.dp.ua> - build in debug mode.
[stg.git] / projects / stargazer / build
index 36f2f7339bd1ca61c08f7da48928ecab0ab3d856..a323148b9ed3c9787c58fd029a9d5a9e49060c68 100755 (executable)
@@ -25,30 +25,6 @@ DIR_MODE=0755
 
 OWNER=root
 
-# Name of the firebird's group
-# Need for chown directory with firebird db
-
-FIREBIRD_GROUP=firebird
-
-# Database address
-# Firebird must have priviledges to read/write for specified path
-
-DB_ADDRESS="localhost:/var/stargazer/stargazer.fdb"
-
-# Database user
-# This user must have priviledges to create database
-
-DB_USER="stg"
-
-# Database password
-
-DB_PASSWORD="123456"
-
-# Full path to isql utility
-# Note: Debian users have to specify path to isql-fb utility
-
-FIREBIRD_ISQL="/opt/firebird/bin/isql"
-
 OS=unknown
 sys=`uname -s`
 release=`uname -r | cut -b1`
@@ -59,20 +35,15 @@ MIN_XMLRPCC_VERSION="1.06.27"
 XMLRPC_FEATURES="c++2 abyss-server"
 
 
-if [ -z $1 ]
+if [ "$1" = "debug" ]
 then
-    DEFS="$DEFS -DNDEBUG"
-    MAKEOPTS="-j1"
+    DEFS="$DEFS -DDEBUG"
+    MAKEOPTS="$MAKEOPTS -j1"
+    CXXFLAGS="$CXXFLAGS -ggdb3 -W -Wall"
+    DEBUG="yes"
 else
-    if [ "$1" = "debug" ]
-    then
-        DEFS="$DEFS -DDEBUG"
-        MAKEOPTS="-j1"
-        CXXFLAGS="$CXXFLAGS -g3 -W -Wall"
-    else
-        DEFS="$DEFS -DNDEBUG"
-        MAKEOPTS="-j1"
-    fi
+    DEFS="$DEFS -DNDEBUG"
+    DEBUG="no"
 fi
 
 CXXFLAGS="$CXXFLAGS -I/usr/local/include"
@@ -94,6 +65,7 @@ then
         6) OS=bsd5;;
         7) OS=bsd7;;
         8) OS=bsd7;;
+        9) OS=bsd7;;
         *) OS=unknown;;
     esac
     ETC_DIR="./inst/freebsd/etc/stargazer"
@@ -112,14 +84,15 @@ echo "##########################################################################
 echo "       Building STG 2.4 for $sys $release"
 echo "#############################################################################"
 
-STG_LIBS="stg_logger.lib 
-          stg_locker.lib
+STG_LIBS="logger.lib 
+          locker.lib
          crypto.lib 
          common.lib 
-         script_executer.lib 
+         scriptexecuter.lib 
          conffiles.lib
          pinger.lib 
-         dotconfpp.lib"
+         dotconfpp.lib
+          smux.lib"
 
 PLUGINS="authorization/ao
          authorization/inetaccess
@@ -127,6 +100,7 @@ PLUGINS="authorization/ao
          other/ping
          other/rscript
          other/radius
+         other/smux
          store/files
          capture/cap_nf"
 
@@ -134,9 +108,7 @@ if [ "$OS" = "linux" ]
 then
     DEFS="$DEFS -DLINUX"
     PLUGINS="$PLUGINS
-             capture/ether_linux
-             capture/ipq_linux"
-    SHELL="/bin/bash"
+             capture/ether_linux"
     LIB_THREAD=-lpthread
 else
     if [ "$OS" = "bsd" ]
@@ -155,31 +127,40 @@ else
     PLUGINS="$PLUGINS
              capture/ether_freebsd
              capture/divert_freebsd"
-    SHELL="/usr/local/bin/bash"
 fi
 
-echo -n "Checking gcc... "
-gcc --version > /dev/null 2> /dev/null
+if [ -z "$CC" ]
+then
+    CC=gcc
+fi
+
+if [ -z "$CXX" ]
+then
+    CXX=g++
+fi
+
+echo -n "Checking CC... "
+$CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
 then
     echo "FAIL!"
-    echo "gcc not found"
+    echo "$CC not found"
     exit;
 fi
 echo "found"
-echo -n "Checking g++... "
-g++ --version > /dev/null 2> /dev/null
+echo -n "Checking CXX... "
+$CXX --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
 then
     echo "FAIL!"
-    echo "g++ not found"
+    echo "$CXX not found"
     exit;
 fi
 echo "found"
 
 echo -n "Checking endianess... "
 echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c
-gcc $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null
+$CC $CFLAGS $LDFLAGS build_check.c -o fake
 if [ $? != 0 ]
 then
     echo "FAIL!"
@@ -191,10 +172,12 @@ else
     then
         ARCH=le
         CXXFLAGS="$CXXFLAGS -DARCH_LE"
+        CFLAGS="$CFLAGS -DARCH_LE"
         echo "Little Endian"
     else
         ARCH=be
         CXXFLAGS="$CXXFLAGS -DARCH_BE"
+        CFLAGS="$CFLAGS -DARCH_BE"
         echo "Big Endian"
     fi
 fi
@@ -202,7 +185,7 @@ rm -f fake
 
 echo -n "Checking for -lexpat... "
 echo "int main() { return 0; }" > build_check.c
-gcc $CXXFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null
+$CC $CFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null
 if [ $? != 0 ]
 then
     CHECK_EXPAT=no
@@ -214,7 +197,7 @@ fi
 rm -f fake
 
 echo -n "Checking for -lfbclient... "
-gcc $CXXFLAGS $LDFLAGS build_check.c -lfbclient $LIB_THREAD -o fake > /dev/null 2> /dev/null
+$CC $CFLAGS $LDFLAGS build_check.c -lfbclient $LIB_THREAD -o fake > /dev/null 2> /dev/null
 if [ $? != 0 ]
 then
     CHECK_FBCLIENT=no
@@ -231,7 +214,7 @@ if [ $? != 0 ]
 then
     echo "no";
     echo -n "Checking for -lmysqlclient... "
-    gcc $CXXFLAGS $LDFLAGS build_check.c -lmysqlclient_r $LIB_THREAD -o fake > /dev/null 2> /dev/null
+    $CC $CFLAGS $LDFLAGS build_check.c -lmysqlclient_r $LIB_THREAD -o fake > /dev/null 2> /dev/null
     if [ $? != 0 ]
     then
         CHECK_MYSQLCLIENT=no
@@ -250,7 +233,6 @@ else
         CHECK_MYSQLCLIENT=no
         echo "no"
     else
-        #CXXFLAGS="$CXXFLAGS $MYSQL_CFLAGS"
         echo "[$MYSQL_CFLAGS]"
         echo -n "Checking for mysql_config --libs_r... "
         MYSQL_LDFLAGS=`mysql_config --libs_r 2> /dev/null`
@@ -260,7 +242,6 @@ else
             echo "no"
         else
             CHECK_MYSQLCLIENT=yes
-            #LDFLAGS="$LDFLAGS $MYSQL_LDFLAGS"
             echo "[$MYSQL_LDFLAGS]"
         fi
     fi
@@ -272,7 +253,7 @@ if [ $? != 0 ]
 then
     echo "no";
     echo -n "Checking for -lpq... "
-    gcc $CXXFLAGS $LDFLAGS build_check.c -lpq $LIB_THREAD -o fake > /dev/null 2> /dev/null
+    $CC $CFLAGS $LDFLAGS build_check.c -lpq $LIB_THREAD -o fake > /dev/null 2> /dev/null
     if [ $? != 0 ]
     then
         CHECK_PQ=no
@@ -311,7 +292,7 @@ if [ $? != 0 ]
 then
     echo "no";
     echo -n "Checking for -lxmlrpc... "
-    gcc $CXXFLAGS $LDFLAGS build_check.c -lxmlrpc $LIB_THREAD -o fake > /dev/null 2> /dev/null
+    $CC $CFLAGS $LDFLAGS build_check.c -lxmlrpc $LIB_THREAD -o fake > /dev/null 2> /dev/null
     if [ $? != 0 ]
     then
         CHECK_XMLRPC=no
@@ -348,6 +329,27 @@ else
     fi
 fi
 
+if [ "$OS" = "linux" ]
+then
+    echo -n "Checking for linux/netfilter_ipv4/ip_queue.h... "
+    echo "#include <linux/types.h>" > build_check.c
+    echo "#include <linux/netfilter_ipv4/ip_queue.h>" >> build_check.c
+    echo "int main() { return 0; }" >> build_check.c
+    $CC $CFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null
+    if [ $? != 0 ]
+    then
+        CHECK_IP_QUEUE_H=no
+        echo "no"
+    else
+        CHECK_IP_QUEUE_H=yes
+        DEFS="$DEFS -DHAS_IP_QUEUE_H"
+        PLUGINS="$PLUGINS
+                 capture/ipq_linux"
+        echo "yes"
+    fi
+    rm -f fake
+fi
+
 rm -f build_check.c
 
 if [ "$CHECK_EXPAT" != "yes" ]
@@ -384,6 +386,7 @@ fi
 
 echo "OS=$OS" > $CONFFILE
 echo "STG_TIME=yes" >> $CONFFILE
+echo "DEBUG=$DEBUG" >> $CONFFILE
 echo "DIR_BUILD=$BUILD_DIR" >> $CONFFILE
 echo "DIR_LIB=\$(DIR_BUILD)/../../lib" >> $CONFFILE
 echo "DIR_LIBSRC=\$(DIR_BUILD)/../../stglibs" >> $CONFFILE
@@ -409,8 +412,8 @@ do
     echo -n "$plugin " >> $CONFFILE
 done
 echo "" >> $CONFFILE
-echo "SHELL=$SHELL" >> $CONFFILE
 echo "CXXFLAGS=$CXXFLAGS" >> $CONFFILE
+echo "CFLAGS=$CFLAGS" >> $CONFFILE
 echo "LDFLAGS=$LDFLAGS" >> $CONFFILE
 echo "LIB_THREAD=$LIB_THREAD" >> $CONFFILE
 echo "PREFIX=$PREFIX" >> $CONFFILE
@@ -420,11 +423,6 @@ echo "DIR_MODE=$DIR_MODE" >> $CONFFILE
 echo "OWNER=$OWNER" >> $CONFFILE
 echo "VAR_DIR=$VAR_DIR" >> $CONFFILE
 echo "ETC_DIR=$ETC_DIR" >> $CONFFILE
-echo "DB_ADDRESS=$DB_ADDRESS" >> $CONFFILE
-echo "DB_USER=$DB_USER" >> $CONFFILE
-echo "DB_PASSWORD=$DB_PASSWORD" >> $CONFFILE
-echo "FIREBIRD_ISQL=$FIREBIRD_ISQL" >> $CONFFILE
-echo "FIREBIRD_GROUP=$FIREBIRD_GROUP" >> $CONFFILE
 
 mkdir -p modules