m4_define([glib_major_version], [2])
m4_define([glib_minor_version], [31])
-m4_define([glib_micro_version], [0])
+m4_define([glib_micro_version], [5])
m4_define([glib_interface_age], [0])
m4_define([glib_binary_age],
[m4_eval(100 * glib_minor_version + glib_micro_version)])
dnl to /lib if libdir is /usr/lib
AC_ARG_WITH(runtime-libdir,
[AC_HELP_STRING([--with-runtime-libdir=RELPATH],
- [Install runtime libraries relative to libdir])],
+ [install runtime libraries relative to libdir])],
[],
[with_runtime_libdir=""])
GLIB_RUNTIME_LIBDIR="$with_runtime_libdir"
esac
fi
-CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES"
-
if test "$glib_native_win32" = "yes"; then
if test x$enable_static = xyes -a x$enable_shared = xyes; then
AC_MSG_ERROR([Can not build both shared and static at the same time on Windows.])
return 0;
else
return 1;
- }]])],[glib_cv_have_qsort_r=yes],[glib_cv_have_qsort_r=no])])
+ }]])],[glib_cv_have_qsort_r=yes],[glib_cv_have_qsort_r=no],[glib_cv_have_qsort_r=no])])
fi
if test x$glib_cv_have_qsort_r = xyes ; then
AC_CHECK_HEADERS([dirent.h float.h limits.h pwd.h grp.h sys/param.h sys/poll.h sys/resource.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 inttypes.h sched.h malloc.h])
-AC_CHECK_HEADERS([sys/vfs.h sys/mount.h sys/vmount.h sys/statfs.h sys/statvfs.h])
-AC_CHECK_HEADERS([mntent.h sys/mnttab.h sys/vfstab.h sys/mntctl.h sys/sysctl.h fstab.h])
+AC_CHECK_HEADERS([sys/vfs.h sys/vmount.h sys/statfs.h sys/statvfs.h])
+AC_CHECK_HEADERS([mntent.h sys/mnttab.h sys/vfstab.h sys/mntctl.h fstab.h])
AC_CHECK_HEADERS([sys/uio.h sys/mkdev.h])
AC_CHECK_HEADERS([linux/magic.h])
+AC_CHECK_HEADERS([sys/prctl.h])
+
+AC_CHECK_HEADERS([sys/mount.h sys/sysctl.h], [], [],
+[#if HAVE_SYS_PARAM_H
+ #include <sys/param.h>
+ #endif
+])
+
+AC_CHECK_HEADERS([xlocale.h])
# check for structure fields
AC_CHECK_MEMBERS([struct stat.st_mtimensec, struct stat.st_mtim.tv_nsec, struct stat.st_atimensec, struct stat.st_atim.tv_nsec, struct stat.st_ctimensec, struct stat.st_ctim.tv_nsec])
AC_CHECK_MEMBERS([struct statvfs.f_fstypename],,, [#include <sys/statvfs.h>])
AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,,[#include <time.h>])
+AC_STRUCT_DIRENT_D_TYPE
+
# Checks for libcharset
AM_LANGINFO_CODESET
AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
AC_CHECK_FUNCS(getmntent_r setmntent endmntent hasmntopt getfsstat getvfsstat)
# Check for high-resolution sleep functions
AC_CHECK_FUNCS(splice)
+AC_CHECK_FUNCS(prlimit)
# To avoid finding a compatibility unusable statfs, which typically
# successfully compiles, but warns to use the newer statvfs interface:
AC_CHECK_HEADERS(crt_externs.h)
AC_CHECK_FUNCS(_NSGetEnviron)
+AC_CHECK_FUNCS(newlocale uselocale strtod_l strtoll_l strtoull_l)
+
AC_FUNC_VSNPRINTF_C99
AC_FUNC_PRINTF_UNIX98
fi
AC_SUBST(NETWORK_LIBS)
+AC_CHECK_HEADER([linux/netlink.h],
+ [AC_DEFINE(HAVE_NETLINK, 1, [We have AF_NETLINK sockets])],,
+ [#include <sys/socket.h>])
+AM_CONDITIONAL(HAVE_NETLINK, [test "$ac_cv_header_linux_netlink_h" = "yes"])
+
case $host in
*-*-solaris* )
AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
fi
fi
-# Check for sys_errlist
-AC_MSG_CHECKING(for sys_errlist)
-AC_TRY_LINK(, [
-extern char *sys_errlist[];
-extern int sys_nerr;
-sys_errlist[sys_nerr-1][0] = 0;
-], glib_ok=yes, glib_ok=no)
-AC_MSG_RESULT($glib_ok)
-if test "$glib_ok" = "no"; then
- AC_DEFINE(NO_SYS_ERRLIST,1,[global 'sys_errlist' not found])
-fi
-
-# Check for sys_siglist
-AC_MSG_CHECKING(for sys_siglist)
-AC_TRY_LINK(, [
-extern char *sys_siglist[];
-exit (sys_siglist[0]);
-], glib_ok=yes, glib_ok=no)
-AC_MSG_RESULT($glib_ok)
-if test "$glib_ok" = "no"; then
- AC_DEFINE(NO_SYS_SIGLIST,1,[global 'sys_siglist' not found])
-fi
-
-# Check for sys_siglist decl (see Tue Jan 19 00:44:24 1999 in changelog)
-AC_MSG_CHECKING(for sys_siglist declaration)
-AC_TRY_COMPILE([#include <signal.h>], [
-strlen (sys_siglist[0]);
-], glib_ok=yes, glib_ok=no)
-AC_MSG_RESULT($glib_ok)
-if test "$glib_ok" = "no"; then
- AC_DEFINE(NO_SYS_SIGLIST_DECL,1,[global 'sys_siglist' not declared])
-fi
-
# Check if <sys/select.h> needs to be included for fd_set
AC_MSG_CHECKING([for fd_set])
AC_TRY_COMPILE([#include <sys/types.h>],
dnl *********************************
AC_ARG_WITH(gio-module-dir,
- [AC_HELP_STRING([--with-gio-module-dir=PATH],
- [Load gio modules from this directory [LIBDIR/gio/modules]])],
+ [AC_HELP_STRING([--with-gio-module-dir=DIR],
+ [load gio modules from this directory [LIBDIR/gio/modules]])],
[],
[with_gio_module_dir='${libdir}/gio/modules'])
GIO_MODULE_DIR=$with_gio_module_dir
dnl **********************************
dnl *** Check for libselinux (GIO) ***
dnl **********************************
-AC_ARG_ENABLE(selinux, [ --disable-selinux build without selinux support])
+AC_ARG_ENABLE(selinux,
+ AC_HELP_STRING([--disable-selinux],
+ [build without selinux support]))
msg_selinux=no
SELINUX_LIBS=
if test "x$enable_selinux" != "xno"; then
should_disable_fam=no
-AC_ARG_ENABLE(fam, [ --disable-fam build without enabling fam for file system monitoring],
+AC_ARG_ENABLE(fam,
+ AC_HELP_STRING([--disable-fam],
+ [don't use fam for file system monitoring]),
[
if test "x$enable_fam" = "xno"; then
should_disable_fam=yes
- echo "Not building FAM support"
fi
]
)
dnl *****************************
dnl *** Check for xattr (GIO) ***
dnl *****************************
-AC_ARG_ENABLE(xattr, [ --disable-xattr build without xattr support])
+AC_ARG_ENABLE(xattr,
+ AC_HELP_STRING([--disable-xattr], [build without xattr support]))
msg_xattr=no
XATTR_LIBS=
if test "x$enable_xattr" != "xno"; then
dnl ***********************
AC_ARG_WITH(threads,
- [AC_HELP_STRING([--with-threads=@<:@posix/dce/win32@:>@],
+ [AC_HELP_STRING([--with-threads=@<:@posix/win32@:>@],
[specify a thread implementation to use])],
[if test "x$with_threads" = x; then
want_threads=yes
[pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;],
have_threads=posix)
fi
- if test "x$have_threads" = xno; then
- AC_TRY_COMPILE([#include <pthread.h>],
- [pthread_mutex_t m;
- pthread_mutex_init (&m, pthread_mutexattr_default);],
- have_threads=dce)
- fi
# Tru64Unix requires -pthread to find pthread.h. See #103020
CPPFLAGS="$CPPFLAGS -pthread"
if test "x$have_threads" = xno; then
*-dg-dgux*) # DG/UX
G_THREAD_CFLAGS="-D_REENTRANT -D_POSIX4A_DRAFT10_SOURCE"
;;
- *-osf*)
- # So we are using dce threads. posix threads are already
- # catched above.
- G_THREAD_CFLAGS="-threads"
- G_THREAD_LIBS=$G_THREAD_CFLAGS
- ;;
*-sysv5uw7*) # UnixWare 7
# We are not using gcc with -pthread. Catched above.
G_THREAD_CFLAGS="-Kthread"
dnl determination of G_THREAD_LIBS
dnl ******************************
-mutex_has_default=no
case $have_threads in
- posix|dce)
+ posix)
glib_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
if test x"$G_THREAD_LIBS" = x; then
*)
G_THREAD_LIBS=error
glib_save_LIBS="$LIBS"
- for thread_lib in "" pthread pthread32 pthreads thread dce; do
+ for thread_lib in "" pthread pthread32 pthreads thread; do
if test x"$thread_lib" = x; then
add_thread_lib=""
IN=""
fi
done
LIBS="$glib_save_LIBS"
- mutex_has_default=yes
- mutex_default_type='pthread_mutex_t'
- mutex_default_init='PTHREAD_MUTEX_INITIALIZER'
- mutex_header_file='pthread.h'
- if test "x$have_threads" = "xposix"; then
- g_threads_impl="POSIX"
- else
- g_threads_impl="DCE"
- have_threads="posix"
- fi
+ g_threads_impl="POSIX"
AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
CPPFLAGS="$glib_save_CPPFLAGS"
;;
*-*-freebsd*|*-*-linux*)
G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-lpthread/`"
;;
- *)
- G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
+ *-*-openbsd*)
+ LDFLAGS="$LDFLAGS -pthread"
+ ;;
+ *)
+ G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
;;
esac
-AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c",
- [Source file containing thread implementation])
AC_SUBST(G_THREAD_CFLAGS)
AC_SUBST(G_THREAD_LIBS)
AC_SUBST(G_THREAD_LIBS_FOR_GTHREAD)
AC_SUBST(G_THREAD_LIBS_EXTRA)
-dnl **********************************************
-dnl *** GDefaultMutex setup and initialization ***
-dnl **********************************************
-dnl
-dnl if mutex_has_default = yes, we also got
-dnl mutex_default_type, mutex_default_init and mutex_header_file
-if test $mutex_has_default = yes ; then
- glib_save_CPPFLAGS="$CPPFLAGS"
- glib_save_LIBS="$LIBS"
- LIBS="$G_THREAD_LIBS $LIBS"
- CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
- GLIB_SIZEOF([#include <$mutex_header_file>],
- $mutex_default_type,
- gmutex)
- GLIB_BYTE_CONTENTS([#include <$mutex_header_file>],
- $mutex_default_type,
- gmutex,
- $glib_cv_sizeof_gmutex,
- $mutex_default_init)
- if test x"$glib_cv_byte_contents_gmutex" = xno; then
- mutex_has_default=no
- fi
- CPPFLAGS="$glib_save_CPPFLAGS"
- LIBS="$glib_save_LIBS"
-fi
-
AC_CHECK_FUNCS(clock_gettime, [], [
AC_CHECK_LIB(rt, clock_gettime, [
AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
])
AC_SUBST(GLIB_RT_LIBS)
-AC_CACHE_CHECK(for monotonic clocks,
- glib_cv_monotonic_clock,AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-#include <time.h>
-#include <unistd.h>
-int main() {
-#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC))
- #error No monotonic clock
-#endif
- return 0;
-}
-]])],glib_cv_monotonic_clock=yes,glib_cv_monotonic_clock=no))
-if test "$glib_cv_monotonic_clock" = "yes"; then
- AC_DEFINE(HAVE_MONOTONIC_CLOCK,1,[Have a monotonic clock])
-fi
-
dnl ************************
dnl *** g_atomic_* tests ***
dnl ************************
-AC_MSG_CHECKING([whether to use assembler code for atomic operations])
- case $host_cpu in
- i386)
- AC_MSG_RESULT([none])
- glib_memory_barrier_needed=no
- ;;
- i?86)
- AC_MSG_RESULT([i486])
- AC_DEFINE_UNQUOTED(G_ATOMIC_I486, 1,
- [i486 atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- sparc*)
- SPARCV9_WARNING="Try to rerun configure with CFLAGS='-mcpu=v9',
- when you are using a sparc with v9 instruction set (most
- sparcs nowadays). This will make the code for atomic
- operations much faster. The resulting code will not run
- on very old sparcs though."
-
- AC_LINK_IFELSE([AC_LANG_SOURCE([[
- main ()
- {
- int tmp1, tmp2, tmp3;
- __asm__ __volatile__("casx [%2], %0, %1"
- : "=&r" (tmp1), "=&r" (tmp2) : "r" (&tmp3));
- }]])],
- AC_MSG_RESULT([sparcv9])
- AC_DEFINE_UNQUOTED(G_ATOMIC_SPARCV9, 1,
- [sparcv9 atomic implementation]),
- AC_MSG_RESULT([no])
- AC_MSG_WARN([[$SPARCV9_WARNING]]))
- glib_memory_barrier_needed=yes
- ;;
- alpha*)
- AC_MSG_RESULT([alpha])
- AC_DEFINE_UNQUOTED(G_ATOMIC_ALPHA, 1,
- [alpha atomic implementation])
- glib_memory_barrier_needed=yes
- ;;
- x86_64)
- AC_MSG_RESULT([x86_64])
- AC_DEFINE_UNQUOTED(G_ATOMIC_X86_64, 1,
- [x86_64 atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- powerpc*)
- AC_MSG_RESULT([powerpc])
- AC_DEFINE_UNQUOTED(G_ATOMIC_POWERPC, 1,
- [powerpc atomic implementation])
- glib_memory_barrier_needed=yes
- AC_MSG_CHECKING([whether asm supports numbered local labels])
- AC_TRY_COMPILE(
- ,[
- __asm__ __volatile__ ("1: nop\n"
- " bne- 1b")
- ],[
- AC_DEFINE_UNQUOTED(ASM_NUMERIC_LABELS, 1, [define if asm blocks can use numeric local labels])
- AC_MSG_RESULT([yes])
- ],[
- AC_MSG_RESULT([no])
- ])
- ;;
- ia64)
- AC_MSG_RESULT([ia64])
- AC_DEFINE_UNQUOTED(G_ATOMIC_IA64, 1,
- [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
- ;;
- arm*)
- AC_MSG_RESULT([arm])
- AC_DEFINE_UNQUOTED(G_ATOMIC_ARM, 1,
- [arm atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- crisv32*|etraxfs*)
- AC_MSG_RESULT([crisv32])
- AC_DEFINE_UNQUOTED(G_ATOMIC_CRISV32, 1,
- [crisv32 atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- cris*|etrax*)
- AC_MSG_RESULT([cris])
- AC_DEFINE_UNQUOTED(G_ATOMIC_CRIS, 1,
- [cris atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- *)
- AC_MSG_RESULT([none])
- glib_memory_barrier_needed=yes
- ;;
- esac
-
-glib_cv_gcc_has_builtin_atomic_operations=no
-if test x"$GCC" = xyes; then
- AC_MSG_CHECKING([whether GCC supports built-in atomic intrinsics])
- AC_TRY_LINK([],
- [int i;
- __sync_synchronize ();
- __sync_bool_compare_and_swap (&i, 0, 1);
- __sync_fetch_and_add (&i, 1);
- ],
- [glib_cv_gcc_has_builtin_atomic_operations=yes],
- [glib_cv_gcc_has_builtin_atomic_operations=no])
-
- AC_MSG_RESULT($glib_cv_gcc_has_builtin_atomic_operations)
-fi
-AM_CONDITIONAL(HAVE_GCC_BUILTINS_FOR_ATOMIC_OPERATIONS,
- [test $glib_cv_gcc_has_builtin_atomic_operations = yes])
-
-AC_MSG_CHECKING([for Win32 atomic intrinsics])
-glib_cv_has_win32_atomic_operations=no
-AC_TRY_LINK([],
- [int i; _InterlockedExchangeAdd (&i, 0);],
- [glib_cv_has_win32_atomic_operations=yes],
- [glib_cv_has_win32_atomic_operations=no])
-AC_MSG_RESULT($glib_cv_has_win32_atomic_operations)
-if test "x$glib_cv_has_win32_atomic_operations" = xyes; then
- AC_DEFINE(HAVE_WIN32_BUILTINS_FOR_ATOMIC_OPERATIONS,1,[Have Win32 atomic intrinsics])
-fi
+dnl We need to decide at configure time if GLib will use real atomic
+dnl operations ("lock free") or emulated ones with a mutex. This is
+dnl because we must put this information in glibconfig.h so we know if
+dnl it is safe or not to inline using compiler intrinsics directly from
+dnl the header.
+dnl
+dnl We also publish the information via G_ATOMIC_LOCK_FREE in case the
+dnl user is interested in knowing if they can use the atomic ops across
+dnl processes.
+dnl
+dnl We can currently support the atomic ops natively when building GLib
+dnl with recent versions of GCC or MSVC. MSVC doesn't run ./configure,
+dnl so we skip that case here and define G_ATOMIC_LOCK_FREE exactly when
+dnl we are using GCC.
+dnl
+dnl Note that the atomic ops are only available with GCC on x86 when
+dnl using -march=i486 or higher. If we detect that the atomic ops are
+dnl not available but would be available given the right flags, we want
+dnl to abort and advise the user to fix their CFLAGS. It's better to do
+dnl that then to silently fall back on emulated atomic ops just because
+dnl the user had the wrong build environment.
+
+dnl We may add other compilers here in the future...
+AC_MSG_CHECKING([for lock-free atomic intrinsics])
+AC_TRY_COMPILE([],
+ [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;],
+ [glib_cv_g_atomic_lock_free=yes],
+ [glib_cv_g_atomic_lock_free=no])
+AC_MSG_RESULT($glib_cv_g_atomic_lock_free)
+
+if test "$glib_cv_g_atomic_lock_free" = "no"; then
+ SAVE_CFLAGS="${CFLAGS}"
+ CFLAGS="-march=i486"
+ AC_TRY_COMPILE([],
+ [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;],
+ [AC_MSG_ERROR([GLib must be build with -march=i486 or later.])],
+ [])
+ CFLAGS="${SAVE_CFLAGS}"
+fi
+
+dnl We need a more robust approach here...
+case $host_cpu in
+ i?86|x86_64|s390|s390x|arm*|crisv32*|etrax*)
+ glib_memory_barrier_needed=no
+ ;;
+ sparc*|alpha*|powerpc*|ia64)
+ glib_memory_barrier_needed=yes
+ ;;
+ *)
+ glib_memory_barrier_needed=yes
+ ;;
+esac
dnl ************************
dnl ** Check for futex(2) **
# Check if we should compile GRegex
AC_ARG_ENABLE(regex, AC_HELP_STRING([--disable-regex],
- [disable the compilation of GRegex]),
+ [disable the compilation of GRegex]),
[case "${enableval}" in
yes) enable_regex=true ;;
no) enable_regex=false ;;
# Check if we should use the internal or the system-supplied pcre
AC_ARG_WITH(pcre,
[AC_HELP_STRING([--with-pcre=@<:@internal/system@:>@],
- [specify whether to use the internal or the
- system-supplied PCRE library])])
+ [whether to use system PCRE [default=internal]])])
AM_CONDITIONAL(USE_SYSTEM_PCRE, [test "x$with_pcre" = xsystem])
G_LIBS_EXTRA="-luser32 -lkernel32"
;;
*-*-mingw*)
- G_LIBS_EXTRA="-lws2_32 -lole32"
+ G_LIBS_EXTRA="-lws2_32 -lole32 -lwinmm"
;;
*)
G_LIBS_EXTRA=""
dnl *** Checks for gtk-doc ***
dnl **************************
-GTK_DOC_CHECK([1.15])
+GTK_DOC_CHECK([1.15], [--flavour no-tmpl])
AC_ARG_ENABLE(man,
[AC_HELP_STRING([--enable-man],
AC_ARG_ENABLE([dtrace],
[AS_HELP_STRING([--enable-dtrace],
- [Enable inclusion of dtrace trace support])])
+ [include tracing support for dtrace])])
have_dtrace=no
AC_MSG_CHECKING([whether to include dtrace tracing support])
if test "x$enable_dtrace" != xno; then
AC_MSG_CHECKING([whether to include systemtap tracing support])
AC_ARG_ENABLE([systemtap],
[AS_HELP_STRING([--enable-systemtap],
- [Enable inclusion of systemtap trace support])])
+ [include tracing support for systemtap])])
have_systemtap=no
if test "x$enable_systemtap" != xno -a "x$have_dtrace" = xyes; then
have_systemtap=yes
AM_CONDITIONAL([ENABLE_SYSTEMTAP], [test x$have_systemtap = xyes])
AC_ARG_WITH([tapset-install-dir],
- [AS_HELP_STRING([--with-tapset-install-dir],
- [The absolute path where the systemtap tapsets will be installed])],
+ AS_HELP_STRING([--with-tapset-install-dir=DIR],
+ [path where systemtap tapsets are installed [DATADIR/systemtap/tapset]]),
[if test "x${withval}" = x; then
ABS_TAPSET_DIR="\$(datadir)/systemtap/tapset"
else
AC_ARG_ENABLE(gcov,
AS_HELP_STRING([--enable-gcov],
- [Enable gcov]),
+ [enable coverage testing with gcov]),
[use_gcov=$enableval], [use_gcov=no])
if test "x$use_gcov" = "xyes"; then
#endif
_______EOF
-
echo >>$outfile
- if test x$g_mutex_has_default = xyes; then
- cat >>$outfile <<_______EOF
-#define G_THREADS_ENABLED
-#define G_THREADS_IMPL_$g_threads_impl_def
-typedef struct _GStaticMutex GStaticMutex;
-struct _GStaticMutex
-{
- struct _GMutex *runtime_mutex;
- union {
- char pad[[$g_mutex_sizeof]];
- double dummy_double;
- void *dummy_pointer;
- long dummy_long;
- } static_mutex;
-};
-#define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
-#define g_static_mutex_get_mutex(mutex) \\
- (g_thread_use_default_impl ? ((GMutex*)(gpointer) ((mutex)->static_mutex.pad)) : \\
- g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex)))
-_______EOF
- else
- cat >>$outfile <<_______EOF
+ cat >>$outfile <<_______EOF
#define G_THREADS_ENABLED
#define G_THREADS_IMPL_$g_threads_impl_def
-typedef struct _GMutex* GStaticMutex;
-#define G_STATIC_MUTEX_INIT NULL
-#define g_static_mutex_get_mutex(mutex) \\
- (g_static_mutex_get_mutex_impl_shortcut (mutex))
_______EOF
- fi
- cat >>$outfile <<_______EOF
-/* This represents a system thread as used by the implementation. An
- * alien implementaion, as loaded by g_thread_init can only count on
- * "sizeof (gpointer)" bytes to store their info. We however need more
- * for some of our native implementations. */
-typedef union _GSystemThread GSystemThread;
-union _GSystemThread
-{
- char data[[$g_system_thread_sizeof]];
- double dummy_double;
- void *dummy_pointer;
- long dummy_long;
-};
-_______EOF
if test x"$g_memory_barrier_needed" != xno; then
echo >>$outfile
echo "#define G_ATOMIC_OP_MEMORY_BARRIER_NEEDED 1" >>$outfile
fi
- if test x"$g_gcc_atomic_ops" != xno; then
+ if test x"$g_atomic_lock_free" = xyes; then
echo >>$outfile
- echo "#define G_ATOMIC_OP_USE_GCC_BUILTINS 1" >>$outfile
+ echo "#define G_ATOMIC_LOCK_FREE" >>$outfile
fi
echo >>$outfile
g_bit_sizes="16 32 64"
gintptr_modifier='""'
gintptr_format='"i"'
guintptr_format='"u"'
- glib_gpi_cast=''
- glib_gpui_cast=''
+ glib_gpi_cast='(gint)'
+ glib_gpui_cast='(guint)'
;;
$ac_cv_sizeof_long)
glib_intptr_type_define=long
g_threads_impl_def=$g_threads_impl
-g_mutex_has_default="$mutex_has_default"
-g_mutex_sizeof="$glib_cv_sizeof_gmutex"
g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
-g_mutex_contents="$glib_cv_byte_contents_gmutex"
+g_atomic_lock_free="$glib_cv_g_atomic_lock_free"
g_memory_barrier_needed="$glib_memory_barrier_needed"
g_gcc_atomic_ops="$glib_cv_gcc_has_builtin_atomic_operations"
AC_CONFIG_FILES([
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
-gobject-2.0-uninstalled.pc
gio-2.0.pc
gio-unix-2.0.pc
gio-windows-2.0.pc
-gio-2.0-uninstalled.pc
-gio-unix-2.0-uninstalled.pc
glib-zip
glib-gettextize
Makefile
gobject/glib-mkenums
gobject/tests/Makefile
gthread/Makefile
-gthread/tests/Makefile
gio/Makefile
gio/gdbus-2.0/codegen/Makefile
gio/gdbus-2.0/codegen/config.py