2000-08-14 09:44:53 +00:00
# aclocal-include.m4
2002-08-07 22:45:38 +00:00
#
2000-08-14 09:44:53 +00:00
# This macro adds the name macrodir to the set of directories
2002-08-07 22:45:38 +00:00
# that `aclocal' searches for macros.
2000-08-14 09:44:53 +00:00
# serial 1
dnl AM_ACLOCAL_INCLUDE(macrodir)
AC_DEFUN([AM_ACLOCAL_INCLUDE],
[
AM_CONDITIONAL(INSIDE_GNOME_COMMON, test x = y)
test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
for k in $1 ; do ACLOCAL="$ACLOCAL -I $k" ; done
])
dnl GNOME_COMPILE_WARNINGS
dnl Turn on many useful compiler warnings
dnl For now, only works on GCC
AC_DEFUN([GNOME_COMPILE_WARNINGS],[
2002-08-07 22:45:38 +00:00
AC_ARG_ENABLE(compile-warnings,
2000-08-14 09:44:53 +00:00
[ --enable-compile-warnings=[no/minimum/yes] Turn on compiler warnings.],,enable_compile_warnings=minimum)
AC_MSG_CHECKING(what warning flags to pass to the C compiler)
warnCFLAGS=
if test "x$GCC" != xyes; then
enable_compile_warnings=no
fi
if test "x$enable_compile_warnings" != "xno"; then
if test "x$GCC" = "xyes"; then
case " $CFLAGS " in
*[\ \ ]-Wall[\ \ ]*) ;;
*) warnCFLAGS="-Wall -Wunused" ;;
esac
## -W is not all that useful. And it cannot be controlled
## with individual -Wno-xxx flags, unlike -Wall
if test "x$enable_compile_warnings" = "xyes"; then
warnCFLAGS="$warnCFLAGS -Wmissing-prototypes -Wmissing-declarations"
fi
fi
fi
AC_MSG_RESULT($warnCFLAGS)
])
dnl For C++, do basically the same thing.
AC_DEFUN([GNOME_CXX_WARNINGS],[
2002-08-07 22:45:38 +00:00
AC_ARG_ENABLE(cxx-warnings,
2000-08-14 09:44:53 +00:00
[ --enable-cxx-warnings=[no/minimum/yes] Turn on compiler warnings.],,enable_cxx_warnings=minimum)
AC_MSG_CHECKING(what warning flags to pass to the C++ compiler)
warnCXXFLAGS=
if test "x$GCC" != xyes; then
enable_compile_warnings=no
fi
if test "x$enable_cxx_warnings" != "xno"; then
if test "x$GCC" = "xyes"; then
case " $CXXFLAGS " in
*[\ \ ]-Wall[\ \ ]*) ;;
*) warnCXXFLAGS="-Wall -Wno-unused" ;;
esac
## -W is not all that useful. And it cannot be controlled
## with individual -Wno-xxx flags, unlike -Wall
if test "x$enable_cxx_warnings" = "xyes"; then
warnCXXFLAGS="$warnCXXFLAGS -Wmissing-prototypes -Wmissing-declarations -Wshadow -Woverloaded-virtual"
fi
fi
fi
AC_MSG_RESULT($warnCXXFLAGS)
])
dnl Curses detection: Munged from Midnight Commander's configure.in
dnl
dnl What it does:
dnl =============
dnl
dnl - Determine which version of curses is installed on your system
dnl and set the -I/-L/-l compiler entries and add a few preprocessor
2002-08-07 22:45:38 +00:00
dnl symbols
2000-08-14 09:44:53 +00:00
dnl - Do an AC_SUBST on the CURSES_INCLUDEDIR and CURSES_LIBS so that
dnl @CURSES_INCLUDEDIR@ and @CURSES_LIBS@ will be available in
dnl Makefile.in's
dnl - Modify the following configure variables (these are the only
dnl curses.m4 variables you can access from within configure.in)
dnl CURSES_INCLUDEDIR - contains -I's and possibly -DRENAMED_CURSES if
dnl an ncurses.h that's been renamed to curses.h
dnl is found.
dnl CURSES_LIBS - sets -L and -l's appropriately
2002-08-07 22:45:38 +00:00
dnl CFLAGS - if --with-sco, add -D_SVID3
2000-08-14 09:44:53 +00:00
dnl has_curses - exports result of tests to rest of configure
dnl
dnl Usage:
dnl ======
dnl 1) Add lines indicated below to acconfig.h
dnl 2) call AC_CHECK_CURSES after AC_PROG_CC in your configure.in
dnl 3) Instead of #include <curses.h> you should use the following to
dnl properly locate ncurses or curses header file
dnl
dnl #if defined(USE_NCURSES) && !defined(RENAMED_NCURSES)
dnl #include <ncurses.h>
dnl #else
dnl #include <curses.h>
dnl #endif
dnl
dnl 4) Make sure to add @CURSES_INCLUDEDIR@ to your preprocessor flags
dnl 5) Make sure to add @CURSES_LIBS@ to your linker flags or LIBS
dnl
dnl Notes with automake:
dnl - call AM_CONDITIONAL(HAS_CURSES, test "$has_curses" = true) from
dnl configure.in
dnl - your Makefile.am can look something like this
dnl -----------------------------------------------
2002-08-07 22:45:38 +00:00
dnl INCLUDES= blah blah blah $(CURSES_INCLUDEDIR)
2000-08-14 09:44:53 +00:00
dnl if HAS_CURSES
dnl CURSES_TARGETS=name_of_curses_prog
dnl endif
dnl bin_PROGRAMS = other_programs $(CURSES_TARGETS)
dnl other_programs_SOURCES = blah blah blah
dnl name_of_curses_prog_SOURCES = blah blah blah
dnl other_programs_LDADD = blah
dnl name_of_curses_prog_LDADD = blah $(CURSES_LIBS)
dnl -----------------------------------------------
dnl
dnl
dnl The following lines should be added to acconfig.h:
dnl ==================================================
dnl
dnl /*=== Curses version detection defines ===*/
dnl /* Found some version of curses that we're going to use */
dnl #undef HAS_CURSES
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
dnl /* Use SunOS SysV curses? */
dnl #undef USE_SUNOS_CURSES
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
dnl /* Use old BSD curses - not used right now */
dnl #undef USE_BSD_CURSES
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
dnl /* Use SystemV curses? */
dnl #undef USE_SYSV_CURSES
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
dnl /* Use Ncurses? */
dnl #undef USE_NCURSES
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
dnl /* If you Curses does not have color define this one */
dnl #undef NO_COLOR_CURSES
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
dnl /* Define if you want to turn on SCO-specific code */
dnl #undef SCO_FLAVOR
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
dnl /* Set to reflect version of ncurses *
dnl * 0 = version 1.*
dnl * 1 = version 1.9.9g
dnl * 2 = version 4.0/4.1 */
dnl #undef NCURSES_970530
dnl
dnl /*=== End new stuff for acconfig.h ===*/
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
AC_DEFUN(AC_CHECK_CURSES,[
search_ncurses=true
screen_manager=""
has_curses=false
CFLAGS=${CFLAGS--O}
AC_SUBST(CURSES_LIBS)
AC_SUBST(CURSES_INCLUDEDIR)
AC_ARG_WITH(sco,
[ --with-sco Use this to turn on SCO-specific code],[
if test x$withval = xyes; then
2002-08-07 22:45:38 +00:00
AC_DEFINE(SCO_FLAVOR, 1, [dummy])
2000-08-14 09:44:53 +00:00
CFLAGS="$CFLAGS -D_SVID3"
fi
])
AC_ARG_WITH(sunos-curses,
[ --with-sunos-curses Used to force SunOS 4.x curses],[
if test x$withval = xyes; then
AC_USE_SUNOS_CURSES
fi
])
AC_ARG_WITH(osf1-curses,
[ --with-osf1-curses Used to force OSF/1 curses],[
if test x$withval = xyes; then
AC_USE_OSF1_CURSES
fi
])
AC_ARG_WITH(vcurses,
[ --with-vcurses[=incdir] Used to force SysV curses],
if test x$withval != xyes; then
CURSES_INCLUDEDIR="-I$withval"
fi
AC_USE_SYSV_CURSES
)
AC_ARG_WITH(ncurses,
[ --with-ncurses[=dir] Compile with ncurses/locate base dir],
if test x$withval = xno ; then
search_ncurses=false
elif test x$withval != xyes ; then
CURSES_LIBS="$LIBS -L$withval/lib -lncurses"
CURSES_INCLUDEDIR="-I$withval/include"
search_ncurses=false
screen_manager="ncurses"
2002-08-07 22:45:38 +00:00
AC_DEFINE(USE_NCURSES, 1, [dummy])
AC_DEFINE(HAS_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
has_curses=true
fi
)
if $search_ncurses
then
AC_SEARCH_NCURSES()
fi
])
AC_DEFUN(AC_USE_SUNOS_CURSES, [
search_ncurses=false
screen_manager="SunOS 4.x /usr/5include curses"
AC_MSG_RESULT(Using SunOS 4.x /usr/5include curses)
2002-08-07 22:45:38 +00:00
AC_DEFINE(USE_SUNOS_CURSES, 1, [dummy])
AC_DEFINE(HAS_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
has_curses=true
2002-08-07 22:45:38 +00:00
AC_DEFINE(NO_COLOR_CURSES, 1, [dummy])
AC_DEFINE(USE_SYSV_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
CURSES_INCLUDEDIR="-I/usr/5include"
CURSES_LIBS="/usr/5lib/libcurses.a /usr/5lib/libtermcap.a"
AC_MSG_RESULT(Please note that some screen refreshs may fail)
])
AC_DEFUN(AC_USE_OSF1_CURSES, [
AC_MSG_RESULT(Using OSF1 curses)
search_ncurses=false
screen_manager="OSF1 curses"
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAS_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
has_curses=true
2002-08-07 22:45:38 +00:00
AC_DEFINE(NO_COLOR_CURSES, 1 [dummy])
AC_DEFINE(USE_SYSV_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
CURSES_LIBS="-lcurses"
])
AC_DEFUN(AC_USE_SYSV_CURSES, [
AC_MSG_RESULT(Using SysV curses)
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAS_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
has_curses=true
2002-08-07 22:45:38 +00:00
AC_DEFINE(USE_SYSV_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
search_ncurses=false
screen_manager="SysV/curses"
CURSES_LIBS="-lcurses"
])
dnl AC_ARG_WITH(bsd-curses,
dnl [--with-bsd-curses Used to compile with bsd curses, not very fancy],
2002-08-07 22:45:38 +00:00
dnl search_ncurses=false
2000-08-14 09:44:53 +00:00
dnl screen_manager="Ultrix/cursesX"
dnl if test $system = ULTRIX
dnl then
dnl THIS_CURSES=cursesX
dnl else
dnl THIS_CURSES=curses
dnl fi
dnl
dnl CURSES_LIBS="-l$THIS_CURSES -ltermcap"
2002-08-07 22:45:38 +00:00
dnl AC_DEFINE(HAS_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
dnl has_curses=true
2002-08-07 22:45:38 +00:00
dnl AC_DEFINE(USE_BSD_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
dnl AC_MSG_RESULT(Please note that some screen refreshs may fail)
dnl AC_WARN(Use of the bsdcurses extension has some)
dnl AC_WARN(display/input problems.)
dnl AC_WARN(Reconsider using xcurses)
dnl)
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
dnl
dnl Parameters: directory filename cureses_LIBS curses_INCLUDEDIR nicename
dnl
AC_DEFUN(AC_NCURSES, [
if $search_ncurses
then
2002-08-07 22:45:38 +00:00
if test -f $1/$2
2000-08-14 09:44:53 +00:00
then
AC_MSG_RESULT(Found ncurses on $1/$2)
2002-08-07 22:45:38 +00:00
CURSES_LIBS="$3"
2000-08-14 09:44:53 +00:00
CURSES_INCLUDEDIR="$4"
search_ncurses=false
screen_manager=$5
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAS_CURSES, 1, [dummy])
has_curses=true
AC_DEFINE(USE_NCURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
])
AC_DEFUN(AC_SEARCH_NCURSES, [
AC_CHECKING("location of ncurses.h file")
AC_NCURSES(/usr/include, ncurses.h, -lncurses,, "ncurses on /usr/include")
AC_NCURSES(/usr/include/ncurses, ncurses.h, -lncurses, -I/usr/include/ncurses, "ncurses on /usr/include/ncurses")
AC_NCURSES(/usr/local/include, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include, "ncurses on /usr/local")
AC_NCURSES(/usr/local/include/ncurses, ncurses.h, -L/usr/local/lib -L/usr/local/lib/ncurses -lncurses, -I/usr/local/include/ncurses, "ncurses on /usr/local/include/ncurses")
AC_NCURSES(/usr/local/include/ncurses, curses.h, -L/usr/local/lib -lncurses, -I/usr/local/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/local/.../ncurses")
AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/include/ncurses")
dnl
dnl We couldn't find ncurses, try SysV curses
dnl
2002-08-07 22:45:38 +00:00
if $search_ncurses
2000-08-14 09:44:53 +00:00
then
2002-08-07 22:45:38 +00:00
AC_EGREP_HEADER(init_color, /usr/include/curses.h,
2000-08-14 09:44:53 +00:00
AC_USE_SYSV_CURSES)
AC_EGREP_CPP(USE_NCURSES,[
#include <curses.h>
#ifdef __NCURSES_H
#undef USE_NCURSES
USE_NCURSES
#endif
],[
CURSES_INCLUDEDIR="$CURSES_INCLUDEDIR -DRENAMED_NCURSES"
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAS_CURSES, 1, [dummy])
2000-08-14 09:44:53 +00:00
has_curses=true
2002-08-07 22:45:38 +00:00
AC_DEFINE(USE_NCURSES, 1, [dummy])
search_ncurses=false
screen_manager="ncurses installed as curses"
2000-08-14 09:44:53 +00:00
])
fi
dnl
dnl Try SunOS 4.x /usr/5{lib,include} ncurses
dnl The flags USE_SUNOS_CURSES, USE_BSD_CURSES and BUGGY_CURSES
dnl should be replaced by a more fine grained selection routine
dnl
if $search_ncurses
then
if test -f /usr/5include/curses.h
then
AC_USE_SUNOS_CURSES
2002-08-07 22:45:38 +00:00
fi
2000-08-14 09:44:53 +00:00
else
2002-08-07 22:45:38 +00:00
# check for ncurses version, to properly ifdef mouse-fix
2000-08-14 09:44:53 +00:00
AC_MSG_CHECKING(for ncurses version)
ncurses_version=unknown
cat > conftest.$ac_ext <<EOF
[#]line __oline__ "configure"
#include "confdefs.h"
#ifdef RENAMED_NCURSES
#include <curses.h>
#else
#include <ncurses.h>
#endif
#undef VERSION
VERSION:NCURSES_VERSION
EOF
2002-08-07 22:45:38 +00:00
if (eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC |
2000-08-14 09:44:53 +00:00
egrep "VERSION:" >conftest.out 2>&1; then
changequote(,)dnl
2002-08-07 22:45:38 +00:00
ncurses_version=`cat conftest.out|sed -e 's/^[^"]*"//' -e 's/".*//'`
2000-08-14 09:44:53 +00:00
changequote([,])dnl
fi
rm -rf conftest*
2002-08-07 22:45:38 +00:00
AC_MSG_RESULT($ncurses_version)
2000-08-14 09:44:53 +00:00
case "$ncurses_version" in
changequote(,)dnl
4.[01])
changequote([,])dnl
2002-08-07 22:45:38 +00:00
AC_DEFINE(NCURSES_970530, 2, [dummy])
;;
2000-08-14 09:44:53 +00:00
1.9.9g)
2002-08-07 22:45:38 +00:00
AC_DEFINE(NCURSES_970530, 1, [dummy])
;;
2000-08-14 09:44:53 +00:00
1*)
2002-08-07 22:45:38 +00:00
AC_DEFINE(NCURSES_970530, 0, [dummy])
;;
2000-08-14 09:44:53 +00:00
esac
fi
])
# Configure paths for Bonobo
# Miguel de Icaza, 99-04-12
# Stolen from Chris Lahey 99-2-5
# stolen from Manish Singh again
# stolen back from Frank Belew
# stolen from Manish Singh
# Shamelessly stolen from Owen Taylor
dnl AM_PATH_BONOBO ([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for Bonobo, and define BONOBO_CFLAGS and BONOBO_LIBS
dnl
AC_DEFUN([AM_PATH_BONOBO],
[
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
dnl Get the cflags and libraries from the gnome-config script
dnl
AC_ARG_WITH(bonobo-prefix,[ --with-bonobo-prefix=PFX Prefix where Bonobo is installed (optional)],
2002-08-07 22:45:38 +00:00
bonobo_prefix="$withval", bonobo_prefix="")
2000-08-14 09:44:53 +00:00
AC_ARG_WITH(bonobo-exec-prefix,[ --with-bonobo-exec-prefix=PFX Exec prefix where Bonobo is installed (optional)],
2002-08-07 22:45:38 +00:00
bonobo_exec_prefix="$withval", bonobo_exec_prefix="")
2000-08-14 09:44:53 +00:00
AC_ARG_ENABLE(bonobotest, [ --disable-bonobotest Do not try to compile and run a test Bonobo program],
, enable_bonobotest=yes)
if test x$bonobo_exec_prefix != x ; then
bonobo_args="$bonobo_args --exec-prefix=$bonobo_exec_prefix"
if test x${GNOME_CONFIG+set} != xset ; then
2002-08-07 22:45:38 +00:00
GNOME_CONFIG=$bonobo_exec_prefix/bin/gnome-config
2000-08-14 09:44:53 +00:00
fi
fi
if test x$bonobo_prefix != x ; then
bonobo_args="$bonobo_args --prefix=$bonobo_prefix"
if test x${GNOME_CONFIG+set} != xset ; then
2002-08-07 22:45:38 +00:00
GNOME_CONFIG=$bonobo_prefix/bin/gnome-config
2000-08-14 09:44:53 +00:00
fi
fi
AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
min_bonobo_version=ifelse([$1], ,0.1.0,$1)
AC_MSG_CHECKING(for BONOBO - version >= $min_bonobo_version)
no_bonobo=""
if test "$GNOME_CONFIG" = "no" ; then
no_bonobo=yes
else
BONOBO_CFLAGS=`$GNOME_CONFIG $bonoboconf_args --cflags bonobo`
BONOBO_LIBS=`$GNOME_CONFIG $bonoboconf_args --libs bonobo`
bonobo_major_version=`$GNOME_CONFIG $bonobo_args --version | \
2002-08-07 22:45:38 +00:00
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
2000-08-14 09:44:53 +00:00
bonobo_minor_version=`$GNOME_CONFIG $bonobo_args --version | \
2002-08-07 22:45:38 +00:00
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
2000-08-14 09:44:53 +00:00
bonobo_micro_version=`$GNOME_CONFIG $bonobo_config_args --version | \
2002-08-07 22:45:38 +00:00
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
2000-08-14 09:44:53 +00:00
if test "x$enable_bonobotest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $BONOBO_CFLAGS"
LIBS="$LIBS $BONOBO_LIBS"
dnl
dnl Now check if the installed BONOBO is sufficiently new. (Also sanity
dnl checks the results of gnome-config to some extent
dnl
rm -f conf.bonobotest
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <bonobo.h>
static char*
my_strdup (char *str)
{
char *new_str;
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
if (str)
{
new_str = malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
return new_str;
}
int main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.bonobotest");
bonobo_object_get_type ();
return 0;
}
],, no_bonobo=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_bonobo" = x ; then
AC_MSG_RESULT(yes)
2002-08-07 22:45:38 +00:00
ifelse([$2], , :, [$2])
2000-08-14 09:44:53 +00:00
else
AC_MSG_RESULT(no)
if test "$GNOME_CONFIG" = "no" ; then
echo "*** The gnome-config script installed by GNOME-LIBS could not be found"
echo "*** If BONOBO was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GNOME_CONFIG environment variable to the"
echo "*** full path to gnome-config."
else
if test -f conf.bonobotest ; then
2002-08-07 22:45:38 +00:00
:
2000-08-14 09:44:53 +00:00
else
2002-08-07 22:45:38 +00:00
echo "*** Could not run BONOBO test program, checking why..."
CFLAGS="$CFLAGS $BONOBO_CFLAGS"
LIBS="$LIBS $BONOBO_LIBS"
AC_TRY_LINK([
2000-08-14 09:44:53 +00:00
#include <stdio.h>
#include <bonobo/gnome-object.h>
], [ return 0; ],
2002-08-07 22:45:38 +00:00
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding BONOBO or finding the wrong"
echo "*** version of BONOBO. If it is not finding BONOBO, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
2000-08-14 09:44:53 +00:00
echo "***"
2002-08-07 22:45:38 +00:00
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means BONOBO was incorrectly installed"
echo "*** or that you have moved BONOBO since it was installed. In the latter case, you"
echo "*** may want to edit the gnome-config script: $GNOME_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
2000-08-14 09:44:53 +00:00
fi
fi
BONOBO_CFLAGS=""
BONOBO_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(BONOBO_CFLAGS)
AC_SUBST(BONOBO_LIBS)
rm -f conf.bonobotest
])
AC_DEFUN([BONOBO_CHECK], [
AM_PATH_BONOBO(0.1.0,,[AC_MSG_ERROR(BONOBO not found)])
])
# gnome-common.m4
2002-08-07 22:45:38 +00:00
#
2000-08-14 09:44:53 +00:00
# This only for packages that are not in the GNOME CVS tree.
dnl GNOME_COMMON_INIT
AC_DEFUN([GNOME_COMMON_INIT],
[
GNOME_ACLOCAL_DIR=`$ACLOCAL --print-ac-dir`/gnome
AC_SUBST(GNOME_ACLOCAL_DIR)
ACLOCAL="$ACLOCAL -I $GNOME_ACLOCAL_DIR"
])
dnl
dnl GNOME_FILEUTILS_CHECKS
dnl
dnl checks that are needed for the diskusage applet.
dnl
AC_DEFUN([GNOME_FILEUTILS_CHECKS],
2002-08-07 22:45:38 +00:00
[
2000-08-14 09:44:53 +00:00
AC_CHECK_HEADERS(fcntl.h sys/param.h sys/statfs.h sys/fstyp.h \
mnttab.h mntent.h sys/statvfs.h sys/vfs.h sys/mount.h \
sys/filsys.h sys/fs_types.h sys/fs/s5param.h)
AC_CHECK_FUNCS(bcopy endgrent endpwent fchdir ftime ftruncate \
getcwd getmntinfo gettimeofday isascii lchown \
listmntent memcpy mkfifo strchr strerror strrchr vprintf)
dnl Set some defaults when cross-compiling
if test x$cross_compiling = xyes ; then
case "$host_os" in
linux*)
fu_cv_sys_mounted_getmntent1=yes
fu_cv_sys_stat_statfs2_bsize=yes
;;
sunos*)
fu_cv_sys_stat_statfs4=yes
;;
freebsd*)
fu_cv_sys_stat_statfs2_bsize=yes
;;
osf*)
fu_cv_sys_stat_statfs3_osf1=yes
;;
esac
fi
# Determine how to get the list of mounted filesystems.
list_mounted_fs=
# If the getmntent function is available but not in the standard library,
# make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
AC_FUNC_GETMNTENT
# This test must precede the ones for getmntent because Unicos-9 is
# reported to have the getmntent function, but its support is incompatible
# with other getmntent implementations.
# NOTE: Normally, I wouldn't use a check for system type as I've done for
# `CRAY' below since that goes against the whole autoconf philosophy. But
# I think there is too great a chance that some non-Cray system has a
# function named listmntent to risk the false positive.
if test -z "$list_mounted_fs"; then
# Cray UNICOS 9
AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
[fu_cv_sys_mounted_cray_listmntent=no
AC_EGREP_CPP(yes,
[#ifdef _CRAY
yes
#endif
], [test $ac_cv_func_listmntent = yes \
&& fu_cv_sys_mounted_cray_listmntent=yes]
)
]
)
AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
if test $fu_cv_sys_mounted_cray_listmntent = yes; then
list_mounted_fs=found
2002-08-07 22:45:38 +00:00
AC_DEFINE(MOUNTED_LISTMNTENT, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test $ac_cv_func_getmntent = yes; then
# This system has the getmntent function.
# Determine whether it's the one-argument variant or the two-argument one.
if test -z "$list_mounted_fs"; then
# 4.3BSD, SunOS, HP-UX, Dynix, Irix
AC_MSG_CHECKING([for one-argument getmntent function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
[test $ac_cv_header_mntent_h = yes \
&& fu_cv_sys_mounted_getmntent1=yes \
|| fu_cv_sys_mounted_getmntent1=no])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
if test $fu_cv_sys_mounted_getmntent1 = yes; then
list_mounted_fs=found
2002-08-07 22:45:38 +00:00
AC_DEFINE(MOUNTED_GETMNTENT1, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test -z "$list_mounted_fs"; then
# SVR4
AC_MSG_CHECKING([for two-argument getmntent function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
[AC_EGREP_HEADER(getmntent, sys/mnttab.h,
fu_cv_sys_mounted_getmntent2=yes,
fu_cv_sys_mounted_getmntent2=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
if test $fu_cv_sys_mounted_getmntent2 = yes; then
list_mounted_fs=found
2002-08-07 22:45:38 +00:00
AC_DEFINE(MOUNTED_GETMNTENT2, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test -z "$list_mounted_fs"; then
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
fi
fi
if test -z "$list_mounted_fs"; then
# DEC Alpha running OSF/1.
AC_MSG_CHECKING([for getfsstat function])
AC_CACHE_VAL(fu_cv_sys_mounted_getsstat,
[AC_TRY_LINK([
#include <sys/types.h>
#include <sys/mount.h>
#include <sys/fs_types.h>],
[struct statfs *stats;
int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ],
fu_cv_sys_mounted_getsstat=yes,
fu_cv_sys_mounted_getsstat=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getsstat)
if test $fu_cv_sys_mounted_getsstat = yes; then
list_mounted_fs=found
2002-08-07 22:45:38 +00:00
AC_DEFINE(MOUNTED_GETFSSTAT, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test -z "$list_mounted_fs"; then
# AIX.
AC_MSG_CHECKING([for mntctl function and struct vmount])
AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
[AC_TRY_CPP([#include <fshelp.h>],
fu_cv_sys_mounted_vmount=yes,
fu_cv_sys_mounted_vmount=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
if test $fu_cv_sys_mounted_vmount = yes; then
list_mounted_fs=found
2002-08-07 22:45:38 +00:00
AC_DEFINE(MOUNTED_VMOUNT, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test -z "$list_mounted_fs"; then
# SVR3
AC_MSG_CHECKING([for FIXME existence of three headers])
AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
[AC_TRY_CPP([
#include <sys/statfs.h>
#include <sys/fstyp.h>
#include <mnttab.h>],
fu_cv_sys_mounted_fread_fstyp=yes,
fu_cv_sys_mounted_fread_fstyp=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
list_mounted_fs=found
2002-08-07 22:45:38 +00:00
AC_DEFINE(MOUNTED_FREAD_FSTYP, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test -z "$list_mounted_fs"; then
# 4.4BSD and DEC OSF/1.
AC_MSG_CHECKING([for getmntinfo function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
[
ok=
if test $ac_cv_func_getmntinfo = yes; then
AC_EGREP_HEADER(f_type;, sys/mount.h,
ok=yes)
fi
test -n "$ok" \
&& fu_cv_sys_mounted_getmntinfo=yes \
|| fu_cv_sys_mounted_getmntinfo=no
])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
if test $fu_cv_sys_mounted_getmntinfo = yes; then
list_mounted_fs=found
2002-08-07 22:45:38 +00:00
AC_DEFINE(MOUNTED_GETMNTINFO, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
# FIXME: add a test for netbsd-1.1 here
if test -z "$list_mounted_fs"; then
# Ultrix
AC_MSG_CHECKING([for getmnt function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
[AC_TRY_CPP([
#include <sys/fs_types.h>
#include <sys/mount.h>],
fu_cv_sys_mounted_getmnt=yes,
fu_cv_sys_mounted_getmnt=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
if test $fu_cv_sys_mounted_getmnt = yes; then
list_mounted_fs=found
2002-08-07 22:45:38 +00:00
AC_DEFINE(MOUNTED_GETMNT, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test -z "$list_mounted_fs"; then
# SVR2
AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
AC_CACHE_VAL(fu_cv_sys_mounted_fread,
[AC_TRY_CPP([#include <mnttab.h>],
fu_cv_sys_mounted_fread=yes,
fu_cv_sys_mounted_fread=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_fread)
if test $fu_cv_sys_mounted_fread = yes; then
list_mounted_fs=found
2002-08-07 22:45:38 +00:00
AC_DEFINE(MOUNTED_FREAD, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test -z "$list_mounted_fs"; then
AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
# FIXME -- no need to abort building the whole package
# Can't build mountlist.c or anything that needs its functions
fi
AC_CHECKING(how to get filesystem space usage)
space=no
# Perform only the link test since it seems there are no variants of the
# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
# because that got a false positive on SCO OSR5. Adding the declaration
# of a `struct statvfs' causes this test to fail (as it should) on such
# systems. That system is reported to work fine with STAT_STATFS4 which
# is what it gets when this test fails.
if test $space = no; then
# SVR4
AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
[AC_TRY_LINK([#include <sys/types.h>
#include <sys/statvfs.h>],
[struct statvfs fsd; statvfs (0, &fsd);],
fu_cv_sys_stat_statvfs=yes,
fu_cv_sys_stat_statvfs=no)])
if test $fu_cv_sys_stat_statvfs = yes; then
space=yes
2002-08-07 22:45:38 +00:00
AC_DEFINE(STAT_STATVFS, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test $space = no; then
# DEC Alpha running OSF/1
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
[AC_TRY_RUN([
#include <sys/param.h>
#include <sys/types.h>
#include <sys/mount.h>
main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd, sizeof (struct statfs)));
}],
fu_cv_sys_stat_statfs3_osf1=yes,
fu_cv_sys_stat_statfs3_osf1=no,
fu_cv_sys_stat_statfs3_osf1=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
space=yes
2002-08-07 22:45:38 +00:00
AC_DEFINE(STAT_STATFS3_OSF1, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test $space = no; then
# AIX
AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
member (AIX, 4.3BSD)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
[AC_TRY_RUN([
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
#endif
main ()
{
struct statfs fsd;
fsd.f_bsize = 0;
exit (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_bsize=yes,
fu_cv_sys_stat_statfs2_bsize=no,
fu_cv_sys_stat_statfs2_bsize=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
space=yes
2002-08-07 22:45:38 +00:00
AC_DEFINE(STAT_STATFS2_BSIZE, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test $space = no; then
# SVR3
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
[AC_TRY_RUN([#include <sys/types.h>
#include <sys/statfs.h>
main ()
{
struct statfs fsd;
exit (statfs (".", &fsd, sizeof fsd, 0));
}],
fu_cv_sys_stat_statfs4=yes,
fu_cv_sys_stat_statfs4=no,
fu_cv_sys_stat_statfs4=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
if test $fu_cv_sys_stat_statfs4 = yes; then
space=yes
2002-08-07 22:45:38 +00:00
AC_DEFINE(STAT_STATFS4, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test $space = no; then
# 4.4BSD and NetBSD
AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
member (4.4BSD and NetBSD)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
[AC_TRY_RUN([#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_fsize=yes,
fu_cv_sys_stat_statfs2_fsize=no,
fu_cv_sys_stat_statfs2_fsize=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
space=yes
2002-08-07 22:45:38 +00:00
AC_DEFINE(STAT_STATFS2_FSIZE, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test $space = no; then
# Ultrix
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
[AC_TRY_RUN([#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
#ifdef HAVE_SYS_FS_TYPES_H
#include <sys/fs_types.h>
#endif
main ()
{
struct fs_data fsd;
/* Ultrix's statfs returns 1 for success,
0 for not mounted, -1 for failure. */
exit (statfs (".", &fsd) != 1);
}],
fu_cv_sys_stat_fs_data=yes,
fu_cv_sys_stat_fs_data=no,
fu_cv_sys_stat_fs_data=no)])
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
if test $fu_cv_sys_stat_fs_data = yes; then
space=yes
2002-08-07 22:45:38 +00:00
AC_DEFINE(STAT_STATFS2_FS_DATA, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
fi
if test $space = no; then
# SVR2
AC_TRY_CPP([#include <sys/filsys.h>],
2002-08-07 22:45:38 +00:00
AC_DEFINE(STAT_READ_FILSYS, 1, [dummy]) space=yes)
2000-08-14 09:44:53 +00:00
fi
if test -n "$list_mounted_fs" && test $space != no; then
DF_PROG="df"
# LIBOBJS="$LIBOBJS fsusage.o"
# LIBOBJS="$LIBOBJS mountlist.o"
fi
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
# If <sys/vfs.h> exists and struct statfs has a member named f_spare,
# enable the work-around code in fsusage.c.
AC_MSG_CHECKING([for statfs that truncates block counts])
AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
[AC_TRY_COMPILE([
#if !defined(sun) && !defined(__sun)
choke -- this is a workaround for a Sun-specific problem
#endif
#include <sys/types.h>
#include <sys/vfs.h>],
[struct statfs t; long c = *(t.f_spare);],
fu_cv_sys_truncating_statfs=yes,
fu_cv_sys_truncating_statfs=no,
)])
if test $fu_cv_sys_truncating_statfs = yes; then
2002-08-07 22:45:38 +00:00
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
AC_CHECKING(for AFS)
2002-08-07 22:45:38 +00:00
test -d /afs && AC_DEFINE(AFS, 1, [dummy])
2000-08-14 09:44:53 +00:00
])
AC_DEFUN([GNOME_GHTTP_CHECK],[
AC_REQUIRE([GNOME_INIT_HOOK])
GHTTP_LIB=
AC_CHECK_FUNC(connect,,[
AC_CHECK_LIB(socket,connect,
GHTTP_LIB="-lsocket $GHTTP_LIB",,$GHTTP_LIB)])
AC_CHECK_FUNC(gethostbyname,,[
2002-08-07 22:45:38 +00:00
AC_CHECK_LIB(nsl,gethostbyname,
2000-08-14 09:44:53 +00:00
GHTTP_LIB="-lnsl $GHTTP_LIB",,$GHTTP_LIB)])
2002-08-07 22:45:38 +00:00
AC_CHECK_LIB(ghttp, ghttp_request_new,
2000-08-14 09:44:53 +00:00
GHTTP_LIB="-lghttp $GHTTP_LIB",GHTTP_LIB="",-L$gnome_prefix $GHTTP_LIB)
AC_SUBST(GHTTP_LIB)
AC_PROVIDE([GNOME_GHTTP_CHECK])
])
dnl
dnl GNOME_GNORBA_HOOK (script-if-gnorba-found, failflag)
dnl
dnl if failflag is "failure" it aborts if gnorba is not found.
dnl
AC_DEFUN([GNOME_GNORBA_HOOK],[
GNOME_ORBIT_HOOK([],$2)
AC_CACHE_CHECK([for gnorba libraries],gnome_cv_gnorba_found,[
gnome_cv_gnorba_found=no
if test x$gnome_cv_orbit_found = xyes; then
GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`"
GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`"
if test -n "$GNORBA_LIBS"; then
gnome_cv_gnorba_found=yes
fi
fi
])
AM_CONDITIONAL(HAVE_GNORBA, test x$gnome_cv_gnorba_found = xyes)
if test x$gnome_cv_orbit_found = xyes; then
$1
GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`"
GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`"
AC_SUBST(GNORBA_CFLAGS)
AC_SUBST(GNORBA_LIBS)
else
2002-08-07 22:45:38 +00:00
if test x$2 = xfailure; then
2000-08-14 09:44:53 +00:00
AC_MSG_ERROR(gnorba library not installed or installation problem)
2002-08-07 22:45:38 +00:00
fi
2000-08-14 09:44:53 +00:00
fi
])
AC_DEFUN([GNOME_GNORBA_CHECK], [
GNOME_GNORBA_HOOK([],failure)
])
dnl
dnl GNOME_CHECK_GUILE (failflag)
dnl
dnl if failflag is "fail" then GNOME_CHECK_GUILE will abort if guile is not found.
dnl
AC_DEFUN([GNOME_CHECK_GUILE],
[
saved_ldflags="$LDFLAGS"
saved_cppflags="$CPPFLAGS"
LDFLAGS="$LDFLAGS $GNOME_LIBDIR"
AC_CHECK_LIB(qthreads,qt_null,[
QTTHREADS_LIB="-lqthreads"
],[
AC_CHECK_LIB(qt, qt_null, QTTHREADS_LIB="-lqt")
],$LIBS)
AC_SUBST(QTTHREADS_LIB)
AC_CHECK_LIB(termcap,main,TERMCAP_LIB="-ltermcap")
AC_CHECK_LIB(readline,main,READLINE_LIB="-lreadline",,$TERMCAP_LIB)
AC_SUBST(TERMCAP_LIB)
AC_SUBST(READLINE_LIB)
if test "x$cross_compiling" = "xyes" ; then
name_build_guile="$target_alias-guile-config"
else
name_build_guile="guile-config"
fi
AC_CHECK_PROG(BUILD_GUILE, $name_build_guile, yes, no)
if test "x$BUILD_GUILE" = "xyes"; then
AC_MSG_CHECKING(whether $name_build_guile works)
if test x`$name_build_guile --version >/dev/null 2>&1 || \
echo no` = xno; then
BUILD_GUILE=no
fi
AC_MSG_RESULT($BUILD_GUILE)
else
if test "x$cross_compiling" = "xyes" ; then
name_build_guile="$target_alias-build-guile"
2002-08-07 22:45:38 +00:00
else
2000-08-14 09:44:53 +00:00
name_build_guile="build-guile"
fi
AC_CHECK_PROG(BUILD_GUILE, $name_build_guile, yes, no)
if test "x$BUILD_GUILE" = "xyes"; then
AC_MSG_CHECKING(whether $name_build_guile works)
if test x`$name_build_guile --version >/dev/null 2>&1 || \
2002-08-07 22:45:38 +00:00
echo no` = xno; then
2000-08-14 09:44:53 +00:00
BUILD_GUILE=no
fi
AC_MSG_RESULT($BUILD_GUILE)
fi
fi
AC_CHECK_LIB(m, sin)
if test "x$BUILD_GUILE" = "xyes"; then
AC_MSG_CHECKING(for guile libraries)
GUILE_LIBS="`$name_build_guile link`"
AC_MSG_RESULT($GUILE_LIBS)
AC_MSG_CHECKING(for guile headers)
GUILE_INCS="`$name_build_guile compile`"
AC_MSG_RESULT($GUILE_INCS)
else
GUILE_LIBS="$GNOME_LIBDIR"
GUILE_INCS="$GNOME_INCLUDEDIR"
AC_CHECK_LIB(rx, main, GUILE_LIBS="-lrx $GUILE_LIBS")
AC_CHECK_LIB(qt, qt_null, GUILE_LIBS="-lqt $GUILE_LIBS")
AC_CHECK_LIB(dl, dlopen, GUILE_LIBS="-ldl $GUILE_LIBS")
AC_CHECK_LIB(nsl, t_accept, GUILE_LIBS="$GUILE_LIBS -lnsl")
AC_CHECK_LIB(socket, socket, GUILE_LIBS="$GUILE_LIBS -lsocket")
GUILE_LIBS="-lguile $GUILE_LIBS $QTTHREADS_LIB $READLINE_LIB $TERMCAP_LIB"
fi
AC_SUBST(GUILE_LIBS)
AC_SUBST(GUILE_INCS)
saved_LIBS="$LIBS"
LIBS="$LIBS $GUILE_LIBS"
CPPFLAGS="$saved_cppflags $GUILE_INCS"
AC_MSG_CHECKING(whether guile works)
AC_TRY_LINK([
#include <libguile.h>
#include <guile/gh.h>
],[
gh_eval_str("(newline)");
scm_boot_guile(0,NULL,NULL,NULL);
],[
ac_cv_guile_found=yes
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAVE_GUILE, 1, [dummy])
2000-08-14 09:44:53 +00:00
],[
ac_cv_guile_found=no
])
AC_MSG_RESULT($ac_cv_guile_found)
if test x$ac_cv_guile_found = xno ; then
if test x$1 = xfail ; then
AC_MSG_ERROR(Can not find Guile on this system)
else
AC_MSG_WARN(Can not find Guile on this system)
fi
ac_cv_guile_found=no
GUILE_LIBS= GUILE_INCS=
fi
LIBS="$saved_LIBS"
LDFLAGS="$saved_ldflags"
CPPFLAGS="$saved_cppflags"
AC_SUBST(GUILE_LIBS)
AM_CONDITIONAL(GUILE, test x$ac_cv_guile_found = xyes)
])
dnl
dnl LIBGTOP_CHECK_TYPE
dnl
dnl Improved version of AC_CHECK_TYPE which takes into account
dnl that we need to #include some other header files on some
dnl systems to get some types.
dnl AC_LIBGTOP_CHECK_TYPE(TYPE, DEFAULT)
AC_DEFUN(AC_LIBGTOP_CHECK_TYPE,
[AC_REQUIRE([AC_HEADER_STDC])dnl
AC_MSG_CHECKING(for $1)
AC_CACHE_VAL(ac_cv_type_$1,
[AC_EGREP_CPP(dnl
changequote(<<,>>)dnl
<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
changequote([,]), [#include <sys/types.h>
#if STDC_HEADERS
#include <stdlib.h>
#include <stddef.h>
#endif
/* For Tru64 */
#ifdef HAVE_SYS_BITYPES_H
#include <sys/bitypes.h>
#endif
], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
AC_MSG_RESULT($ac_cv_type_$1)
if test $ac_cv_type_$1 = no; then
2002-08-07 22:45:38 +00:00
AC_DEFINE($1, $2, [dummy])
2000-08-14 09:44:53 +00:00
fi
])
dnl
dnl GNOME_LIBGTOP_TYPES
dnl
dnl some typechecks for libgtop.
dnl
AC_DEFUN([GNOME_LIBGTOP_TYPES],
[
AC_CHECK_HEADERS(sys/bitypes.h)
AC_LIBGTOP_CHECK_TYPE(u_int64_t, unsigned long long int)
AC_LIBGTOP_CHECK_TYPE(int64_t, signed long long int)
])
dnl
dnl GNOME_LIBGTOP_HOOK (minversion, script-if-libgtop-enabled, failflag)
dnl
dnl if failflag is "fail" then GNOME_LIBGTOP_HOOK will abort if LibGTop
2002-08-07 22:45:38 +00:00
dnl is not found.
2000-08-14 09:44:53 +00:00
dnl
AC_DEFUN([GNOME_LIBGTOP_HOOK],
2002-08-07 22:45:38 +00:00
[
2000-08-14 09:44:53 +00:00
AC_REQUIRE([GNOME_LIBGTOP_TYPES])
AC_SUBST(LIBGTOP_LIBDIR)
AC_SUBST(LIBGTOP_INCLUDEDIR)
AC_SUBST(LIBGTOP_EXTRA_LIBS)
AC_SUBST(LIBGTOP_LIBS)
AC_SUBST(LIBGTOP_INCS)
AC_SUBST(LIBGTOP_NAMES_LIBS)
AC_SUBST(LIBGTOP_NAMES_INCS)
AC_SUBST(LIBGTOP_MAJOR_VERSION)
AC_SUBST(LIBGTOP_MINOR_VERSION)
AC_SUBST(LIBGTOP_MICRO_VERSION)
AC_SUBST(LIBGTOP_VERSION)
AC_SUBST(LIBGTOP_VERSION_CODE)
AC_SUBST(LIBGTOP_SERVER_VERSION)
AC_SUBST(LIBGTOP_INTERFACE_AGE)
AC_SUBST(LIBGTOP_BINARY_AGE)
AC_SUBST(LIBGTOP_BINDIR)
AC_SUBST(LIBGTOP_SERVER)
dnl Get the cflags and libraries from the libgtop-config script
dnl
AC_ARG_WITH(libgtop,
[ --with-libgtop=PFX Prefix where LIBGTOP is installed (optional)],
libgtop_config_prefix="$withval", libgtop_config_prefix="")
AC_ARG_WITH(libgtop-exec,
[ --with-libgtop-exec=PFX Exec prefix where LIBGTOP is installed (optional)],
libgtop_config_exec_prefix="$withval", libgtop_config_exec_prefix="")
if test x$libgtop_config_exec_prefix != x ; then
libgtop_config_args="$libgtop_config_args --exec-prefix=$libgtop_config_exec_prefix"
if test x${LIBGTOP_CONFIG+set} != xset ; then
LIBGTOP_CONFIG=$libgtop_config_exec_prefix/bin/libgtop-config
fi
fi
if test x$libgtop_config_prefix != x ; then
libgtop_config_args="$libgtop_config_args --prefix=$libgtop_config_prefix"
if test x${LIBGTOP_CONFIG+set} != xset ; then
LIBGTOP_CONFIG=$libgtop_config_prefix/bin/libgtop-config
fi
fi
AC_PATH_PROG(LIBGTOP_CONFIG, libgtop-config, no)
dnl IMPORTANT NOTICE:
dnl If you increase this number here, this means that *ALL*
dnl modules will require the new version, even if they explicitly
dnl give a lower number in their `configure.in' !!!
real_min_libgtop_version=1.0.0
min_libgtop_version=ifelse([$1], ,$real_min_libgtop_version,$1)
dnl I know, the following code looks really ugly, but if you want
dnl to make changes, please test it with a brain-dead /bin/sh and
dnl with a brain-dead /bin/test (not all shells/tests support the
dnl `<' operator to compare strings, that's why I convert everything
dnl into numbers and test them).
min_libgtop_major=`echo $min_libgtop_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
min_libgtop_minor=`echo $min_libgtop_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
min_libgtop_micro=`echo $min_libgtop_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
test x$min_libgtop_micro = x && min_libgtop_micro=0
real_min_libgtop_major=`echo $real_min_libgtop_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
real_min_libgtop_minor=`echo $real_min_libgtop_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
real_min_libgtop_micro=`echo $real_min_libgtop_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
test x$real_min_libgtop_micro = x && real_min_libgtop_micro=0
dnl You cannot require a version less then $real_min_libgtop_version,
dnl so you don't need to update each `configure.in' when it's increased.
if test $real_min_libgtop_major -gt $min_libgtop_major ; then
min_libgtop_major=$real_min_libgtop_major
min_libgtop_minor=$real_min_libgtop_minor
min_libgtop_micro=$real_min_libgtop_micro
elif test $real_min_libgtop_major = $min_libgtop_major ; then
if test $real_min_libgtop_minor -gt $min_libgtop_minor ; then
min_libgtop_minor=$real_min_libgtop_minor
min_libgtop_micro=$real_min_libgtop_micro
elif test $real_min_libgtop_minor = $min_libgtop_minor ; then
if test $real_min_libgtop_micro -gt $min_libgtop_micro ; then
min_libgtop_micro=$real_min_libgtop_micro
fi
fi
fi
min_libgtop_version="$min_libgtop_major.$min_libgtop_minor.$min_libgtop_micro"
AC_MSG_CHECKING(for libgtop - version >= $min_libgtop_version)
no_libgtop=""
if test "$LIBGTOP_CONFIG" = "no" ; then
no_libgtop=yes
else
configfile=`$LIBGTOP_CONFIG --config`
libgtop_major_version=`$LIBGTOP_CONFIG --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
libgtop_minor_version=`$LIBGTOP_CONFIG --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
libgtop_micro_version=`$LIBGTOP_CONFIG --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
2002-08-07 22:45:38 +00:00
if test $libgtop_major_version != $min_libgtop_major ; then
2000-08-14 09:44:53 +00:00
no_libgtop=mismatch
2002-08-07 22:45:38 +00:00
else
test $libgtop_minor_version -lt $min_libgtop_minor && no_libgtop=yes
2000-08-14 09:44:53 +00:00
if test $libgtop_minor_version = $min_libgtop_minor ; then
test $libgtop_micro_version -lt $min_libgtop_micro && no_libgtop=yes
fi
fi
. $configfile
fi
if test x$no_libgtop = x ; then
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAVE_LIBGTOP, 1, [dummy])
AC_DEFINE_UNQUOTED(LIBGTOP_VERSION, "$LIBGTOP_VERSION", [dummy])
AC_DEFINE_UNQUOTED(LIBGTOP_VERSION_CODE, $LIBGTOP_VERSION_CODE, [dummy])
AC_DEFINE_UNQUOTED(LIBGTOP_MAJOR_VERSION, $LIBGTOP_MAJOR_VERSION, [dummy])
AC_DEFINE_UNQUOTED(LIBGTOP_MINOR_VERSION, $LIBGTOP_MINOR_VERSION, [dummy])
AC_DEFINE_UNQUOTED(LIBGTOP_MICRO_VERSION, $LIBGTOP_MICRO_VERSION, [dummy])
AC_DEFINE_UNQUOTED(LIBGTOP_SERVER_VERSION, $LIBGTOP_SERVER_VERSION, [dummy]
2000-08-14 09:44:53 +00:00
AC_MSG_RESULT(yes)
dnl Note that an empty true branch is not valid sh syntax.
ifelse([$2], [], :, [$2])
else
AC_MSG_RESULT(no)
if test "$no_libgtop"x = mismatchx; then
AC_MSG_ERROR(LibGTop major version mismatch $libgtop_major_version != $min_libgtop_major)
fi
if test "x$3" = "xfail"; then
AC_MSG_ERROR(LibGTop >= $min_libgtop_version not found)
else
AC_MSG_WARN(LibGTop >= $min_libgtop_version not found)
fi
fi
AM_CONDITIONAL(HAVE_LIBGTOP, test x$no_libgtop != xyes)
])
AC_DEFUN([GNOME_INIT_LIBGTOP],[
GNOME_LIBGTOP_HOOK($1,[ifelse([$3], [], :, [$3])],$2)
])
dnl
dnl GNOME_LIBGTOP_DOCU
dnl
dnl checks whether the documentation of LibGTop is installed
dnl
AC_DEFUN([GNOME_LIBGTOP_DOCU],
[
AC_REQUIRE([GNOME_LIBGTOP_HOOK])
helpdir="$LIBGTOP_DATADIR/gnome/help/libgtop"
AC_MSG_CHECKING(whether you have the LibGTop Documentation)
if test -f "$helpdir/C/topic.dat" ; then
have_libgtop_docu=yes
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAVE_LIBGTOP_DOCU, 1, [dummy])
2000-08-14 09:44:53 +00:00
else
have_libgtop_docu=no
fi
AC_MSG_RESULT($have_libgtop_docu)
AM_CONDITIONAL(HAVE_LIBGTOP_DOCU, test x$have_libgtop_docu = xyes)
])
AC_DEFUN([GNOME_CHECK_OBJC],
[
dnl Look for an ObjC compiler.
dnl FIXME: extend list of possible names of ObjC compilers.
AC_CHECK_PROGS(OBJC, $OBJC egcs, "")
if test "x$OBJC" = "x" ; then
AC_CHECK_PROGS(OBJC, $OBJC egcc, "")
if test "x$OBJC" = "x" ; then
AC_CHECK_PROGS(OBJC, $OBJC gcc, "")
fi
fi
AC_REQUIRE([GNOME_PTHREAD_CHECK])
OBJC_LIBS="-lobjc $PTHREAD_LIB"
AC_CHECK_FUNC(sched_yield,,[
AC_CHECK_LIB(rt,sched_yield,
OBJC_LIBS="$OBJC_LIBS -lrt",[
AC_CHECK_LIB(posix4,sched_yield,
2002-08-07 22:45:38 +00:00
OBJC_LIBS="$OBJC_LIBS -lposix4",,
$OBJC_LIBS)],
2000-08-14 09:44:53 +00:00
$OBJC_LIBS)])
AC_SUBST(OBJC_LIBS)
AC_CACHE_CHECK([if Objective C compiler ($OBJC) works],
ac_cv_prog_objc_works, [
if test -n "$OBJC"; then
cat > conftest.m <<EOF
#include <objc/Object.h>
@interface myRandomObj : Object
{
}
@end
@implementation myRandomObj
@end
int main () {
/* No, you are not seeing double. Remember that square brackets
are the autoconf m4 quotes. */
id myid = [[myRandomObj alloc]];
[[myid free]];
return 0;
}
EOF
$OBJC $CFLAGS -o conftest $LDFLAGS conftest.m $OBJC_LIBS 1>&AC_FD_CC 2>&1
result=$?
rm -f conftest*
if test $result -eq 0; then
2002-08-07 22:45:38 +00:00
ac_cv_prog_objc_works=yes
2000-08-14 09:44:53 +00:00
fi
else
ac_cv_prog_objc_works=no
fi
])
AM_CONDITIONAL(OBJECTIVE_C, test x$ac_cv_prog_objc_works = xyes)
dnl Also set the shell variable OBJECTIVE_C to "yes" or "no".
OBJECTIVE_C=$ac_cv_prog_objc_works
])
AC_DEFUN([GNOME_INIT_OBJC],
[
AC_MSG_CHECKING(for an obGnomeConf.sh)
my_gnome_libdir=`$GNOME_CONFIG --libdir`
if test -f $my_gnome_libdir/obGnomeConf.sh; then
. $my_gnome_libdir/obGnomeConf.sh
AC_MSG_RESULT(found $my_gnome_libdir)
ac_cv_have_gnome_objc=yes
else
AC_MSG_RESULT(not found)
AC_MSG_WARN(Could not find the obGnomeConf.sh file that is generated by gnome-objc install)
ac_cv_have_gnome_objc=no
fi
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
dnl Add a conditional on whether or not we have gnome-objc
AM_CONDITIONAL(HAVE_GNOME_OBJC, test x$ac_cv_have_gnome_objc = xyes)
HAVE_GNOME_OBJC=$ac_cv_have_gnome_objc
AC_SUBST(OBGNOME_INCLUDEDIR)
AC_SUBST(OBGNOME_LIBS)
AC_SUBST(OBGTK_LIBS)
])
dnl
dnl GNOME_ORBIT_HOOK (script-if-orbit-found, failflag)
dnl
dnl if failflag is "failure" it aborts if orbit is not found.
dnl
AC_DEFUN([GNOME_ORBIT_HOOK],[
AC_PATH_PROG(ORBIT_CONFIG,orbit-config,no)
AC_PATH_PROG(ORBIT_IDL,orbit-idl,no)
AC_CACHE_CHECK([for working ORBit environment],gnome_cv_orbit_found,[
if test x$ORBIT_CONFIG = xno -o x$ORBIT_IDL = xno; then
gnome_cv_orbit_found=no
else
gnome_cv_orbit_found=yes
fi
])
AM_CONDITIONAL(HAVE_ORBIT, test x$gnome_cv_orbit_found = xyes)
if test x$gnome_cv_orbit_found = xyes; then
$1
ORBIT_CFLAGS=`orbit-config --cflags client server`
ORBIT_LIBS=`orbit-config --use-service=name --libs client server`
AC_SUBST(ORBIT_CFLAGS)
AC_SUBST(ORBIT_LIBS)
else
2002-08-07 22:45:38 +00:00
if test x$2 = xfailure; then
2000-08-14 09:44:53 +00:00
AC_MSG_ERROR(ORBit not installed or installation problem)
2002-08-07 22:45:38 +00:00
fi
2000-08-14 09:44:53 +00:00
fi
])
AC_DEFUN([GNOME_ORBIT_CHECK], [
GNOME_ORBIT_HOOK([],failure)
])
# Configure paths for GNOME-PRINT
# Chris Lahey 99-2-5
# stolen from Manish Singh again
# stolen back from Frank Belew
# stolen from Manish Singh
# Shamelessly stolen from Owen Taylor
dnl AM_PATH_GNOME_PRINT([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for GNOME-PRINT, and define GNOME_PRINT_CFLAGS and GNOME_PRINT_LIBS
dnl
AC_DEFUN(AM_PATH_GNOME_PRINT,
2002-08-07 22:45:38 +00:00
[dnl
2000-08-14 09:44:53 +00:00
dnl Get the cflags and libraries from the gnome-config script
dnl
AC_ARG_WITH(gnome-print-prefix,[ --with-gnome-print-prefix=PFX Prefix where GNOME-PRINT is installed (optional)],
2002-08-07 22:45:38 +00:00
gnome_print_prefix="$withval", gnome_print_prefix="")
2000-08-14 09:44:53 +00:00
AC_ARG_WITH(gnome-print-exec-prefix,[ --with-gnome-print-exec-prefix=PFX Exec prefix where GNOME-PRINT is installed (optional)],
2002-08-07 22:45:38 +00:00
gnome_print_exec_prefix="$withval", gnome_print_exec_prefix="")
2000-08-14 09:44:53 +00:00
AC_ARG_ENABLE(gnome-printtest, [ --disable-gnome-printtest Do not try to compile and run a test GNOME-PRINT program],
, enable_gnome_printtest=yes)
if test x$gnome_print_exec_prefix != x ; then
gnome_print_args="$gnome_print_args --exec-prefix=$gnome_print_exec_prefix"
if test x${GNOME_CONFIG+set} != xset ; then
2002-08-07 22:45:38 +00:00
GNOME_CONFIG=$gnome_print_exec_prefix/bin/gnome-config
2000-08-14 09:44:53 +00:00
fi
fi
if test x$gnome_print_prefix != x ; then
gnome_print_args="$gnome_print_args --prefix=$gnome_print_prefix"
if test x${GNOME_CONFIG+set} != xset ; then
2002-08-07 22:45:38 +00:00
GNOME_CONFIG=$gnome_print_prefix/bin/gnome-config
2000-08-14 09:44:53 +00:00
fi
fi
AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
min_gnome_print_version=ifelse([$1], ,0.1.0,$1)
AC_MSG_CHECKING(for GNOME-PRINT - version >= $min_gnome_print_version)
no_gnome_print=""
if test "$GNOME_CONFIG" = "no" ; then
no_gnome_print=yes
else
GNOME_PRINT_CFLAGS=`$GNOME_CONFIG $gnome_printconf_args --cflags print`
GNOME_PRINT_LIBS=`$GNOME_CONFIG $gnome_printconf_args --libs print`
gnome_print_major_version=`$GNOME_CONFIG $gnome_print_args --version | \
2002-08-07 22:45:38 +00:00
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
2000-08-14 09:44:53 +00:00
gnome_print_minor_version=`$GNOME_CONFIG $gnome_print_args --version | \
2002-08-07 22:45:38 +00:00
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
2000-08-14 09:44:53 +00:00
gnome_print_micro_version=`$GNOME_CONFIG $gnome_print_config_args --version | \
2002-08-07 22:45:38 +00:00
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
2000-08-14 09:44:53 +00:00
if test "x$enable_gnome_printtest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GNOME_PRINT_CFLAGS"
LIBS="$LIBS $GNOME_PRINT_LIBS"
dnl
dnl Now check if the installed GNOME-PRINT is sufficiently new. (Also sanity
dnl checks the results of gnome-config to some extent
dnl
rm -f conf.gnome_printtest
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libgnomeprint/gnome-print.h>
static char*
my_strdup (char *str)
{
char *new_str;
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
if (str)
{
new_str = malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
return new_str;
}
int main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.gnome_printtest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = my_strdup("$min_gnome_print_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
printf("%s, bad version string\n", "$min_gnome_print_version");
exit(1);
}
return 0;
#if 0
if (($gnome_print_major_version > major) ||
(($gnome_print_major_version == major) && ($gnome_print_minor_version > minor)) ||
(($gnome_print_major_version == major) && ($gnome_print_minor_version == minor) && ($gnome_print_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** 'gnome-config print --version' returned %d.%d.%d, but the minimum version\n", $gnome_print_major_version, $gnome_print_minor_version, $gnome_print_micro_version);
printf("*** of GNOME-PRINT required is %d.%d.%d. If gnome-config is correct, then it is\n", major, minor, micro);
printf("*** best to upgrade to the required version.\n");
printf("*** If gnome-config was wrong, set the environment variable GNOME_CONFIG\n");
printf("*** to point to the correct copy of gnome-config, and remove the file\n");
printf("*** config.cache before re-running configure\n");
return 1;
}
#endif
}
],, no_gnome_print=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_gnome_print" = x ; then
AC_MSG_RESULT(yes)
2002-08-07 22:45:38 +00:00
ifelse([$2], , :, [$2])
2000-08-14 09:44:53 +00:00
else
AC_MSG_RESULT(no)
if test "$GNOME_CONFIG" = "no" ; then
echo "*** The gnome-config script installed by GNOME-LIBS could not be found"
echo "*** If GNOME-PRINT was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GNOME_CONFIG environment variable to the"
echo "*** full path to gnome-config."
else
if test -f conf.gnome_printtest ; then
2002-08-07 22:45:38 +00:00
:
2000-08-14 09:44:53 +00:00
else
2002-08-07 22:45:38 +00:00
echo "*** Could not run GNOME-PRINT test program, checking why..."
CFLAGS="$CFLAGS $GNOME_PRINT_CFLAGS"
LIBS="$LIBS $GNOME_PRINT_LIBS"
AC_TRY_LINK([
2000-08-14 09:44:53 +00:00
#include <stdio.h>
#include <libgnomeprint/gnome-print.h>
], [ return 0; ],
2002-08-07 22:45:38 +00:00
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GNOME-PRINT or finding the wrong"
echo "*** version of GNOME-PRINT. If it is not finding GNOME-PRINT, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
2000-08-14 09:44:53 +00:00
echo "***"
2002-08-07 22:45:38 +00:00
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GNOME-PRINT was incorrectly installed"
echo "*** or that you have moved GNOME-PRINT since it was installed. In the latter case, you"
echo "*** may want to edit the gnome-config script: $GNOME_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
2000-08-14 09:44:53 +00:00
fi
fi
GNOME_PRINT_CFLAGS=""
GNOME_PRINT_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GNOME_PRINT_CFLAGS)
AC_SUBST(GNOME_PRINT_LIBS)
rm -f conf.gnome_printtest
])
AC_DEFUN([GNOME_PRINT_CHECK], [
AM_PATH_GNOME_PRINT(0.1.0,,[AC_MSG_ERROR(GNOME-PRINT not found)])
])
dnl
dnl And better, use gthreads instead...
dnl
AC_DEFUN([GNOME_PTHREAD_CHECK],[
PTHREAD_LIB=""
AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
[AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
[AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
[AC_CHECK_FUNC(pthread_create)]
)]
)]
)
AC_SUBST(PTHREAD_LIB)
AC_PROVIDE([GNOME_PTHREAD_CHECK])
])
dnl GNOME_SUPPORT_CHECKS
dnl Check for various support functions needed by the standard
dnl Gnome libraries. Sets LIBOBJS, might define some macros.
2002-08-07 22:45:38 +00:00
dnl This should only be used when building the Gnome libs;
2000-08-14 09:44:53 +00:00
dnl Gnome clients should not need this macro.
AC_DEFUN([GNOME_SUPPORT_CHECKS],[
# we need an `awk' to build `gnomesupport.h'
AC_REQUIRE([AC_PROG_AWK])
# this should go away soon
need_gnome_support=yes
save_LIBOBJS="$LIBOBJS"
LIBOBJS=
AC_CHECK_FUNCS(getopt_long,,LIBOBJS="$LIBOBJS getopt.o getopt1.o")
# for `scandir'
AC_HEADER_DIRENT
# copied from `configure.in' of `libiberty'
vars="program_invocation_short_name program_invocation_name sys_errlist"
for v in $vars; do
AC_MSG_CHECKING([for $v])
AC_CACHE_VAL(gnome_cv_var_$v,
[AC_TRY_LINK([int *p;], [extern int $v; p = &$v;],
[eval "gnome_cv_var_$v=yes"],
[eval "gnome_cv_var_$v=no"])])
if eval "test \"`echo '$gnome_cv_var_'$v`\" = yes"; then
AC_MSG_RESULT(yes)
n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
2002-08-07 22:45:38 +00:00
AC_DEFINE_UNQUOTED($n, 1, [dummy])
2000-08-14 09:44:53 +00:00
else
AC_MSG_RESULT(no)
fi
done
AC_REPLACE_FUNCS(memmove mkstemp scandir strcasecmp strerror strndup strnlen)
AC_REPLACE_FUNCS(strtok_r strtod strtol strtoul vasprintf vsnprintf)
AC_CHECK_FUNCS(realpath,,LIBOBJS="$LIBOBJS canonicalize.o")
# to include `error.c' error.c has some HAVE_* checks
AC_CHECK_FUNCS(vprintf doprnt strerror_r)
2002-08-07 22:45:38 +00:00
AC_FUNC_ERROR_AT_LINE
2000-08-14 09:44:53 +00:00
# This is required if we declare setreuid () and setregid ().
AC_TYPE_UID_T
# see if we need to declare some functions. Solaris is notorious for
# putting functions into the `libc' but not listing them in the headers
AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h dirent.h)
GCC_NEED_DECLARATIONS(gethostname setreuid setregid getpagesize)
GCC_NEED_DECLARATION(scandir,[
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
])
# Turn our LIBOBJS into libtool objects. This is gross, but it
# requires changes to autoconf before it goes away.
LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/.lo/g'`
AC_SUBST(need_gnome_support)
AC_SUBST(LTLIBOBJS)
LIBOBJS="$save_LIBOBJS"
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, test "$need_gnome_support" = yes)
])
dnl GNOME_UNDELFS_CHECKS
dnl Check for ext2fs undel support.
dnl Set shell variable ext2fs_undel to "yes" if we have it,
dnl "no" otherwise. May define USE_EXT2FSLIB for cpp.
dnl Will set EXT2FS_UNDEL_LIBS to required libraries.
AC_DEFUN([GNOME_UNDELFS_CHECKS], [
AC_CHECK_HEADERS(ext2fs/ext2fs.h linux/ext2_fs.h)
ext2fs_undel=no
EXT2FS_UNDEL_LIBS=
if test x$ac_cv_header_ext2fs_ext2fs_h = xyes
then
if test x$ac_cv_header_linux_ext2_fs_h = xyes
then
2002-08-07 22:45:38 +00:00
AC_DEFINE(USE_EXT2FSLIB, 1, [dummy])
2000-08-14 09:44:53 +00:00
ext2fs_undel=yes
EXT2FS_UNDEL_LIBS="-lext2fs -lcom_err"
fi
fi
])
dnl GNOME_VFS_CHECKS
dnl Check for various functions needed by libvfs.
dnl This has various effects:
dnl Sets GNOME_VFS_LIBS to libraries required
dnl Sets termnet to true or false depending on whether it is required.
dnl If yes, defines USE_TERMNET.
dnl Sets vfs_flags to "pretty" list of vfs implementations we include.
dnl Sets shell variable use_vfs to yes (default, --with-vfs) or
dnl "no" (--without-vfs).
dnl Calls AC_SUBST(mcserv), which is either empty or "mcserv".
dnl Private define
AC_DEFUN([GNOME_WITH_VFS],[
dnl FIXME: network checks should probably be in their own macro.
AC_CHECK_LIB(nsl, t_accept)
AC_CHECK_LIB(socket, socket)
have_socket=no
AC_CHECK_FUNCS(socket, have_socket=yes)
if test $have_socket = no; then
# socket is not in the default libraries. See if it's in some other.
for lib in bsd socket inet; do
AC_CHECK_LIB($lib, socket, [
LIBS="$LIBS -l$lib"
have_socket=yes
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAVE_SOCKET, 1, [dummy])
2000-08-14 09:44:53 +00:00
break])
done
fi
have_gethostbyname=no
AC_CHECK_FUNC(gethostbyname, have_gethostbyname=yes)
if test $have_gethostbyname = no; then
# gethostbyname is not in the default libraries. See if it's in some other.
for lib in bsd socket inet; do
AC_CHECK_LIB($lib, gethostbyname, [LIBS="$LIBS -l$lib"; have_gethostbyname=yes; break])
done
fi
vfs_flags="tarfs"
use_net_code=false
if test $have_socket = yes; then
AC_STRUCT_LINGER
AC_CHECK_FUNCS(pmap_set, , [
AC_CHECK_LIB(rpc, pmap_set, [
LIBS="-lrpc $LIBS"
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAVE_PMAP_SET, 1, [dummy])
2000-08-14 09:44:53 +00:00
])])
AC_CHECK_FUNCS(pmap_getport pmap_getmaps rresvport)
dnl add for source routing support setsockopt
AC_CHECK_HEADERS(rpc/pmap_clnt.h)
vfs_flags="$vfs_flags, mcfs, ftpfs, fish"
use_net_code=true
fi
dnl
dnl Samba support
dnl
smbfs=""
SAMBAFILES=""
AC_ARG_WITH(samba,
2002-08-07 22:45:38 +00:00
[--with-samba Support smb virtual file system],[
if test "x$withval != xno"; then
AC_DEFINE(WITH_SMBFS, 1, [dummy])
vfs_flags="$vfs_flags, smbfs"
2000-08-14 09:44:53 +00:00
smbfs="smbfs.o"
SAMBAFILES="\$(SAMBAFILES)"
2002-08-07 22:45:38 +00:00
fi
2000-08-14 09:44:53 +00:00
])
AC_SUBST(smbfs)
AC_SUBST(SAMBAFILES)
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
dnl
dnl The termnet support
dnl
termnet=false
AC_ARG_WITH(termnet,
[--with-termnet If you want a termified net support],[
if test x$withval = xyes; then
2002-08-07 22:45:38 +00:00
AC_DEFINE(USE_TERMNET, 1, [dummy])
termnet=true
2000-08-14 09:44:53 +00:00
fi
])
TERMNET=""
2002-08-07 22:45:38 +00:00
AC_DEFINE(USE_VFS, 1, [dummy])
2000-08-14 09:44:53 +00:00
if $use_net_code; then
2002-08-07 22:45:38 +00:00
AC_DEFINE(USE_NETCODE, [dummy])
2000-08-14 09:44:53 +00:00
fi
mcserv=
if test $have_socket = yes; then
mcserv="mcserv"
if $termnet; then
TERMNET="-ltermnet"
fi
fi
AC_SUBST(TERMNET)
AC_SUBST(mcserv)
dnl FIXME:
dnl GNOME_VFS_LIBS=
])
AC_DEFUN([GNOME_VFS_CHECKS],[
use_vfs=yes
AC_ARG_WITH(vfs,
[--with-vfs Compile with the VFS code],
use_vfs=$withval
)
case $use_vfs in
2002-08-07 22:45:38 +00:00
yes) GNOME_WITH_VFS;;
no) use_vfs=no;;
*) use_vfs=no;;
2000-08-14 09:44:53 +00:00
dnl Should we issue a warning?
esac
])
dnl GNOME_X_CHECKS
dnl
dnl Basic X11 related checks for X11. At the end, the following will be
dnl defined/changed:
dnl GTK_{CFLAGS,LIBS} From AM_PATH_GTK
dnl CPPFLAGS Will include $X_CFLAGS
dnl GNOME_HAVE_SM `true' or `false' depending on whether session
dnl management is available. It is available if
dnl both -lSM and X11/SM/SMlib.h exist. (Some
dnl Solaris boxes have the library but not the header)
dnl XPM_LIBS -lXpm if Xpm library is present, otherwise ""
dnl
dnl The following configure cache variables are defined (but not used):
dnl gnome_cv_passdown_{x_libs,X_LIBS,X_CFLAGS}
dnl
AC_DEFUN([GNOME_X_CHECKS],
[
AM_PATH_GTK(1.2.0,,AC_MSG_ERROR(GTK not installed, or gtk-config not in path))
dnl Hope that GTK_CFLAGS have only -I and -D. Otherwise, we could
dnl test -z "$x_includes" || CPPFLAGS="$CPPFLAGS -I$x_includes"
dnl
dnl Use CPPFLAGS instead of CFLAGS because AC_CHECK_HEADERS uses
dnl CPPFLAGS, not CFLAGS
2002-08-07 22:45:38 +00:00
CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"
2000-08-14 09:44:53 +00:00
2002-08-07 22:45:38 +00:00
saved_ldflags="$LDFLAGS"
LDFLAGS="$LDFLAGS $GTK_LIBS"
2000-08-14 09:44:53 +00:00
gnome_cv_passdown_x_libs="$GTK_LIBS"
gnome_cv_passdown_X_LIBS="$GTK_LIBS"
gnome_cv_passdown_X_CFLAGS="$GTK_CFLAGS"
gnome_cv_passdown_GTK_LIBS="$GTK_LIBS"
2002-08-07 22:45:38 +00:00
LDFLAGS="$saved_ldflags $GTK_LIBS"
2000-08-14 09:44:53 +00:00
dnl We are requiring GTK >= 1.1.1, which means this will be fine anyhow.
USE_DEVGTK=true
dnl AC_MSG_CHECKING([whether to use features from (unstable) GTK+ 1.1.x])
dnl AC_EGREP_CPP(answer_affirmatively,
dnl [#include <gtk/gtkfeatures.h>
dnl #ifdef GTK_HAVE_FEATURES_1_1_0
dnl answer_affirmatively
dnl #endif
dnl ], dev_gtk=yes, dev_gtk=no)
dnl if test "$dev_gtk" = "yes"; then
dnl USE_DEVGTK=true
dnl fi
dnl AC_MSG_RESULT("$dev_gtk")
GNOME_HAVE_SM=true
case "$GTK_LIBS" in
*-lSM*)
dnl Already found it.
;;
*)
dnl Assume that if we have -lSM then we also have -lICE.
AC_CHECK_LIB(SM, SmcSaveYourselfDone,
2002-08-07 22:45:38 +00:00
[GTK_LIBS="-lSM -lICE $GTK_LIBS"],GNOME_HAVE_SM=false,
2000-08-14 09:44:53 +00:00
$x_libs -lICE)
;;
esac
if test "$GNOME_HAVE_SM" = true; then
AC_CHECK_HEADERS(X11/SM/SMlib.h,,GNOME_HAVE_SM=false)
fi
if test "$GNOME_HAVE_SM" = true; then
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAVE_LIBSM, 1, [dummy])
2000-08-14 09:44:53 +00:00
fi
XPM_LIBS=""
AC_CHECK_LIB(Xpm, XpmFreeXpmImage, [XPM_LIBS="-lXpm"], , $x_libs)
AC_SUBST(XPM_LIBS)
AC_REQUIRE([GNOME_PTHREAD_CHECK])
2002-08-07 22:45:38 +00:00
LDFLAGS="$saved_ldflags"
2000-08-14 09:44:53 +00:00
AC_PROVIDE([GNOME_X_CHECKS])
])
dnl
dnl GNOME_XML_HOOK (script-if-xml-found, failflag)
dnl
dnl If failflag is "failure", script aborts due to lack of XML
2002-08-07 22:45:38 +00:00
dnl
2000-08-14 09:44:53 +00:00
dnl Check for availability of the libxml library
dnl the XML parser uses libz if available too
dnl
AC_DEFUN([GNOME_XML_HOOK],[
AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
if test "$GNOME_CONFIG" = no; then
if test x$2 = xfailure; then
AC_MSG_ERROR(Could not find gnome-config)
fi
fi
AC_CHECK_LIB(xml, xmlNewDoc, [
$1
GNOME_XML_LIB=`$GNOME_CONFIG --libs xml`
], [
2002-08-07 22:45:38 +00:00
if test x$2 = xfailure; then
2000-08-14 09:44:53 +00:00
AC_MSG_ERROR(Could not link sample xml program)
fi
], `$GNOME_CONFIG --libs xml`)
AC_SUBST(GNOME_XML_LIB)
])
AC_DEFUN([GNOME_XML_CHECK], [
GNOME_XML_HOOK([],failure)
])
dnl
dnl GNOME_INIT_HOOK (script-if-gnome-enabled, [failflag], [additional-inits])
dnl
dnl if failflag is "fail" then GNOME_INIT_HOOK will abort if gnomeConf.sh
2002-08-07 22:45:38 +00:00
dnl is not found.
2000-08-14 09:44:53 +00:00
dnl
AC_DEFUN([GNOME_INIT_HOOK],[
AC_SUBST(GNOME_LIBS)
AC_SUBST(GNOMEUI_LIBS)
AC_SUBST(GNOMEGNORBA_LIBS)
AC_SUBST(GTKXMHTML_LIBS)
AC_SUBST(ZVT_LIBS)
AC_SUBST(GNOME_LIBDIR)
AC_SUBST(GNOME_INCLUDEDIR)
AC_ARG_WITH(gnome-includes,
[ --with-gnome-includes Specify location of GNOME headers],[
CFLAGS="$CFLAGS -I$withval"
])
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
AC_ARG_WITH(gnome-libs,
[ --with-gnome-libs Specify location of GNOME libs],[
LDFLAGS="$LDFLAGS -L$withval"
gnome_prefix=$withval
])
AC_ARG_WITH(gnome,
[ --with-gnome Specify prefix for GNOME files],
if test x$withval = xyes; then
2002-08-07 22:45:38 +00:00
want_gnome=yes
dnl Note that an empty true branch is not
2000-08-14 09:44:53 +00:00
dnl valid sh syntax.
2002-08-07 22:45:38 +00:00
ifelse([$1], [], :, [$1])
else
if test "x$withval" = xno; then
want_gnome=no
else
want_gnome=yes
LDFLAGS="$LDFLAGS -L$withval/lib"
CFLAGS="$CFLAGS -I$withval/include"
gnome_prefix=$withval/lib
fi
fi,
2000-08-14 09:44:53 +00:00
want_gnome=yes)
if test "x$want_gnome" = xyes; then
AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
if test "$GNOME_CONFIG" = "no"; then
no_gnome_config="yes"
else
AC_MSG_CHECKING(if $GNOME_CONFIG works)
if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
2002-08-07 22:45:38 +00:00
AC_MSG_RESULT(yes)
GNOME_GNORBA_HOOK([],$2)
GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome`"
GNOMEUI_LIBS="`$GNOME_CONFIG --libs-only-l gnomeui`"
GNOMEGNORBA_LIBS="`$GNOME_CONFIG --libs-only-l gnorba gnomeui`"
GTKXMHTML_LIBS="`$GNOME_CONFIG --libs-only-l gtkxmhtml`"
2000-08-14 09:44:53 +00:00
ZVT_LIBS="`$GNOME_CONFIG --libs-only-l zvt`"
2002-08-07 22:45:38 +00:00
GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
$1
2000-08-14 09:44:53 +00:00
else
2002-08-07 22:45:38 +00:00
AC_MSG_RESULT(no)
no_gnome_config="yes"
fi
fi
2000-08-14 09:44:53 +00:00
if test x$exec_prefix = xNONE; then
2002-08-07 22:45:38 +00:00
if test x$prefix = xNONE; then
2000-08-14 09:44:53 +00:00
gnome_prefix=$ac_default_prefix/lib
2002-08-07 22:45:38 +00:00
else
gnome_prefix=$prefix/lib
fi
2000-08-14 09:44:53 +00:00
else
2002-08-07 22:45:38 +00:00
gnome_prefix=`eval echo \`echo $libdir\``
2000-08-14 09:44:53 +00:00
fi
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
if test "$no_gnome_config" = "yes"; then
2002-08-07 22:45:38 +00:00
AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix)
2000-08-14 09:44:53 +00:00
if test -f $gnome_prefix/gnomeConf.sh; then
2002-08-07 22:45:38 +00:00
AC_MSG_RESULT(found)
echo "loading gnome configuration from" \
2000-08-14 09:44:53 +00:00
"$gnome_prefix/gnomeConf.sh"
2002-08-07 22:45:38 +00:00
. $gnome_prefix/gnomeConf.sh
$1
2000-08-14 09:44:53 +00:00
else
2002-08-07 22:45:38 +00:00
AC_MSG_RESULT(not found)
if test x$2 = xfail; then
AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install)
fi
2000-08-14 09:44:53 +00:00
fi
2002-08-07 22:45:38 +00:00
fi
2000-08-14 09:44:53 +00:00
fi
if test -n "$3"; then
n="$3"
for i in $n; do
AC_MSG_CHECKING(extra library \"$i\")
2002-08-07 22:45:38 +00:00
case $i in
2000-08-14 09:44:53 +00:00
applets)
AC_SUBST(GNOME_APPLETS_LIBS)
GNOME_APPLETS_LIBS=`$GNOME_CONFIG --libs-only-l applets`
AC_MSG_RESULT($GNOME_APPLETS_LIBS);;
docklets)
AC_SUBST(GNOME_DOCKLETS_LIBS)
GNOME_DOCKLETS_LIBS=`$GNOME_CONFIG --libs-only-l docklets`
AC_MSG_RESULT($GNOME_DOCKLETS_LIBS);;
capplet)
AC_SUBST(GNOME_CAPPLET_LIBS)
GNOME_CAPPLET_LIBS=`$GNOME_CONFIG --libs-only-l capplet`
AC_MSG_RESULT($GNOME_CAPPLET_LIBS);;
*)
AC_MSG_RESULT(unknown library)
esac
done
fi
])
dnl
dnl GNOME_INIT ([additional-inits])
dnl
AC_DEFUN([GNOME_INIT],[
GNOME_INIT_HOOK([],fail,$1)
])
dnl
dnl AC_PROG_GPERF (MINIMUM-VERSION)
dnl
dnl Check for availability of gperf.
dnl Abort if not found or if current version is not up to par.
dnl
AC_DEFUN([AC_PROG_GPERF],[
AC_PATH_PROG(GPERF, gperf, no)
if test "$GPERF" = no; then
AC_MSG_ERROR(Could not find gperf)
fi
min_gperf_version=ifelse([$1], ,2.7,$1)
AC_MSG_CHECKING(for gperf - version >= $min_gperf_version)
gperf_major_version=`$GPERF --version | \
sed 's/GNU gperf \([[0-9]]*\).\([[0-9]]*\)/\1/'`
gperf_minor_version=`$GPERF --version | \
sed 's/GNU gperf \([[0-9]]*\).\([[0-9]]*\)/\2/'`
no_gperf=""
dnl
dnl Now check if the installed gperf is sufficiently new.
dnl
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static char*
my_strdup (char *str)
{
char *new_str;
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
if (str)
{
new_str = malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
return new_str;
}
2002-08-07 22:45:38 +00:00
int
2000-08-14 09:44:53 +00:00
main ()
{
char *tmp_version;
2002-08-07 22:45:38 +00:00
2000-08-14 09:44:53 +00:00
int major;
int minor;
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = my_strdup("$min_gperf_version");
if (sscanf(tmp_version, "%d.%d", &major, &minor) != 2) {
printf ("%s, bad version string\n", "$min_gperf_version");
exit (1);
}
if (($gperf_major_version > major) ||
(($gperf_major_version == major) && ($gperf_minor_version >= minor))) {
return 0;
} else {
printf ("\n");
printf ("*** An old version of gperf ($gperf_major_version.$gperf_minor_version) was found.\n");
printf ("*** You need a version of gperf newer than %d.%d.%d. The latest version of\n",
major, minor);
printf ("*** gperf is always available from ftp://ftp.gnu.org.\n");
printf ("***\n");
return 1;
}
}
],,no_gperf=yes,[/bin/true])
if test "x$no_gperf" = x ; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])
dnl
dnl Check for struct linger
dnl
AC_DEFUN(AC_STRUCT_LINGER, [
av_struct_linger=no
AC_MSG_CHECKING(struct linger is available)
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/socket.h>
struct linger li;
main ()
{
li.l_onoff = 1;
li.l_linger = 120;
exit (0);
}
],[
2002-08-07 22:45:38 +00:00
AC_DEFINE(HAVE_STRUCT_LINGER, 1, [dummy])
2000-08-14 09:44:53 +00:00
av_struct_linger=yes
],[
av_struct_linger=no
],[
av_struct_linger=no
])
AC_MSG_RESULT($av_struct_linger)
])
dnl See whether we need a declaration for a function.
dnl GCC_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES])
AC_DEFUN(GCC_NEED_DECLARATION,
[AC_MSG_CHECKING([whether $1 must be declared])
AC_CACHE_VAL(gcc_cv_decl_needed_$1,
[AC_TRY_COMPILE([
#include <stdio.h>
#ifdef HAVE_STRING_H
#include <string.h>
#else
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
$2],
[char *(*pfn) = (char *(*)) $1],
eval "gcc_cv_decl_needed_$1=no", eval "gcc_cv_decl_needed_$1=yes")])
if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then
AC_MSG_RESULT(yes)
gcc_need_declarations="$gcc_need_declarations $1"
gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
2002-08-07 22:45:38 +00:00
AC_DEFINE_UNQUOTED($gcc_tr_decl, 1, [dummy])
2000-08-14 09:44:53 +00:00
else
AC_MSG_RESULT(no)
fi
])dnl
dnl Check multiple functions to see whether each needs a declaration.
dnl GCC_NEED_DECLARATIONS(FUNCTION... [, EXTRA-HEADER-FILES])
AC_DEFUN(GCC_NEED_DECLARATIONS,
[for ac_func in $1
do
GCC_NEED_DECLARATION($ac_func, $2)
done
]
)
# Configure paths for GTK+
# Owen Taylor 97-11-3
dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
dnl
AC_DEFUN(AM_PATH_GTK,
2002-08-07 22:45:38 +00:00
[dnl
2000-08-14 09:44:53 +00:00
dnl Get the cflags and libraries from the gtk-config script
dnl
AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
2002-08-07 22:45:38 +00:00
gtk_config_prefix="$withval", gtk_config_prefix="")
2000-08-14 09:44:53 +00:00
AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
2002-08-07 22:45:38 +00:00
gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
2000-08-14 09:44:53 +00:00
AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
, enable_gtktest=yes)
for module in . $4
do
case "$module" in
2002-08-07 22:45:38 +00:00
gthread)
gtk_config_args="$gtk_config_args gthread"
;;
2000-08-14 09:44:53 +00:00
esac
done
if test x$gtk_config_exec_prefix != x ; then
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
if test x${GTK_CONFIG+set} != xset ; then
2002-08-07 22:45:38 +00:00
GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
2000-08-14 09:44:53 +00:00
fi
fi
if test x$gtk_config_prefix != x ; then
gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
if test x${GTK_CONFIG+set} != xset ; then
2002-08-07 22:45:38 +00:00
GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
2000-08-14 09:44:53 +00:00
fi
fi
AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
min_gtk_version=ifelse([$1], ,0.99.7,$1)
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
no_gtk=""
if test "$GTK_CONFIG" = "no" ; then
no_gtk=yes
else
GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
2002-08-07 22:45:38 +00:00
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
2000-08-14 09:44:53 +00:00
gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
2002-08-07 22:45:38 +00:00
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
2000-08-14 09:44:53 +00:00
gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
2002-08-07 22:45:38 +00:00
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
2000-08-14 09:44:53 +00:00
if test "x$enable_gtktest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$GTK_LIBS $LIBS"
dnl
dnl Now check if the installed GTK is sufficiently new. (Also sanity
dnl checks the results of gtk-config to some extent
dnl
rm -f conf.gtktest
AC_TRY_RUN([
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
2002-08-07 22:45:38 +00:00
int
2000-08-14 09:44:53 +00:00
main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.gtktest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = g_strdup("$min_gtk_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
printf("%s, bad version string\n", "$min_gtk_version");
exit(1);
}
if ((gtk_major_version != $gtk_config_major_version) ||
(gtk_minor_version != $gtk_config_minor_version) ||
(gtk_micro_version != $gtk_config_micro_version))
{
2002-08-07 22:45:38 +00:00
printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
$gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
gtk_major_version, gtk_minor_version, gtk_micro_version);
2000-08-14 09:44:53 +00:00
printf ("*** was found! If gtk-config was correct, then it is best\n");
printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
printf("*** required on your system.\n");
printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
printf("*** before re-running configure\n");
2002-08-07 22:45:38 +00:00
}
2000-08-14 09:44:53 +00:00
#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
(gtk_minor_version != GTK_MINOR_VERSION) ||
2002-08-07 22:45:38 +00:00
(gtk_micro_version != GTK_MICRO_VERSION))
2000-08-14 09:44:53 +00:00
{
printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
}
#endif /* defined (GTK_MAJOR_VERSION) ... */
else
{
if ((gtk_major_version > major) ||
2002-08-07 22:45:38 +00:00
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
2000-08-14 09:44:53 +00:00
{
2002-08-07 22:45:38 +00:00
return 0;
2000-08-14 09:44:53 +00:00
}
else
{
2002-08-07 22:45:38 +00:00
printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
2000-08-14 09:44:53 +00:00
major, minor, micro);
2002-08-07 22:45:38 +00:00
printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
printf("*** being found. The easiest way to fix this is to remove the old version\n");
printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
printf("*** correct copy of gtk-config. (In this case, you will have to\n");
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at run-time))\n");
2000-08-14 09:44:53 +00:00
}
}
return 1;
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes)
2002-08-07 22:45:38 +00:00
ifelse([$2], , :, [$2])
2000-08-14 09:44:53 +00:00
else
AC_MSG_RESULT(no)
if test "$GTK_CONFIG" = "no" ; then
echo "*** The gtk-config script installed by GTK could not be found"
echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GTK_CONFIG environment variable to the"
echo "*** full path to gtk-config."
else
if test -f conf.gtktest ; then
2002-08-07 22:45:38 +00:00
:
2000-08-14 09:44:53 +00:00
else
2002-08-07 22:45:38 +00:00
echo "*** Could not run GTK test program, checking why..."
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
AC_TRY_LINK([
2000-08-14 09:44:53 +00:00
#include <gtk/gtk.h>
#include <stdio.h>
], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
2002-08-07 22:45:38 +00:00
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GTK or finding the wrong"
echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
echo "***"
echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
echo "*** came with the system with the command"
2000-08-14 09:44:53 +00:00
echo "***"
2002-08-07 22:45:38 +00:00
echo "*** rpm --erase --nodeps gtk gtk-devel" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GTK was incorrectly installed"
echo "*** or that you have moved GTK since it was installed. In the latter case, you"
echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
2000-08-14 09:44:53 +00:00
fi
fi
GTK_CFLAGS=""
GTK_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
rm -f conf.gtktest
])