X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=configure.ac;h=0f46ef53253e2a542801618c61287d3943f8413e;hp=a9018e12b8b7373350d1a9fa237c8adbe738d24c;hb=9d0add74a28da0a1c24430eee52d41a7d367f857;hpb=64bd443538f57ad1bdff6c6b35953e72141129b2 diff --git a/configure.ac b/configure.ac index a9018e1..0f46ef5 100644 --- a/configure.ac +++ b/configure.ac @@ -27,6 +27,10 @@ AC_PROG_INSTALL AC_PROG_RANLIB AM_PROG_CC_C_O +PKG_PROG_PKG_CONFIG + +AC_PATH_PROGS([DOXYGEN], [doxygen]) +AC_SUBST(DOXYGEN) # # Configure platform-specific stuff. @@ -55,8 +59,6 @@ case "${host}" in ;; *-linux-gnu*) LINUX=yes - AC_PATH_PROGS([RPMBUILD], [rpmbuild]) - AC_SUBST(RPMBUILD) ;; esac @@ -68,16 +70,16 @@ AM_CONDITIONAL([WIN32], test "$WIN32" = "yes") # Checks for configuration arguments. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -AC_ARG_ENABLE([developer], - [ --enable-developer use all compiler flags developers need], - [developer=$enableval], - [developer=no]) - AC_ARG_ENABLE([debug], [ --enable-debug include debugging symbols and features], [debug=$enableval], [debug=no]) +AC_ARG_ENABLE([double-precision], + [ --enable-double-precision use double-precision numbers], + [double_precision=$enableval], + [double_precision=no]) + AC_ARG_ENABLE([profile], [ --enable-profile make a binary for use with gprof profiler], [profile=$enableval], @@ -88,37 +90,41 @@ AC_ARG_ENABLE([extra-warnings], [extra_warnings=$enableval], [extra_warnings=no]) +AC_ARG_ENABLE([threads], + [ --enable-threads use threads for some parallel tasks], + [threads=$enableval], + [threads=no]) + +AC_ARG_ENABLE([gtk], + [ --enable-gtk enable GTK+ info/warning dialogs], + [gtk=$enableval], + [gtk=no]) + +AC_ARG_ENABLE([qt4], + [ --enable-qt4 enable QT info/warning dialogs], + [qt4=$enableval], + [qt4=no]) + AC_ARG_WITH([log-level], [AS_HELP_STRING([--with-log-level=NUM], [0, none... 1, errors... 4, everything (default: 3)])], [log_level=$withval], [log_level=3]) -AC_ARG_ENABLE([double], - [ --enable-double use double-precision numbers], - [double=$enableval], - [double=no]) - -if test x$developer = xyes +if test x$debug = xyes then - debug=yes - log_level=4 - - if test x$WIN32 != xyes - then -# i haven't had much success with gprof profiling on win32 - profile=yes - fi + CFLAGS="$CFLAGS -DDEBUG -Wall -Wno-uninitialized" + CXXFLAGS="$CXXFLAGS -DDEBUG -Wall -Wno-uninitialized" +else + CFLAGS="$CFLAGS -DNDEBUG" + CXXFLAGS="$CXXFLAGS -DNDEBUG" fi -if test x$debug = xyes +if test x$double_precision = xyes then - CFLAGS="$CFLAGS -Wall -O0 -DDEBUG" - CXXFLAGS="$CXXFLAGS -Wall -O0 -DDEBUG" -else - CFLAGS="$CFLAGS -O2 -DNDEBUG" - CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG" + AC_DEFINE([USE_DOUBLE_PRECISION], 1, + [Define to 1 if you want to use doubles instead of floats.]) fi if test x$profile = xyes @@ -135,12 +141,23 @@ then CXXFLAGS="$CXXFLAGS -Wextra -Wno-unused-parameter" fi -if test x$double = xyes +if test x$threads = xyes then - AC_DEFINE([USE_DOUBLE_PRECISION], 1, - [Define to 1 if you want to use double-precison numbers.]) + AC_DEFINE([USE_THREADS], 1, + [Define to 1 if you want to use threads for parallel tasks.]) fi +if test x$gtk = xyes +then + AC_DEFINE([USE_GTK], 1, + [Define to 1 if you want to use GTK+ info/error dialogs.]) +else +if test x$qt4 = xyes +then + AC_DEFINE([USE_QT4], 1, + [Define to 1 if you want to use QT info/error dialogs.]) +fi +fi AC_DEFINE_UNQUOTED([YOINK_LOGLEVEL], [$log_level], [Define to detail level of logging.]) @@ -151,15 +168,11 @@ then prefix="$ac_default_prefix" fi -AC_ARG_WITH([assetdir], - [AS_HELP_STRING([--with-assetdir=DIR], - [real path to assets (default: $datarootdir/yoink)])], - [DATADIR="$withval"], - [eval DATADIR="$datarootdir/yoink"]) - if test x$WIN32 = xyes then DATADIR="data" +else + eval eval DATADIR="${datadir}/$PACKAGE" fi AC_SUBST([DATADIR]) @@ -291,6 +304,30 @@ AC_SEARCH_LIBS([lua_load], [lua],, [missing=yes echo "***** Missing liblua ($website) *****"]) +if test x$gtk = xyes +then + ##### GTK+ 2.0 ##### + website="http://www.gtk.org/" + PKG_CHECK_MODULES([GTK], [gtk+-2.0], + [LIBS="$LIBS $GTK_LIBS" + CFLAGS="$CFLAGS $GTK_CFLAGS" + CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"], + [missing=yes + echo "***** Missing GTK+-2.0 ($website) *****"]) +fi + +if test x$qt4 = xyes +then + ##### QT4 ##### + website="http://qt.nokia.com/" + PKG_CHECK_MODULES([QT], [QtGui], + [LIBS="$LIBS $QT_LIBS" + CFLAGS="$CFLAGS $QT_CFLAGS" + CXXFLAGS="$CXXFLAGS $QT_CFLAGS"], + [missing=yes + echo "***** Missing QT ($website) *****"]) +fi + ##### librt (optional) ##### AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME], 1, @@ -321,12 +358,9 @@ AC_SUBST([DATA_FILES]) AC_CONFIG_FILES([Makefile data/Makefile - doc/Makefile - doc/yoink.6 - extra/Makefile - extra/yoink.spec - make-win32-installer.sh - src/Makefile]) + src/Makefile + doc/Makefile doc/yoink.6 + win32/Makefile win32/build-installer.sh]) AC_CONFIG_HEADERS([src/config.h]) @@ -340,13 +374,14 @@ AC_OUTPUT echo "" echo " Configuration complete! :-)" echo "" -echo " Target: $target" -echo " Prefix: $prefix" -echo " Data Directory: $DATADIR" -echo " Log Level: $log_level" -echo " Debug: $debug" -echo " Profile: $profile" -echo " Extra Warnings: $extra_warnings" +echo " Target: $target" +echo " Prefix: $prefix" +echo " Data Directory: $DATADIR" +echo " Log Level: $log_level" +echo " Debug: $debug" +echo " Double Precision: $double_precision" +echo " Profile: $profile" +echo " Extra Warnings: $extra_warnings" echo "" echo " To finish the installation, execute:" echo " make"