]> Pileus Git - ~andy/gtk/blobdiff - configure.in
New directory with the start of a framework for testing performance in
[~andy/gtk] / configure.in
index a248efc278e0dd74f8061f1f950438e60ef28b79..954718e5f7a12feae53ab0a54da59dcd6f7e92a9 100644 (file)
@@ -11,31 +11,34 @@ AC_PREREQ(2.54)
 # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
 
 m4_define([gtk_major_version], [2])
-m4_define([gtk_minor_version], [6])
-m4_define([gtk_micro_version], [0])
+m4_define([gtk_minor_version], [7])
+m4_define([gtk_micro_version], [4])
 m4_define([gtk_version],
           [gtk_major_version.gtk_minor_version.gtk_micro_version])
-m4_define([gtk_interface_age], [0])
+m4_define([gtk_interface_age], [1])
 m4_define([gtk_binary_age],
           [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
 # This is the X.Y used in -lgtk-FOO-X.Y
 m4_define([gtk_api_version], [2.0])
 
 # Define a string for the earliest version that this release has
-# forward/backwards binary compatibility with. This is used for module
-# locations. (Should this be backwards-compat instead?)
+# backwards binary compatibility with for all interfaces a module
+# might. Unless we add module-only API with lower stability
+# guarantees, this should be unchanged until we break binary compat
+# for GTK+.
 #
 #GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
 m4_define([gtk_binary_version], [2.4.0])
 
 # required versions of other packages
-m4_define([glib_required_version], [2.6.0])
-m4_define([pango_required_version], [1.7.0])
+m4_define([glib_required_version], [2.7.1])
+m4_define([pango_required_version], [1.9.0])
 m4_define([atk_required_version], [1.0.1])
+m4_define([cairo_required_version], [0.5.2-head])
 
 
 AC_INIT([gtk+], [gtk_version],
-        [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk+],
+        [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
        [gtk+])
 
 AC_CONFIG_SRCDIR([gdk/gdktypes.h])
@@ -123,6 +126,11 @@ case "$host" in
 esac
 AC_MSG_RESULT([$os_win32])
 
+case $host in
+  *-*-linux*)
+    os_linux=yes
+    ;;
+esac
 dnl Initialize libtool
 AC_PROG_CC
 AM_DISABLE_STATIC
@@ -138,12 +146,14 @@ if test "$os_win32" = "yes"; then
   enable_shared=yes
 fi
 
+AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
 
 # Make sure we use 64-bit versions of various file stuff.
 AC_SYS_LARGEFILE
 
 AM_PROG_AS
+AC_PATH_PROG(NM, nm, nm)
 
 dnl Initialize maintainer mode
 AM_MAINTAINER_MODE
@@ -162,8 +172,13 @@ AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
 
 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
 AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
+AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
 
 if test "$os_win32" = "yes"; then
+  AC_CHECK_TOOL(WINDRES, windres, no)
+  if test "$WINDRES" = no; then
+    AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
+  fi
   AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
 fi
 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
@@ -180,10 +195,6 @@ AC_ARG_ENABLE(shm,
               [AC_HELP_STRING([--enable-shm],
                               [support shared memory if available [default=yes]])],,
               [enable_shm="yes"])
-AC_ARG_ENABLE(ansi,
-              [AC_HELP_STRING([--enable-ansi],
-                              [turn on strict ansi [default=no]])],,
-              [enable_ansi=no])
 AC_ARG_ENABLE(xkb,
               [AC_HELP_STRING([--enable-xkb],
                               [support XKB [default=maybe]])],,
@@ -207,15 +218,13 @@ AC_ARG_WITH(ie55,
             [AC_HELP_STRING([--with-ie55=DIRECTORY],
                             [IE5.5 libs and headers (for Active IMM)])])
 
-GLIB_AC_DIVERT_BEFORE_HELP([
 if test "$platform_win32" = yes; then
   gdktarget=win32
 else
   gdktarget=x11
 fi
-])
 
-AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/linux-fb/win32]] select GDK target [default=$gdktarget]],
+AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/linux-fb/win32]] select non-default GDK target],
        gdktarget=$with_gdktarget)
 
 AC_SUBST(gdktarget)
@@ -336,7 +345,8 @@ ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
   [glib-2.0 >= glib_required_version dnl
    atk >= atk_required_version dnl
-   pango >= pango_required_version])
+   pango >= pango_required_version dnl
+   cairo >= cairo_required_version])
 
 if test "$os_win32" != yes; then
     # libtool option to control which symbols are exported
@@ -394,6 +404,18 @@ AC_SUBST(REBUILD)
 
 AC_CHECK_FUNCS(lstat mkstemp flockfile)
 
+# _NL_TIME_FIRST_WEEKDAY is an enum and not a define
+AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
+AC_TRY_LINK([#include <langinfo.h>], [
+char c;
+c = *((unsigned char *)  nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
+], gtk_ok=yes, gtk_ok=no)
+AC_MSG_RESULT($gtk_ok)
+if test "$gtk_ok" = "yes"; then
+  AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
+           [Define if _NL_TIME_FIRST_WEEKDAY is available])
+fi
+
 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
 AC_MSG_CHECKING(for sigsetjmp)
 AC_TRY_LINK([#include <setjmp.h>], [
@@ -411,7 +433,7 @@ fi
 # sure that both po/ and po-properties/ have .po files that correspond
 # to your language.  If you only add one to po/, the build will break
 # in po-properties/.
-ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu ia id is it ja ko li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tk tr uk uz uz@Latn vi wa yi zh_CN zh_TW"
+ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ko li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tk tr uk uz uz@Latn vi wa xh yi zh_CN zh_TW"
 AM_GLIB_GNU_GETTEXT
 LIBS="$LIBS $INTLLIBS"
 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
@@ -455,6 +477,20 @@ case $host in
   ;;
 esac
 
+#
+# see bug 162979
+#
+AC_MSG_CHECKING(for HP-UX)
+case $host_os in
+  hpux9* | hpux10* | hpux11*)
+    AC_MSG_RESULT(yes)
+    CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
+  ;;
+  *)
+    AC_MSG_RESULT(no)
+  ;;
+esac
+
 dnl NeXTStep cc seems to need this
 AC_MSG_CHECKING([for extra flags for POSIX compliance])
 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
@@ -1069,7 +1105,7 @@ if test "x$gdktarget" = "xx11"; then
   
   if test $pango_omitted_x_deps = yes ; then
     # Old versions of Xft didn't necessarily include -lX11 in the output
-    x_libs="`pkg-config --libs xft` -lX11 $X_EXTRA_LIBS"
+    x_libs="`$PKG_CONFIG --libs xft` -lX11 $X_EXTRA_LIBS"
   fi           
 
   ## Strip the .la files
@@ -1330,7 +1366,7 @@ if test "x$gdktarget" = "xwin32"; then
     AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
   fi
 
-  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -luuid"
+  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
   AM_CONDITIONAL(USE_WIN32, true)
 else
   AM_CONDITIONAL(USE_WIN32, false)
@@ -1387,7 +1423,7 @@ fi
 #
 
 if test "x$gdktarget" = "xx11"; then
-        PANGO_PACKAGES=pangoxft
+        PANGO_PACKAGES="pangoxft pangocairo"
        
         # We no longer use pangox, but if we find it, we link to it 
        # for binary compatibility.
@@ -1395,11 +1431,11 @@ if test "x$gdktarget" = "xx11"; then
                PANGO_PACKAGES="$PANGO_PACKAGES pangox"
        fi
 elif test "x$gdktarget" = "xwin32"; then
-        PANGO_PACKAGES=pangowin32
+        PANGO_PACKAGES="pangowin32 pangocairo"
 elif test "x$gdktarget" = "xlinux-fb"; then
-        PANGO_PACKAGES=pangoft2
+        PANGO_PACKAGES="pangoft2 pangocairo"
 else
-        PANGO_PACKAGES=pango
+        PANGO_PACKAGES="pango pangocairo"
 fi
 
 # Check for Pango flags
@@ -1412,10 +1448,8 @@ if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
         AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
 else
         AC_MSG_ERROR([
-*** Pango not found. Pango is required to build GTK+.
-*** See http://www.pango.org for Pango information.
-*** For the framebuffer target, you will need to build 
-*** Pango with freetype support.
+*** Pango not found. Pango built with Cairo support is required
+*** to build GTK+. See http://www.pango.org for Pango information.
 ])
 fi
 
@@ -1483,12 +1517,16 @@ else
         LIBS="$gtk_save_LIBS"
 fi
 
-GTK_PACKAGES=atk
+GTK_PACKAGES="atk cairo"
 GTK_EXTRA_LIBS=
 GTK_EXTRA_CFLAGS= 
 GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$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"
 
+if test x"$os_win32" = xyes; then
+  GTK_EXTRA_CFLAGS="$msnative_struct"
+fi
+
 AC_SUBST(GTK_PACKAGES)
 AC_SUBST(GTK_EXTRA_LIBS)
 AC_SUBST(GTK_EXTRA_CFLAGS)
@@ -1525,7 +1563,7 @@ fi
 # Checks for gtk-doc and docbook-tools
 ##################################################
 
-GTK_DOC_CHECK([1.0])
+GTK_DOC_CHECK([1.4])
 
 AC_CHECK_PROG(DB2HTML, db2html, true, false)
 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
@@ -1553,6 +1591,7 @@ fi
 
 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
 
+
 ##################################################
 # Output commands
 ##################################################
@@ -1637,9 +1676,6 @@ gtk+-2.0-uninstalled.pc
 m4macros/Makefile
 po/Makefile.in
 po-properties/Makefile.in
-build/Makefile
-build/win32/Makefile
-build/win32/dirent/Makefile
 demos/Makefile
 demos/gtk-demo/Makefile
 demos/gtk-demo/geninclude.pl
@@ -1679,9 +1715,19 @@ modules/engines/pixbuf/Makefile
 modules/engines/ms-windows/Makefile
 modules/engines/ms-windows/Theme/Makefile
 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
+perf/Makefile
 contrib/Makefile
 contrib/gdk-pixbuf-xlib/Makefile
 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
 ])
 
 AC_OUTPUT
+
+echo "configuration:
+        target: $gdktarget"
+
+if test "x$gdktarget" = "xlinux-fb"; then
+  echo "Warning: The linux-fb GDK target is unmaintained"
+  echo "         and may not work or even compile"
+fi
+