Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
[platform/upstream/glib.git] / configure.in
index 4d8537f..256ea4c 100644 (file)
@@ -26,7 +26,7 @@ m4_include(m4macros/glib-gettext.m4)dnl
 # set glib_binary_age _and_ glib_interface_age to 0.
 #
 m4_define([glib_major_version], [2])
-m4_define([glib_minor_version], [7])
+m4_define([glib_minor_version], [11])
 m4_define([glib_micro_version], [0])
 m4_define([glib_interface_age], [0])
 m4_define([glib_binary_age],
@@ -122,10 +122,6 @@ AC_MSG_CHECKING([for Win32])
 case "$host" in
   *-*-mingw*)
     glib_native_win32=yes
-    G_LIB_WIN32_RESOURCE=glib-win32res.lo
-    G_MODULE_WIN32_RESOURCE=gmodule-win32res.lo
-    G_OBJECT_WIN32_RESOURCE=gobject-win32res.lo
-    G_THREAD_WIN32_RESOURCE=gthread-win32res.lo
     GLIB_DEF=glib.def
     GMODULE_DEF=gmodule.def
     GOBJECT_DEF=gobject.def
@@ -135,10 +131,6 @@ case "$host" in
     ;;
   *)
     glib_native_win32=no
-    G_LIB_WIN32_RESOURCE=
-    G_MODULE_WIN32_RESOURCE=
-    G_OBJECT_WIN32_RESOURCE=
-    G_THREAD_WIN32_RESOURCE=
     GLIB_DEF=
     GMODULE_DEF=
     GOBJECT_DEF=
@@ -158,10 +150,6 @@ AC_MSG_RESULT([$glib_native_win32])
 AM_CONDITIONAL(OS_WIN32, [test "$glib_native_win32" = "yes"])
 AM_CONDITIONAL(OS_UNIX, [test "$glib_native_win32" != "yes"])
 AM_CONDITIONAL(OS_LINUX, [test "$glib_os_linux" = "yes"])
-AC_SUBST(G_LIB_WIN32_RESOURCE)
-AC_SUBST(G_MODULE_WIN32_RESOURCE)
-AC_SUBST(G_OBJECT_WIN32_RESOURCE)
-AC_SUBST(G_THREAD_WIN32_RESOURCE)
 AC_SUBST(GLIB_DEF)
 AC_SUBST(GMODULE_DEF)
 AC_SUBST(GOBJECT_DEF)
@@ -169,6 +157,10 @@ AC_SUBST(GTHREAD_DEF)
 AC_SUBST(TESTGMODULE_EXP)
 
 if test "$glib_native_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_TOOL(NM, nm, no)
   if test "$NM" = no; then
     AC_MSG_ERROR([*** Could not find an implementation of nm in your PATH.])
@@ -225,8 +217,7 @@ AC_DEFINE_UNQUOTED(G_COMPILED_WITH_DEBUGGING, ["${enable_debug}"],
 
 AC_MSG_CHECKING([whether to enable garbage collector friendliness])
 if test "x$enable_gc_friendly" = "xyes"; then
-  AC_DEFINE(ENABLE_GC_FRIENDLY, 1, [Whether to enable GC friendliness])
-  AC_SUBST(ENABLE_GC_FRIENDLY)
+  AC_DEFINE(ENABLE_GC_FRIENDLY_DEFAULT, 1, [Whether to enable GC friendliness by default])
   AC_MSG_RESULT([yes])
 else
   AC_MSG_RESULT([no])
@@ -404,11 +395,39 @@ if test "x$found_iconv" = "xno" ; then
    AC_MSG_ERROR([*** No iconv() implementation found in C library or libiconv])
 fi
 
+jm_GLIBC21
+AC_ARG_ENABLE(iconv-cache, 
+              [AC_HELP_STRING([--enable-iconv-cache=@<:@yes/no/auto@:>@],
+                              [cache iconv descriptors [default=auto]])],,
+              [enable_iconv_cache=auto])
+
+AC_MSG_CHECKING([Whether to cache iconv descriptors])
+case $enable_iconv_cache in
+  auto)
+    if test $ac_cv_gnu_library_2_1 = yes; then
+      enable_iconv_cache=no
+    else 
+      enable_iconv_cache=yes
+    fi
+  ;;
+  yes|no) 
+  ;;
+  *) AC_MSG_ERROR([Value given to --enable-iconv-cache must be one of yes, no or auto])
+  ;;
+esac
+
+if test $enable_iconv_cache = yes; then
+   AC_DEFINE(NEED_ICONV_CACHE,1,[Do we cache iconv descriptors])
+fi
+
+AC_MSG_RESULT($enable_iconv_cache)
+
+
 dnl
 dnl gettext support
 dnl
 
-ALL_LINGUAS="am ar az be bg bn bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu id is it ja ko lt lv mk mn ms nb ne nl nn no or pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta tl tr uk vi wa xh yi zh_CN zh_TW"
+ALL_LINGUAS="am ar az be bg bn bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu id is it ja ka ko ku lt lv mk ml mn ms nb ne nl nn no or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tl tr tt uk vi wa xh yi zh_CN zh_HK zh_TW"
 GLIB_GNU_GETTEXT
 
 if test "$gt_cv_have_gettext" != "yes" ; then
@@ -501,11 +520,16 @@ AC_HEADER_STDC
 
 # Checks for library functions.
 AC_FUNC_VPRINTF
-
+AC_FUNC_MMAP
 AC_FUNC_ALLOCA
+AC_CHECK_FUNCS(posix_memalign)
+AC_CHECK_FUNCS(memalign)
+AC_CHECK_FUNCS(valloc)
 
 AC_CHECK_FUNCS(atexit on_exit)
 
+AC_CHECK_FUNCS(timegm)
+
 AC_CHECK_SIZEOF(char)
 AC_CHECK_SIZEOF(short)
 AC_CHECK_SIZEOF(long)
@@ -680,6 +704,21 @@ main (void) {
 }],[g_can_inline=yes],[g_can_inline=no])
 AC_MSG_RESULT($g_can_inline)
 
+dnl *** check for working do while(0) macros ***
+AC_CACHE_CHECK([for working do while(0) macros], g_support_dowhile_macros, [
+       AC_TRY_COMPILE([],[
+       #define STMT_START do
+       #define STMT_END while(0)
+       #define STMT_TEST STMT_START { i = 0; } STMT_END
+       int main(void) { int i = 1; STMT_TEST; return i; }],
+       [g_support_dowhile_macros=yes],
+       [g_support_dowhile_macros=no],
+       [g_support_dowhile_macros=yes])
+])
+if test x$g_support_dowhile_macros = xyes; then
+  AC_DEFINE(HAVE_DOWHILE_MACROS, 1, [define for working do while(0) macros])
+fi
+
 # check for flavours of varargs macros
 AC_MSG_CHECKING(for ISO C99 varargs macros in C)
 AC_TRY_COMPILE([],[
@@ -751,8 +790,9 @@ AM_CONDITIONAL(HAVE_GNUC_VISIBILITY, [test x$g_have_gnuc_visibility = xyes])
 AC_C_BIGENDIAN
 
 # check for header files
-AC_CHECK_HEADERS([dirent.h float.h limits.h pwd.h sys/param.h sys/poll.h sys/select.h sys/types.h])
-AC_CHECK_HEADERS([sys/time.h sys/times.h unistd.h values.h stdint.h sched.h])
+AC_CHECK_HEADERS([dirent.h float.h limits.h pwd.h sys/param.h sys/poll.h])
+AC_CHECK_HEADERS([sys/time.h sys/times.h sys/wait.h unistd.h values.h])
+AC_CHECK_HEADERS([sys/select.h sys/types.h stdint.h sched.h malloc.h])
 
 # Checks for libcharset
 jm_LANGINFO_CODESET
@@ -787,6 +827,9 @@ dnl
 if test $ac_cv_sizeof_size_t = $ac_cv_sizeof_int &&
    test $ac_cv_sizeof_size_t = $ac_cv_sizeof_long ; then
   GLIB_CHECK_COMPILE_WARNINGS([
+#if defined(_AIX) && !defined(__GNUC__)
+#pragma options langlvl=stdc89
+#endif
 #include <stddef.h> 
 int main ()
 {
@@ -796,6 +839,9 @@ int main ()
 }
     ],glib_size_type=int,
       [GLIB_CHECK_COMPILE_WARNINGS([
+#if defined(_AIX) && !defined(__GNUC__)
+#pragma options langlvl=stdc89
+#endif
 #include <stddef.h> 
 int main ()
 {
@@ -811,6 +857,9 @@ AC_MSG_RESULT(unsigned $glib_size_type)
 # Check for some functions
 AC_CHECK_FUNCS(lstat strerror strsignal memmove mkstemp vsnprintf stpcpy strcasecmp strncasecmp poll getcwd nanosleep vasprintf setenv unsetenv getc_unlocked readlink symlink)
 
+AC_CHECK_HEADERS(crt_externs.h)
+AC_CHECK_FUNCS(_NSGetEnviron)
+
 AC_FUNC_VSNPRINTF_C99
 AC_FUNC_PRINTF_UNIX98
 
@@ -973,6 +1022,49 @@ AC_MSG_RESULT($have_codeset)
 
 
 dnl ****************************************
+dnl *** posix_memalign                   ***
+dnl ****************************************
+AC_MSG_CHECKING(for a compliant posix_memalign() implementation)
+AC_CACHE_VAL(glib_cv_compliant_posix_memalign,[
+    glib_cv_compliant_posix_memalign=0
+    if test "$ac_cv_func_posix_memalign" = "yes" ; then
+       AC_TRY_RUN([
+                #define _XOPEN_SOURCE 600
+                #include <stdlib.h> /* posix_memalign() should be defined here */
+                /* some systems break if #include <malloc.h> used */
+               static void test_memalign (size_t boundary, size_t size) {
+                   void *mem = 0;
+                   if (posix_memalign (&mem, boundary, size) != 0 || !mem)
+                       exit (1);
+                    else
+                      free (mem);
+               }
+               int main() {
+                   test_memalign (  128,   128 - 2 * sizeof (void*));
+                   test_memalign (  256,   256 - 2 * sizeof (void*));
+                   test_memalign (  512,   512 - 2 * sizeof (void*));
+                   test_memalign ( 1024,  1024 - 2 * sizeof (void*));
+                   test_memalign ( 2048,  2048 - 2 * sizeof (void*));
+                   test_memalign ( 4096,  4096 - 2 * sizeof (void*));
+                   test_memalign ( 8192,  8192 - 2 * sizeof (void*));
+                   test_memalign (16384, 16384 - 2 * sizeof (void*));
+                   test_memalign (32768, 32768 - 2 * sizeof (void*));
+                   exit (0); /* success */
+               }
+               ],
+           [glib_cv_compliant_posix_memalign=1], [], [:])
+      :
+    fi
+    ])
+if test "$glib_cv_compliant_posix_memalign" = "1"; then
+    AC_MSG_RESULT(yes)
+    AC_DEFINE(POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS, 1, [define if posix_memalign() can allocate any size])
+else
+    AC_MSG_RESULT(no)
+fi
+
+
+dnl ****************************************
 dnl *** strlcpy/strlcat                  ***
 dnl ****************************************
 # Check for strlcpy
@@ -1106,7 +1198,7 @@ fi
 dnl *** load_image (BeOS)
 if test -z "$G_MODULE_IMPL" && test "x$glib_native_beos" = "xyes"; then
   AC_CHECK_LIB(root, load_image,
-      [G_MODULE_LIBS="-lbe -lroot -lglib"
+      [G_MODULE_LIBS="-lbe -lroot -lglib-2.0 "
       G_MODULE_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
       G_MODULE_PLUGIN_LIBS="-L\$(top_builddir_full)/gmodule/.libs -lgmodule"
       G_MODULE_IMPL=G_MODULE_IMPL_BEOS],
@@ -1217,7 +1309,14 @@ fi
 AC_MSG_CHECKING(for the suffix of shared libraries)
 case "$host_os" in
   hpux9* | hpux10* | hpux11*)  # taken from ltconfig
-    glib_gmodule_suffix='sl'
+    case "$host_cpu" in
+      hppa*)
+       glib_gmodule_suffix='sl'
+       ;;
+      ia64*)
+       glib_gmodule_suffix='so'
+       ;;
+    esac
     ;;
   cygwin* | mingw*)
     glib_gmodule_suffix='dll'
@@ -1319,7 +1418,7 @@ dnl *** g_thread checks ***
 dnl ***********************
 
 AC_ARG_WITH(threads,
-           [AC_HELP_STRING([--with-threads=@<:@none/posix/dce/solaris/win32@:>@],
+           [AC_HELP_STRING([--with-threads=@<:@none/posix/dce/win32@:>@],
                            [specify a thread implementation to use])],
            [if test "x$with_threads" = x; then
                want_threads=yes
@@ -1381,13 +1480,6 @@ dnl ***************************************
 # have_threads=none means no default thread implementation
 
 have_threads=no
-if test "x$want_threads" = xyes || test "x$want_threads" = xsolaris; then
-               case $host in
-                       *-*-solaris*)
-               AC_CHECK_LIB(thread, cond_init, have_threads=solaris)
-               ;;
-       esac
-fi
 if test "x$want_threads" = xyes || test "x$want_threads" = xposix \
                                || test "x$want_threads" = xdce; then
        # -D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE is for DG/UX
@@ -1478,11 +1570,11 @@ if test x"$have_threads" != xno; then
     # One of them does for most gcc versions and some other platforms/compilers
     # too and could be considered as the canonical way to go. 
     case $host in
-      *-*-cygwin*)
-         # skip cygwin -pthread or -pthreads test
+      *-*-cygwin*|*-*-darwin*)
+         # skip cygwin and darwin -pthread or -pthreads test
          ;;
       *)
-        for flag in pthread pthreads; do
+        for flag in pthread pthreads mt; do
           glib_save_CFLAGS="$CFLAGS"
           CFLAGS="$CFLAGS -$flag"
           AC_TRY_RUN(glib_thread_test(0),
@@ -1533,16 +1625,6 @@ if test x"$have_threads" != xno; then
                G_THREAD_CFLAGS="-threads"
                G_THREAD_LIBS=$G_THREAD_CFLAGS
                ;;
-       *-solaris*)
-               if test x"$GCC" = xyes; then
-                  # We are using solaris threads. posix threads are 
-                  # already catched above.
-                       G_THREAD_CFLAGS="-threads"
-               else
-                       G_THREAD_CFLAGS="-mt"
-               fi
-               G_THREAD_LIBS=$G_THREAD_CFLAGS
-               ;;
        *-sysv5uw7*) # UnixWare 7 
                # We are not using gcc with -pthread. Catched above.
                G_THREAD_CFLAGS="-Kthread"
@@ -1680,13 +1762,6 @@ case $have_threads in
          AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
           CPPFLAGS="$glib_save_CPPFLAGS"
           ;;
-        solaris)
-           mutex_has_default=yes
-           mutex_default_type='mutex_t'
-          mutex_default_init="DEFAULTMUTEX"
-           mutex_header_file='thread.h'
-          g_threads_impl="SOLARIS"
-           ;;
        win32)
           g_threads_impl="WIN32"
           ;;
@@ -1705,7 +1780,7 @@ fi
 
 case $host in
   *-*-beos*)
-    G_THREAD_LIBS="-lbe -lroot -lglib "
+    G_THREAD_LIBS="-lbe -lroot -lglib-2.0 "
     G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
     ;;
   *)
@@ -1837,8 +1912,6 @@ int main () {
        elif test x"$have_threads" = xwin32; then
                # It's a pointer to a private struct
                GLIB_SIZEOF(,struct _GThreadData *, system_thread)
-       elif test x"$have_threads" = xsolaris; then 
-               GLIB_SIZEOF([#include <thread.h>], thread_t, system_thread)
        fi
 
        LIBS="$glib_save_LIBS"
@@ -1969,6 +2042,12 @@ if test x"$GCC" = xyes; then
                         [ia64 atomic implementation])
       glib_memory_barrier_needed=yes
       ;;       
+    s390|s390x)
+      AC_MSG_RESULT([s390])
+      AC_DEFINE_UNQUOTED(G_ATOMIC_S390, 1,
+                        [s390 atomic implementation])
+      glib_memory_barrier_needed=no
+      ;;       
     *)
       AC_MSG_RESULT([none])
       glib_memory_barrier_needed=yes
@@ -2052,7 +2131,7 @@ dnl **************************
 dnl *** Checks for gtk-doc ***
 dnl **************************
 
-GTK_DOC_CHECK([1.0])
+GTK_DOC_CHECK([1.4])
 
 AC_ARG_ENABLE(man,
               [AC_HELP_STRING([--enable-man],
@@ -2171,6 +2250,7 @@ ${glib_extension}typedef signed $gint64 gint64;
 ${glib_extension}typedef unsigned $gint64 guint64;
 
 #define G_GINT64_CONSTANT(val) $gint64_constant
+#define G_GUINT64_CONSTANT(val)        $guint64_constant
 _______EOF
 
        if test x$gint64_format != x ; then
@@ -2329,7 +2409,7 @@ struct _GStaticMutex
 };
 #define        G_STATIC_MUTEX_INIT     { NULL, { { $g_mutex_contents} } }
 #define        g_static_mutex_get_mutex(mutex) \\
-  (g_thread_use_default_impl ? ((GMutex*) &((mutex)->static_mutex)) : \\
+  (g_thread_use_default_impl ? ((GMutex*) ((mutex)->static_mutex.pad)) : \\
    g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex)))
 _______EOF
        else
@@ -2494,6 +2574,7 @@ $ac_cv_sizeof_int)
   guint64_format='"u"'
   glib_extension=
   gint64_constant='(val)'
+  guint64_constant='(val)'
   ;;
 $ac_cv_sizeof_long)
   gint64=long
@@ -2502,6 +2583,7 @@ $ac_cv_sizeof_long)
   guint64_format='"lu"'
   glib_extension=
   gint64_constant='(val##L)'
+  guint64_constant='(val##UL)'
   ;;
 $ac_cv_sizeof_long_long)
   gint64='long long'
@@ -2512,6 +2594,7 @@ $ac_cv_sizeof_long_long)
   fi
   glib_extension='G_GNUC_EXTENSION '
   gint64_constant='(G_GNUC_EXTENSION (val##LL))'
+  guint64_constant='(G_GNUC_EXTENSION (val##ULL))'
   ;;
 $ac_cv_sizeof___int64)
   gint64='__int64'
@@ -2522,6 +2605,7 @@ $ac_cv_sizeof___int64)
   fi
   glib_extension=
   gint64_constant='(val##i64)'
+  guint64_constant='(val##ui64)'
   ;;
 esac
 glib_size_t=$ac_cv_sizeof_size_t
@@ -2697,6 +2781,7 @@ gmodule-2.0.pc
 gmodule-export-2.0.pc
 gmodule-no-export-2.0.pc
 gmodule-2.0-uninstalled.pc
+gmodule-no-export-2.0-uninstalled.pc
 gthread-2.0.pc
 gthread-2.0-uninstalled.pc
 gobject-2.0.pc
@@ -2707,6 +2792,7 @@ Makefile
 build/Makefile
 build/win32/Makefile
 build/win32/dirent/Makefile
+build/win32/vs8/Makefile
 glib/Makefile
 glib/libcharset/Makefile
 glib/gnulib/Makefile
@@ -2724,6 +2810,7 @@ docs/reference/gobject/Makefile
 docs/reference/gobject/version.xml
 tests/Makefile
 tests/gobject/Makefile
+tests/refcount/Makefile
 m4macros/Makefile
 ])