This is the mail archive of the guile-gtk@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Currnet CVS fails to configure - the patch


"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)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]