]> Pileus Git - ~andy/gtk/blobdiff - configure.in
Fix versioning to avoid changing the soname!
[~andy/gtk] / configure.in
index 1d0cf9a6de28cc05d890a9587609cf98d261f55a..0ab5f7aef283679ad77739e80e3e1228e149603b 100644 (file)
@@ -28,10 +28,10 @@ GLIB_AC_DIVERT_BEFORE_HELP([
 # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
 #
 GTK_MAJOR_VERSION=2
-GTK_MINOR_VERSION=0
+GTK_MINOR_VERSION=1
 GTK_MICRO_VERSION=0
 GTK_INTERFACE_AGE=0
-GTK_BINARY_AGE=0
+GTK_BINARY_AGE=100
 GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
 dnl This is the X.Y used in -lgtk-FOO-X.Y
 GTK_API_VERSION=2.0
@@ -46,8 +46,14 @@ AC_SUBST(GTK_API_VERSION)
 AC_SUBST(GTK_VERSION)
 
 # libtool versioning
-LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
-LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
+#LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
+#LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
+#LT_REVISION=$GTK_INTERFACE_AGE
+#LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
+#LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
+
+LT_RELEASE=$GTK_MAJOR_VERSION.0
+LT_CURRENT=`expr 100 '*' $GTK_MINOR_VERSION + $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
 LT_REVISION=$GTK_INTERFACE_AGE
 LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
 LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
@@ -58,9 +64,11 @@ AC_SUBST(LT_AGE)
 AC_SUBST(LT_CURRENT_MINUS_AGE)
 
 # Define a string for the earliest version that this release has
-# binary compatibility with. This is used for module locations.
+# forward/backwards binary compatibility with. This is used for module
+# locations. (Should this be backwards-compat instead?)
 #
-GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
+#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
+GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.0.$LT_CURRENT
 AC_SUBST(GTK_BINARY_VERSION)
 
 #
@@ -77,9 +85,9 @@ AC_SUBST(GDK_PIXBUF_MICRO)
 AC_SUBST(GDK_PIXBUF_VERSION)
 
 ## Versions of dependencies
-GLIB_REQUIRED_VERSION=2.0.0
-PANGO_REQUIRED_VERSION=1.0.0
-ATK_REQUIRED_VERSION=1.0.0
+GLIB_REQUIRED_VERSION=2.0.1
+PANGO_REQUIRED_VERSION=1.0.1
+ATK_REQUIRED_VERSION=1.0.1
 
 # For automake.
 VERSION=$GTK_VERSION
@@ -175,7 +183,7 @@ AC_ARG_ENABLE(xkb, [  --enable-xkb            support XKB [default=maybe]],
                        , enable_xkb="maybe")
 AC_ARG_ENABLE(rebuilds, [  --disable-rebuilds      disable all source autogeneration rules],,enable_rebuilds=yes)
 
-AC_ARG_WITH(xinput, [  --with-xinput=[no/gxi/xfree] support XInput ])
+AC_ARG_WITH(xinput, [  --with-xinput=[no/yes]  support XInput ])
 
 AC_ARG_WITH(wintab, [  --with-wintab=DIRECTORY use Wintab API with win32 backend])
 AC_ARG_WITH(ie55, [  --with-ie55=DIRECTORY IE5.5 libs and headers (for Active IMM)])
@@ -602,7 +610,7 @@ else
     AC_MSG_RESULT(yes)
     AC_MSG_CHECKING(whether dynamic modules work)
     ## for loop is to strip newline 
-    tmp=`pkg-config --variable=gmodule_supported gmodule-2.0`
+    tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-2.0`
     for I in $tmp; do
         dynworks=$I
     done
@@ -633,6 +641,7 @@ dnl We allow people to disable image loaders explicitely, but if they don't we e
 dnl out so that people don't accidentally build without them.
 
 AC_ARG_WITH(libpng,  [  --without-libpng         disable PNG loader for gdk-pixbuf])
+AC_ARG_WITH(libmng,  [  --without-libmng         disable MNG loader for gdk-pixbuf])
 AC_ARG_WITH(libjpeg, [  --without-libjpeg        disable JPEG loader for gdk-pixbuf])
 AC_ARG_WITH(libtiff, [  --without-libtiff        disable TIFF loader for gdk-pixbuf])
 
@@ -697,25 +706,34 @@ dnl Test for libjpeg
 
 dnl Test for libpng
   if test x$with_libpng != xno && test -z "$LIBPNG"; then
-    AC_CHECK_LIB(png, png_read_info,
-      [AC_CHECK_HEADER(png.h,
-        png_ok=yes,
-        png_ok=no)],
-      AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
-    if test "$png_ok" = yes; then
-      AC_MSG_CHECKING([for png_structp in png.h])
-      AC_TRY_COMPILE([#include <png.h>],
-        [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
-        png_ok=yes,
-        png_ok=no)
-      AC_MSG_RESULT($png_ok)
+    AC_MSG_CHECKING(for libpng12)
+    if $PKG_CONFIG --exists libpng12 ; then
+        AC_MSG_RESULT(yes)
+        PNG='png'
+       PNG_DEP_CFLAGS_PACKAGES=libpng12
+       LIBPNG=`$PKG_CONFIG --libs libpng12`
+    else
+      AC_MSG_RESULT(no)
+      AC_CHECK_LIB(png, png_read_info,
+        [AC_CHECK_HEADER(png.h,
+          png_ok=yes,
+          png_ok=no)],
+        AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
       if test "$png_ok" = yes; then
-        PNG='png'; LIBPNG='-lpng -lz'
+        AC_MSG_CHECKING([for png_structp in png.h])
+        AC_TRY_COMPILE([#include <png.h>],
+          [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
+          png_ok=yes,
+          png_ok=no)
+        AC_MSG_RESULT($png_ok)
+        if test "$png_ok" = yes; then
+          PNG='png'; LIBPNG='-lpng -lz'
+        else
+          AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
+        fi
       else
-        AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
+       AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
       fi
-    else
-     AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
     fi
   fi
 
@@ -727,9 +745,25 @@ dnl Test for libpng
 *** from CVS.])
   fi
 
+dnl Test for libmng
+  if test x$with_libmng != xno && test -z "$LIBMNG"; then
+     AC_CHECK_LIB(mng, mng_initialize,
+       [AC_CHECK_HEADER(libmng.h,
+          mng_ok=yes,
+          mng_ok=no)],
+        AC_MSG_WARN(*** MNG loader will not be built (MNG library not found) ***), -lz -lm)
+     AC_MSG_RESULT($mng_ok)
+     if test "$mng_ok" = yes; then
+       MNG='mng'; LIBMNG='-lmng -lz'
+     else
+        AC_MSG_WARN(*** MNG loader will not be built (MNG header file not found) ***)
+     fi
+  fi
+
 AC_SUBST(LIBTIFF)
 AC_SUBST(LIBJPEG)
 AC_SUBST(LIBPNG)
+AC_SUBST(LIBMNG)
 
 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
 
@@ -749,7 +783,7 @@ else
    fi
 fi
 
-all_loaders="png,bmp,wbmp,gif,ico,jpeg,pnm,ras,tiff,xpm,tga"
+all_loaders="png,mng,bmp,wbmp,gif,ico,jpeg,pnm,ras,tiff,xpm,tga"
 included_loaders=""
 # If no loaders specified, include all
 if test "x$with_included_loaders" = xyes ; then
@@ -784,6 +818,7 @@ AC_TYPE_SIGNAL
 
 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
+AM_CONDITIONAL(HAVE_MNG, test "x$LIBMNG" != x)
 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
 
 if $dynworks ; then
@@ -797,8 +832,11 @@ if $dynworks ; then
   if echo "$included_loaders" | grep "\(^\|\,\)png\(\$\|\,\)" > /dev/null; then
     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
   fi
+  if echo "$included_loaders" | grep "\(^\|\,\)mng\(\$\|\,\)" > /dev/null; then
+    STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBMNG"
+  fi
 else
-  STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
+  STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG $LIBMNG"
 fi
 
 # Checks to see if we should compile in MMX support (there will be
@@ -846,7 +884,7 @@ GDK_PIXBUF_PACKAGES="gmodule-2.0 gobject-2.0"
 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
 GDK_PIXBUF_EXTRA_CFLAGS= 
 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
-GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
+GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
 
 AC_SUBST(GDK_PIXBUF_PACKAGES)
 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
@@ -1010,6 +1048,43 @@ if test "x$gdktarget" = "xx11"; then
   # Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
   GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs `$PKG_CONFIG --libs pangox`"
 
+  # Check for Xinerama extension (Solaris impl or Xfree impl)
+
+  case "$host" in
+      *-*-solaris*)
+          # Check for solaris
+         use_solaris_xinerama=yes
+         AC_CHECK_LIB(Xext, XineramaGetInfo,
+                       use_solaris_xinerama=yes, use_solaris_xinerama=no)
+         if test "x$use_solaris_xinerama" = "xyes"; then
+             AC_CHECK_HEADER(X11/extensions/xinerama.h,
+               if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
+                   x_extra_libs="-lXext $x_extra_libs"
+               fi
+               AC_DEFINE(HAVE_SOLARIS_XINERAMA)
+               AC_DEFINE(HAVE_XINERAMA), use_solaris_xinerama=no)
+         fi    
+         AC_MSG_CHECKING(for Xinerama support on Solaris)
+         AC_MSG_RESULT($use_solaris_xinerama);
+         ;;
+      *)
+         # Check for XFree
+         use_xfree_xinerama=yes
+         AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
+             [AC_CHECK_HEADER(extensions/Xinerama.h, 
+                 x_extra_libs="-lXinerama $x_extra_libs"   
+                 if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
+                     x_extra_libs="-lXext $x_extra_libs"
+                 fi
+                 AC_DEFINE(HAVE_XFREE_XINERAMA)
+                 AC_DEFINE(HAVE_XINERAMA), 
+                 use_xfree_xinerama=no)],
+             use_xfree_xinerama=no)
+         AC_MSG_CHECKING(for Xinerama support on XFree86)
+         AC_MSG_RESULT($use_xfree_xinerama);       
+          ;;
+  esac
+
   # Check for shaped window extension
 
   AC_CHECK_LIB(Xext, XShapeCombineMask,
@@ -1075,18 +1150,13 @@ if test "x$gdktarget" = "xx11"; then
 
   # set up things for XInput
 
-  if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
-    AC_DEFINE(XINPUT_GXI)
-    xinput_progs=gxid
-    x_extra_libs="-lXi $x_extra_libs"
-  elif test "x$with_xinput" = "xxfree"; then
+  if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
     AC_DEFINE(XINPUT_XFREE)
     x_extra_libs="-lXi $x_extra_libs"
   else
     AC_DEFINE(XINPUT_NONE)
   fi
 
-  AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
   AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)
 
   if test "x$enable_shm" = "xyes"; then
@@ -1152,7 +1222,7 @@ AC_SUBST(xinput_progs)
 
 GDK_PIXBUF_XLIB_PACKAGES=
 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
-GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags  $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
+GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
 
 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
@@ -1247,7 +1317,7 @@ LDFLAGS="$saved_ldflags"
 
 GDK_PACKAGES=$PANGO_PACKAGES
 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
-GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
+GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
 
 #
 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
@@ -1293,8 +1363,8 @@ fi
 GTK_PACKAGES=atk
 GTK_EXTRA_LIBS=
 GTK_EXTRA_CFLAGS= 
-GTK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
-GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags  $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
+GTK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
 
 AC_SUBST(GTK_PACKAGES)
 AC_SUBST(GTK_EXTRA_LIBS)