# Process this file with autoconf to produce a configure script. ############################################################ # Autoconf requirements ############################################################ AC_PREREQ(2.59) AC_INIT([openida], [0.3.11], [nocbos@gmail.com]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE AM_SILENT_RULES AM_GNU_GETTEXT_VERSION([0.17]) AM_GNU_GETTEXT([external]) AC_CONFIG_SRCDIR([src/editor.c]) ############################################################ # Information on the package ############################################################ #--- Checks for programs AC_PROG_CC AM_PROG_CC_C_O AC_PROG_LEX AC_PROG_YACC AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_LIBTOOL #--- Checks for libraries AC_CHECK_LIB([dl], [dlopen]) #--- Checks for header files AC_HEADER_DIRENT AC_HEADER_STDBOOL AC_HEADER_STDC AC_CHECK_HEADERS([malloc.h]) AC_CHECK_HEADERS([netdb.h]) AC_CHECK_HEADERS([stdlib.h]) AC_CHECK_HEADERS([string.h]) AC_CHECK_HEADERS([unistd.h]) #--- Checks for types AC_TYPE_SIZE_T #--- Checks for structures AC_STRUCT_TM #--- Checks for compiler characteristics AC_C_CONST #--- Checks for library functions AC_FUNC_CLOSEDIR_VOID AC_FUNC_MALLOC AC_FUNC_REALLOC AC_FUNC_STAT AC_FUNC_STRFTIME AC_FUNC_VPRINTF AC_CHECK_FUNCS([pow]) AC_CHECK_FUNCS([regcomp]) AC_CHECK_FUNCS([strdup]) AC_CHECK_FUNCS([strerror]) AC_CHECK_FUNCS([strndup]) AC_CHECK_FUNCS([strrchr]) #--- Checks for system services #--- Autoheader Macros AH_TEMPLATE([VERSION], [Define the version number of the program for the about box.]) AH_TEMPLATE([PACKAGE_DATA_DIR], [Define the directory where the associated data will be installed.]) AH_TEMPLATE([PACKAGE_SOURCE_DIR], [Define the directory where the code source is waiting for being compiled.]) AH_TEMPLATE([PLUGINS_DIR], [Define the directory where the plugins are installed.]) AH_TEMPLATE([LOCALE_DIR], [Define the directory where the message catalogs are installed.]) AC_DEFINE_UNQUOTED(VERSION, AC_PACKAGE_VERSION) if test "x${datadir}" = 'x${prefix}/share'; then if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share/${PACKAGE}") else AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share/${PACKAGE}") fi elif test "x${datadir}" = 'x${datarootdir}'; then if test "x${datarootdir}" = 'x${prefix}/share'; then if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share/${PACKAGE}") else AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share/${PACKAGE}") fi else AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${datarootdir}/${PACKAGE}") fi else AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${datadir}/${PACKAGE}") fi packagesrcdir=`cd $srcdir && pwd` AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}") AC_DEFINE_UNQUOTED(PLUGINS_DIR, PACKAGE_DATA_DIR "/plugins") if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(LOCALE_DIR, "${ac_default_prefix}/share/locale") else AC_DEFINE_UNQUOTED(LOCALE_DIR, "${prefix}/share/locale") fi ############################################################ # Compilation options ############################################################ AC_ARG_ENABLE(debug, [ --enable-debug compile with debugging support [def=no]], [enable_debug=yes], [enable_debug=no]) #--- Is debug mode needed ? if test "x$enable_debug" = "xyes"; then DEBUG_CFLAGS="$DEBUG_CFLAGS -ggdb -gdwarf-2 -DDEBUG" fi AC_SUBST(DEBUG_CFLAGS) #-Wall -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wuninitialized -Wparentheses -Wpointer-arith -Wmissing-prototypes WARNING_FLAGS="-Wall -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wuninitialized -Wparentheses -Wpointer-arith -Wmissing-prototypes" #-Wcast-qual -Wconversion -Wsign-compare -Wdisabled-optimization AC_SUBST(WARNING_FLAGS) # _XOPEN_SOURCE: strdup, snprintf # _ISOC99_SOURCE: INFINITY; NAN # GTK_DISABLE_DEPRECATED: on reste conforme au C99 COMPLIANCE_FLAGS="-D_GNU_SOURCE -DGTK_DISABLE_DEPRECATED" AC_SUBST(COMPLIANCE_FLAGS) #--- Checks for GTK 2.0 PKG_CHECK_MODULES(LIBGTK,gtk+-2.0 >= 2.4.3,[libgtk_found=yes],[libgtk_found=no]) if test "$libgtk_found" = "yes"; then libgtk_version=`pkg-config gtk+-2.0 --modversion` else libgtk_version='-' fi AC_SUBST(LIBGTK_CFLAGS) AC_SUBST(LIBGTK_LIBS) #--- Checks for libxml2 PKG_CHECK_MODULES(LIBXML,libxml-2.0 >= 2.6.11,[libxml_found=yes],[libxml_found=no]) if test "$libxml_found" = "yes"; then libxml_version=`pkg-config libxml-2.0 --modversion` else libxml_version='-' fi AC_SUBST(LIBXML_CFLAGS) AC_SUBST(LIBXML_LIBS) #--- Checks for Python if test "x$enable_debug" = "xyes"; then LIBPYTHON_CFLAGS=`python-dbg-config --cflags` LIBPYTHON_LIBS=`python-dbg-config --libs` else LIBPYTHON_CFLAGS=`python-config --cflags` LIBPYTHON_LIBS=`python-config --libs` fi AC_SUBST(LIBPYTHON_CFLAGS) AC_SUBST(LIBPYTHON_LIBS) #--- Checks for pygobject-2.0 PKG_CHECK_MODULES(LIBPYGOBJECT,pygobject-2.0 >= 2.21.1,[libpygobject_found=yes],[libpygobject_found=no]) if test "$libpygobject_found" = "yes"; then libpygobject_version=`pkg-config pygobject-2.0 --modversion` else libpygobject_version='-' fi AC_SUBST(LIBPYGOBJECT_CFLAGS) AC_SUBST(LIBPYGOBJECT_LIBS) #--- Checks for Graphviz PKG_CHECK_MODULES(LIBGRAPH,libgvc >= 0.20.2,[libgraph_found=yes],[libgraph_found=no]) if test "$libgraph_found" = "yes"; then libgraph_version=`pkg-config libgvc --modversion` else libgraph_version='-' fi AC_SUBST(LIBGRAPH_CFLAGS) AC_SUBST(LIBGRAPH_LIBS) ############################################################ # Outputting files ############################################################ AC_CONFIG_FILES([stamp-h po/Makefile.in], [echo timestamp > stamp-h]) AC_CONFIG_COMMANDS([marshal], [echo -e "VOID:UINT64,UINT64\nVOID:INT,UINT64,INT\nVOID:OBJECT\nVOID:OBJECT,OBJECT" > src/glibext/chrysamarshal.list]) AC_CONFIG_FILES([Makefile pixmaps/Makefile plugins/Makefile plugins/androhelpers/Makefile plugins/govm/Makefile plugins/pychrysa/Makefile plugins/pychrysa/analysis/Makefile plugins/pychrysa/analysis/binaries/Makefile plugins/pychrysa/arch/Makefile plugins/pychrysa/debug/Makefile plugins/pychrysa/format/Makefile plugins/pychrysa/format/dex/Makefile plugins/pychrysa/glibext/Makefile plugins/pychrysa/gtkext/Makefile plugins/pychrysa/gui/Makefile plugins/pychrysa/gui/panels/Makefile plugins/python/Makefile plugins/python/androperms/Makefile plugins/python/apkfiles/Makefile plugins/python/exectracer/Makefile plugins/stackvars/Makefile src/Makefile src/analysis/Makefile src/analysis/binaries/Makefile src/analysis/blocks/Makefile src/analysis/decomp/Makefile src/analysis/disass/Makefile src/analysis/types/Makefile src/arch/Makefile src/arch/arm/Makefile src/arch/dalvik/Makefile src/arch/dalvik/decomp/Makefile src/arch/dalvik/opcodes/Makefile src/arch/dalvik/operands/Makefile src/arch/dalvik/pseudo/Makefile src/arch/jvm/Makefile src/arch/mips/Makefile src/arch/x86/Makefile src/arch/x86/opcodes/Makefile src/arch/x86/operands/Makefile src/common/Makefile src/debug/Makefile src/debug/jdwp/Makefile src/debug/jdwp/misc/Makefile src/debug/jdwp/sets/Makefile src/debug/remgdb/Makefile src/decomp/Makefile src/decomp/expr/Makefile src/decomp/expr/dalvik/Makefile src/decomp/instr/Makefile src/decomp/lang/Makefile src/dialogs/Makefile src/format/Makefile src/format/dex/Makefile src/format/dwarf/Makefile src/format/elf/Makefile src/format/java/Makefile src/format/mangling/Makefile src/format/pe/Makefile src/glibext/Makefile src/gtkext/Makefile src/gtkext/graph/Makefile src/gui/Makefile src/gui/menus/Makefile src/gui/panels/Makefile src/gui/tb/Makefile src/panels/Makefile src/plugins/Makefile src/plugins/overjump/Makefile]) AC_OUTPUT echo echo $PACKAGE $VERSION echo echo The GNU Image Manipulation Program Toolkit... : $libgtk_version echo The XML C parser and toolkit of Gnome........ : $libxml_version echo The Python GObject bindings.................. : $libpygobject_version echo The graph library from Graphviz.............. : $libgraph_version echo echo Print debugging messages..................... : $enable_debug echo echo configure complete, now type \'make\' echo