X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=configure.ac;h=4829862a5cc7ce09bd7e583e4db8bb6f80b0e15a;hb=a009a27e8c1e0bfa818f12fdcae675d0babc510a;hp=9bcedb8ce3c4499ab3827d565add8882e21376e0;hpb=d17fbcbe663255538901f641191e2dd100ec4d3a;p=xboard.git diff --git a/configure.ac b/configure.ac index 9bcedb8..4829862 100644 --- a/configure.ac +++ b/configure.ac @@ -1,21 +1,21 @@ dnl| configure.in dnl| -dnl| Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, 2007, -dnl| 2008, 2009, 2010 Free Software Foundation, Inc. +dnl| Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, 2007, +dnl| 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. dnl| dnl| GNU XBoard is free software: you can redistribute it and/or modify dnl| it under the terms of the GNU General Public License as published by dnl| the Free Software Foundation, either version 3 of the License, or (at dnl| your option) any later version. -dnl| +dnl| dnl| GNU XBoard is distributed in the hope that it will be useful, but dnl| WITHOUT ANY WARRANTY; without even the implied warranty of dnl| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl| General Public License for more details. -dnl| +dnl| dnl| You should have received a copy of the GNU General Public License -dnl| along with this program. If not, see http://www.gnu.org/licenses/. -dnl| +dnl| along with this program. If not, see http://www.gnu.org/licenses/. +dnl| dnl| -------------------------------------------------------------------- dnl| dnl| You can process this file with autoconf to produce a configure script. @@ -23,16 +23,16 @@ dnl| However, normally the supplied configure script will work fine. dnl| dnl| If you do need to change the configure script, instead of editing dnl| it directly, try to edit configure.in (in a way that will keep -dnl| it portable to sites and systems other than your own), and run autoconf +dnl| it portable to sites and systems other than your own), and run autoconf dnl| to regenerate configure. Then submit your changes to be folded into dnl| the standard version of xboard. dnl| define second argument as VERSION.PATCHLEVEL. e.g. 4.4.0j -AC_INIT([xboard],[master-20101120],[bug-xboard@gnu.org]) +AC_INIT([xboard],[master-20121211],[bug-xboard@gnu.org]) dnl| need this to be able to compile some files in a subdir (filebrowser) AM_INIT_AUTOMAKE([subdir-objects]) -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_HEADERS([config.h]) @@ -69,19 +69,15 @@ fi AC_PROG_CC dnl| need this to be able to compile files in a subdir -AM_PROG_CC_C_O +AM_PROG_CC_C_O AC_PROG_CPP AC_ISC_POSIX AC_PROG_INSTALL -AC_PROG_LEX -if test "$LEX" != flex; then - LEX="$SHELL $missing_dir/missing flex" - AC_SUBST([LEX_OUTPUT_ROOT], [lex.yy]) - AC_SUBST([LEXLIB], ['']) -fi - +dnl| add gettext support +AM_GNU_GETTEXT_VERSION(0.17) +AM_GNU_GETTEXT([external]) AC_CHECK_PROGS(RSH, remsh rsh, rsh) AC_CHECK_PROGS(MINFO, makeinfo, makeinfo_not_found) @@ -100,7 +96,7 @@ AC_HEADER_TIME AC_HEADER_SYS_WAIT AC_HEADER_DIRENT AC_TYPE_SIGNAL -AC_CHECK_HEADERS(stropts.h sys/time.h string.h unistd.h sys/systeminfo.h malloc.h) +AC_CHECK_HEADERS(stropts.h sys/time.h string.h unistd.h sys/systeminfo.h) AC_CHECK_HEADERS(fcntl.h sys/fcntl.h, break) AC_CHECK_HEADERS(sys/socket.h lan/socket.h, break) AC_CHECK_HEADER(stddef.h, [], AC_DEFINE(X_WCHAR, 1)) @@ -114,55 +110,112 @@ AC_CHECK_FUNC(setlocale, [], AC_CHECK_LIB(seq, getpseudotty) +dnl | add compiler warnings only if compiler understands them +AC_MSG_CHECKING(whether compiler understands -Wall -Wno-parentheses) +SAVE_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Wall -Wno-parentheses" +AC_TRY_COMPILE([],[], + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no) + CFLAGS="$SAVE_CFLAGS") + +dnl | check for cairo and librsvg + +PKG_CHECK_MODULES([CAIRO], [ cairo >= 1.2.0 librsvg-2.0 >= 2.14.0 ]) +AC_SUBST(CAIRO_CFLAGS) +AC_SUBST(CAIRO_LIBS) + +dnl | check which front end to use +dnl | first check for gtk +dnl | then for Xaw3d +dnl | and then for Xaw +FRONTEND_CFLAGS="" +FRONTEND_LIBS="" + +AC_ARG_WITH([gtk], + [AS_HELP_STRING([--with-gtk],[use GTK front-end (experimental)])], + [with_GTK=yes], + [with_GTK=no]) -dnl | check for X-libraries -AC_PATH_XTRA -if test -n "$no_x" ; then - echo $PACKAGE requires the X Window System header files and libraries! - echo They were not found on your system. See FAQ topic C.2. - echo configure failed - exit 1 +AC_ARG_WITH([Xaw3d], + [AS_HELP_STRING([--with-Xaw3d],[use Xaw3d front-end (not fully supported anymore)])], + [with_Xaw3d=yes], + [with_Xaw3d=no]) + +AC_ARG_WITH([Xaw], + [AS_HELP_STRING([--with-Xaw],[use Xaw front-end (default)])], + [with_Xaw=yes], + [with_Xaw=no]) + +dnl | check for libraries +if test x"$with_GTK" = x"yes" ; then + PKG_CHECK_MODULES([GTK], [ gtk+-2.0 >= 2.16.0 gmodule-2.0 ]) + FRONTEND_CFLAGS=$GTK_CFLAGS + FRONTEND_LIBS=$GTK_LIBS fi -AC_CHECK_HEADER(X11/Intrinsic.h,xt="yes",xt="no") +if test x"$with_GTK" = x"no" ; then -if test "$xt" = "no" ; then - echo Xt headers not found - exit 1 -fi +dnl | general check for Xaw and Xaw3d + AC_PATH_XTRA + if test -n "$no_x" ; then + AC_MSG_ERROR([ " $PACKAGE requires the X Window System header files and libraries! + They were not found on your system. See FAQ topic C.2. + configure failed"]) + fi -dnl | test if user wants ot use Xaw3d headers -AC_ARG_WITH([Xaw3d], - [AS_HELP_STRING([--with-Xaw3d], - [use Xaw3d instead of Xaw])], - [with_xaw3d=yes], - [with_xaw3d=no]) - -XAW_LIBS= -AS_IF([test "x$with_xaw3d" != xno], - [AC_CHECK_LIB([Xaw3d], + save_cflags="$CFLAGS" + save_cppflags="$CPPFLAGS" + CFLAGS="$CFLAGS $X_CFLAGS" + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + AC_CHECK_HEADER([X11/Intrinsic.h],[xt="yes"],[xt="no"]) + CFLAGS="$save_cflags" + CPPFLAGS="$save_cppflags" + + if test "$xt" = "no" ; then + AC_MSG_ERROR([Xt headers not found. Please install the X11 packages.]) + fi + +dnl | check availability of Xaw3d + FRONTEND_LIBS= + AS_IF([test x"$with_Xaw3d" != x"no"], + [AC_CHECK_LIB([Xaw3d], [XawTextReplace], - [AC_SUBST([XAW_LIBS], - ["-lXaw3d"]) - AC_DEFINE([USE_XAW3D], [1], - [Define if you want to use Xaw3d])], - [AC_CHECK_HEADER(X11/Xaw/Dialog.h,xaw_headers="yes") - AC_MSG_FAILURE( - [--with-Xaw3d was given, but test for Xaw3d failed])], + [ FRONTEND_LIBS="-lXaw3d" + AC_DEFINE([USE_XAW3D], [1], [Define if you want to use Xaw3d])], + [AC_MSG_ERROR([--with-Xaw3d was given, but test for Xaw3d failed. Make sure that you have Xaw3d installed, else you might want to try the configure option --without-Xaw3d])], [-lXaw])]) -if test "$with_xaw3d" = "no" ; then - XAW_LIBS="-lXaw" + +dnl | no Xaw3d, check for Xaw; make it the default + if test x"$with_Xaw3d" = x"no" ; then + with_Xaw=yes + save_cflags="$CFLAGS" + save_cppflags="$CPPFLAGS" + CFLAGS="$CFLAGS $X_CFLAGS" + CPPFLAGS="$CPPFLAGS $X_CFLAGS" + AC_CHECK_HEADER([X11/Xaw/Dialog.h],[xaw_headers="yes"], [xaw_headers="no"]) + CFLAGS="$save_cflags" + CPPFLAGS="$save_cppflags" + + if test x"$xaw_headers" = x"no" ; then + AC_MSG_ERROR([Xaw headers not found. Please install the Xaw package and headers.]) + fi + + FRONTEND_LIBS="-lXaw" + fi + fi -AC_SUBST(XAW_LIBS) -dnl | end Xaw3d test +dnl | make results available in Makefile.am +AM_CONDITIONAL([withGTK], [test x"$with_GTK" = x"yes"]) +AM_CONDITIONAL([withXaw], [test x"$with_Xaw3d" = x"yes"]) +AM_CONDITIONAL([withXaw], [test x"$with_Xaw" = x"yes"]) -if test "$xaw_headers" = "no" ; then - echo Xaw headers not found - exit 1 -fi +AC_SUBST(FRONTEND_CFLAGS) +AC_SUBST(FRONTEND_LIBS) +dnl | end Front-end check AC_CANONICAL_HOST @@ -199,7 +252,7 @@ dnl| know whether the X header files on HP-UX require it. fi dnl| HP doesn't supply a full set of X header files and libraries. People -dnl| often have some things installed in one place and some in another. +dnl| often have some things installed in one place and some in another. dnl| AC_PATH_XTRA will find only one place, so we try to add all the dnl| likely ones that might be missing here. It might be better to dnl| change AC_PATH_XTRA to try to extract this information from imake, @@ -315,7 +368,7 @@ dnl| code above. AC_DEFINE(PTY_TTY_NAME_SPRINTF, [sprintf (pty_name, "/dev/ttyp%d", i);]) dnl| USE_PTYS=1 ;; - + *-*-dynix* | *-*-ptx* ) dnl| USE_PTYS=1 ;; @@ -350,10 +403,12 @@ AC_ARG_ENABLE( [xpm], if test x"$enable_xpm" != "xno"; then save_cflags="$CFLAGS" + save_cppflags="$CPPFLAGS" CFLAGS="$CFLAGS $X_CFLAGS" CPPFLAGS="$CPPFLAGS $X_CFLAGS" AC_CHECK_HEADERS(X11/xpm.h) CFLAGS="$save_cflags" + CPPFLAGS="$save_cppflags" if test "$ac_cv_header_X11_xpm_h" = "yes"; then save_ldflags="$LDFLAGS" LDFLAGS="$LDFLAGS $X_LIBS" @@ -370,7 +425,7 @@ AC_SUBST(CONF_CFLAGS) AC_SUBST(CONF_LDFLAGS) AC_MSG_CHECKING(whether ptys or pipes should be used) -AC_ARG_ENABLE( [ptys], +AC_ARG_ENABLE( [ptys], [AS_HELP_STRING([--enable-ptys],[force use of pseudo-ttys with child processes])], [if test "$enableval" = yes; then USE_PTYS=1 @@ -393,19 +448,20 @@ AC_DEFINE_UNQUOTED(USE_PTYS, $USE_PTYS) dnl | define not to build zippy as a default, so that autoheader is happy -AC_DEFINE(ZIPPY, 0,[should zippy be enabled]) -AC_ARG_ENABLE( [zippy], +AC_ARG_ENABLE( [zippy], [AS_HELP_STRING([--enable-zippy],[support interfacing a chess program to ICS (default)])], - [], - [enable_zippy="yes"]) + [], + [enable_zippy="no"]) if test x"$enable_zippy" != xno; then AC_DEFINE(ZIPPY, 1,[should zippy be enabled]) +else + AC_DEFINE(ZIPPY, 0,[should zippy be enabled]) fi AM_CONDITIONAL([ZIPPY], [test x$enable_zippy != xno]) -AC_ARG_ENABLE(sigint, +AC_ARG_ENABLE(sigint, [AS_HELP_STRING([--enable-sigint],[sending SIGINT (^C) wakes up GNU Chess (default)])], [if test "$enableval" = yes; then AC_DEFINE(ATTENTION, 1) @@ -416,14 +472,33 @@ enable_sigint=$enableval AC_DEFINE(ATTENTION, 1)]) +if test x"$with_Xaw3d" = x"yes" -o x"$with_Xaw" = x"yes" ; then dnl | save all information for X in X_LIBS, also add the libraries themself dnl | since AC_PATH_XTRA only adds the paths -X_LIBS="$X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lXmu -lX11 -lXt " +X_LIBS="$X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS -lXmu -lX11 -lXt " AC_SUBST(X_CFLAGS) AC_SUBST(X_LIBS) +fi +dnl | should we install desktop icons and mime associations? +AC_ARG_ENABLE( [update-mimedb], + [AS_HELP_STRING([--disable-update-mimedb],[disable the update-mime-database after install [default=no]])], + [enable_mimedb="no"], + [enable_mimedb="yes"]) + +AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x"$enable_mimedb" = "xyes") + +if test x"$enable_mimedb" = "xyes"; then + AC_PATH_PROG([XDG_MIME],[xdg-mime]) + AC_SUBST(XDG_MIME) + AC_PATH_PROG([XDG_DESKTOP_MENU],[xdg-desktop-menu]) + AC_SUBST(XDG_DESKTOP_MENU) + AC_PATH_PROG([XDG_ICON_RESOURCE],[xdg-icon-resource]) + AC_SUBST(XDG_ICON_RESOURCE) +fi -AC_CONFIG_FILES([Makefile cmail]) +dnl | output Makefile +AC_CONFIG_FILES([Makefile cmail po/Makefile.in]) AC_CONFIG_COMMANDS([test-stamp-h],[test -z "$CONFIG_HEADERS" || date > stamp-h]) AC_CONFIG_COMMANDS([chmod-cmail],[chmod 755 cmail]) AC_OUTPUT @@ -437,10 +512,17 @@ echo "" echo " prefix: $prefix " echo " datarootdir: $datarootdir " echo " datadir: $datadir (icons will go in \$datadir/icons/hicolor/...)" +echo " (bitmaps will go in \$datadir/games/xboard/...)" echo " infodir: $infodir (info files will go here)" echo " sysconfdir: $sysconfdir (xboard.conf will go here)" echo "" -echo " Xaw3d: $with_xaw3d" +echo " update mimedb: $enable_mimedb" +echo "" +echo " NLS support: $USE_NLS" +echo "" +echo " GTK: $with_GTK" +echo " Xaw3d: $with_Xaw3d" +echo " Xaw: $with_Xaw" echo "" echo " xpm: $enable_xpm" echo " ptys: $enable_ptys"