X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=configure.ac;h=5189be76b0ac75667323cf34e7d86295abf35eaf;hb=e6e38912837a4fe2464356408d10dee950b3121c;hp=bed135bb4d6f6e74df641077c45ae0f7cd5776c5;hpb=aa7e6f5df397b47c21efc8ad7934c10285b53106;p=xboard.git diff --git a/configure.ac b/configure.ac index bed135b..5189be7 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, 2011, 2012 Free Software Foundation, Inc. +dnl| Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, 2007, +dnl| 2008, 2009, 2010, 2011, 2012, 2013, 2014 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,12 +23,12 @@ 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-20120226],[bug-xboard@gnu.org]) +AC_INIT([xboard],[master-20130828],[bug-xboard@gnu.org]) dnl| need this to be able to compile some files in a subdir (filebrowser) AM_INIT_AUTOMAKE([subdir-objects]) @@ -56,7 +56,6 @@ AH_TEMPLATE([USE_PTYS],[template]) AH_TEMPLATE([X_WCHAR],[template]) AH_TEMPLATE([ATTENTION],[template]) AH_TEMPLATE([DEFINED_SYS_ERRLIST],[template]) -AH_TEMPLATE([HAVE_LIBXPM],[template]) AH_TEMPLATE([USE_XAW3D],[template]) AH_TEMPLATE([X_LOCALE],[template]) @@ -69,7 +68,7 @@ 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 @@ -110,54 +109,153 @@ 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 pkg-config +AC_CHECK_PROGS([PKGCONFIG], [pkg-config], pkgconfig_not_found) +AS_IF( [test "x$PKGCONFIG" = xpkgconfig_not_found], + AC_MSG_ERROR([cannot find pkg-config! Please install it.])) + +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=$withval], + [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="$withval"], + [with_Xaw3d="no"]) + +AC_ARG_WITH([Xaw], + [AS_HELP_STRING([--with-Xaw],[use Xaw front-end (default)])], + [with_Xaw="$withval"], + [with_Xaw="yes"]) + +AC_ARG_WITH([iconsdir], + [AS_HELP_STRING([--with-iconsdir=DIR], + [path where icons get installed (default: $datadir/icons/hicolor/48x48/apps)])], + [ICONSDIR="$withval"], + [ICONSDIR='$(datadir)/icons/hicolor/48x48/apps']) + +AC_ARG_WITH([svgiconsdir], + [AS_HELP_STRING([--with-svgiconsdir=DIR], + [path where svg icons get installed (default: $datadir/icons/hicolor/scalable/apps)])], + [SVGICONSDIR="$withval"], + [SVGICONSDIR='$(datadir)/icons/hicolor/scalable/apps']) + +AC_ARG_WITH([desktopdir], + [AS_HELP_STRING([--with-desktopdir=DIR], + [path where desktop files get installed (default: $datadir/applications)])], + [DESKTOPDIR="$withval"], + [DESKTOPDIR='$(datadir)/applications']) + +AC_ARG_WITH([mimedir], + [AS_HELP_STRING([--with-mimedir=DIR], + [path where mime files get installed (default: $datadir/mime/packages)])], + [MIMEDIR="$withval"], + [MIMEDIR='$(datadir)/mime/packages']) + +AC_ARG_WITH([gamedatadir], + [AS_HELP_STRING([--with-gamedatadir=DIR], + [path where game data files get installed (default: $datadir/games/xboard)])], + [GAMEDATADIR="$withval"], + [GAMEDATADIR='$(datadir)/games/xboard']) + +AC_SUBST(ICONSDIR) +AC_SUBST(SVGICONSDIR) +AC_SUBST(DESKTOPDIR) +AC_SUBST(MIMEDIR) +AC_SUBST(GAMEDATADIR) + +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 + with_Xaw="no" 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 or Xaw + 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" -dnl | add configure option for Xaw3d -AC_ARG_WITH([Xaw3d], - [AS_HELP_STRING([--with-Xaw3d],[use Xaw3d instead of Xaw])], - [], - [with_Xaw3d=no]) + if test "$xt" = "no" ; then + AC_MSG_ERROR([Xt headers not found. Please install the X11 packages.]) + fi dnl | check availability of Xaw3d -XAW_LIBS= -AS_IF([test x"$with_Xaw3d" != x"no"], - [AC_CHECK_LIB([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])], + [ 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])]) -dnl | no Xaw3d, check for Xaw -if test x"$with_Xaw3d" = x"no" ; then - AC_CHECK_HEADER(X11/Xaw/Dialog.h,xaw_headers="yes", xaw_headers="no") - if test x"$xaw_headers" = x"no" ; then - AC_MSG_ERROR([Xaw headers not found. Please install the Xaw package and headers.]) - fi - 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 Xaw/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" || test x"$with_Xaw" = x"yes"]) +AC_SUBST(FRONTEND_CFLAGS) +AC_SUBST(FRONTEND_LIBS) + +dnl | end Front-end check + AC_CANONICAL_HOST dnl| The following info is mostly gathered from GNU Emacs 19.24. Basically, @@ -193,7 +291,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, @@ -309,7 +407,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 ;; @@ -337,34 +435,13 @@ dnl| add some libs for OS X ;; esac -AC_ARG_ENABLE( [xpm], - [AS_HELP_STRING([--enable-xpm],[libXpm will be used if found (default)])], - [enable_xpm="$enableval"], - [enable_xpm="yes"]) - -if test x"$enable_xpm" != "xno"; then - save_cflags="$CFLAGS" - CFLAGS="$CFLAGS $X_CFLAGS" - CPPFLAGS="$CPPFLAGS $X_CFLAGS" - AC_CHECK_HEADERS(X11/xpm.h) - CFLAGS="$save_cflags" - if test "$ac_cv_header_X11_xpm_h" = "yes"; then - save_ldflags="$LDFLAGS" - LDFLAGS="$LDFLAGS $X_LIBS" - AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, - [X_PRE_LIBS="-lXpm $X_PRE_LIBS"; AC_DEFINE(HAVE_LIBXPM)], [], - [$X_PRE_LIBS -lX11 $X_EXTRA_LIBS]) - LDFLAGS="$save_ldflags" - fi -fi - AC_SUBST(PRE_XMULIB) AC_SUBST(POST_XMULIB) 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 @@ -387,19 +464,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) @@ -410,11 +488,13 @@ 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], @@ -433,6 +513,17 @@ if test x"$enable_mimedb" = "xyes"; then AC_SUBST(XDG_ICON_RESOURCE) fi +dnl create a string with configure options that can be passed to the +dnl program, good for bug reports and version printout, see output below +CONFIGURE_OPTIONS="prefix=$prefix; datarootdir=$datarootdir; \ +datadir=$datadir; gamedatadir=$GAMEDATADIR; desktopdir=$DESKTOPDIR; \ +mimedir=$MIMEDIR; iconsdir=$ICONSDIR; svgiconsdir=$SVGICONSDIR; infodir=$infodir; \ +sysconfigdir=$sysconfigdir; update_mimedb=$enable_mimedb; NLS=$USE_NLS; \ +GKT=$with_GTK; Xaw3d=$with_Xaw3d; Xaw=$with_Xaw; \ +ptys=$enable_ptys; zippy=$enable_zippy; sigint=$enable_sigint" + +AC_SUBST(CONFIGURE_OPTIONS) + dnl | output Makefile AC_CONFIG_FILES([Makefile cmail po/Makefile.in]) AC_CONFIG_COMMANDS([test-stamp-h],[test -z "$CONFIG_HEADERS" || date > stamp-h]) @@ -447,8 +538,12 @@ echo " Configurations summary:" 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 " datadir: $datadir " +echo " gamedatadir: $GAMEDATADIR " +echo " desktopdir: $DESKTOPDIR " +echo " mimedir: $MIMEDIR " +echo " iconsdir: $ICONSDIR " +echo " svgiconsdir: $SVGICONSDIR " echo " infodir: $infodir (info files will go here)" echo " sysconfdir: $sysconfdir (xboard.conf will go here)" echo "" @@ -456,9 +551,10 @@ 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" echo " zippy: $enable_zippy" echo " sigint: $enable_sigint"