]> Pileus Git - ~andy/gtk/blobdiff - configure.in
Fix versioning to avoid changing the soname!
[~andy/gtk] / configure.in
index 7e6d5800813a8f1c6ef417123feb6d06d88ac8a5..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
@@ -104,11 +112,16 @@ AM_DISABLE_STATIC
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
 
-dnl Set AS and ASFLAGS so that automake 1.5 will be happy
+dnl XXXX Hack: Set AS and ASFLAGS so that automake 1.5 will be happy
 AS="\${CC}"
 ASFLAGS="\${CFLAGS}"
 AC_SUBST(AS)
 AC_SUBST(ASFLAGS)
+dnl XXXX Hack: Set CCAS and CCASFLAGS so that automake 1.6 will be happy
+CCAS="\${CC}"
+CCASFLAGS="\${CFLAGS}"
+AC_SUBST(CCAS)
+AC_SUBST(CCASFLAGS)
 
 dnl Initialize maintainer mode
 AM_MAINTAINER_MODE
@@ -127,10 +140,12 @@ esac
 AC_MSG_RESULT([$platform_win32])
 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
 
+MATH_LIB=-lm
 AC_MSG_CHECKING([for native Win32])
 case "$host" in
   *-*-mingw*)
     os_win32=yes
+    MATH_LIB=
     ;;
   *)
     os_win32=no
@@ -168,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)])
@@ -285,7 +300,7 @@ AC_MSG_CHECKING([Whether to write dependencies into .pc files])
 case $enable_explicit_deps in
   auto)
     deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
-    if test "X$deplib_check_method" == Xnone || test "x$enable_static" = xyes ; then
+    if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
       enable_explicit_deps=yes  
     else
       enable_explicit_deps=no  
@@ -316,7 +331,7 @@ if test "x$enable_rebuilds" = "xyes" && \
 fi
 AC_SUBST(REBUILD)
 
-AC_CHECK_FUNCS(lstat mkstemp bind_textdomain_codeset)
+AC_CHECK_FUNCS(lstat mkstemp)
 
 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
 AC_MSG_CHECKING(for sigsetjmp)
@@ -378,7 +393,6 @@ AC_TRY_RUN([#include <math.h>
 )
 LIBS=$gtk_save_LIBS
 
-MATH_LIB=-lm
 AC_MSG_CHECKING(for the BeOS)
 case $host in
   *-*-beos*)
@@ -414,6 +428,14 @@ AM_PATH_GLIB_2_0($GLIB_REQUIRED_VERSION, :,
 *** GLIB is always available from ftp://ftp.gtk.org/.]),
   gobject gmodule gthread)
 
+dnl
+dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
+dnl
+gtk_save_LIBS=$LIBS
+LIBS="$LIBS $GLIB_LIBS"
+AC_CHECK_FUNCS(bind_textdomain_codeset)
+LIBS=$gtk_save_LIBS
+
 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
@@ -588,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
@@ -619,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])
 
@@ -683,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
 
@@ -713,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)
 
@@ -735,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
@@ -770,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
@@ -783,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
@@ -832,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)
@@ -996,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,
@@ -1061,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
@@ -1138,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)
@@ -1233,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
@@ -1279,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)