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 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.
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],[4.6.0-20120304],[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])
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])
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_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,
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,
AC_DEFINE(PTY_TTY_NAME_SPRINTF, [sprintf (pty_name, "/dev/ttyp%d", i);])
dnl| USE_PTYS=1
;;
-
+
*-*-dynix* | *-*-ptx* )
dnl| USE_PTYS=1
;;
;;
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
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)
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],
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])
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 ""
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"