Newer
Older
AC_INIT()
AC_ARG_ENABLE([debugging], [ --enable-debugging enable -g when compiling ])
AC_ARG_ENABLE([64bit_analysis], [ --enable-64bit-analysis enable 64bit binary analysis ])
AC_ARG_ENABLE([64bit_build], [ --enable-64bit-build enable 64bit build of stars, enabling more memory usage.])
AC_ARG_ENABLE([reducedanalysis], [ --enable-reducedanalysis reduce the amount of in-depth analysis (useful for large programs that exhaust memory)])
AC_ARG_ENABLE([idapro], [ --enable-idapro build STARS as a plugin for IDA])
AC_ARG_ENABLE([idapro], [ --enable-irdb build STARS as a IRDB analysis])
AC_CANONICAL_HOST
if test "$enable_debugging" = yes; then
fi
if test "$enable_idapro" != no; then
BACKENDS=idapro
if test "$enable_64bit_build" = yes; then
echo Using 64-bit build mode is disabled with IDA -- exiting...
exit 1
fi
fi
if test "$enable_irdb" = yes; then
BACKENDS="$BACKENDS irdb"
fi
-I${SMPSA_HOME}/include \
-I${SMPSA_HOME}/include/base \
-I${SMPSA_HOME}/include/interfaces \
-I${SMPSA_HOME}/include/interfaces/abstract \
-I${SMPSA_HOME}/include/interfaces/idapro \
# select 32-bit or 64-bit build mode.
if test "$enable_64bit_build" = yes; then
EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -m64"
else
EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -m32"
fi
# set flags specific to each backend.
IDA_CXXFLAGS="-DSTARS_IDA_INTERFACE -D__PLUGIN__ -D__IDP__ --short-enums"
IRDB_CXXFLAGS="-DSTARS_IRDB_INTERFACE -I${SECURITY_TRANSFORMS_HOME}/include -I${SECURITY_TRANSFORMS_HOME}/libIRDB/include -I${SECURITY_TRANSFORMS_HOME}/beaengine/include"
if test "$enable_reducedanalysis" = yes; then
EXTRA_CXXFLAGS="${EXTRA_CXXFLAGS} -DSMP_REDUCED_ANALYSIS"
if test ! "$enable_64bit_analysis" = no; then
echo Enabling 64-bit IDAPRO support.
EXTRA_CXXFLAGS="${EXTRA_CXXFLAGS} -D__EA64__"
PLUGIN_NAME=SMPStaticAnalyzer.plx64
AC_SUBST(EXTRA_CXXFLAGS)
AC_SUBST(CXX)
AC_SUBST(LD)
AC_SUBST(IDA_CXXFLAGS)
AC_SUBST(IRDB_CXXFLAGS)
AC_SUBST(BACKENDS)
AC_OUTPUT(Makefile
src/Makefile
src/base/Makefile
src/interfaces/abstract/Makefile
src/drivers/Makefile
src/drivers/idapro/Makefile
src/drivers/irdb/Makefile
lib/irdb/Makefile
lib/idapro/Makefile