echo "No argument. Available options are:"
echo " $0 clean"
echo " $0 all"
+ echo " $0 test"
echo " $0 build"
echo " $0 libs"
echo " $0 rootcheck"
fi
-ZLIBV="external/zlib-1.2.3/"
+CJSONV="external/cJSON/"
+LUAV="external/lua/"
+LUA_PLAT="posix"
# CPU information
#CPU=`uname -p`
# Cleaning Config.OS
-if [ "X${ARGV}" = "Xall" -o "X${ARGV}" = "Xrootcheck" -o "X${ARGV}" = "Xlibs" ]; then
+if [ "X${ARGV}" = "Xall" -o "X${ARGV}" = "Xtest" -o "X${ARGV}" = "Xrootcheck" -o "X${ARGV}" = "Xlibs" ]; then
ls ./Config.OS >/dev/null 2>&1
if [ ! $? = 0 ]; then
echo "" > Config.OS
fi
# Checking for OpenSSLconf.h
- ls /usr/include/openssl/opensslconf.h > /dev/null 2>&1
- if [ $? = 0 ]; then
+ if [ -e /usr/include/openssl/opensslconf.h ]; then
+ echo "DEXTRA=-DUSE_OPENSSL" >> Config.OS
+ echo "OPENSSLCMD=-lssl -lcrypto" >> Config.OS
+ elif [ -e /usr/include/openssl/conf.h ]; then
echo "DEXTRA=-DUSE_OPENSSL" >> Config.OS
echo "OPENSSLCMD=-lssl -lcrypto" >> Config.OS
fi
# Checking for inotify
if [ "X$OS" = "XLinux" ]; then
- #ls /usr/include/sys/inotify.h > /dev/null 2>&1
- #if [ $? = 0 ]; then
- # echo "EEXTRA=-DUSEINOTIFY" >> Config.OS
- #fi
-
if [ -e /usr/include/sys/inotify.h ]; then
echo "EEXTRA=-DUSEINOTIFY" >> Config.OS
- elif [ -e /usr/include/x86_64-linux-gnu/sys/inotify.h ]; then
+ elif [ -e /usr/include/linux/inotify.h ]; then
echo "EEXTRA=-DUSEINOTIFY" >> Config.OS
fi
-
+ LUA_PLAT="posix"
fi
+ # Checking for libmagic
+ if [ "X$SYSCHECK" = "Xyes" ]; then
+ if [ -e /usr/include/linux/magic.h ]; then
+ echo "MEXTRA=-DUSE_MAGIC" >> Config.OS
+ echo "MAGICCMD=-lmagic" >> Config.OS
+ elif [ -e /usr/include/magic.h ]; then
+ echo "MEXTRA=-DUSE_MAGIC" >> Config.OS
+ echo "MAGICCMD=-lmagic" >> Config.OS
+ fi
+ fi
+
if [ "X$OS" = "XAIX" ]; then
echo "EEXTRA=-DAIX -DHIGHFIRST" >> Config.OS
PATH=$PATH:/usr/vac/bin
#fi
echo "EEXTRA=-DSOLARIS -DHIGHFIRST">>Config.OS
echo "IEXTRA=-lsocket -lnsl -lresolv" >> Config.OS
+ LUA_PLAT="solaris"
elif [ "X$OS" = "XHP-UX" ]; then
echo "EEXTRA=-DHPUX -D_XOPEN_SOURCE_EXTENDED -DHIGHFIRST -D_REENTRANT" >> Config.OS
elif [ "X$OS" = "XDarwin" ]; then
echo "EEXTRA=-DDarwin -DHIGHFIRST" >> Config.OS
+ LUA_PLAT="macosx"
+
+ elif [ "X$OS" = "XFreeBSD" ]; then
+ echo "EEXTRA=-DFreeBSD" >> Config.OS
+ LUA_PLAT="freebsd"
else
echo 'int main() { short one = 1; char *cp = (char*)&one; if ( *cp == 0 ) return(1); else return(0); }' > isbigendian.c
- gcc -o isbigendian isbigendian.c
+ cc -o isbigendian isbigendian.c
./isbigendian
if [ $? = 1 ]; then
echo "INFO: Big endian set."
if [ "X${ARGV}" = "Xclean" ]; then
echo "" > ./Config.OS
fi
-
-
+
# Getting values for each action
if [ "X${ARGV}" = "Xall" ]; then
DIRECTORIES="${LIBS} ${SOURCES} ${BINARIES}"
DOZLIB="x"
+ DOCJSON="x"
+ DO_LUA="x"
+elif [ "X${ARGV}" = "Xtest" ]; then
+ DIRECTORIES="${LIBS} ${SOURCES}"
+ DOZLIB="x"
+ DOCJSON="x"
+ DO_LUA="x"
elif [ "X${ARGV}" = "Xlibs" ]; then
DIRECTORIES="${LIBS} ${SOURCES}"
DOZLIB="x"
+ DOCJSON="x"
+ DO_LUA="x"
elif [ "X${ARGV}" = "Xrootcheck" ]; then
DIRECTORIES="os_xml os_regex os_net ${SOURCES} ${ROOTCHECKBIN}"
elif [ "X${ARGV}" = "Xbuild" ]; then
# Build zlib here
echo ""
echo " *** Making zlib (by Jean-loup Gailly and Mark Adler) *** "
- cd ${ZLIBV}; make; make ossec;
+ cd external/; make zlib;
+ if [ $? != 0 ]; then
+ echo ""
+ echo "Error Making zlib"
+ exit 1;
+ fi
+ cd ../
+ echo ""
+fi
+
+if [ "X${DOCJSON}" = "Xx" ]; then
+ # Build cJSON here
+ echo ""
+ echo " *** Making cJSON (by Dave Gamble) *** "
+ cd ${CJSONV}; make ossec;
+ if [ $? != 0 ]; then
+ echo ""
+ echo "Error Making cJSON"
+ exit 1;
+ fi
cd ../../
echo ""
fi
+if [ "X${DO_LUA}" = "Xx" ]; then
+ # Build cJSON here
+ echo ""
+ echo " *** Making Lua 5.2 (by team at PUC-Rio in Brazi) *** "
+ echo " Copyright © 1994–2014 Lua.org, PUC-Rio. "
+ cd ${LUAV}; make ${LUA_PLAT};
+ if [ $? != 0 ]; then
+ echo ""
+ echo "Error Making cJSON"
+ exit 1;
+ fi
+ cd ../../
+ echo ""
+fi
if [ "X${ARGV}" = "Xclean" ]; then
# Cleaning zlib
- cd ${ZLIBV}; make clean;
+ cd external/; make clean;
+ cd ../
+ cd ${CJSONV}; make clean;
cd ../../
+ cd ${LUAV}; make clean;
+ cd ../../
+ cd tests/; make clean;
+ cd ../
fi
+# Make and run tests if intended
+if [ "X${ARGV}" = "Xtest" ]; then
+ cd tests/
+ make
+ exit $?
+fi
# Checking if the bin directory is present
if [ ! "X${ARGV}" = "Xrootcheck" ]; then
cd ../
done
-
if [ "X${ARGV}" = "Xrootcheck" ]; then
cp -pr ./rootcheck/ossec-rootcheck ../
cp -pr ./rootcheck/db ../