# set glib_binary_age _and_ glib_interface_age to 0.
#
m4_define([glib_major_version], [2])
-m4_define([glib_minor_version], [6])
-m4_define([glib_micro_version], [1])
-m4_define([glib_interface_age], [1])
+m4_define([glib_minor_version], [11])
+m4_define([glib_micro_version], [0])
+m4_define([glib_interface_age], [0])
m4_define([glib_binary_age],
[m4_eval(100 * glib_minor_version + glib_micro_version)])
m4_define([glib_version],
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
;;
*)
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=
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)
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.])
+ fi
+ AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_CHECK_PROG(ms_librarian, [lib.exe], [yes], [no])
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, [test x$ms_librarian = xyes])
[AC_HELP_STRING([--disable-mem-pools],
[disable all glib memory pools])],,
[disable_mem_pools=no])
-AC_ARG_ENABLE(ansi,
- [AC_HELP_STRING([--enable-ansi],
- [turn on strict ansi [default=no]])],,
- [enable_ansi=no])
AC_ARG_ENABLE(threads,
[AC_HELP_STRING([--enable-threads],
[turn on basic thread support [default=yes]
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])
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 id is it ja ko lt lv mk mn ms nb ne nl nn no or pa pl pt pt_BR ro ru sk sl sq sr sr@ije sr@Latn sv ta tr uk vi wa 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 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
dnl Initialize libtool
AM_DISABLE_STATIC
+AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
if test "x$GCC" = "xyes"; then
*[[\ \ ]]-Wall[[\ \ ]]*) ;;
*) CFLAGS="$CFLAGS -Wall" ;;
esac
-
- if test "x$enable_ansi" = "xyes"; then
- case " $CFLAGS " in
- *[[\ \ ]]-ansi[[\ \ ]]*) ;;
- *) CFLAGS="$CFLAGS -ansi" ;;
- esac
-
- case " $CFLAGS " in
- *[[\ \ ]]-pedantic[[\ \ ]]*) ;;
- *) CFLAGS="$CFLAGS -pedantic" ;;
- esac
- fi
fi
dnl
# 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)
])
fi
-if test x$ac_cv_sizeof_long_long = x8; then
+if test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8; then
# long long is a 64 bit integer.
AC_MSG_CHECKING(for format to printf and scanf a guint64)
AC_CACHE_VAL(glib_cv_long_long_format,[
elif test x$ac_cv_sizeof___int64 = x8; then
# __int64 is a 64 bit integer.
AC_MSG_CHECKING(for format to printf and scanf a guint64)
- # We know this is MSVC, and what the formats are
+ # We know this is MSVCRT.DLL, and what the formats are
glib_cv_long_long_format=I64
AC_MSG_RESULT(%${glib_cv_long_long_format}u)
AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long])
xyes) AC_DEFINE(G_HAVE_INLINE,1,[Have inline keyword])
esac
+# if we can use inline functions in headers
+AC_MSG_CHECKING(if inline functions in headers work)
+AC_LINK_IFELSE([
+#if defined (G_HAVE_INLINE) && defined (__GNUC__) && defined (__STRICT_ANSI__)
+# undef inline
+# define inline __inline__
+#elif !defined (G_HAVE_INLINE)
+# undef inline
+# if defined (G_HAVE___INLINE__)
+# define inline __inline__
+# elif defined (G_HAVE___INLINE)
+# define inline __inline
+# endif
+#endif
+
+int glib_test_func2 (int);
+
+static inline int
+glib_test_func1 (void) {
+ return glib_test_func2 (1);
+}
+
+int
+main (void) {
+ int i = 1;
+}],[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([],[
}
],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no)
AC_MSG_RESULT($g_have_gnuc_visibility)
+AM_CONDITIONAL(HAVE_GNUC_VISIBILITY, [test x$g_have_gnuc_visibility = xyes])
# check for bytesex stuff
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
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 ()
{
}
],glib_size_type=int,
[GLIB_CHECK_COMPILE_WARNINGS([
+#if defined(_AIX) && !defined(__GNUC__)
+#pragma options langlvl=stdc89
+#endif
#include <stddef.h>
int main ()
{
# 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
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
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],
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'
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
# 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
# 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),
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"
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"
;;
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"
;;
*)
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"
*-*-linux*)
G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-lpthread/`"
;;
+ *)
+ G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
+ ;;
esac
AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c",
[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
G_LIBS_EXTRA="-luser32 -lkernel32"
;;
*-*-mingw*)
- G_LIBS_EXTRA="-lwsock32 -lole32"
+ G_LIBS_EXTRA="-lws2_32 -lole32"
;;
*)
G_LIBS_EXTRA=""
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],
${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
$glib_inline
#endif /* !__cplusplus */
+#ifdef __cplusplus
+#define G_CAN_INLINE 1
+_______EOF
+
+ if test x$g_can_inline = xyes ; then
+ cat >>$outfile <<_______EOF
+#else /* !__cplusplus */
+#define G_CAN_INLINE 1
+_______EOF
+ fi
+
+ cat >>$outfile <<_______EOF
+#endif
+
_______EOF
if test x$g_have_iso_c_varargs = xyes ; then
};
#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
guint64_format='"u"'
glib_extension=
gint64_constant='(val)'
+ guint64_constant='(val)'
;;
$ac_cv_sizeof_long)
gint64=long
guint64_format='"lu"'
glib_extension=
gint64_constant='(val##L)'
+ guint64_constant='(val##UL)'
;;
$ac_cv_sizeof_long_long)
gint64='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'
fi
glib_extension=
gint64_constant='(val##i64)'
+ guint64_constant='(val##ui64)'
;;
esac
glib_size_t=$ac_cv_sizeof_size_t
case xyes in
x$ac_cv_func_memmove)
glib_memmove='
-#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END'
+#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END'
;;
x$glib_cv_working_bcopy)
glib_memmove="
g_have_iso_c_varargs=$g_have_iso_c_varargs
g_have_iso_cxx_varargs=$g_have_iso_cxx_varargs
+g_can_inline=$g_can_inline
g_have_gnuc_visibility=$g_have_gnuc_visibility
case xyes in
glib-2.0.pc
glib-2.0-uninstalled.pc
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
build/Makefile
build/win32/Makefile
build/win32/dirent/Makefile
+build/win32/vs8/Makefile
glib/Makefile
glib/libcharset/Makefile
glib/gnulib/Makefile
docs/reference/gobject/version.xml
tests/Makefile
tests/gobject/Makefile
+tests/refcount/Makefile
m4macros/Makefile
])