# set glib_binary_age _and_ glib_interface_age to 0.
#
m4_define([glib_major_version], [2])
-m4_define([glib_minor_version], [3])
-m4_define([glib_micro_version], [0])
-m4_define([glib_interface_age], [0])
+m4_define([glib_minor_version], [6])
+m4_define([glib_micro_version], [2])
+m4_define([glib_interface_age], [2])
m4_define([glib_binary_age],
[m4_eval(100 * glib_minor_version + glib_micro_version)])
m4_define([glib_version],
GOBJECT_DEF=gobject.def
GTHREAD_DEF=gthread.def
TESTGMODULE_EXP=testgmodule.exp
+ glib_pid_type='void *'
;;
*)
glib_native_win32=no
GOBJECT_DEF=
GTHREAD_DEF=
TESTGMODULE_EXP=
+ glib_pid_type=int
;;
esac
+case $host in
+ *-*-linux*)
+ glib_os_linux=yes
+ ;;
+esac
+
+
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(TESTGMODULE_EXP)
if test "$glib_native_win32" = "yes"; then
+ AC_CHECK_TOOL(NM, nm, no)
+ if [ "$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])
+if test "$glib_native_win32" != yes; then
+ # libtool option to control which symbols are exported
+ # right now, symbols starting with _ are not exported
+ LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
+else
+ # We currently use .def files on Windows
+ LIBTOOL_EXPORT_OPTIONS=
+fi
+AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
+
dnl declare --enable-* args and collect ac_help strings
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
[AC_HELP_STRING([--disable-rebuilds],
[disable all source autogeneration rules])],,
[enable_rebuilds=yes])
+AC_ARG_ENABLE(visibility,
+ [AC_HELP_STRING([--disable-visibility],
+ [don't use ELF visibility attributes])],,
+ [enable_visibility=yes])
if test "x$enable_threads" != "xyes"; then
enable_threads=no
AC_MSG_RESULT([yes])
fi
+if test "$glib_native_win32" = "yes"; then
+ if test x$enable_static = xyes -o x$enable_static = x; then
+ AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
+ enable_static=no
+ fi
+ if test x$enable_shared = xno; then
+ AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
+ fi
+ enable_shared=yes
+fi
+
dnl Checks for programs.
AC_PROG_CC
fi
fi
+if test "x$enable_visibility" = "xno"; then
+ GLIB_DEBUG_FLAGS="$GLIB_DEBUG_FLAGS -DDISABLE_VISIBILITY"
+fi
+
# Ensure MSVC-compatible struct packing convention is used when
# compiling for Win32 with gcc.
# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
fi
fi
-AC_CYGWIN
AC_EXEEXT
# define a MAINT-like variable REBUILD which is set if Perl
dnl gettext support
dnl
-ALL_LINGUAS="am ar az be bg bn ca cs cy da de el es et eu fa fi fr gl he hi id it ja ko lv mk mn ms nl nn no pl pt pt_BR ro ru sk sl sq sr sr@Latn sv ta tr uk vi 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 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"
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
])
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,[
done])
if test -n "$glib_cv_long_long_format"; then
AC_MSG_RESULT(%${glib_cv_long_long_format}u)
+ AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long])
+ if test x"$glib_cv_long_long_format" = xI64; then
+ AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64])
+ fi
else
AC_MSG_RESULT(none)
fi
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])
+ AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64])
fi
dnl long doubles were not used, and a portability problem
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)
+
# check for flavours of varargs macros
AC_MSG_CHECKING(for ISO C99 varargs macros in C)
AC_TRY_COMPILE([],[
],g_have_gnuc_varargs=yes,g_have_gnuc_varargs=no)
AC_MSG_RESULT($g_have_gnuc_varargs)
+# check for GNUC visibility support
+AC_MSG_CHECKING(for GNUC visibility attribute)
+GLIB_CHECK_COMPILE_WARNINGS([
+void
+__attribute__ ((visibility ("hidden")))
+ f_hidden (void)
+{
+}
+void
+__attribute__ ((visibility ("internal")))
+ f_internal (void)
+{
+}
+void
+__attribute__ ((visibility ("protected")))
+ f_protected (void)
+{
+}
+void
+__attribute__ ((visibility ("default")))
+ f_default (void)
+{
+}
+int main (int argc, char **argv)
+{
+ f_hidden();
+ f_internal();
+ f_protected();
+ f_default();
+ return 0;
+}
+],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no)
+AC_MSG_RESULT($g_have_gnuc_visibility)
+
# check for bytesex stuff
AC_C_BIGENDIAN
AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
AC_CHECK_FUNCS(setlocale)
-AC_MSG_CHECKING(whether make is GNU Make)
-STRIP_BEGIN=
-STRIP_END=
-if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
- STRIP_BEGIN='$(strip $(STRIP_DUMMY)'
- STRIP_END=')'
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
-fi
-STRIP_DUMMY=
-AC_SUBST(STRIP_DUMMY)
-AC_SUBST(STRIP_BEGIN)
-AC_SUBST(STRIP_END)
-
# check additional type sizes
AC_CHECK_SIZEOF(size_t)
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 unsetenv getc_unlocked)
+AC_CHECK_FUNCS(lstat strerror strsignal memmove mkstemp vsnprintf stpcpy strcasecmp strncasecmp poll getcwd nanosleep vasprintf setenv unsetenv getc_unlocked readlink symlink)
AC_FUNC_VSNPRINTF_C99
AC_FUNC_PRINTF_UNIX98
#
-# Check whether to use trio printf
+# Check whether to use an included printf
#
AC_ARG_ENABLE(included-printf,
[AC_HELP_STRING([--enable-included-printf],
[use included printf [default=auto]])],
- enable_trio="$enableval")
+ enable_included_printf="$enableval")
-need_trio=no
-if test "x$enable_trio" = "xyes" ; then
- need_trio=yes
+need_included_printf=no
+if test "x$enable_included_printf" = "xyes" ; then
+ need_included_printf=yes
fi
if test "$ac_cv_func_vsnprintf_c99" != "yes" ; then
- need_trio=yes
+ need_included_printf=yes
fi
if test "$ac_cv_func_printf_unix98" != "yes" ; then
- need_trio=yes
+ need_included_printf=yes
fi
if test "x$ac_cv_sizeof_long_long" = "x8" &&
test -z "$glib_cv_long_long_format" ; then
- need_trio=yes
+ need_included_printf=yes
fi
-if test "x$enable_trio" = "xno" &&
- test "x$need_trio" = "xyes" ; then
+if test "x$enable_included_printf" = "xno" &&
+ test "x$need_included_printf" = "xyes" ; then
AC_MSG_ERROR([
*** Your C library's printf doesn't appear to have the features that
*** GLib needs, but you specified --enable-included-printf=no.])
fi
-enable_trio=$need_trio
+enable_included_printf=$need_included_printf
-AM_CONDITIONAL(HAVE_GOOD_PRINTF, test "$enable_trio" != "yes")
-if test "$enable_trio" != "yes" ; then
+AM_CONDITIONAL(HAVE_GOOD_PRINTF, test "$enable_included_printf" != "yes")
+if test "$enable_included_printf" != "yes" ; then
AC_DEFINE(HAVE_GOOD_PRINTF,1,[define to use system printf])
else
- glib_cv_long_long_format="ll"
- AC_DEFINE(HAVE_VASPRINTF,1)
- AC_DEFINE(HAVE_C99_VSNPRINTF,1)
- AC_DEFINE(HAVE_UNIX98_PRINTF,1)
- if test "$glib_native_win32" != "yes" ; then
- TRIO_LIBS=-lm
+ if test -z "$glib_cv_long_long_format" ; then
+ glib_cv_long_long_format="ll"
fi
+ AC_DEFINE(HAVE_VASPRINTF,1)
fi
-AC_SUBST(TRIO_LIBS)
+
+# Checks needed for gnulib vasnprintf
+bh_C_SIGNED
+jm_AC_TYPE_LONG_LONG
+gt_TYPE_LONGDOUBLE
+gt_TYPE_WCHAR_T
+gt_TYPE_WINT_T
+AC_TYPE_SIZE_T
+AC_CHECK_TYPES(ptrdiff_t)
+jm_AC_TYPE_INTMAX_T
+AC_CHECK_FUNCS(snprintf)
+AC_FUNC_SNPRINTF_C99
# Check if bcopy can be used for overlapping copies, if memmove isn't found.
# The check is borrowed from the PERL Configure script.
*-*-mingw*|*-*-cygwin*) G_MODULE_IMPL=G_MODULE_IMPL_WIN32 ;;
esac
fi
+dnl *** force native AIX library loader
+dnl *** dlopen() filepath must be of the form /path/libname.a(libname.so)
+if test -z "$G_MODULE_IMPL"; then
+ case "$host" in
+ *-*-aix*) G_MODULE_IMPL=G_MODULE_IMPL_AR ;;
+ esac
+fi
dnl *** dlopen() and dlsym() in system libraries
if test -z "$G_MODULE_IMPL"; then
AC_CHECK_FUNC(dlopen,
LIBS="$G_MODULE_LIBS $LIBS"
LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
+ echo "void glib_plugin_test(void) { }" > plugin.c
+ ${SHELL} ./libtool --mode=compile ${CC} -shared \
+ -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
glib_cv_rtldglobal_broken,[
AC_TRY_RUN([
#ifndef RTLD_LAZY
# define RTLD_LAZY 0
#endif
-int pthread_create;
+int glib_plugin_test;
int main () {
void *handle, *global, *local;
- global = &pthread_create;
- handle = dlopen ("libpthread.so", RTLD_GLOBAL | RTLD_LAZY);
+ global = &glib_plugin_test;
+ handle = dlopen ("./.libs/plugin.o", RTLD_GLOBAL | RTLD_LAZY);
if (!handle) return 0;
- local = dlsym (handle, "pthread_create");
+ local = dlsym (handle, "glib_plugin_test");
return global == local;
} ],
[glib_cv_rtldglobal_broken=no],
[glib_cv_rtldglobal_broken=yes],
[glib_cv_rtldglobal_broken=no])
- rm -f plugin.c plugin.o plugin.lo
+ rm -f plugin.c plugin.o plugin.lo .libs/plugin.o
+ rmdir .libs 2>/dev/null
])
if test "x$glib_cv_rtldglobal_broken" = "xyes"; then
G_MODULE_BROKEN_RTLD_GLOBAL=1
cygwin* | mingw*)
glib_gmodule_suffix='dll'
;;
+ aix*)
+ glib_gmodule_suffix='a'
+ ;;
*)
glib_gmodule_suffix='so'
;;
# both CPPFLAG and LIBS.
# One of them does for most gcc versions and some other platforms/compilers
# too and could be considered as the canonical way to go.
- for flag in pthread pthreads; do
- glib_save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -$flag"
- AC_TRY_RUN(glib_thread_test(0),
- glib_flag_works=yes,
- glib_flag_works=no,
- [AC_LINK_IFELSE(glib_thread_test(0),
- glib_flag_works=yes,
- glib_flag_works=no)])
- CFLAGS="$glib_save_CFLAGS"
- if test $glib_flag_works = yes ; then
- G_THREAD_CFLAGS=-$flag
- G_THREAD_LIBS=-$flag
- fi
- done
+ case $host in
+ *-*-cygwin*)
+ # skip cygwin -pthread or -pthreads test
+ ;;
+ *)
+ for flag in pthread pthreads; do
+ glib_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -$flag"
+ AC_TRY_RUN(glib_thread_test(0),
+ glib_flag_works=yes,
+ glib_flag_works=no,
+ [AC_LINK_IFELSE(glib_thread_test(0),
+ glib_flag_works=yes,
+ glib_flag_works=no)])
+ CFLAGS="$glib_save_CFLAGS"
+ if test $glib_flag_works = yes ; then
+ G_THREAD_CFLAGS=-$flag
+ G_THREAD_LIBS=-$flag
+ fi
+ done
+ ;;
+ esac
fi
if test x"$G_THREAD_CFLAGS" = x; then
G_THREAD_CFLAGS="-Kthread"
G_THREAD_LIBS=$G_THREAD_CFLAGS
;;
+ *-mingw*)
+ # No flag needed when using MSVCRT.DLL
+ G_THREAD_CFLAGS=""
+ ;;
*)
G_THREAD_CFLAGS="-D_REENTRANT" # good default guess otherwise
;;
AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
AC_MSG_CHECKING(for pthread_setschedparam)
AC_TRY_LINK([#include <pthread.h>],
- [pthread_t t; pthread_setschedparam(&t, 0, NULL)],
+ [pthread_t t; pthread_setschedparam(t, 0, NULL)],
[AC_MSG_RESULT(yes)
AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min,[Minimum POSIX RT priority])
AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max,[Maximum POSIX RT priority])],
fi
AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func,[The POSIX RT yield function])
CPPFLAGS="$glib_save_CPPFLAGS"
-
- AC_CACHE_CHECK([whether to use the PID niceness surrogate for thread priorities],
- glib_cv_use_pid_surrogate,
- [AC_TRY_RUN([
-#include <pthread.h>
-#include <sys/types.h>
-#include <unistd.h>
-pid_t other_pid = 0;
-
-void* func(void* data) {other_pid = getpid();}
-main()
-{ pthread_t t;
- void *ret;
- pthread_create (&t, 0, func, NULL);
- pthread_join (t, &ret);
- exit (getpid()==other_pid ||
- $posix_priority_min != $posix_priority_max);
-} ],
- [glib_cv_use_pid_surrogate=yes],
- [glib_cv_use_pid_surrogate=no],
- [])])
- GLIB_ASSERT_SET(glib_cv_use_pid_surrogate)
- if test "$glib_cv_use_pid_surrogate" = "yes" ; then
- AC_DEFINE(G_THREAD_USE_PID_SURROGATE, 1,
- [whether to use the PID niceness surrogate for thread priorities])
- fi
elif test x"$have_threads" = xwin32; then
# It's a pointer to a private struct
#
# a) GCC < 3.3 for Linux doesn't include -lpthread when
# building shared libraries with linux.
-# b) libtool doesn't recognize -pthread as a library dependency.
#
case $host in
*-*-linux*)
G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-lpthread/`"
;;
- *)
- G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-Wc,-pthread/`"
- ;;
esac
AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c",
LIBS="$glib_save_LIBS"
fi
+dnl ********************************
+dnl *** g_atomic_* tests for gcc ***
+dnl ********************************
+
+AC_MSG_CHECKING([whether to use assembler code for atomic operations])
+
+if test x"$GCC" = xyes; then
+ 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([[
+ 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
+ ;;
+ ia64)
+ AC_MSG_RESULT([ia64])
+ AC_DEFINE_UNQUOTED(G_ATOMIC_IA64, 1,
+ [ia64 atomic implementation])
+ glib_memory_barrier_needed=yes
+ ;;
+ *)
+ AC_MSG_RESULT([none])
+ glib_memory_barrier_needed=yes
+ ;;
+ esac
+fi
+
dnl ****************************************
dnl *** GLib POLL* compatibility defines ***
dnl ****************************************
G_LIBS_EXTRA="-luser32 -lkernel32"
;;
*-*-mingw*)
- G_LIBS_EXTRA="-lwsock32"
+ G_LIBS_EXTRA="-lwsock32 -lole32"
;;
*)
G_LIBS_EXTRA=""
GTK_DOC_CHECK([1.0])
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
+
+if test "${enable_man}" != no; then
+dnl
+dnl Check for xsltproc
+dnl
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+ if test -z "$XSLTPROC"; then
+ enable_man=no
+ fi
+
+ dnl check for DocBook DTD and stylesheets in the local catalog.
+ JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
+ [DocBook XML DTD V4.1.2],,enable_man=no)
+ JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
+ [DocBook XSL Stylesheets],,enable_man=no)
+fi
+
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+
dnl ******************************
dnl *** output the whole stuff ***
dnl ******************************
#define G_MAXLONG $glib_Ml
#define G_MAXULONG $glib_Mul
-#define G_MININT64 G_GINT64_CONSTANT(0x8000000000000000)
-#define G_MAXINT64 G_GINT64_CONSTANT(0x7fffffffffffffff)
-#define G_MAXUINT64 G_GINT64_CONSTANT(0xffffffffffffffffU)
-
_______EOF
cat >>$outfile <<_______EOF
typedef signed $gint16 gint16;
typedef unsigned $gint16 guint16;
+#define G_GINT16_MODIFIER $gint16_modifier
#define G_GINT16_FORMAT $gint16_format
#define G_GUINT16_FORMAT $guint16_format
_______EOF
cat >>$outfile <<_______EOF
typedef signed $gint32 gint32;
typedef unsigned $gint32 guint32;
+#define G_GINT32_MODIFIER $gint32_modifier
#define G_GINT32_FORMAT $gint32_format
#define G_GUINT32_FORMAT $guint32_format
_______EOF
if test x$gint64_format != x ; then
cat >>$outfile <<_______EOF
+#define G_GINT64_MODIFIER $gint64_modifier
#define G_GINT64_FORMAT $gint64_format
#define G_GUINT64_FORMAT $guint64_format
_______EOF
else
cat >>$outfile <<_______EOF
+#undef G_GINT64_MODIFIER
#undef G_GINT64_FORMAT
#undef G_GUINT64_FORMAT
_______EOF
_______EOF
-echo "typedef signed $glib_size_type_define gssize;" >> $outfile
-echo "typedef unsigned $glib_size_type_define gsize;" >> $outfile
+ cat >>$outfile <<_______EOF
+typedef signed $glib_size_type_define gssize;
+typedef unsigned $glib_size_type_define gsize;
+#define G_GSIZE_MODIFIER $gsize_modifier
+#define G_GSSIZE_FORMAT $gssize_format
+#define G_GSIZE_FORMAT $gsize_format
+
+#define G_MAXSIZE G_MAXU$glib_msize_type
+_______EOF
if test -z "$glib_unknown_void_p"; then
cat >>$outfile <<_______EOF
$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
fi
+ if test x$g_have_gnuc_visibility = xyes ; then
+ cat >>$outfile <<_______EOF
+#define G_HAVE_GNUC_VISIBILITY 1
+#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
+_______EOF
+ else
+ cat >>$outfile <<_______EOF
+#define G_GNUC_INTERNAL
+_______EOF
+ fi
+
+
echo >>$outfile
if test x$g_mutex_has_default = xyes; then
cat >>$outfile <<_______EOF
} static_mutex;
};
#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_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
+#define g_static_mutex_get_mutex(mutex) \\
+ (g_thread_use_default_impl ? ((GMutex*) &((mutex)->static_mutex)) : \\
+ g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex)))
_______EOF
else
cat >>$outfile <<_______EOF
#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 (mutex))
+#define g_static_mutex_get_mutex(mutex) \\
+ (g_static_mutex_get_mutex_impl_shortcut (mutex))
_______EOF
fi
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
echo >>$outfile
g_bit_sizes="16 32 64"
#define G_MODULE_SUFFIX "$g_module_suffix"
+typedef $g_pid_type GPid;
+
G_END_DECLS
#endif /* GLIBCONFIG_H */
case 2 in
$ac_cv_sizeof_short)
gint16=short
+ gint16_modifier='"h"'
gint16_format='"hi"'
guint16_format='"hu"'
;;
$ac_cv_sizeof_int)
gint16=int
+ gint16_modifier='""'
gint16_format='"i"'
guint16_format='"u"'
;;
case 4 in
$ac_cv_sizeof_short)
gint32=short
+ gint32_modifier='"h"'
gint32_format='"hi"'
guint32_format='"hu"'
;;
$ac_cv_sizeof_int)
gint32=int
+ gint32_modifier='""'
gint32_format='"i"'
guint32_format='"u"'
;;
$ac_cv_sizeof_long)
gint32=long
+ gint32_modifier='"l"'
gint32_format='"li"'
guint32_format='"lu"'
;;
case 8 in
$ac_cv_sizeof_int)
gint64=int
+ gint64_modifier='""'
gint64_format='"i"'
guint64_format='"u"'
glib_extension=
;;
$ac_cv_sizeof_long)
gint64=long
+ gint64_modifier='"l"'
gint64_format='"li"'
guint64_format='"lu"'
glib_extension=
$ac_cv_sizeof_long_long)
gint64='long long'
if test -n "$glib_cv_long_long_format"; then
+ gint64_modifier='"'$glib_cv_long_long_format'"'
gint64_format='"'$glib_cv_long_long_format'i"'
guint64_format='"'$glib_cv_long_long_format'u"'
fi
$ac_cv_sizeof___int64)
gint64='__int64'
if test -n "$glib_cv_long_long_format"; then
+ gint64_modifier='"'$glib_cv_long_long_format'"'
gint64_format='"'$glib_cv_long_long_format'i"'
guint64_format='"'$glib_cv_long_long_format'u"'
fi
glib_void_p=$ac_cv_sizeof_long
glib_long=$ac_cv_sizeof_void_p
+case $glib_size_type in
+short)
+ gsize_modifier='"h"'
+ gsize_format='"hu"'
+ gssize_format='"hi"'
+ glib_msize_type='SHRT'
+ ;;
+int)
+ gsize_modifier='""'
+ gsize_format='"u"'
+ gssize_format='"i"'
+ glib_msize_type='INT'
+ ;;
+long)
+ gsize_modifier='"l"'
+ gsize_format='"lu"'
+ gssize_format='"li"'
+ glib_msize_type='LONG'
+ ;;
+esac
+
gintbits=`expr $ac_cv_sizeof_int \* 8`
glongbits=`expr $ac_cv_sizeof_long \* 8`
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
x$ac_cv_c_bigendian)
g_byte_order=G_BIG_ENDIAN
g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
g_mutex_contents="$glib_cv_byte_contents_gmutex"
+g_memory_barrier_needed="$glib_memory_barrier_needed"
+
g_module_suffix="$glib_gmodule_suffix"
+g_pid_type="$glib_pid_type"
case $host in
*-*-beos*)
glib_os="#define G_OS_BEOS"
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
gthread-2.0.pc
gthread-2.0-uninstalled.pc
build/win32/dirent/Makefile
glib/Makefile
glib/libcharset/Makefile
-glib/trio/Makefile
+glib/gnulib/Makefile
gmodule/Makefile
gmodule/gmoduleconf.h
gobject/Makefile
docs/reference/gobject/Makefile
docs/reference/gobject/version.xml
tests/Makefile
+tests/gobject/Makefile
m4macros/Makefile
])
README
config.h.win32
glibconfig.h.win32
- glib/makefile.mingw
glib/makefile.msc
glib/glib.rc
- gmodule/makefile.mingw
gmodule/makefile.msc
gmodule/gmodule.rc
- gobject/makefile.mingw
gobject/makefile.msc
gobject/gobject.rc
- gthread/makefile.mingw
gthread/makefile.msc
gthread/gthread.rc
- tests/makefile.mingw
tests/makefile.msc
])
fi