dnl
dnl GNOME_INIT_HOOK (script-if-gnome-enabled, failflag)
dnl
dnl if failflag is "fail" then GNOME_INIT_HOOK will abort if gnomeConf.sh
dnl is not found.
dnl
AC_DEFUN([GNOME_INIT_HOOK],
[
AC_SUBST(GNOME_LIBS)
AC_SUBST(GNOMEUI_LIBS)
AC_SUBST(GTKXMHTML_LIBS)
AC_SUBST(GNOME_LIBDIR)
AC_SUBST(GNOME_INCLUDEDIR)
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
AC_MSG_RESULT(yes)
GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome`"
GNOMEUI_LIBS="`$GNOME_CONFIG --libs-only-l gnomeui`"
GTKXMHTML_LIBS="`$GNOME_CONFIG --libs-only-l gtkxmhtml`"
GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnomeui`"
GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnomeui`"
$1
else
AC_MSG_RESULT(no)
no_gnome_config="yes"
fi
fi
if test x$exec_prefix = xNONE; then
if test x$prefix = xNONE; then
gnome_prefix=$ac_default_prefix/lib
else
gnome_prefix=$prefix/lib
fi
else
gnome_prefix=`eval echo \`echo $libdir\``
fi
AC_ARG_WITH(gnome-includes,
[ --with-gnome-includes Specify location of GNOME headers],[
CFLAGS="$CFLAGS -I$withval"
])
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
dnl Note that an empty true branch is not valid sh syntax.
ifelse([$1], [], :, [$1])
else
LDFLAGS="$LDFLAGS -L$withval/lib"
CFLAGS="$CFLAGS -I$withval/include"
gnome_prefix=$withval/lib
fi
])
if test "$no_gnome_config" = "yes"; then
AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix)
if test -f $gnome_prefix/gnomeConf.sh; then
AC_MSG_RESULT(found)
echo "loading gnome configuration from $gnome_prefix/gnomeConf.sh"
. $gnome_prefix/gnomeConf.sh
$1
else
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
fi
fi
])
AC_DEFUN([GNOME_INIT],[
GNOME_INIT_HOOK([],fail)
])
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
CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"
saved_ldflags="$LDFLAGS"
LDFLAGS="$LDFLAGS $GTK_LIBS"
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"
LDFLAGS="$saved_ldflags $GTK_LIBS"
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,
[GTK_LIBS="-lSM -lICE $GTK_LIBS"],GNOME_HAVE_SM=false,
$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
AC_DEFINE(HAVE_LIBSM)
fi
XPM_LIBS=""
AC_CHECK_LIB(Xpm, XpmFreeXpmImage, [XPM_LIBS="-lXpm"], , $x_libs)
AC_SUBST(XPM_LIBS)
AC_REQUIRE([GNOME_PTHREAD_CHECK])
LDFLAGS="$saved_ldflags"
AC_PROVIDE([GNOME_X_CHECKS])
])
AC_DEFUN([GNOME_PTHREAD_CHECK],[
PTHREAD_LIB=""
AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
[AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r")])
AC_SUBST(PTHREAD_LIB)
AC_PROVIDE([GNOME_PTHREAD_CHECK])
])
syntax highlighted by Code2HTML, v. 0.9.1