X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=configure.ac;fp=configure.ac;h=0000000000000000000000000000000000000000;hp=a4f33cb40b21f52d65b956a13b305135c75305bd;hb=7ac3aee9efa7f9ce1a966df030b1f76f2b82ef2d;hpb=6b0a0d0efafe34d48ab344fca3b479553bd4e62c diff --git a/configure.ac b/configure.ac deleted file mode 100644 index a4f33cb..0000000 --- a/configure.ac +++ /dev/null @@ -1,451 +0,0 @@ - -# -# Yoink -# Process this file with autoconf to produce a configure script. -# - -AC_PREREQ(2.61) - -AC_INIT([Yoink],[0.1],[chaz@dogcows.com],[yoink]) - -AC_CANONICAL_TARGET - -AC_CONFIG_SRCDIR([src/version.c]) -AC_CONFIG_MACRO_DIR([m4]) - -AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip]) - - -# -# Determine the target platform. -# - -case "${host}" in - *mingw32*) WIN32=yes ;; - *-apple-darwin*) MACOSX=yes ;; - *netbsd*) NETBSD=yes ;; -esac - -AM_CONDITIONAL([WIN32], [test x$WIN32 = xyes]) -AM_CONDITIONAL([MACOSX], [test x$MACOSX = xyes]) -AM_CONDITIONAL([NETBSD], [test x$NETBSD = xyes]) - - -# -# Checks for configuration arguments. -# - -AC_ARG_ENABLE([debug], - [AS_HELP_STRING([--enable-debug], - [include debugging symbols and code paths])], - [debug=$enableval], - [debug=no]) - -AC_ARG_ENABLE([double-precision], - [AS_HELP_STRING([--enable-double-precision], - [use doubles instead of floats])], - [double_precision=$enableval], - [double_precision=no]) - -AC_ARG_ENABLE([profile], - [AS_HELP_STRING([--enable-profile], - [make a binary with code profiling instructions])], - [profile=$enableval], - [profile=no]) - -AC_ARG_ENABLE([extra-warnings], - [AS_HELP_STRING([--enable-extra-warnings], - [make the gcc compiler give more warnings])], - [extra_warnings=$enableval], - [extra_warnings=no]) - -AC_ARG_ENABLE([link-sh], - [AS_HELP_STRING([--enable-link-sh], - [give the executable fewer direct dependencies])], - [link_sh=$enableval], - [link_sh=no]) - -AC_ARG_ENABLE([clock_gettime], - [AS_HELP_STRING([--enable-clock_gettime], - [use clock_gettime() instead of SDL_GetTicks()])], - [clock_gettime=$enableval], - [clock_gettime=no]) - -AC_ARG_ENABLE([threads], - [AS_HELP_STRING([--enable-threads], - [use threads for concurrency where appropriate])], - [threads=$enableval], - [threads=no]) - -AC_ARG_ENABLE([hotloading], - [AS_HELP_STRING([--enable-hotloading], - [monitor assets and reload them when they change])], - [hotloading=$enableval], - [hotloading=no]) - -AC_ARG_WITH([gtk], - [AS_HELP_STRING([--with-gtk], - [use gtk2 modal dialogs])], - [gtk=$withval], - [gtk=no]) - -AC_ARG_WITH([qt4], - [AS_HELP_STRING([--with-qt4], - [use qt4 modal dialogs; overridden by --with-gtk])], - [qt4=$withval], - [qt4=no]) - - -if test x$debug = xyes -then - CFLAGS="$CFLAGS -DDEBUG -ggdb -O0 -Wall -Wno-uninitialized" - CXXFLAGS="$CXXFLAGS -DDEBUG -ggdb -O0 -Wall -Wno-uninitialized" -else - CFLAGS="$CFLAGS -DNDEBUG" - CXXFLAGS="$CXXFLAGS -DNDEBUG" -fi - -if test x$double_precision = xyes -then - 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 -then - CFLAGS="$CFLAGS -Wextra -Wno-unused-parameter" - CXXFLAGS="$CXXFLAGS -Wextra -Wno-unused-parameter" -fi - -AM_CONDITIONAL([LINK_SH], [test x$link_sh = xyes]) - -if test x$threads = xyes -then - AC_DEFINE([USE_THREADS], 1, - [Define to 1 if you want to use threads when applicable.]) -fi - -if test x$hotloading = xyes -then - AC_DEFINE([USE_HOTLOADING], 1, - [Define to 1 if you want to use hotloading assets.]) -fi - -if test x$gtk = xyes -then - AC_DEFINE([USE_GTK], 1, - [Define to 1 if you want to use GTK+ modal dialogs.]) -elif test x$qt4 = xyes -then - AC_DEFINE([USE_QT4], 1, - [Define to 1 if you want to use QT4 modal dialogs.]) -fi - - -if test "x$prefix" = xNONE -then - prefix="$ac_default_prefix" -fi - -if test x$WIN32 = xyes -then - DATADIR="data" -else - eval eval DATADIR="${datadir}/$PACKAGE" -fi - -AC_SUBST([DATADIR]) -AC_DEFINE_UNQUOTED([YOINK_DATADIR], ["$DATADIR"], - [Define to the path of the game asset directory.]) - - -#### -AC_MSG_NOTICE([Checks for programs.]) -#### - -AC_PROG_CXX -AC_PROG_CC -AC_PROG_INSTALL -AC_PROG_RANLIB -AM_PROG_CC_C_O - -PKG_PROG_PKG_CONFIG - -AC_PATH_PROGS([CUT], [cut]) -if test x$CUT = x -then - AC_MSG_ERROR([The cut program is required.]) -fi - -AC_PATH_PROGS([FIND], [find]) -if test x$FIND = x -then - AC_MSG_ERROR([The find program is required.]) -fi - -if test x$WIN32 = xyes -then - AC_PATH_PROGS([WINDRES], - [windres $host_alias-windres $host_os-windres]) - if test x$WINDRES = x - then - AC_MSG_ERROR([The windres program is required.]) - fi - - AC_PATH_PROGS([ZIP], [zip]) - if test x$ZIP = x - then - AC_MSG_WARN([The zip program is needed to build a portable package.]) - fi - - AC_PATH_PROGS([MAKENSIS], [makensis]) - if test x$MAKENSIS = x - then - AC_MSG_WARN([The makensis program is needed to build an installer.]) - fi - - AC_PATH_PROGS([GROFF], [groff]) - if test x$GROFF = x - then - AC_MSG_WARN([The groff program is needed to create the manual page.]) - fi -elif test x$NETBSD = xyes -then - AC_PATH_PROGS([PKGLINT], [pkglint]) -fi - -AM_CONDITIONAL([HAVE_MAKENSIS], [test x$MAKENSIS != x]) - -#### -AC_MSG_NOTICE([Checks for libraries.]) -#### - -##### boost##### -website="http://www.boost.org/" -BOOST_BIND -BOOST_FUNCTION -BOOST_SMART_PTR -BOOST_STRING_ALGO - -##### SDL ##### -website="http://www.libsdl.org/" -PKG_CHECK_MODULES([SDL], [sdl], - [LIBS="$LIBS $SDL_LIBS" - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"], - [missing=yes - AC_MSG_WARN([Missing SDL ($website)])]) - -##### opengl, glu ##### -website="http://www.mesa3d.org/" -PKG_CHECK_MODULES([OPENGL], [gl glu], - [LIBS="$LIBS $OPENGL_LIBS" - CFLAGS="$CFLAGS $OPENGL_CFLAGS" - CXXFLAGS="$CXXFLAGS $OPENGL_CFLAGS"], - [missing=yes - AC_MSG_WARN([Missing OpenGL ($website)])]) - -##### libpng ##### -website="http://www.libpng.org/pub/png/libpng.html" -PKG_CHECK_MODULES([PNG], [libpng], - [LIBS="$LIBS $PNG_LIBS" - CFLAGS="$CFLAGS $PNG_CFLAGS" - CXXFLAGS="$CXXFLAGS $PNG_CFLAGS"], - [missing=yes - AC_MSG_WARN([Missing libpng ($website)])]) - -##### openal ##### -website="http://connect.creativelabs.com/openal/" -PKG_CHECK_MODULES([OPENAL], [openal], - [LIBS="$LIBS $OPENAL_LIBS" - CFLAGS="$CFLAGS $OPENAL_CFLAGS" - CXXFLAGS="$CXXFLAGS $OPENAL_CFLAGS"], - [missing=yes - AC_MSG_WARN([Missing OpenAL ($website)])]) - -##### libvorbis ##### -website="http://www.xiph.org/downloads/" -PKG_CHECK_MODULES([VORBIS], [vorbisfile], - [LIBS="$LIBS $VORBIS_LIBS" - CFLAGS="$CFLAGS $VORBIS_CFLAGS" - CXXFLAGS="$CXXFLAGS $VORBIS_CFLAGS"], - [missing=yes - AC_MSG_WARN([Missing libvorbisfile ($website)])]) - -##### liblua ##### -website="http://www.lua.org/" -PKG_CHECK_MODULES([LUA], [lua], - [LIBS="$LIBS $LUA_LIBS" - CFLAGS="$CFLAGS $LUA_CFLAGS" - CXXFLAGS="$CXXFLAGS $LUA_CFLAGS"], - [missing=yes - AC_MSG_WARN([Missing liblua ($website)])]) - -##### GTK+ 2.0 ##### -if test x$gtk = xyes -then - 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 - AC_MSG_WARN([Missing GTK+-2.0 ($website)])]) -fi - -##### QT4 ##### -if test x$qt4 = xyes -then - website="http://qt.nokia.com/" - PKG_CHECK_MODULES([QT4], [QtGui], - [LIBS="$LIBS $QT4_LIBS" - CFLAGS="$CFLAGS $QT4_CFLAGS" - CXXFLAGS="$CXXFLAGS $QT4_CFLAGS"], - [missing=yes - AC_MSG_WARN([Missing QT4 ($website)])]) -fi - -if test x$WIN32 = xyes -then - # On Windows, sockets are in the ws2_32 library. - LIBS="$LIBS -lws2_32" -fi - -if test x$missing = xyes -then - AC_MSG_ERROR([You are missing some required libraries.]) -fi - - -#### -AC_MSG_NOTICE([Checks for header files.]) -#### - -AC_HEADER_STDBOOL -AC_HEADER_STDC -AC_CHECK_HEADERS([arpa/inet.h byteswap.h fcntl.h stddef.h stdint.h stdlib.h string.h unistd.h]) - - -#### -AC_MSG_NOTICE([Checks for types.]) -#### - -AC_TYPE_UINT8_T -AC_TYPE_UINT16_T -AC_TYPE_UINT32_T -AC_TYPE_UINT64_T -AC_TYPE_SIZE_T - - -#### -AC_MSG_NOTICE([Checks for compiler characteristics.]) -#### - -AC_C_STRINGIZE -AC_C_INLINE - - -#### -AC_MSG_NOTICE([Checks for library functions.]) -#### - -AC_FUNC_ERROR_AT_LINE -AC_FUNC_STRTOD -AC_CHECK_FUNCS([fcntl nanosleep strchr strcspn strrchr strstr]) - -if test x$clock_gettime = xyes -then - AC_SEARCH_LIBS([clock_gettime], [rt], - [clock_gettime=yes], - [clock_gettime=no]) - if test x$clock_gettime = xyes - then - AC_DEFINE([HAVE_CLOCK_GETTIME], 1, - [Define to 1 if you have the 'clock_gettime' function.]) - else - AC_MSG_WARN([Falling back to SDL_GetTicks().]) - fi -fi - - -# -# Find the game resources to install. -# - -DATA_FILES=$(echo $(cd data && find . -name "*.lua" \ - -o -name "*.ogg" \ - -o -name "*.png" \ - -o -name "yoinkrc")) -AC_SUBST([DATA_FILES]) - - -# -# Split the version number into components. -# These definitions are used in the win32 resource file, src/yoink.rc. -# - -VERSION_MAJOR=$(echo $VERSION | cut -d. -f1) -VERSION_MINOR=$(echo $VERSION | cut -d. -f2) -VERSION_REVISION=$(echo $VERSION | cut -d. -f3) - -AC_DEFINE_UNQUOTED([VERSION_MAJOR], [${VERSION_MAJOR:-0}], - [Define to major version number component.]) - -AC_DEFINE_UNQUOTED([VERSION_MINOR], [${VERSION_MINOR:-0}], - [Define to minor version number component.]) - -AC_DEFINE_UNQUOTED([VERSION_REVISION], [${VERSION_REVISION:-0}], - [Define to revision version number component.]) - -PVERSION="${VERSION_MAJOR:-0}.${VERSION_MINOR:-0}.${VERSION_REVISION:-0}.0" -AC_SUBST([PVERSION]) - -if githead=$(git log -n1 --date=short --pretty=format:"%h (%ad)") -then - AC_DEFINE_UNQUOTED([YOINK_GITHEAD], ["$githead"], - [Define to the git commit currently checked out.]) -fi - - -# -# Create the build files. -# - -AC_CONFIG_FILES([Makefile - data/Makefile - doc/yoink.6 - src/Makefile]) - -AC_CONFIG_HEADERS([src/config.h]) - -AC_OUTPUT - - -# -# Print a friendly little message. -# - -echo "" -echo " Configuration complete! :-)" -echo "" -echo " Host: $target" -echo " Prefix: $prefix" -echo " Data: $DATADIR" -echo "" -echo " CXX: $CXX" -echo " CXXFLAGS: $(echo $CXXFLAGS)" -echo " LIBS: $(echo $LIBS)" -echo "" -echo " To finish the installation, execute:" -echo " make" -echo " make install" -echo "" -