summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hack-macros/gnome.m4119
1 files changed, 119 insertions, 0 deletions
diff --git a/hack-macros/gnome.m4 b/hack-macros/gnome.m4
new file mode 100644
index 00000000..3866eb5e
--- /dev/null
+++ b/hack-macros/gnome.m4
@@ -0,0 +1,119 @@
+AC_DEFUN(AM_PATH_GNOME,
+[dnl
+dnl Get the cflags and libraries from the gnome-config script
+dnl
+AC_ARG_WITH(gnome-prefix,[ --with-gnome-prefix=PFX Prefix where GNOME is installed (optional)],
+ gnome_config_prefix="$withval", gnome_config_prefix="")
+AC_ARG_WITH(gnome-exec-prefix,[ --with-gnome-exec-prefix=PFX Exec prefix where GNOME is installed (optional)],
+ gnome_config_exec_prefix="$withval", gnome_config_exec_prefix="")
+AC_ARG_ENABLE(gnometest, [ --disable-gnometest Do not try to compile and run a test GNOME program],
+ , enable_gnometest=yes)
+
+ if test x$gnome_config_exec_prefix != x ; then
+ gnome_config_args="$gnome_config_args --exec-prefix=$gnome_config_exec_prefix"
+ if test x${GNOME_CONFIG+set} != xset ; then
+ GNOME_CONFIG=$gnome_config_exec_prefix/bin/gnome-config
+ fi
+ fi
+ if test x$gnome_config_prefix != x ; then
+ gnome_config_args="$gnome_config_args --prefix=$gnome_config_prefix"
+ if test x${GNOME_CONFIG+set} != xset ; then
+ GNOME_CONFIG=$gnome_config_prefix/bin/gnome-config
+ fi
+ fi
+
+ AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
+ min_gnome_version=ifelse([$1], , 1.1.0, $1)
+
+ AC_MSG_CHECKING(for GNOME - version >= $min_gnome_version)
+ no_gnome=""
+ if test "$GNOME_CONFIG" = "no" ; then
+ no_gnome=yes
+ else
+ GNOME_CFLAGS="`$GNOME_CONFIG $gnome_config_args --cflags gnome`"
+ GNOME_LIBS="`$GNOME_CONFIG $gnome_config_args --libs gnome`"
+ GNOMEUI_CFLAGS="`$GNOME_CONFIG $gnome_config_args --cflags gnomeui`"
+ GNOMEUI_LIBS="`$GNOME_CONFIG $gnome_config_args --libs gnomeui`"
+
+ gnome_config_major_version=`$GNOME_CONFIG $gnome_config_args --version | \
+ sed 's/[^0-9]*\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
+ gnome_config_minor_version=`$GNOME_CONFIG $gnome_config_args --version | \
+ sed 's/[^0-9]*\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
+ gnome_config_micro_version=`$GNOME_CONFIG $gnome_config_args --version | \
+ sed 's/[^0-9]*\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
+ needed_major_version=`echo $min_gnome_version | \
+ sed 's/[^0-9]*\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
+ needed_minor_version=`echo $min_gnome_version | \
+ sed 's/[^0-9]*\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
+ needed_micro_version=`echo $min_gnome_version | \
+ sed 's/[^0-9]*\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
+
+ if test $gnome_config_major_version -lt $needed_major_version; then
+ ifelse([$3], , :, [$3])
+ no_gnome=yes
+ elif test $gnome_config_major_version = $needed_major_version; then
+ if test -n "$needed_minor_version" -a $gnome_config_minor_version -lt $needed_minor_version; then
+ ifelse([$3], , :, [$3])
+ no_gnome=yes
+ elif test -n "$needed_minor_version" -a $gnome_config_minor_version = $needed_minor_version; then
+ if test -n "$needed_micro_version" -a $gnome_config_micro_version -lt $needed_micro_version; then
+ ifelse([$3], , :, [$3])
+ no_gnome=yes
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST(GNOME_CFLAGS)
+ AC_SUBST(GNOME_LIBS)
+ AC_SUBST(GNOMEUI_CFLAGS)
+ AC_SUBST(GNOMEUI_LIBS)
+
+ if test "x$no_gnome" = x ; then
+ AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+ else
+ AC_MSG_RESULT(no)
+ if test "$GNOME_CONFIG" = "no" ; then
+ echo "*** The gnome-config script installed by GNOME could not be found"
+ echo "*** If GNOME 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
+ fi
+ GNOME_CFLAGS=""
+ GNOME_LIBS=""
+ ifelse([$3], , :, [$3])
+ fi
+
+ tmp_gnome_libdir=`$GNOME_CONFIG $gnome_config_args --libdir`
+ for module in $4; do
+ if test -f $tmp_gnome_libdir/$module'Conf'.sh; then
+ tmp_bsnom=`echo $module | tr a-z A-Z`
+ eval $tmp_bsnom'_CFLAGS'=\"`$GNOME_CONFIG $gnome_config_args --cflags $module`\"
+ eval $tmp_bsnom'_LIBS'=\"`$GNOME_CONFIG $gnome_config_args --libs $module`\"
+ elif test "$module" eq zvt; then
+ ZVT_LIBS="`$GNOME_CONFIG $gnome_config_args --libs zvt`"
+ AC_SUBST(ZVT_LIBS)
+ elif test "$module" eq gtk; then
+ GTK_CFLAGS="`$GNOME_CONFIG $gnome_config_args --cflags gtk`"
+ GTK_LIBS="`$GNOME_CONFIG $gnome_config_args --libs gtk`"
+ AC_SUBST(GTK_CFLAGS)
+ AC_SUBST(GTK_LIBS)
+ elif test "$module" eq "glib"; then
+ GLIB_CFLAGS="`$GNOME_CONFIG $gnome_config_args --cflags glib`"
+ GLIB_LIBS="`$GNOME_CONFIG $gnome_config_args --libs glib`"
+ AC_SUBST(GLIB_CFLAGS)
+ AC_SUBST(GLIB_LIBS)
+ elif test "$module" eq "oaf"; then
+ OAF_CFLAGS="`$GNOME_CONFIG $gnome_config_args --cflags oaf`"
+ OAF_LIBS="`$GNOME_CONFIG $gnome_config_args --libs oaf`"
+ AC_SUBST(OAF_CFLAGS)
+ AC_SUBST(OAF_LIBS)
+ else
+ echo "*** $module library is not installed"
+ ifelse([$3], , :, [$3])
+ fi
+ done
+
+ rm -f conf.gnometest
+])