X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=configure.ac;h=997a7f23b14d6228c12ad4fd7d3017dd90abbe1d;hp=39129322d1de7bf8f522bc144d23877580c5aeeb;hb=592c83141aef55c6e3a17c516e2f09441f29c267;hpb=9351bfa7871c88a5ad6e63f1d9c4483f50e4fed1 diff --git a/configure.ac b/configure.ac index 3912932..997a7f2 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ AC_INIT([Yoink], [0.1], [chaz@dogcows.com], [yoink]) AC_CANONICAL_TARGET -AC_CONFIG_SRCDIR([src/YoinkApp.cc]) +AC_CONFIG_SRCDIR([src/GameLayer.cc]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE @@ -42,6 +42,8 @@ case "${host}" in AC_MSG_ERROR([windres could not be found]) fi AC_SUBST(WINDRES) + AC_PATH_PROGS([MAKENSIS], [makensis]) + AC_SUBST(MAKENSIS) ;; *cygwin*) CYGWIN=yes @@ -51,8 +53,14 @@ case "${host}" in MACOSX=yes LIBS="$LIBS -Wl,-framework" ;; + *-linux-gnu*) + LINUX=yes + AC_PATH_PROGS([RPMBUILD], [rpmbuild]) + AC_SUBST(RPMBUILD) + ;; esac +AM_CONDITIONAL([LINUX], test "$LINUX" = "yes") AM_CONDITIONAL([WIN32], test "$WIN32" = "yes") @@ -60,16 +68,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], @@ -80,6 +88,11 @@ 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_WITH([log-level], [AS_HELP_STRING([--with-log-level=NUM], [0, none... 1, errors... 4, everything (default: 3)])], @@ -87,31 +100,27 @@ AC_ARG_WITH([log-level], [log_level=3]) -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 -Wall -g -DDEBUG" + CXXFLAGS="$CXXFLAGS -Wall -g -DDEBUG" +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 then CFLAGS="$CFLAGS -pg" CXXFLAGS="$CXXFLAGS -pg" + AC_DEFINE([PROFILING_ENABLED], 1, + [Define to 1 if profiling is built in.]) fi if test x$extra_warnings = xyes @@ -120,6 +129,12 @@ then CXXFLAGS="$CXXFLAGS -Wextra -Wno-unused-parameter" fi +if test x$threads = xyes +then + AC_DEFINE([USE_THREADS], 1, + [Define to 1 if you want to use threads for parallel tasks.]) +fi + AC_DEFINE_UNQUOTED([YOINK_LOGLEVEL], [$log_level], [Define to detail level of logging.]) @@ -129,15 +144,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}/yoink" fi AC_SUBST([DATADIR]) @@ -145,12 +156,6 @@ AC_DEFINE_UNQUOTED([YOINK_DATADIR], ["$DATADIR"], [Define to path of game asset directory.]) -CONFIGFILES="\$HOME/.yoinkrc:/etc/yoinkrc" - -AC_DEFINE_UNQUOTED([YOINK_CONFIGFILES], ["$CONFIGFILES"], - [Define to colon-delimited configuration file paths.]) - - # # Split the version number into components. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -168,6 +173,12 @@ AC_DEFINE_UNQUOTED([VERSION_MINOR], [${VERSION_MINOR:-0}], AC_DEFINE_UNQUOTED([VERSION_REVISION], [${VERSION_REVISION:-0}], [Define to revision version number component.]) +if test x$WIN32 = xyes +then + PVERSION="${VERSION_MAJOR:-0}.${VERSION_MINOR:-0}.${VERSION_REVISION:-0}.0" + AC_SUBST([PVERSION]) +fi + # these are used in src/yoink.rc @@ -260,6 +271,15 @@ AC_SEARCH_LIBS([ov_open], [vorbisfile],, [missing=yes echo "***** Missing libvorbisfile ($website) *****"]) +##### liblua ##### +website="http://www.lua.org/" +AC_CHECK_HEADERS([lua.h],, + [missing=yes + echo "***** Missing lua headers ($website) *****"]) +AC_SEARCH_LIBS([lua_load], [lua],, + [missing=yes + echo "***** Missing liblua ($website) *****"]) + ##### librt (optional) ##### AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME], 1, @@ -277,10 +297,9 @@ fi #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DATA_FILES=$(echo $(cd data; \ - find . -name "*.json" \ + find . -name "*.lua" \ -o -name "*.ogg" \ -o -name "*.png" \ - -o -name "*.xm" \ -o -name "yoinkrc")) AC_SUBST([DATA_FILES]) @@ -295,6 +314,7 @@ AC_CONFIG_FILES([Makefile doc/yoink.6 extra/Makefile extra/yoink.spec + make-win32-installer.sh src/Makefile]) AC_CONFIG_HEADERS([src/config.h]) @@ -309,13 +329,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"