]> Pileus Git - ~andy/gtk/commitdiff
Added a new mechanism for GTK-dependent programs to find out about the
authorOwen Taylor <owt1@cornell.edu>
Thu, 12 Mar 1998 23:23:43 +0000 (23:23 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Thu, 12 Mar 1998 23:23:43 +0000 (23:23 +0000)
Thu Mar 12 18:01:03 1998  Owen Taylor  <owt1@cornell.edu>

* gtk.m4 gtk-config.in Makefile.am configure.in:
  Added a new mechanism for GTK-dependent programs to
  find out about the installed GTK. (Does not remove
  any current functionality)

* gtk+-xconfig.in: Was no longer used for anything.

Makefile.am
configure.in
gtk+.xconfig.in [deleted file]
gtk-config.in [new file with mode: 0644]
gtk.m4 [new file with mode: 0644]

index cb59e57a83e80f8ceb3933f824fb93807e8b42df..c23b18cc66f4ff5e96e1ec4d08d06c526eeb1c09 100644 (file)
@@ -3,11 +3,16 @@
 SRC_SUBDIRS = glib gdk gtk
 SUBDIRS = $(SRC_SUBDIRS) docs
 
+bin_SCRIPTS = gtk-config
+
 EXTRA_DIST =   \
        gtk+.prj        \
        makecopyright   \
        TODO
 
+m4datadir = $(datadir)/aclocal
+m4data_DATA = gtk.m4
+
 .PHONY: files populate checkin release
 
 files:
index 504373599dcba0ff5c9391915575452164b75c1e..afde5d51b35c90b331f7a1cd5117fe3e2fb20aa5 100644 (file)
@@ -128,12 +128,12 @@ else
   AC_DEFINE(XINPUT_NONE)
 fi
 
-
 AC_SUBST(x_cflags)
 AC_SUBST(x_includes)
 AC_SUBST(x_ldflags)
 AC_SUBST(x_libs)
 AC_SUBST(xinput_progs)
+AC_SUBST(GTK_VERSION)
 
 CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
@@ -260,4 +260,5 @@ if test $gtk_ok = no; then
     AC_DEFINE(NO_FD_SET)
 fi
 
-AC_OUTPUT(Makefile gtk+.xconfig docs/Makefile gdk/Makefile gtk/Makefile)
+AC_OUTPUT([Makefile gtk-config docs/Makefile gdk/Makefile gtk/Makefile],
+          [chmod +x gtk-config])
diff --git a/gtk+.xconfig.in b/gtk+.xconfig.in
deleted file mode 100644 (file)
index 8843df6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-X_CFLAGS = @x_cflags@
-X_LDFLAGS = @x_ldflags@
-X_LIBS = @x_libs@
diff --git a/gtk-config.in b/gtk-config.in
new file mode 100644 (file)
index 0000000..805d654
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+
+usage="\
+Usage: gtk-config [--version] [--libs] [--cflags]"
+
+if test $# -ne 1 ; then
+   echo "${usage}" 1>&2
+   exit 1
+fi
+
+case $1 in 
+  --version)
+    echo @GTK_VERSION@
+    ;;
+  --cflags)
+    echo -I@includedir@ @x_cflags@
+    ;;
+  --libs)
+    echo -L@libdir@ @x_ldflags@ -lgtk -lgdk -lglib @x_libs@ -lm
+    ;;
+  *)
+    echo "${usage}" 1>&2
+    exit 1
+    ;;
+esac
\ No newline at end of file
diff --git a/gtk.m4 b/gtk.m4
new file mode 100644 (file)
index 0000000..70b0aeb
--- /dev/null
+++ b/gtk.m4
@@ -0,0 +1,61 @@
+# Configure paths for GTK+
+# Owen Taylor     97-11-3
+
+dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
+dnl
+AC_DEFUN(AM_PATH_GTK,
+[dnl 
+dnl Get the cflags and libraries from the gtk-config script
+dnl
+  AC_CHECK_PROG(GTK_CONFIG, gtk-config, gtk-config, no)
+  ifelse($1 , ,min_gtk_version=$1,min_gtk_version=0.99.5)
+  AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
+  no_gtk=""
+  if test "$GTK_CONFIG" != "no" ; then
+    GTK_CFLAGS=$($GTK_CONFIG --cflags)
+    GTK_LIBS=$($GTK_CONFIG --libs)
+    ac_save_CFLAGS="$CFLAGS"
+    ac_save_LIBS="$LIBS"
+    CFLAGS="$CFLAGS $GTK_CFLAGS"
+    LIBS="$LIBS $GTK_LIBS"
+dnl
+dnl Now check if the installed GTK is sufficiently new. (Also sanity
+dnl checks the results of gtk-config to some extent
+dnl
+    AC_TRY_RUN([
+#include <gtk/gtk.h>
+#include <stdio.h>
+
+int 
+main ()
+{
+  int major, minor, micro;
+
+  if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
+     printf("%s, bad version string\n", "$min_gtk_version");
+     exit(1);
+   }
+
+   return !((gtk_major_version > major) ||
+           ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
+           ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
+}
+],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+     CFLAGS="$ac_save_CFLAGS"
+     LIBS="$ac_save_LIBS"
+  else
+     no_gtk=yes
+  fi
+  if test x$no_gtk == x ; then
+     AC_MSG_RESULT(yes)
+     ifelse([$2], , :, [$2])     
+  else
+     AC_MSG_RESULT(no)
+     GTK_CFLAGS=""
+     GTK_LIBS=""
+     ifelse([$3], , :, [$3])
+  fi
+  AC_SUBST(GTK_CFLAGS)
+  AC_SUBST(GTK_LIBS)
+])