-# configure.in --- xscreensaver, Copyright (c) 1997-2000 Jamie Zawinski.
+# configure.in --- xscreensaver, Copyright (c) 1997-2002 Jamie Zawinski.
#
+AC_PREREQ(2.52)
AC_INIT(driver/subprocs.c)
AC_CONFIG_HEADER(config.h)
fi
done
-
###############################################################################
#
# Function to figure out how to run the compiler.
[if test -n "$GCC"; then
AC_CACHE_CHECK([whether gcc accepts -std],
ac_cv_gcc_accepts_std,
- [if ( gcc -E -std=c89 - </dev/null 2>&1 >/dev/null | \
+ [if ( ( gcc -E -std=c89 - </dev/null >/dev/null ) 2>&1 | \
grep unrecognized >/dev/null ); then
ac_cv_gcc_accepts_std=no
else
[ac_cv_install_d_creates_dirs=no
rm -rf conftestdir
if mkdir conftestdir; then
- cd conftestdir >&-
- ${INSTALL} -d `pwd`/dir1/dir2 >&- 2>&-
+ cd conftestdir 2>/dev/null
+ ${INSTALL} -d `pwd`/dir1/dir2 >/dev/null 2>&1
if test -d dir1/dir2/. ; then
ac_cv_install_d_creates_dirs=yes
fi
- cd .. >&-
+ cd .. 2>/dev/null
rm -rf conftestdir
fi
])
[ac_cv_mkdir_p_creates_dirs=no
rm -rf conftestdir
if mkdir conftestdir; then
- cd conftestdir >&-
- mkdir -p dir1/dir2 >&- 2>&-
+ cd conftestdir 2>/dev/null
+ mkdir -p dir1/dir2 >/dev/null 2>&1
if test -d dir1/dir2/. ; then
ac_cv_mkdir_p_creates_dirs=yes
fi
- cd .. >&-
+ cd .. 2>/dev/null
rm -rf conftestdir
fi
])
AC_DEFUN(AC_PATH_X_APP_DEFAULTS_XMKMF,[
rm -fr conftestdir
if mkdir conftestdir; then
- cd conftestdir >&-
+ cd conftestdir 2>/dev/null
# Make sure to not put "make" in the Imakefile rules, since we grep it out.
cat > Imakefile <<'EOF'
acfindx:
@echo 'ac_x_app_defaults="${XAPPLOADDIR}"'
EOF
- if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+ if (xmkmf) >/dev/null 2>&1 && test -f Makefile; then
# GNU make sometimes prints "make[1]: Entering...", which'd confuse us.
eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
fi
- cd .. >&-
+ cd .. 2>/dev/null
rm -fr conftestdir
fi])
CPPFLAGS="$CPPFLAGS -I$includedir"
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- AC_CHECK_HEADER([$1], [$2])
+ AC_CHECK_HEADER([$1],[$2],[$3],[$4])
CPPFLAGS="$ac_save_CPPFLAGS"])
# Like AC_EGREP_HEADER, but it uses the already-computed -I directories.
AC_PROG_CPP
AC_C_CONST
AC_C_INLINE
+AC_EXEEXT
AC_DEMAND_BC
# stuff for Makefiles
AC_HEADER_SYS_WAIT
AC_HEADER_DIRENT
AC_GETTIMEOFDAY_ARGS
-AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv)
+AC_CHECK_FUNCS(select fcntl uname nice setpriority getcwd getwd putenv sbrk)
AC_CHECK_FUNCS(sigaction syslog realpath setrlimit)
AC_CHECK_ICMP
AC_XPOINTER
+###############################################################################
+#
+# Gettext support
+#
+###############################################################################
+
+AC_PROG_INTLTOOL
+GETTEXT_PACKAGE=xscreensaver
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
+AC_DEFINE_UNQUOTED(PACKAGE, "$GETTEXT_PACKAGE")
+AC_SUBST(GETTEXT_PACKAGE)
+
+# #### no sign of en_GB
+#ALL_LINGUAS="ca de en_GB et fr it ko pl sv da es fi hu ja no pt pt_BR ru wa"
+ALL_LINGUAS="ca de et fr it ko pl sv da es fi hu ja no pt pt_BR ru wa"
+AM_GLIB_GNU_GETTEXT
+
###############################################################################
#
###############################################################################
have_xmu=no
-AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes])
+AC_CHECK_X_HEADER(X11/Xmu/Error.h, [have_xmu=yes],,
+ [#include <stdlib.h>
+ #include <stdio.h>
+ #include <X11/Intrinsic.h>])
if test "$have_xmu" = no ; then
XMU_SRCS='$(UTILS_SRC)/xmu.c'
XMU_OBJS='$(UTILS_BIN)/xmu.o'
Installation options:
--with-hackdir=DIR Where to install the hundreds of demo executables.
- Default: \`PREFIX/lib/xscreensaver/'
-],
+ Default: \`PREFIX/lib/xscreensaver/'],
[with_hackdir="$withval"; with_hackdir_req="$withval"],[with_hackdir=yes])
if test x"$with_hackdir" = xyes; then
# there must be a better way than this...
if test -z "`echo $with_configdir | sed 's@^/.*@@'`" ; then
# absolute path
- CONFIGDIR=$with_configdir
+ HACK_CONF_DIR=$with_configdir
else
# relative path
- CONFIGDIR="\${exec_prefix}$with_configdir"
+ HACK_CONF_DIR="\${exec_prefix}$with_configdir"
fi
fi
-# canonicalize slashes.
-CONFIGDIR=`echo "${CONFIGDIR}" | sed 's@/$@@;s@//*@/@g'`
-
if test "$with_sgi" = yes; then
AC_CHECK_X_HEADER(X11/extensions/XScreenSaver.h,
[have_sgi=yes
- AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)])
+ AC_DEFINE(HAVE_SGI_SAVER_EXTENSION)],,
+ [#include <X11/Xlib.h>])
elif test "$with_sgi" != no; then
echo "error: must be yes or no: --with-sgi-ext=$with_sgi"
HANDLE_X_PATH_ARG(with_mit, --with-mit-ext, MIT-SCREEN-SAVER)
if test "$with_mit" = yes; then
- AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes])
+ AC_CHECK_X_HEADER(X11/extensions/scrnsaver.h, [have_mit=yes],,
+ [#include <X11/Xlib.h>])
# Now check to see if it's really in the library; XF86Free-3.3 ships
# scrnsaver.h, but doesn't include the code in libXext.a, the idiots!
if test "$with_xidle" = yes; then
AC_CHECK_X_HEADER(X11/extensions/xidle.h,
[have_xidle=yes
- AC_DEFINE(HAVE_XIDLE_EXTENSION)])
+ AC_DEFINE(HAVE_XIDLE_EXTENSION)],,
+ [#include <X11/Xlib.h>])
elif test "$with_xidle" != no; then
echo "error: must be yes or no: --with-xidle-ext=$with_xidle"
exit 1
if test "$with_sgivc" = yes; then
# first check for XSGIvc.h
- AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes])
+ AC_CHECK_X_HEADER(X11/extensions/XSGIvc.h, [have_sgivc=yes],,
+ [#include <X11/Xlib.h>])
# if that succeeded, then check for the -lXsgivc
if test "$have_sgivc" = yes; then
if test "$with_dpms" = yes; then
# first check for dpms.h
- AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes])
+ AC_CHECK_X_HEADER(X11/extensions/dpms.h, [have_dpms=yes],,
+ [#include <X11/Xlib.h>])
# if that succeeded, then check for the DPMS code in the libraries
if test "$have_dpms" = yes; then
if test "$with_xinerama" = yes; then
# first check for Xinerama.h
- AC_CHECK_X_HEADER(X11/extensions/Xinerama.h, [have_xinerama=yes])
+ AC_CHECK_X_HEADER(X11/extensions/Xinerama.h, [have_xinerama=yes],,
+ [#include <X11/Xlib.h>])
# if that succeeded, then check for the XINERAMA code in the libraries
if test "$have_xinerama" = yes; then
if test "$with_xf86vmode" = yes; then
# first check for xf86vmode.h
- AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes])
+ AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86vmode=yes],,
+ [#include <X11/Xlib.h>])
# if that succeeded, then check for the -lXxf86vm
if test "$have_xf86vmode" = yes; then
if test "$have_xf86vmode" = yes; then
have_xf86gamma=yes
else
- AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes])
+ AC_CHECK_X_HEADER(X11/extensions/xf86vmode.h, [have_xf86gamma=yes],,
+ [#include <X11/Xlib.h>])
fi
# if that succeeded, then check for the -lXxf86vm
Screen locking options:
--enable-locking Compile in support for locking the display.
- --disable-locking Do not allow locking at all.
-],
+ --disable-locking Do not allow locking at all.],
[enable_locking="$enableval"],[enable_locking=yes])
if test "$enable_locking" = yes; then
true
#fi
-
###############################################################################
#
# Check for PAM.
# (who got it from amu@mit.edu)
PASSWD_LIBS="$PASSWD_LIBS -lkrb4 -ldes425 -lkrb5 -lk5crypto -lcrypt -lcom_err"
elif test "$have_kerberos" = yes ; then
- # from Tim Showalter <tjs+@andrew.cmu.edu>
- PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes"
+ # from Tim Showalter <tjs@psaux.com> for FreeBSD 4.2
+ PASSWD_LIBS="$PASSWD_LIBS -lkrb -ldes -lcom_err"
fi
if test "$have_kerberos" = yes ; then
AC_ARG_WITH(motif,[
User interface options:
- --with-motif Use the Motif toolkit for the user interface.],
+ --with-motif Use the Motif toolkit for the user interface
+ (not recommended.)],
[with_motif="$withval"; with_motif_req="$withval"],[with_motif=yes])
HANDLE_X_PATH_ARG(with_motif, --with-motif, Motif)
AC_CHECK_X_HEADER(Xm/Xm.h,
[have_motif=yes
AC_DEFINE(HAVE_MOTIF)
- MOTIF_LIBS="$MOTIF_LIBS -lXm"])
+ MOTIF_LIBS="$MOTIF_LIBS -lXm"],,
+ [#include <stdlib.h>
+ #include <stdio.h>
+ #include <X11/Intrinsic.h>])
fi
if test "$have_motif" = yes; then
- AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)])
+ AC_CHECK_X_HEADER(Xm/ComboBox.h, [AC_DEFINE(HAVE_XMCOMBOBOX)],,
+ [#include <stdlib.h>
+ #include <stdio.h>
+ #include <X11/Intrinsic.h>])
fi
###############################################################################
have_gtk=no
+have_gtk2=no
with_gtk_req=unspecified
AC_ARG_WITH(gtk,
[ --with-gtk Use the Gtk toolkit for the user interface.],
have_gnome=no
with_gnome_req=unspecified
AC_ARG_WITH(gnome,
-[ --with-gnome Include support for the Gnome Control Center.],
+[ --with-gnome Include support for the Gnome 1.x Control Center.
+ (This option is not needed with GTK 2.x / Gnome 2.x.)
+],
[with_gnome="$withval"; with_gnome_req="$withval"],[with_gnome=yes])
# if --with-gnome=/directory/ was specified, remember that directory so that
exit 1
fi
+parse_gtk_version_string() {
+ # M4 sucks!!
+ changequote(X,Y)
+ maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'`
+ min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'`
+ changequote([,])
+ ac_gtk_version=`echo "$maj * 1000 + $min" | bc`
+ if test -z "$ac_gtk_version"; then
+ ac_gtk_version=unknown
+ ac_gtk_version_string=unknown
+ fi
+}
+
jurassic_gtk=no
+gtk2_halfassed=no
+
if test "$with_gtk" = yes; then
have_gtk=no
- # if the user specified --with-gtk=/foo/ then look in /foo/bin/
- # for glib-config and gtk-config.
+ # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
+ # look in /foo/bin/ for glib-config, gtk-config, and gnome-config.
#
gtk_path="$PATH"
if test ! -z "$gtk_dir"; then
# canonicalize slashes.
- gtk_dir=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
- gtk_path="$gtk_dir:$gtk_path"
+ foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+ gtk_path="$foo:$gtk_path"
fi
- if test ! -z "gnome_dir"; then
+ if test ! -z "$gnome_dir"; then
# canonicalize slashes.
- gnome_dir=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
- gtk_path="$gnome_dir:$gtk_path"
+ foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+ gtk_path="$foo:$gtk_path"
fi
- AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path)
- AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path)
+ AC_PATH_PROGS(pkg_config, pkg-config,, $gtk_path)
- if test "$with_gnome" = yes; then
- AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
- fi
+ if test -n "$pkg_config" ; then
+ #
+ # the new way...
+ # run pkg-config based tests.
+ #
- if test -n "$glib_config" -a -n "gtk_config" ; then
- have_gtk=yes
- if test "$with_gnome" = yes -a -n "$gnome_config" ; then
- have_gnome=yes
+ pkgs=''
+ pkg_check_version() {
+ if test "$ok" = yes ; then
+ req="$1"
+ min="$2"
+ AC_MSG_CHECKING(for $req)
+ if $pkg_config --exists "$req" ; then
+ vers=`$pkg_config --modversion "$req"`
+ if $pkg_config --exists "$req >= $min" ; then
+ AC_MSG_RESULT($vers)
+ pkgs="$pkgs $req"
+ return 1
+ else
+ AC_MSG_RESULT($vers (wanted >= $min))
+ ok=no
+ return 0
+ fi
+ else
+ AC_MSG_RESULT(no)
+ ok=no
+ return 0
+ fi
+ fi
+ }
+
+ ok="yes"
+ pkg_check_version gtk+-2.0 2.0.1 ; ac_gtk_version_string="$vers"
+ pkg_check_version gmodule-2.0 2.0.0
+ pkg_check_version libxml-2.0 2.4.6
+ pkg_check_version libglade-2.0 1.99.0
+ have_gtk="$ok"
+
+ if test "$have_gtk" = yes; then
+ have_gtk2=yes
+ AC_DEFINE(HAVE_GTK2)
+ else
+ if test -n "$ac_gtk_version_string" ; then
+ gtk2_halfassed="$ac_gtk_version_string"
+ fi
fi
- fi
- if test "$have_gtk" = yes; then
- AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string,
- [ac_cv_gtk_version_string=`$gtk_config --version`])
- ac_gtk_version_string=$ac_cv_gtk_version_string
- # M4 sucks!!
- changequote(X,Y)
- maj=`echo $ac_gtk_version_string | sed -n 's/\..*//p'`
- min=`echo $ac_gtk_version_string | sed -n 's/[^.]*\.\([^.]*\).*/\1/p'`
- changequote([,])
- ac_gtk_version=`echo "$maj * 1000 + $min" | bc`
- if test -z "$ac_gtk_version"; then
- ac_gtk_version=unknown
- ac_gtk_version_string=unknown
+ if test "$have_gtk" = no; then
+ #
+ # we don't have GTK 2. Let's look for GTK 1.
+ #
+ pkgs=''
+ ok="yes"
+ pkg_check_version gtk+ 1.2 ; ac_gtk_version_string="$vers"
+ pkg_check_version glib 1.0
+ have_gtk="$ok"
+
+ # Now check for Gnome...
+ #
+ if test "$have_gtk" = yes -a "$with_gnome" = yes; then
+ old_pkgs="$pkgs"
+ ok=yes
+ pkg_check_version capplet 1.0
+ pkg_check_version gnomeui 1.0
+ pkg_check_version gdk_pixbuf 0.1
+ have_gnome="$ok"
+
+ if test "$have_gnome" = no; then
+ pkgs="$old_pkgs"
+ else
+ AC_DEFINE(HAVE_CRAPPLET)
+ fi
+ fi
+ fi
+
+ if test "$have_gtk" = yes; then
+ parse_gtk_version_string
+ jurassic_gtk=no
+ else
+ have_gnome=no
+ fi
+
+ if test "$have_gtk" = yes; then
+ AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
+ [ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`])
+ AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
+ [ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`])
+ fi
+ ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
+ ac_gtk_config_libs=$ac_cv_gtk_config_libs
+
+ ac_gnome_config_cflags=$ac_gtk_config_cflags
+ ac_gnome_config_libs=$ac_gtk_config_libs
+
+ else
+ #
+ # the old way...
+ # run {gnome,gtk}-config based tests.
+ #
+
+ AC_PATH_PROGS(glib_config, glib12-config glib-config,, $gtk_path)
+ AC_PATH_PROGS(gtk_config, gtk12-config gtk-config,, $gtk_path)
+
+ if test "$with_gnome" = yes; then
+ AC_PATH_PROGS(gnome_config, gnome-config,, $gtk_path)
fi
+
+ if test -n "$glib_config" -a -n "$gtk_config" ; then
+ have_gtk=yes
+ if test "$with_gnome" = yes -a -n "$gnome_config" ; then
+ have_gnome=yes
+ fi
+ fi
+
+ if test "$have_gtk" = yes; then
+ AC_CACHE_CHECK([Gtk version number], ac_cv_gtk_version_string,
+ [ac_cv_gtk_version_string=`$gtk_config --version`])
+ ac_gtk_version_string=$ac_cv_gtk_version_string
+ fi
+
+ parse_gtk_version_string
+
if test "$ac_gtk_version" = "unknown" || test "$ac_gtk_version" -lt 1002
then
have_gtk=no
have_gnome=no
jurassic_gtk=yes
fi
- fi
- if test "$have_gtk" = yes; then
- AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
- [ac_cv_gtk_config_cflags=`$gtk_config --cflags`])
- AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
- [ac_cv_gtk_config_libs=`$gtk_config --libs`])
- fi
- ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
- ac_gtk_config_libs=$ac_cv_gtk_config_libs
+ if test "$have_gtk" = yes; then
+ AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
+ [ac_cv_gtk_config_cflags=`$gtk_config --cflags`])
+ AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
+ [ac_cv_gtk_config_libs=`$gtk_config --libs`])
+ fi
+ ac_gtk_config_cflags=$ac_cv_gtk_config_cflags
+ ac_gtk_config_libs=$ac_cv_gtk_config_libs
+
+ # Check for Gnome Capplet support.
+ # Note that this is only needed with Gnome 1.x, not Gnome 2.x.
+ # In a Gnome 2.x world, libcapplet will not exist.
+ # (In fact, this likely won't even be checked, since in a Gnome 2.x
+ # world, we will probably be up in the "$pkg_config" branch instead
+ # of here in the "$gnome_config" branch.)
+ #
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ gnome_config_libs="gtk capplet gnomeui gdk_pixbuf"
+ AC_MSG_CHECKING(for Gnome capplet includes)
+ AC_CACHE_VAL(ac_cv_gnome_config_cflags,
+ [if ( $gnome_config --cflags $gnome_config_libs >/dev/null 2>&1 | \
+ grep Unknown >/dev/null ) ; then
+ ac_cv_gnome_config_cflags=''
+ else
+ ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
+ fi])
+ ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
+ if test "$ac_gnome_config_cflags" = "" ; then
+ have_gnome=no
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT($ac_gnome_config_cflags)
+ fi
+ fi
- # Check for Gnome Capplet support.
- #
- if test "$have_gnome" = yes -a "$have_gtk" = yes; then
- gnome_config_libs="gtk capplet gnomeui xml"
- AC_MSG_CHECKING(for Gnome capplet includes)
- AC_CACHE_VAL(ac_cv_gnome_config_cflags,
- [if ( $gnome_config --cflags $gnome_config_libs 2>&1 >/dev/null | \
- grep Unknown >/dev/null ) ; then
- ac_cv_gnome_config_cflags=''
- else
- ac_cv_gnome_config_cflags=`$gnome_config --cflags $gnome_config_libs`
- fi])
- ac_gnome_config_cflags=$ac_cv_gnome_config_cflags
- if test "$ac_gnome_config_cflags" = "" ; then
- have_gnome=no
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT($ac_gnome_config_cflags)
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ AC_MSG_CHECKING(for Gnome capplet libs)
+ AC_CACHE_VAL(ac_cv_gnome_config_libs,
+ [if ( $gnome_config --libs $gnome_config_libs >/dev/null 2>&1 |
+ grep Unknown >/dev/null ) ; then
+ ac_cv_gnome_config_libs=''
+ else
+ ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
+ fi])
+ ac_gnome_config_libs=$ac_cv_gnome_config_libs
+ if test "$ac_gnome_config_libs" = "" ; then
+ have_gnome=no
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT($ac_gnome_config_libs)
+ fi
fi
- fi
- if test "$have_gnome" = yes -a "$have_gtk" = yes; then
- AC_MSG_CHECKING(for Gnome capplet libs)
- AC_CACHE_VAL(ac_cv_gnome_config_libs,
- [if ( $gnome_config --libs $gnome_config_libs 2>&1 >/dev/null |
- grep Unknown >/dev/null ) ; then
- ac_cv_gnome_config_libs=''
- else
- ac_cv_gnome_config_libs=`$gnome_config --libs $gnome_config_libs`
- fi])
- ac_gnome_config_libs=$ac_cv_gnome_config_libs
- if test "$ac_gnome_config_libs" = "" ; then
- have_gnome=no
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT($ac_gnome_config_libs)
+ # If we have Gnome, then override the gtk-config values with
+ # the gnome-config values.
+ #
+ if test "$have_gnome" = yes -a "$have_gtk" = yes; then
+ ac_gtk_config_cflags=$ac_gnome_config_cflags
+ ac_gtk_config_libs=$ac_gnome_config_libs
+ AC_DEFINE(HAVE_CRAPPLET)
fi
+
+ fi # end of {gnome,gtk}-config based tests
+
+ if test "$have_gtk" = yes -a "$have_gtk2" = no; then
+ # check for this function that was not in libcapplet 1.2.
+ # (only needed in Gnome/Gtk 1.x, not Gnome/Gtk 2.x)
+ AC_CHECK_X_LIB(capplet, capplet_widget_changes_are_immediate,
+ [AC_DEFINE(HAVE_CRAPPLET_IMMEDIATE)], [true],
+ $ac_gnome_config_libs)
fi
+
GNOME_DATADIR=""
if test "$have_gnome" = yes -a "$have_gtk" = yes; then
- GNOME_DATADIR=`$gnome_config --datadir`
+ if test -n "$pkg_config"; then
+ if test "$have_gtk2" = yes; then
+ GNOME_DATADIR=`$pkg_config --variable=prefix gtk+-2.0`
+ else
+ GNOME_DATADIR=`$pkg_config --variable=prefix gtk+`
+ fi
+ else
+ GNOME_DATADIR=`$gtk_config --prefix`
+ fi
+ GNOME_DATADIR="$GNOME_DATADIR/share"
fi
-
- # If we have Gnome, then override the gtk-config values with
- # the gnome-config values.
- #
- if test "$have_gnome" = yes -a "$have_gtk" = yes; then
- ac_gtk_config_cflags=$ac_gnome_config_cflags
- ac_gtk_config_libs=$ac_gnome_config_libs
- AC_DEFINE(HAVE_CRAPPLET)
+ # .desktop files go in different places in Gnome 1.x and Gnome 2.x...
+ if test "$have_gtk2" = yes; then
+ GNOME_PANELDIR='$(GNOME_PANELDIR2)'
+ else
+ GNOME_PANELDIR='$(GNOME_PANELDIR1)'
fi
INCLUDES="$INCLUDES $ac_gtk_config_cflags"
GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
AC_DEFINE(HAVE_GTK)
+
+ if test "$have_gtk2" = yes; then
+ GTK_EXTRA_OBJS=""
+ else
+ GTK_EXTRA_OBJS="\$(GTK_EXTRA_OBJS)"
+ fi
fi
fi
###############################################################################
#
-# Check for -lxml (if we have Gtk)
+# Check for -lxml
#
###############################################################################
have_xml=no
with_xml_req=unspecified
+xml_halfassed=no
AC_ARG_WITH(xml,
[ --with-xml The XML toolkit is needed for some parts of
- the Gtk interface.],
+ the Gtk interface. Without it, the configuration
+ interface will be much less featureful.],
[with_xml="$withval"; with_xml_req="$withval"],[with_xml=yes])
+# if --with-xml=/directory/ was specified, remember that directory so that
+# we can also look for the `xml-config' program in that directory.
+case "$with_xml" in
+ /*)
+ xml_dir="$with_xml"
+ ;;
+ *)
+ xml_dir=""
+ ;;
+esac
+
HANDLE_X_PATH_ARG(with_xml, --with-xml, XML)
if test "$with_xml" != yes -a "$with_xml" != no ; then
exit 1
fi
-if test "$have_gtk" != yes; then
- # don't bother if no GTK
- with_xml=no
-fi
-
if test "$with_xml" = yes; then
have_xml=no
+ have_old_xml=no
- # the XML stuff is likely to be in GTK paths.
- ac_save_X_CFLAGS="$X_CFLAGS"
- ac_save_X_LIBS="$X_LIBS"
- X_CFLAGS="$X_CFLAGS $ac_gtk_config_cflags"
- X_LIBS="$X_LIBS $ac_gtk_config_libs"
+ # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
+ # look in /foo/bin/ for for xml-config.
+ #
+ xml_path="$PATH"
- AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes])
+ if test ! -z "$gtk_dir"; then
+ # canonicalize slashes.
+ foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+ xml_path="$foo:$xml_path"
+ fi
+
+ if test ! -z "$gnome_dir"; then
+ # canonicalize slashes.
+ foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+ xml_path="$foo:$xml_path"
+ fi
+
+ if test -n "$pkg_config" ; then
+ #
+ # the new way...
+ # run pkg-config based tests.
+ #
+ pkgs=""
+ ok="yes"
+
+ # If we have Gtk 2.x, then *only* XML 2.x will work.
+ # If we have Gtk 1.x, or don't have Gtk at all, then
+ # either XML 1.x or 2.x will work.
+
+ # First check for XML 2.x.
+ #
+ pkg_check_version libxml-2.0 2.4.6
+
+ # If that didn't work (we don't have XML 2.x) and we *don't* have
+ # Gtk 2.x, then check to see if we have XML 1.x
+ #
+ if test "$ok" = no -a "$have_gtk2" = no; then
+ ok=yes
+ pkg_check_version libxml 1.0
+ fi
+
+ have_xml="$ok"
+
+ if test "$have_xml" = yes; then
+ AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags,
+ [ac_cv_xml_config_cflags=`$pkg_config --cflags $pkgs`])
+ AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs,
+ [ac_cv_xml_config_libs=`$pkg_config --libs $pkgs`])
+ ac_xml_config_cflags=$ac_cv_xml_config_cflags
+ ac_xml_config_libs=$ac_cv_xml_config_libs
+ fi
+
+ else
+ #
+ # the old way...
+ # run {xml2,xml}-config based tests.
+ #
+
+ AC_PATH_PROGS(xml_config, xml2-config xml-config,, $xml_path)
+
+ # If we found the xml-config program, run it to get flags.
+ #
+ if test -n "$xml_config" ; then
+ AC_CACHE_CHECK([for XML includes], ac_cv_xml_config_cflags,
+ [ac_cv_xml_config_cflags=`$xml_config --cflags`])
+ AC_CACHE_CHECK([for XML libs], ac_cv_xml_config_libs,
+ [ac_cv_xml_config_libs=`$xml_config --libs`])
+ ac_xml_config_cflags=$ac_cv_xml_config_cflags
+ ac_xml_config_libs=$ac_cv_xml_config_libs
+ fi
+
+ ac_save_xml_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $ac_xml_config_cflags"
+
+ # first try <libxml/parser.h> which is the new way...
+ #
+ AC_CHECK_X_HEADER(libxml/xmlIO.h, [have_xml=yes],,
+ [#include <libxml/parser.h>])
+
+ # if that didn't work, then try just <parser.h> which is the old way...
+ #
+ if test "$have_xml" = no; then
+ AC_CHECK_X_HEADER(xmlIO.h, [have_xml=yes; have_old_xml=yes],,
+ [#include <parser.h>])
+ fi
+
+ CPPFLAGS="$ac_save_xml_CPPFLAGS"
+ fi
+
+
+ have_zlib=no
+ if test "$have_xml" = yes; then
+ # we have the XML headers; now make sure zlib is around.
+ # yes, it's stupid we have to do this too, but there is
+ # dependency screwage in Gnome.
+ AC_CHECK_X_LIB(z, zlibVersion, [have_zlib=yes])
+ if test "$have_zlib" = no; then
+ xml_halfassed=yes
+ have_xml=no
+ fi
+ fi
if test "$have_xml" = yes; then
# we have the header, now check for the library
have_xml=no
- AC_CHECK_X_LIB(xml, xmlParseChunk,
+ xml_halfassed=yes
+ AC_CHECK_X_LIB(c, xmlParseChunk,
[have_xml=yes
- XML_LIBS="-lxml"
- AC_DEFINE(HAVE_XML)])
+ xml_halfassed=no
+ XML_LIBS="$ac_xml_config_libs"
+ AC_DEFINE(HAVE_XML)],
+ [true],
+ $ac_xml_config_libs)
fi
- X_CFLAGS="$ac_save_X_CFLAGS"
- X_LIBS="$ac_save_X_LIBS"
+ if test "$have_xml" = yes; then
+ INCLUDES="$INCLUDES $ac_xml_config_cflags"
+ GTK_LIBS="$GTK_LIBS $ac_xml_config_libs"
+ AC_DEFINE(HAVE_XML)
+ if test "$have_old_xml" = yes; then
+ AC_DEFINE(HAVE_OLD_XML_HEADERS)
+ fi
+ fi
fi
if test "$with_gl" = yes; then
AC_CHECK_X_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
if test "$have_gl" = yes ; then
- AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no)
+ AC_CHECK_X_HEADER(GL/glx.h, have_gl=yes, have_gl=no,
+ [#include <GL/gl.h>])
fi
# If we have the headers, try and figure out which vendor it's from.
fi
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- # M4 sucks!!
+ mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | grep configure:`
+
+ # M4 sucks!!
changequote(X,Y)
- mglv=`(eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | sed -n \
- 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
+ mglv=`echo "$mglv" | sed -n \
+ 's/^configure:.*\([0-9][0-9]*\).*\([0-9][0-9]*\).*$/\1.\2/p'`
changequote([,])
rm -f conftest.$ac_ext
if test "$with_gle" = yes; then
- AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no)
+ AC_CHECK_X_HEADER(GL/gle.h, have_gle3=yes, have_gle3=no,
+ [#include <GL/gl.h>])
if test "$have_gle3" = yes ; then
have_gle=yes;
else
- AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no)
+ AC_CHECK_X_HEADER(GL/gutil.h, have_gle=yes, have_gle=no,
+ [#include <GL/gl.h>])
if test "$have_gle" = yes ; then
- AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no)
+ AC_CHECK_X_HEADER(GL/tube.h, have_gle=yes, have_gle=no,
+ [#include <GL/gl.h>])
fi
fi
have_xpm=no
with_xpm_req=unspecified
AC_ARG_WITH(xpm,
-[ --with-xpm Include support for XPM files in some demos.],
+[ --with-xpm Include support for XPM files in some demos.
+ (Not needed if Pixbuf is used.)],
[with_xpm="$withval"; with_xpm_req="$withval"],[with_xpm=yes])
HANDLE_X_PATH_ARG(with_xpm, --with-xpm, XPM)
AC_CHECK_X_HEADER(X11/xpm.h,
[have_xpm=yes
AC_DEFINE(HAVE_XPM)
- XPM_LIBS="-lXpm"])
+ XPM_LIBS="-lXpm"],,
+ [#include <X11/Xlib.h>])
elif test "$with_xpm" != no; then
echo "error: must be yes or no: --with-xpm=$with_xpm"
exit 1
fi
+###############################################################################
+#
+# Check for -lgdk_pixbuf.
+#
+###############################################################################
+
+have_gdk_pixbuf=no
+with_gdk_pixbuf_req=unspecified
+AC_ARG_WITH(pixbuf,
+[ --with-pixbuf Include support for the GDK-Pixbuf library in some
+ demos, which will make it possible for them to read
+ GIF, JPEG, and PNG files as well. (The path here is
+ ignored if GTK 2.x is being used.)],
+ [with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"],
+ [with_gdk_pixbuf=yes])
+
+# if --with-pixbuf=/directory/ was specified, remember that directory so that
+# we can also look for the `gdk-pixbuf-config' program in that directory.
+case "$with_gdk_pixbuf" in
+ /*)
+ gdk_pixbuf_dir="$with_gdk_pixbuf"
+ ;;
+ *)
+ gdk_pixbuf_dir=""
+ ;;
+esac
+
+HANDLE_X_PATH_ARG(with_gdk_pixbuf, --with-pixbuf, GDK_PIXBUF)
+
+if test "$with_gdk_pixbuf" != yes -a "$with_gdk_pixbuf" != no ; then
+ echo "error: must be yes or no: --with-pixbuf=$with_gdk_pixbuf"
+ exit 1
+fi
+
+if test "$with_gdk_pixbuf" = yes; then
+ have_gdk_pixbuf=no
+ have_gdk_pixbuf2=no
+
+ if test -n "$pkg_config" ; then
+ #
+ # the new way...
+ # run pkg-config based tests.
+ #
+ pkgs=''
+ ok="yes"
+
+ # If we have Gtk 2.x, then *only* gdk-pixbuf 2.x will work.
+ # If we have Gtk 1.x, then *only* gdk-pixbuf 1.x will work.
+ # If we don't have Gtk at all, then either will work.
+
+ if test "$have_gtk" = no -o "$have_gtk2" = yes; then
+ #
+ # we don't have Gtk; or we have Gtk 2.x. Check for pixbuf 2.x.
+ #
+ pkg_check_version gdk-pixbuf-2.0 2.0.0
+ pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0
+ have_gdk_pixbuf="$ok"
+ have_gdk_pixbuf2="$ok"
+ fi
+
+ if test "$have_gtk" = no -o "$have_gtk2" = no; then
+ #
+ # we don't have Gtk; or we have Gtk 1.x.
+ # If we don't have pixbuf 2.x, then check for pixbuf 1.x.
+ #
+ if test "$have_gdk_pixbuf2" = no; then
+ pkgs=''
+ ok="yes"
+ pkg_check_version gdk-pixbuf 0.0
+ pkg_check_version gdk-pixbuf-xlib 0.0
+ have_gdk_pixbuf="$ok"
+ fi
+ fi
+
+ if test "$have_gdk_pixbuf" = yes; then
+ AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
+ [ac_cv_gdk_pixbuf_config_cflags=`$pkg_config --cflags $pkgs`])
+ AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
+ [ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`])
+ fi
+ ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
+ ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
+ fi
+
+
+ if test "$have_gdk_pixbuf" = no; then
+ #
+ # the old way...
+ # run gdk-pixbuf-config based tests.
+ # note that we can't assume that the existence of "pkg-config" means
+ # that we don't have to look for gdk-pixbuf-config -- in Gnome 1.4,
+ # pkg-config exists, but doesn't know about pixbuf.
+ #
+
+ # if the user specified --with-gtk=/foo/ or --with-gnome=/foo/ then
+ # look in /foo/bin/ for for gdk-pixbuf-config.
+ #
+ gdk_pixbuf_path="$PATH"
+
+ if test ! -z "$gtk_dir"; then
+ # canonicalize slashes.
+ foo=`echo "${gtk_dir}/bin" | sed 's@//*@/@g'`
+ gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
+ fi
+
+ if test ! -z "$gnome_dir"; then
+ # canonicalize slashes.
+ foo=`echo "${gnome_dir}/bin" | sed 's@//*@/@g'`
+ gdk_pixbuf_path="$foo:$gdk_pixbuf_path"
+ fi
+
+ AC_PATH_PROGS(gdk_pixbuf_config, gdk-pixbuf-config,, $gdk_pixbuf_path)
+
+ # If we found the gdk-pixbuf-config program, run it to get flags.
+ #
+ if test -n "$gdk_pixbuf_config" ; then
+ AC_CACHE_CHECK([for gdk-pixbuf includes], ac_cv_gdk_pixbuf_config_cflags,
+ [ac_cv_gdk_pixbuf_config_cflags=`$gdk_pixbuf_config --cflags`])
+ AC_CACHE_CHECK([for gdk-pixbuf libs], ac_cv_gdk_pixbuf_config_libs,
+ [ac_cv_gdk_pixbuf_config_libs=`$gdk_pixbuf_config --libs`])
+
+ # note that "gdk-pixbuf-config --libs" produces a link line including
+ # -lgdk_pixbuf, but there's no way to get it to produce one that also
+ # includes -lgdk_pixbuf_xlib. Since we don't know *exactly* what the
+ # name of the library will be, construct it with sed...
+ # M4 sucks!!
+ changequote(X,Y)
+ ac_cv_gdk_pixbuf_config_libs=`echo $ac_cv_gdk_pixbuf_config_libs | \
+ sed 's@ \(-lgdk_pixbuf\([-_a-zA-Z0-9.]*\)\) @ \1 -lgdk_pixbuf_xlib\2 @'`
+ changequote([,])
+
+ ac_gdk_pixbuf_config_cflags=$ac_cv_gdk_pixbuf_config_cflags
+ ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
+ fi
+ fi
+
+ ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
+
+ if test "$have_gdk_pixbuf" = no; then
+ #
+ # we appear to have pixbuf; check for headers/libs to be sure.
+ #
+
+ have_gdk_pixbuf=no
+
+ # check for header A...
+ AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf.h, [have_gdk_pixbuf=yes])
+
+ # if that worked, check for header B...
+ if test "$have_gdk_pixbuf" = yes; then
+ have_gdk_pixbuf=no
+ gdk_pixbuf_halfassed=yes
+ AC_CHECK_X_HEADER(gdk-pixbuf/gdk-pixbuf-xlib.h,
+ [have_gdk_pixbuf=yes
+ gdk_pixbuf_halfassed=no])
+
+ # yay, it has a new name in Gtk 2.x...
+ if test "$have_gdk_pixbuf" = no; then
+ have_gdk_pixbuf=no
+ gdk_pixbuf_halfassed=yes
+ AC_CHECK_X_HEADER(gdk-pixbuf-xlib/gdk-pixbuf-xlib.h,
+ [have_gdk_pixbuf=yes
+ gdk_pixbuf_halfassed=no])
+ fi
+ fi
+ fi
+
+ CPPFLAGS="$ac_save_gdk_pixbuf_CPPFLAGS"
+
+ if test "$have_gdk_pixbuf" = yes; then
+ # we have the headers, now check for the libraries
+ have_gdk_pixbuf=no
+ gdk_pixbuf_halfassed=yes
+
+ # library A...
+ AC_CHECK_X_LIB(c, gdk_pixbuf_new_from_file, [have_gdk_pixbuf=yes],,
+ $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
+ # library B...
+ if test "$have_gdk_pixbuf" = yes; then
+ have_gdk_pixbuf=no
+ AC_CHECK_X_LIB(c, gdk_pixbuf_xlib_init,
+ [have_gdk_pixbuf=yes
+ gdk_pixbuf_halfassed=no],,
+ $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm)
+ fi
+ fi
+
+ if test "$have_gdk_pixbuf" = yes; then
+ INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags"
+ XPM_LIBS="$ac_gdk_pixbuf_config_libs"
+ AC_DEFINE(HAVE_GDK_PIXBUF)
+ else
+ have_gdk_pixbuf2=no
+ fi
+fi
+
+
+###############################################################################
+#
+# Check for -ljpeg
+#
+###############################################################################
+
+have_jpeg=no
+with_jpeg_req=unspecified
+jpeg_halfassed=no
+AC_ARG_WITH(jpeg,
+[ --with-jpeg Include support for the JPEG library in some demos.
+ (If this library is available, webcollage will be a
+ . lot faster.)],
+ [with_jpeg="$withval"; with_jpeg_req="$withval"],
+ [with_jpeg=yes])
+
+HANDLE_X_PATH_ARG(with_jpeg, --with-jpeg, JPEG)
+
+if test "$with_jpeg" != yes -a "$with_jpeg" != no ; then
+ echo "error: must be yes or no: --with-jpeg=$with_jpeg"
+ exit 1
+fi
+
+if test "$with_jpeg" = yes; then
+
+ have_jpeg=no
+ AC_CHECK_X_HEADER(jpeglib.h, [have_jpeg=yes])
+
+ if test "$have_jpeg" = yes; then
+ # we have the header, now check for the library
+ have_jpeg=no
+ jpeg_halfassed=yes
+ AC_CHECK_X_LIB(jpeg, jpeg_start_compress,
+ [have_jpeg=yes
+ jpeg_halfassed=no
+ JPEG_LIBS="-ljpeg"
+ AC_DEFINE(HAVE_JPEGLIB)])
+ fi
+fi
+
+
###############################################################################
#
# Check for the XSHM server extension.
have_xshm=no
with_xshm_req=unspecified
AC_ARG_WITH(xshm-ext,
-[ --with-xshm-ext Include support for the XSHM extension.],
+[ --with-xshm-ext Include support for the Shared Memory extension.],
[with_xshm="$withval"; with_xshm_req="$withval"],[with_xshm=yes])
HANDLE_X_PATH_ARG(with_xshm, --with-xshm-ext, XSHM)
if test "$with_xshm" = yes; then
# first check for Xshm.h.
- AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes])
+ AC_CHECK_X_HEADER(X11/extensions/XShm.h, [have_xshm=yes],,
+ [#include <X11/Xlib.h>])
# if that succeeded, then check for sys/ipc.h.
if test "$have_xshm" = yes; then
if test "$with_xdbe" = yes; then
- AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes])
+ AC_CHECK_X_HEADER(X11/extensions/Xdbe.h, [have_xdbe=yes],,
+ [#include <X11/Xlib.h>])
if test "$have_xdbe" = yes; then
AC_DEFINE(HAVE_DOUBLE_BUFFER_EXTENSION)
fi
if test "$with_readdisplay" = yes; then
AC_CHECK_X_HEADER(X11/extensions/readdisplay.h,
- AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION))
+ AC_DEFINE(HAVE_READ_DISPLAY_EXTENSION),,
+ [#include <X11/Xlib.h>])
elif test "$with_readdisplay" != no; then
echo "error: must be yes or no: --with-readdisplay=$with_readdisplay"
exit 1
GLE_KLUDGE="-${tab} "
fi
+if test "$have_jpeg" = yes -a "$have_gdk_pixbuf" = yes; then
+ JPEG_EXES='$(JPEG_EXES)'
+fi
+
# Another substitution in the XScreenSaver.ad.in file:
#
# Now that we know whether we have Gnome, we can decide where the XML
# config files get installed.
+#
if test -z "$HACK_CONF_DIR" ; then
if test -n "$GNOME_DATADIR" ; then
HACK_CONF_DIR='${GNOME_DATADIR}/control-center/screensavers'
fi
+
+# After computing $HACK_CONF_DIR, make sure $GLADE_DATADIR has a value
+# so that we know where to install the Gtk pixmaps.
+#
+# It should usually be "/usr/share/pixmaps/", but we can't just use
+# "$(prefix)/share/pixmaps" because that would usually result in
+# "/usr/X11R6/share/pixmaps/", which is wrong. It needs to be the
+# Gnome/Gtk prefix, not the overall prefix.
+#
+if test -n "$GNOME_DATADIR" ; then
+ GLADE_DATADIR='$(GNOME_DATADIR)/xscreensaver'
+elif test "$have_gtk" = yes; then
+ if test -n "$pkg_config"; then
+ if test "$have_gtk2" = yes; then
+ GLADE_DATADIR=`$pkg_config --variable=prefix gtk+-2.0`
+ else
+ GLADE_DATADIR=`$pkg_config --variable=prefix gtk+`
+ fi
+ else
+ GLADE_DATADIR=`$gtk_config --prefix`
+ fi
+ GLADE_DATADIR="$GLADE_DATADIR/share/xscreensaver"
+else
+ GLADE_DATADIR=''
+fi
+
+
+# canonicalize slashes.
+HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
+
+
+
###############################################################################
#
# Perform substitutions and write Makefiles.
AC_SUBST(MOTIF_LIBS)
AC_SUBST(GTK_LIBS)
AC_SUBST(XML_LIBS)
+AC_SUBST(JPEG_LIBS)
AC_SUBST(HACK_LIBS)
AC_SUBST(XPM_LIBS)
AC_SUBST(GL_LIBS)
AC_SUBST(SAVER_GL_LIBS)
AC_SUBST(LOCK_SRCS)
AC_SUBST(LOCK_OBJS)
+AC_SUBST(JPEG_EXES)
AC_SUBST(GL_EXES)
AC_SUBST(GL_UTIL_EXES)
AC_SUBST(GL_MEN)
AC_SUBST(GNOMEHELP_N)
AC_SUBST(HACKDIR)
AC_SUBST(GNOME_DATADIR)
+AC_SUBST(GLADE_DATADIR)
+AC_SUBST(GNOME_PANELDIR)
AC_SUBST(HACK_CONF_DIR)
+AC_SUBST(GTK_EXTRA_OBJS)
APPDEFAULTS=$ac_x_app_defaults
AC_SUBST(APPDEFAULTS)
driver/Makefile
hacks/Makefile
hacks/glx/Makefile
- driver/XScreenSaver.ad)
+ po/Makefile.in
+ driver/XScreenSaver.ad
+ driver/xscreensaver.kss)
###############################################################################
#
warn2 "Gtk $pref_gtk or newer is required. Motif will be used instead."
elif test "$with_gtk_req" = yes -a "$have_gtk" = no ; then
- warnL "Use of Gtk was requested, but it wasn't found;"
- warn2 "Motif will be used instead."
+ warnL "Use of Gtk was requested, but it wasn't found."
+ if test "$have_motif" = yes; then
+ warn2 "Motif will be used instead."
+ fi
+fi
+if test "$gtk2_halfassed" != no ; then
+ warnL "GTK version $gtk2_halfassed was found, but some other supporting"
+ warn2 "libraries were not, so GTK 2.x can't be used. Please"
+ warn2 "read the above output and the \`config.log' file to see"
+ warn2 "which libraries are missing."
fi
warn2 'headers and/or libraries were not found.'
fi
-if test "$with_xml_req" = yes -a "$have_xml" = no ; then
- warn 'Use of the XML library was requested, but the necessary'
- warn2 'headers and/or libraries were not found.'
-elif test "$have_gtk" = yes -a "$have_xml" = no ; then
- warn 'GTK is being used, but the XML library was not found.'
- warn2 'Some functionality will be disabled.'
+if test "$have_gtk" = yes ; then
+ if test "$have_xml" = no ; then
+ if test "$with_xml_req" = yes ; then
+ warn 'Use of the XML library was requested, but the necessary'
+ warn2 'headers and/or libraries were not found.'
+ else
+ warn 'GTK is being used, but the XML library was not found.'
+ fi
+
+ if test "$xml_halfassed" = yes ; then
+
+ if test "$have_zlib" = yes ; then
+ which="XML libraries"
+ else
+ which="\`zlib' library"
+ fi
+
+ echo ''
+ warn2 'More specifically, we found the headers, but not the'
+ warn2 "$which; so either XML is half-installed on this"
+ warn2 "system, or something else went wrong. The \`config.log'"
+ warn2 'file might contain some clues.'
+ fi
+
+ echo ''
+ warn2 "Without XML, the per-display-mode \`Settings' dialogs"
+ warn2 'will not be available. Specify the location of the XML'
+ warn2 'library through the --with-xml option to configure.'
+ fi
fi
if test "$have_motif" = yes -a "$have_lesstif" = yes ; then
- preferred_lesstif=0.86
+ preferred_lesstif=0.92
if test "$lesstif_version" = unknown; then
warnL "Unable to determine the LessTif version number!"
fi
+if test "$have_motif" = yes -a "$have_gtk" = no ; then
+ warn 'Motif is being used, and GTK is not.'
+ echo ''
+ warn2 'Though the Motif front-end to xscreensaver is still'
+ warn2 'maintained, it is no longer being updated with new'
+ warn2 'features: all new development on the xscreensaver-demo'
+ warn2 'program is happening in the GTK version, and not in the'
+ warn2 'Motif version. It is recommended that you build against'
+ warn2 'GTK instead of Motif. See <http://www.gtk.org/>.'
+fi
+
-if test "$have_xpm" = no ; then
- if test "$with_xpm_req" = yes ; then
- warnL 'Use of XPM was requested, but it was not found.'
+if test "$with_xpm_req" = yes -a "$have_xpm" = no; then
+ warnL 'Use of XPM was requested, but it was not found.'
+fi
+
+if test "$with_gdk_pixbuf_req" = yes -a "$have_gdk_pixbuf" = no; then
+ warnL 'Use of GDK-Pixbuf was requested, but it was not found.'
+fi
+
+if test "$have_xpm" = no -a "$have_gdk_pixbuf" = no || \
+ test "$gdk_pixbuf_halfassed" = yes; then
+
+ if test "$with_xpm_req" = yes -o "$have_xpm" = yes ; then
+ true
elif test "$with_xpm_req" = no ; then
- noteL 'The XPM library is not being used.'
+ warnL 'The XPM library is not being used.'
else
- noteL 'The XPM library was not found.'
+ warnL 'The XPM library was not found.'
+ fi
+
+ if test "$with_gdk_pixbuf_req" = yes ; then
+ true
+ elif test "$with_gdk_pixbuf_req" = no ; then
+ warnL 'The GDK-Pixbuf library is not being used.'
+ else
+ warnL 'The GDK-Pixbuf library was not found.'
+ fi
+
+ if test "$gdk_pixbuf_halfassed" = yes ; then
+ echo ''
+ warn2 'More specifically, we found the headers, but not the'
+ warn2 'libraries; so either GDK-Pixbuf is half-installed on this'
+ warn2 "system, or something else went wrong. The \`config.log'"
+ warn2 'file might contain some clues.'
fi
echo ''
warn2 'Some of the demos will not be as colorful as they'
- warn2 'could be. You might want to consider installing XPM'
- warn2 'and re-running configure. (Remember to delete the'
- warn2 'config.cache file first.) You can find XPM at most'
- warn2 'X11 archive sites, such as <http://sunsite.unc.edu/>.'
+ warn2 'could be. You should consider installing Pixbuf or'
+ warn2 'XPM and re-running configure. (Remember to delete'
+ warn2 'the config.cache file first.) The Pixbuf library is'
+ warn2 'a part of GNOME. The XPM library comes with most'
+ warn2 'X11 installations; you can also find it at the X11'
+ warn2 'archive sites, such as <http://sunsite.unc.edu/>.'
+ echo ''
+ warn2 'GDK-Pixbuf is recommended over XPM, as it provides'
+ warn2 'support for more image formats.'
+fi
+
+
+if test "$have_jpeg" = no ; then
+ if test "$with_jpeg_req" = yes ; then
+ warnL 'Use of libjpeg was requested, but it was not found.'
+ elif test "$with_jpeg_req" = no ; then
+ noteL 'The JPEG library is not being used.'
+ else
+ noteL 'The JPEG library was not found.'
+ fi
+
+ if test "$jpeg_halfassed" = yes ; then
+ echo ''
+ warn2 'More specifically, we found the headers, but not the'
+ warn2 'library; so either JPEG is half-installed on this'
+ warn2 "system, or something else went wrong. The \`config.log'"
+ warn2 'file might contain some clues.'
+ echo ''
+ fi
+
+ warn2 "This means the \`webcollage' program will be much slower."
fi
# M4 sucks!!
changequote(X,Y)
-rpmv=`(rpm -qv xscreensaver) 2>&- | \
+rpmv=`(rpm -qv xscreensaver) 2>/dev/null | \
sed -n 's/^xscreensaver-\([0-9][0-9]*[.][0-9][0-9]*\)-.*$/\1/p'`
changequote([,])
echo ""
if test "$rpmbdir" = "$rpmhdir" ; then
- warn2 "The RPM version was installed in $rpmbdir."
+ warn2 "The RPM version was installed in $rpmbdir/."
else
- warn2 "The RPM version was installed in $rpmbdir,"
- warn2 "with demos in $rpmhdir."
+ warn2 "The RPM version was installed in $rpmbdir/,"
+ warn2 "with demos in $rpmhdir/."
fi
do_dir_warning=yes
echo ""
echo ' When you run "make install", the "xscreensaver",'
echo ' "xscreensaver-demo", and "xscreensaver-command" executables'
- echo " will be installed in ${bindir}."
+ echo " will be installed in ${bindir}/."
echo ""
- echo " The various graphics demos (120+ different executables) will"
- echo " also be installed in ${HACKDIR}."
+ echo " The various graphics demos (140+ different executables) will"
+ echo " be installed in ${HACKDIR}/."
echo ""
- echo " If you would prefer the demos to be installed elsewhere"
- echo " (for example, in a dedicated directory) you should re-run"
- echo " configure with the --with-hackdir=DIR option. For more"
- echo " information, run $0 --help."
+ echo " If you would prefer the demos to be installed elsewhere,"
+ echo " you should re-run configure with the --with-hackdir=DIR"
+ echo " option. For more information, run \`./configure --help'."
warning=yes
fi