This is the mail archive of the
guile-gtk@sources.redhat.com
mailing list for the Guile project.
Currnet CVS fails to configure - the patch
- To: guile-gtk at sourceware dot cygnus dot com
- Subject: Currnet CVS fails to configure - the patch
- From: Martin Baulig <martin at home-of-linux dot org>
- Date: 29 Nov 2000 00:42:04 +0100
- Cc: ariel at arcavia dot com
- References: <00Nov28.121831est.17025@gateway.elms.k12.oh.us>
"Dale P. Smith" <dpsm@en.com> writes:
> The current CVS guile-gtk fails to configure on my system, basically a
> stock Debian Potato intel system, except for CVS guile. Gtk+ is at 1.2.
>
> I commented out some things in configure.in, as shown in the patch
> below. It now configures and builds just fine. I'm not sure what's
> missing, but I don't think I have any of that xxx_2_0 stuff on my
> system.
Hi,
this happens because the current check for GTK+ is just broken.
The current check requires you to have both GTK+ 1.2 and 1.3 installed
to make it configure.
Here's a patch which makes it use gnome-common / pkgconfig to check for
stuff and use the conditional GNOME 1.x / 2.x support which I'm using
in gnome-libs HEAD's dependencies.
In the default configuration, the patch defaults to the GNOME 1.x platform
and you need to give configure the --enable-platform-gnome-2 argument to
enable support for GNOME 2.x.
Here it comes:
? gnome-guile-macros.patch
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gnome-guile/ChangeLog,v
retrieving revision 1.38
diff -u -u -p -r1.38 ChangeLog
--- ChangeLog 2000/11/25 06:38:09 1.38
+++ ChangeLog 2000/11/28 23:25:07
@@ -1,3 +1,11 @@
+2000-11-29 Martin Baulig <baulig@suse.de>
+
+ * autogen.sh: Use gnome-common with the GNOME 2 macros.
+
+ * acinclude.m4: Added some stuff from macros/ here.
+
+ * Makefile.am (SUBDIRS): Removed macros.
+
2000-11-25 Ariel Rios <ariel@arcavia.com>
* configure.in (build_gtkhtml): We now compile gtkhtml module
Index: Makefile.am
===================================================================
RCS file: /cvs/gnome/gnome-guile/Makefile.am,v
retrieving revision 1.6
diff -u -u -p -r1.6 Makefile.am
--- Makefile.am 2000/02/20 04:40:45 1.6
+++ Makefile.am 2000/11/28 23:25:07
@@ -1,9 +1,5 @@
-SUBDIRS = macros guile-gtk guile-gnome
+SUBDIRS = guile-gtk guile-gnome
EXTRA_DIST = gnome-guile.spec.in gnome-guile.spec
-## to automatically rebuild aclocal.m4 if any of the macros in `macros/' change
-@MAINT@include macros/macros.dep
-@MAINT@macros/macros.dep: macros/Makefile.am
-@MAINT@ cd macros && $(MAKE) macros.dep
Index: acinclude.m4
===================================================================
RCS file: acinclude.m4
diff -N acinclude.m4
--- /dev/null Tue May 5 16:32:27 1998
+++ acinclude.m4 Tue Nov 28 18:25:07 2000
@@ -0,0 +1,315 @@
+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
+dnl is not found.
+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"
+ ])
+
+ 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
+ want_gnome=yes
+ dnl Note that an empty true branch is not
+ dnl valid sh syntax.
+ 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,
+ 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
+ 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`"
+ ZVT_LIBS="`$GNOME_CONFIG --libs-only-l zvt`"
+ GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
+ GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba 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
+
+ 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
+ fi
+
+ if test -n "$3"; then
+ n="$3"
+ for i in $n; do
+ AC_MSG_CHECKING(extra library \"$i\")
+ case $i in
+ 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 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"
+ else
+ 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 || \
+ echo no` = xno; then
+ 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
+ AC_DEFINE(HAVE_GUILE)
+ ],[
+ 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 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
+ if test x$2 = xfailure; then
+ AC_MSG_ERROR(gnorba library not installed or installation problem)
+ fi
+ fi
+])
+
+AC_DEFUN([GNOME_GNORBA_CHECK], [
+ GNOME_GNORBA_HOOK([],failure)
+])
+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
+ if test x$2 = xfailure; then
+ AC_MSG_ERROR(ORBit not installed or installation problem)
+ fi
+ fi
+])
+
+AC_DEFUN([GNOME_ORBIT_CHECK], [
+ GNOME_ORBIT_HOOK([],failure)
+])
Index: autogen.sh
===================================================================
RCS file: /cvs/gnome/gnome-guile/autogen.sh,v
retrieving revision 1.6
diff -u -u -p -r1.6 autogen.sh
--- autogen.sh 1999/01/07 15:18:58 1.6
+++ autogen.sh 2000/11/28 23:25:07
@@ -14,6 +14,5 @@ PKG_NAME="Gnome Guile Libraries"
exit 1
}
-echo Running autogen.sh in guile-gtk
-(cd $srcdir/guile-gtk && ./autogen.sh $* >/dev/null)
-. $srcdir/macros/autogen.sh
+USE_GNOME2_MACROS=1 . gnome-autogen.sh
+
Index: configure.in
===================================================================
RCS file: /cvs/gnome/gnome-guile/configure.in,v
retrieving revision 1.30
diff -u -u -p -r1.30 configure.in
--- configure.in 2000/11/25 06:38:09 1.30
+++ configure.in 2000/11/28 23:25:07
@@ -5,7 +5,7 @@ AM_INIT_AUTOMAKE(gnome-guile, 0.10)
AM_MAINTAINER_MODE
-AM_ACLOCAL_INCLUDE(macros)
+GNOME_COMMON_INIT
AC_ISC_POSIX
AC_PROG_CC
@@ -229,7 +229,6 @@ guile-gnome/ghttp/Makefile
guile-gnome/gtkhtml/Makefile
guile-gnome/libglade/Makefile
guile-gnome/zvt/Makefile
-macros/Makefile
])
echo "
Index: guile-gtk/.cvsignore
===================================================================
RCS file: /cvs/gnome/gnome-guile/guile-gtk/.cvsignore,v
retrieving revision 1.12
diff -u -u -p -r1.12 .cvsignore
--- guile-gtk/.cvsignore 1999/04/28 23:09:44 1.12
+++ guile-gtk/.cvsignore 2000/11/28 23:25:07
@@ -43,3 +43,4 @@ mkinstalldirs
so_locations
stamp-h
stamp-h.in
+*.lo
Index: guile-gtk/ChangeLog
===================================================================
RCS file: /cvs/gnome/gnome-guile/guile-gtk/ChangeLog,v
retrieving revision 1.186
diff -u -u -p -r1.186 ChangeLog
--- guile-gtk/ChangeLog 2000/11/19 22:36:35 1.186
+++ guile-gtk/ChangeLog 2000/11/28 23:25:11
@@ -1,3 +1,12 @@
+2000-11-29 Martin Baulig <baulig@suse.de>
+
+ * autogen.sh: Use gnome-common with the GNOME 2 macros.
+
+ * configure.in: Make conditional GNOME 1.x / 2.x support work,
+ use pkg-config to check for GTK+.
+
+ * NO-AUTO-GEN: Removed.
+
2000-11-19 Marius Vollmer <mvo@zagadka.ping.de>
* gdk-1.2.defs (GdkPoint): Completely removed commented out
Index: guile-gtk/NO-AUTO-GEN
===================================================================
RCS file: NO-AUTO-GEN
diff -N NO-AUTO-GEN
Index: guile-gtk/autogen.sh
===================================================================
RCS file: /cvs/gnome/gnome-guile/guile-gtk/autogen.sh,v
retrieving revision 1.6
diff -u -u -p -r1.6 autogen.sh
--- guile-gtk/autogen.sh 1999/01/07 15:19:32 1.6
+++ guile-gtk/autogen.sh 2000/11/28 23:25:11
@@ -1,14 +1,23 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
# Generate the building cruft for a freshly checked out guile-gtk
# module.
##
## NOTE: before changing anything here, please read README.gnome-guile
##
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+PKG_NAME="guile-gtk"
+
+(test -f $srcdir/configure.in \
+ && test -f $srcdir/gdk-1.2.defs ) || {
+ echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
+ echo " top-level $PKG_NAME directory"
+ exit 1
+}
-aclocal -I . $ACLOCAL_FLAGS &&
-libtoolize --copy --automake &&
-autoheader &&
-autoconf &&
-automake --add-missing &&
-(cd examples; aclocal $ACLOCAL_FLAGS; autoconf; automake) &&
-echo Now run configure and make.
+USE_GNOME2_MACROS=1 . gnome-autogen.sh
Index: guile-gtk/configure.in
===================================================================
RCS file: /cvs/gnome/gnome-guile/guile-gtk/configure.in,v
retrieving revision 1.43
diff -u -u -p -r1.43 configure.in
--- guile-gtk/configure.in 2000/11/19 22:29:05 1.43
+++ guile-gtk/configure.in 2000/11/28 23:25:12
@@ -15,25 +15,32 @@ AC_ARG_ENABLE(debug,
[ --enable-debug compile with -g for debugging symbols],
[ CFLAGS="-g $CFLAGS" ])
-AC_CHECK_PROG(GTK_CONFIG_2_0, gtk-config-2.0, yes, no)
+GNOME_COMMON_INIT
+GNOME_PLATFORM_GNOME_2(no)
-if test $GTK_CONFIG_2_0 = no; then
- AM_PATH_GTK(1.2.0,,AC_ERROR(need at least Gtk+ version 1.2), gthread)
+if test $platform_gnome_2 = yes ; then
+ GNOME_PKGCONFIG_CHECK_MODULES(GTK, gtk+-2.0:1.3.1 gthread-2.0:1.3.1)
+ gtk_version=`$PKG_CONFIG --modversion gtk+-2.0`
+ AC_DEFINE(GTK_2_0)
else
- AM_PATH_GTK_2_0(1.3.1,,AC_ERROR(need at least Gtk+ version 1.3.1), gthread)
- AC_DEFINE(GTK_2_0)
+ GNOME_PKGCONFIG_CHECK_MODULES(GTK, gtk+:1.2.6 gthread:1.2.6)
+ gtk_version=`$PKG_CONFIG --modversion gtk+`
fi
+AC_SUBST(GTK_CFLAGS)
+AC_SUBST(GTK_LIBS)
-# XXX - gtk_config_*_version leaks from AM_PATH_GTK.
+gtk_major_version=`echo $gtk_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+gtk_minor_version=`echo $gtk_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+gtk_micro_version=`echo $gtk_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-if test ! $gtk_config_major_version = 1 ||
- test $gtk_config_minor_version -lt 2 ||
- test $gtk_config_minor_version -gt 3; then
+if test ! $gtk_major_version = 1 ||
+ test $gtk_minor_version -lt 2 ||
+ test $gtk_minor_version -gt 3; then
AC_MSG_ERROR([This package needs either gtk-1.2 or gtk-1.3 but we \
-found gtk-$gtk_config_major_version.$gtk_config_minor_version])
+found gtk-$gtk_major_version.$gtk_minor_version])
else
- echo "building for gtk-$gtk_config_major_version.$gtk_config_minor_version"
- GTK_VERSION=$gtk_config_major_version.$gtk_config_minor_version
+ echo "building for gtk-$gtk_major_version.$gtk_minor_version"
+ GTK_VERSION=$gtk_major_version.$gtk_minor_version
fi
--
Martin Baulig
martin@gnome.org (private)
baulig@suse.de (work)