X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=configure.ac;h=e8fd379c8091dcb2bbc7f704f3732d8446495641;hp=eac5ab07381f0f586e276180a60a1b2b17cc28ad;hb=a5f0d391406a68275b41448fc3f49e8d8396c497;hpb=d4667f48eabde9e163ad98c72bfc6a8d61e375dc diff --git a/configure.ac b/configure.ac index eac5ab0..e8fd379 100644 --- a/configure.ac +++ b/configure.ac @@ -1,15 +1,207 @@ -AC_PREREQ(2.60) -AC_INIT([yoink],[0.1],[chaz@dogcows.com]) + +# +# Yoink +# Process this file with autoconf to produce a configure script. +# + +AC_PREREQ([2.60]) + +AC_INIT([Yoink], [0.1], [chaz@dogcows.com], [yoink]) + +AC_CANONICAL_TARGET + +AC_CONFIG_SRCDIR([src/YoinkApp.cc]) +AC_CONFIG_MACRO_DIR([m4]) + AM_INIT_AUTOMAKE -AC_CONFIG_SRCDIR([src/yoink.cc]) + + +# +# Checks for programs. +# AC_PROG_CXX -AC_PROG_LIBTOOL +#AC_PROG_AWK +AC_PROG_CC +AC_PROG_CPP AC_PROG_INSTALL +#AC_PROG_LN_S +#AC_PROG_MAKE_SET +AC_PROG_LIBTOOL + + +# +# Checks for configuration arguments. +# + +AC_ARG_ENABLE([debug], + [ --enable-debug include debugging symbols and features], + [debug=$enableval + if test x$debug = xyes + then + CFLAGS="-Wall -Werror -gstabs+ -O0 -DDEBUG" + CXXFLAGS="-Wall -Werror -gstabs+ -O0 -DDEBUG" + else + CFLAGS="-O2 -DNDEBUG" + CXXFLAGS="-O2 -DNDEBUG" + fi], + [CFLAGS="-O2 -DNDEBUG" + CXXFLAGS="-O2 -DNDEBUG"]) + +AC_ARG_ENABLE([profile], + [ --enable-profile make a binary for use with gprof], + [profile=$enableval + if test x$profile = xyes + then + CFLAGS="$CFLAGS -pg" + CXXFLAGS="$CXXFLAGS -pg" + fi]) + + +if test x$prefix = xNONE +then + prefix="$ac_default_prefix" +fi + +AC_ARG_WITH([assetdir], + [AS_HELP_STRING([--with-assetdir=DIR], + [real path to game assets (default: $datarootdir/yoink)])], + [DATADIR="$withval"], + [eval DATADIR="$datarootdir/yoink"]) + +AC_SUBST([DATADIR]) +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.]) + + +# +# Checks for libraries. +# + +AM_PATH_SDL([1.2.10], + [CFLAGS="$CFLAGS $SDL_CFLAGS" + CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" + LIBS="$LIBS $SDL_LIBS"]) + +#BOOST_REQUIRE([1.35]) +#CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" +BOOST_SMART_PTR +BOOST_STRING_ALGO +BOOST_BIND +BOOST_FUNCTION + +AC_SEARCH_LIBS([IMG_Load], [SDL_image],, + [AC_MSG_ERROR([libSDL_image is required])]) + +AC_SEARCH_LIBS([Sound_Init], [SDL_sound],, + [AC_MSG_ERROR([libSDL_sound is required])]) + +AC_SEARCH_LIBS([glBegin], [GL],, + [AC_MSG_ERROR([libGL is required])]) -AM_PROG_CC_C_O +AC_SEARCH_LIBS([gluPerspective], [GLU],, + [AC_MSG_ERROR([libGLU is required])]) + +AC_SEARCH_LIBS([alGenBuffers], [openal],, + [AC_MSG_ERROR([libopenal is required])]) + +AC_SEARCH_LIBS([alutInit], [alut],, + [AC_MSG_ERROR([libalut is required])]) + +AC_SEARCH_LIBS([clock_gettime], [rt], + [AC_DEFINE([HAVE_CLOCK_GETTIME], 1, + [Define to 1 if you have the 'clock_gettime' function.])]) + + +# +# Checks for header files. +# + +AC_HEADER_STDBOOL +AC_HEADER_STDC +AC_CHECK_HEADERS([stddef.h stdint.h stdlib.h string.h unistd.h]) + + +# +# Checks for typedefs, structures, and compiler characteristics. +# + +AC_C_STRINGIZE +AC_C_INLINE + +AC_TYPE_UINT8_T +AC_TYPE_UINT16_T +AC_TYPE_UINT32_T +AC_TYPE_SIZE_T +AC_TYPE_SSIZE_T + + +# +# Checks for library functions. +# + +AC_FUNC_ERROR_AT_LINE +AC_FUNC_STRTOD +AC_CHECK_FUNCS([nanosleep strchr strcspn strrchr strstr]) + + +# +# Find the data files to install. +# + +DATA_FILES=$(echo $(cd data; \ + find . -name "*.png" -o -name "*.json" -o -name yoinkrc)) +AC_SUBST([DATA_FILES]) + + +# +# Create the build files. +# AC_CONFIG_FILES([Makefile - src/Makefile]) + data/Makefile + doc/Makefile + doc/yoink.6 + extra/yoink.spec + src/Makefile + yajl/Makefile]) + +AC_CONFIG_HEADERS([src/config.h]) + AC_OUTPUT + +# +# Print a friendly little message. +# + +echo "======================================" +echo " Configuration complete!" +echo "" + +echo " Prefix: $prefix" +echo " Data: $DATADIR" +echo "" + +if test x$debug = xyes +then + echo " * Debugging enabled." + echo "" +fi + +if test x$profile = xyes +then + echo " * Profiling enabled." + echo "" +fi + +echo " To finish the installation, execute:" +echo " make" +echo " make install" +echo "======================================" +