X-Git-Url: http://git.draconx.ca/gitweb/rrace.git/blobdiff_plain/2529a9651d160ab3a17118d778f5e5584d040765..dc5fda352920a27da020717ee7775fa89bf9fb7e:/configure.ac diff --git a/configure.ac b/configure.ac index b0c7fb0..96dc8f2 100644 --- a/configure.ac +++ b/configure.ac @@ -4,6 +4,9 @@ dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2. dnl This is free software: you are free to do what the fuck you want to. dnl There is NO WARRANTY, to the extent permitted by law. +dnl remove pointless gnulib warning flag check +AC_DEFUN([gl_CC_GNULIB_WARNINGS]) + AC_INIT([rrace], [0], [nbowler@draconx.ca]) AC_CONFIG_HEADERS([config.h]) @@ -12,8 +15,35 @@ AM_SILENT_RULES([yes]) DX_AUTOMAKE_COMPAT AC_PROG_CC_C99 +gl_EARLY LT_INIT +gl_INIT + +AC_CACHE_SAVE +m4_include([lib/gnulib.mk]) + +dnl We will provide our own makefile rules for gettext. Disable tracing of +dnl AM_GNU_GETTEXT to prevent autoreconf from running autopoint, and to +dnl prevent automake from growing gratuitous error conditions. +m4_traceoff([AM_GNU_GETTEXT]) +AM_GNU_GETTEXT([external]) +AH_BOTTOM([#include ]) +# Checks for curses +AC_ARG_WITH([curses], [AS_HELP_STRING([--with-curses], + [use curses for playing in text mode (default: auto)])], + [], [with_curses=auto]) +AS_IF([test x"$with_curses" != x"no"], + [DX_LIB_CURSES([have_curses=yes], [have_curses=no])]) +AS_IF([test x"$with_curses" = x"yes" && x"$have_curses" != x"yes"], + [AC_MSG_FAILURE([--with-curses requested but curses was not found])]) +AM_CONDITIONAL([HAVE_CURSES], [test x"$have_curses" = x"yes"]) + +AM_COND_IF([HAVE_CURSES], +[DX_CHECK_CURSES_FUNC([wresize], [0,0,0]) +DX_CHECK_CURSES_MOUSE_SUPPORT]) + +# Checks for X11 AC_PATH_XTRA AS_IF([test x"$no_x" != x"yes"], [AC_CACHE_CHECK([for Motif], [dx_cv_have_motif], @@ -32,12 +62,74 @@ AS_IF([test x"$with_x" = x"yes" && test "$dx_cv_have_motif" != x"yes"], AC_SUBST([MOTIF_CFLAGS], [@&t@]) AC_SUBST([MOTIF_LIBS], [@&t@]) -AS_IF([test x"$dx_cv_have_motif" = x"yes"], - [MOTIF_CFLAGS=$dx_cv_motif_cflags MOTIF_LIBS=$dx_cv_motif_libs]) +AM_CONDITIONAL([HAVE_MOTIF], + [test x"$with_x" != x"no" && test x"$dx_cv_have_motif" = x"yes"]) +AM_COND_IF([HAVE_MOTIF], + [MOTIF_CFLAGS=$dx_cv_motif_cflags MOTIF_LIBS=$dx_cv_motif_libs], + [AC_DEFINE([X_DISPLAY_MISSING])]) +AH_TEMPLATE([X11_RENDER_DEBUG], + [Define to 1 to enable visual aids for debugging X11 rendering.]) AC_CONFIG_TESTDIR([.], [t:.]) DX_PROG_AUTOTEST AM_CONDITIONAL([HAVE_AUTOTEST], [test x"$dx_cv_autotest_works" = x"yes"]) +AC_CHECK_PROGS([XPMTOPPM], [xpmtoppm]) +AC_CHECK_PROGS([PNMTOPNG], [pnmtopng]) +AC_CHECK_PROGS([CONVERT], [convert]) +AC_CHECK_PROGS([GM], [gm]) +AC_CACHE_CHECK([how to convert XPM to PNG], [dx_cv_xpm_to_png], +[cat >conftest.xpm <<'EOF' +/* XPM */ +static char *x[] = { +"1 1 1 1", +"x c #123456", +"x" +}; +EOF +check_conftest_png () { + od conftest.png | $AWK 'BEGIN { success=0; } +NR == 1 && $2 == "050211" && $3 == "043516" { success=1; } +NR == 1 && $2 == "104520" && $3 == "047107" { success=1; } +END { exit(!success); }' +} +rm -f conftest.png +for dx_cv_xpm_to_png in netpbm 'gm convert' convert unknown; do +AS_CASE([$dx_cv_xpm_to_png], + +[netpbm], +[AS_IF([$XPMTOPPM conftest.xpm >conftest.ppm 2>&AS_MESSAGE_LOG_FD], + [], [continue]) +AS_IF([$PNMTOPNG conftest.ppm >conftest.png 2>&AS_MESSAGE_LOG_FD], + [], [continue]) +AS_IF([check_conftest_png], [break])], + +[*convert], +[AS_CASE([$dx_cv_xpm_to_png], + [gm*], [test_convert="$GM convert"], + [test_convert="$CONVERT"]) +AS_IF([$test_convert conftest.xpm conftest.png >&AS_MESSAGE_LOG_FD 2>&1], + [], [continue]) +AS_IF([check_conftest_png], [break])]) +done +rm -f conftest.xpm conftest.ppm conftest.png]) + +AM_CONDITIONAL([USE_NETPBM], [test x"$dx_cv_xpm_to_png" = x"netpbm"]) +AM_CONDITIONAL([USE_CONVERT], + [AS_CASE([$dx_cv_xpm_to_png], [*convert], [], [false])]) + +AS_IF([test x"$dx_cv_xpm_to_png" = x"gm convert"], + [CONVERT="$GM convert"]) + +AC_CHECK_PROGS([OPTIPNG], [optipng]) +: "${OPTIPNG:=:}" + AC_CONFIG_FILES([Makefile]) AC_OUTPUT + +have_ui=false +AM_COND_IF([HAVE_CURSES], [have_ui=:]) +AM_COND_IF([HAVE_MOTIF], [have_ui=:]) +AS_IF([$have_ui], [], +[AC_MSG_WARN([No user interface is enabled.]) +AC_MSG_WARN([It will not be possible to play the game.])])