1 dnl ***********************************
2 dnl *** include special GLib macros ***
3 dnl ***********************************
4 builtin(include, acglib.m4)dnl
5 builtin(include, glib/libcharset/codeset.m4)dnl
6 builtin(include, glib/libcharset/glibc21.m4)dnl
8 # require autoconf 2.52
11 # Process this file with autoconf to produce a configure script.
14 # Save this value here, since automake will set cflags later
15 cflags_set=${CFLAGS+set}
17 # we rewrite this file
18 rm -f glibconfig-sysdefs.h
20 GLIB_AC_DIVERT_BEFORE_HELP([
22 # The following version number definitions apply to GLib, GModule, GObject
23 # and GThread as a whole, so if changes occoured in any of them, they are all
24 # treated with the same interface and binary age.
27 # GLIB_MICRO_VERSION += 1;
28 # GLIB_INTERFACE_AGE += 1;
29 # GLIB_BINARY_AGE += 1;
30 # if any functions have been added, set GLIB_INTERFACE_AGE to 0.
31 # if backwards compatibility has been broken,
32 # set GLIB_BINARY_AGE _and_ GLIB_INTERFACE_AGE to 0.
39 GLIB_VERSION=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION.$GLIB_MICRO_VERSION
42 AC_SUBST(GLIB_MAJOR_VERSION)
43 AC_SUBST(GLIB_MINOR_VERSION)
44 AC_SUBST(GLIB_MICRO_VERSION)
45 AC_SUBST(GLIB_VERSION)
46 AC_SUBST(GLIB_INTERFACE_AGE)
47 AC_SUBST(GLIB_BINARY_AGE)
50 LT_RELEASE=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION
51 LT_CURRENT=`expr $GLIB_MICRO_VERSION - $GLIB_INTERFACE_AGE`
52 LT_REVISION=$GLIB_INTERFACE_AGE
53 LT_AGE=`expr $GLIB_BINARY_AGE - $GLIB_INTERFACE_AGE`
54 LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
59 AC_SUBST(LT_CURRENT_MINUS_AGE)
64 AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
66 # Specify a configuration file
67 AM_CONFIG_HEADER(config.h)
69 AC_DEFINE_UNQUOTED(GLIB_MAJOR_VERSION, $GLIB_MAJOR_VERSION,
70 [Define to the GLIB major version])
71 AC_DEFINE_UNQUOTED(GLIB_MINOR_VERSION, $GLIB_MINOR_VERSION,
72 [Define to the GLIB minor version])
73 AC_DEFINE_UNQUOTED(GLIB_MICRO_VERSION, $GLIB_MICRO_VERSION,
74 [Define to the GLIB micro version])
75 AC_DEFINE_UNQUOTED(GLIB_INTERFACE_AGE, $GLIB_INTERFACE_AGE,
76 [Define to the GLIB interface age])
77 AC_DEFINE_UNQUOTED(GLIB_BINARY_AGE, $GLIB_BINARY_AGE,
78 [Define to the GLIB binary age])
80 dnl Initialize maintainer mode
85 AC_MSG_CHECKING(for the BeOS)
88 glib_native_beos="yes"
94 AC_MSG_RESULT([$glib_native_beos])
98 AC_MSG_CHECKING([for Win32])
101 glib_native_win32=yes
102 G_LIB_WIN32_RESOURCE=glib-win32res.lo
103 G_MODULE_WIN32_RESOURCE=gmodule-win32res.lo
104 G_OBJECT_WIN32_RESOURCE=gobject-win32res.lo
105 G_THREAD_WIN32_RESOURCE=gthread-win32res.lo
107 GMODULE_DEF=gmodule.def
108 GOBJECT_DEF=gobject.def
109 GTHREAD_DEF=gthread.def
110 TESTGMODULE_EXP=testgmodule.exp
114 G_LIB_WIN32_RESOURCE=
115 G_MODULE_WIN32_RESOURCE=
116 G_OBJECT_WIN32_RESOURCE=
117 G_THREAD_WIN32_RESOURCE=
125 AC_MSG_RESULT([$glib_native_win32])
126 AM_CONDITIONAL(OS_WIN32, test "$glib_native_win32" = "yes")
127 AC_SUBST(G_LIB_WIN32_RESOURCE)
128 AC_SUBST(G_MODULE_WIN32_RESOURCE)
129 AC_SUBST(G_OBJECT_WIN32_RESOURCE)
130 AC_SUBST(G_THREAD_WIN32_RESOURCE)
132 AC_SUBST(GMODULE_DEF)
133 AC_SUBST(GOBJECT_DEF)
134 AC_SUBST(GTHREAD_DEF)
135 AC_SUBST(TESTGMODULE_EXP)
137 if test "$glib_native_win32" = "yes"; then
138 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
140 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
142 GLIB_AC_DIVERT_BEFORE_HELP([
143 # figure debugging default, prior to $ac_help setup
144 case $GLIB_MINOR_VERSION in
145 *[[13579]]) debug_default=yes ;;
146 *) debug_default=minimum ;;
150 dnl declare --enable-* args and collect ac_help strings
151 AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
152 AC_ARG_ENABLE(gc_friendly, [ --enable-gc-friendly turn on garbage collector friendliness [default=no]],,enable_gc_friendly=no)
153 AC_ARG_ENABLE(mem_pools, [ --disable-mem-pools disable all glib memory pools],,disable_mem_pools=no)
154 AC_ARG_ENABLE(ansi, [ --enable-ansi turn on strict ansi [default=no]],
156 AC_ARG_ENABLE(threads, [ --enable-threads turn on basic thread support [default=yes]
157 ([=no] will override --with-threads)],,enable_threads=yes)
158 AC_ARG_ENABLE(rebuilds, [ --disable-rebuilds disable all source autogeneration rules],,enable_rebuilds=yes)
160 if test "x$enable_threads" != "xyes"; then
164 AC_DEFINE_UNQUOTED(G_COMPILED_WITH_DEBUGGING, "${enable_debug}",
165 [Whether glib was compiled with debugging enabled])
167 AC_MSG_CHECKING(whether to enable garbage collector friendliness)
168 if test "x$enable_gc_friendly" = "xyes"; then
169 AC_DEFINE(ENABLE_GC_FRIENDLY, 1, [Whether to enable GC friendliness])
170 AC_SUBST(ENABLE_GC_FRIENDLY)
176 AC_MSG_CHECKING(whether to disable memory pools)
177 if test "x$disable_mem_pools" = "xno"; then
180 AC_DEFINE(DISABLE_MEM_POOLS, 1, [Whether to disable memory pools])
181 AC_SUBST(DISABLE_MEM_POOLS)
185 dnl Checks for programs.
188 dnl Check for a working C++ compiler, but do not bail out, if none is found.
189 AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++ cl, gcc)
192 AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
193 AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
204 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
205 if test x$PKG_CONFIG = xno ; then
206 AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/])
209 if $PKG_CONFIG --atleast-pkgconfig-version 0.5 ; then
212 AC_MSG_ERROR([*** pkg-config too old; version 0.5 or better required.])
215 if test "x$enable_debug" = "xyes"; then
216 if test x$cflags_set != xset ; then
218 *[[\ \ ]]-g[[\ \ ]]*) ;;
219 *) CFLAGS="$CFLAGS -g" ;;
223 GLIB_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
225 if test "x$enable_debug" = "xno"; then
226 GLIB_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
230 # Ensure -fnative-struct is used when compiling for Win32
231 if test "x$glib_native_win32" = "xyes"; then
232 if test "x$GCC" = "xyes"; then
234 *[[\ \ ]]-fnative-struct[[\ \ ]]*) ;;
235 *) CFLAGS="$CFLAGS -fnative-struct" ;;
243 # define a MAINT-like variable REBUILD which is set if Perl
244 # and awk are found, so autogenerated sources can be rebuilt
246 AC_CHECK_PROGS(PERL, perl5 perl)
247 # We would like indent, but don't require it.
248 AC_CHECK_PROG(INDENT, indent, indent)
250 if test "x$enable_rebuilds" = "xyes" && \
252 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 && \
253 test -n "$AWK" ; then
258 # Need full path to Perl for glib-mkenums
260 if test "x$PERL" != x ; then
261 AC_PATH_PROG(PERL_PATH, $PERL)
263 PERL_PATH="/usr/bin/env perl"
271 ALL_LINGUAS="az ca cs de el es eu fr gl hi ja ko ms nl nn no pl pt ro ru sk sl sv ta tr uk vi zh_CN zh_TW"
274 if test "$gt_cv_func_dgettext_libc" = "yes" || test "$gt_cv_func_dgettext_libintl" = "yes"; then
278 *** You must have either have gettext support in your C library, or use the
279 *** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html
283 LIBS="$LIBS $INTLLIBS"
285 GETTEXT_PACKAGE=glib20
286 AC_SUBST(GETTEXT_PACKAGE)
287 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
289 # AM_GLIB_GNU_GETTEXT above substs $DATADIRNAME
290 # this is the directory where the *.{mo,gmo} files are installed
291 GLIB_LOCALE_DIR="${prefix}/${DATADIRNAME}/locale"
292 AC_DEFINE_UNQUOTED(GLIB_LOCALE_DIR,"$GLIB_LOCALE_DIR")
294 AC_CHECK_FUNCS(bind_textdomain_codeset)
296 dnl Initialize libtool
301 if test "x$GCC" = "xyes"; then
303 *[[\ \ ]]-Wall[[\ \ ]]*) ;;
304 *) CFLAGS="$CFLAGS -Wall" ;;
307 if test "x$enable_ansi" = "xyes"; then
309 *[[\ \ ]]-ansi[[\ \ ]]*) ;;
310 *) CFLAGS="$CFLAGS -ansi" ;;
314 *[[\ \ ]]-pedantic[[\ \ ]]*) ;;
315 *) CFLAGS="$CFLAGS -pedantic" ;;
320 dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
321 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
324 AC_TRY_RUN([#include <math.h>
325 int main (void) { return (log(1) != log(1.)); }],
326 AC_MSG_RESULT(none needed),
327 glib_save_CFLAGS=$CFLAGS
328 CFLAGS="$CFLAGS -std1"
329 AC_TRY_RUN([#include <math.h>
330 int main (void) { return (log(1) != log(1.)); }],
331 AC_MSG_RESULT(-std1),
333 CFLAGS=$glib_save_CFLAGS
335 [No ANSI prototypes found in library. (-std1 didn't work.)])
340 dnl NeXTStep cc seems to need this
341 AC_MSG_CHECKING([for extra flags for POSIX compliance])
342 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
343 AC_MSG_RESULT(none needed),
344 glib_save_CFLAGS=$CFLAGS
345 CFLAGS="$CFLAGS -posix"
346 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
347 AC_MSG_RESULT(-posix),
349 CFLAGS=$glib_save_CFLAGS
350 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
352 # Checks for header files.
355 # Checks for library functions.
360 AC_CHECK_FUNCS(atexit on_exit)
362 AC_CHECK_SIZEOF(char)
363 AC_CHECK_SIZEOF(short)
364 AC_CHECK_SIZEOF(long)
366 AC_CHECK_SIZEOF(void *)
367 AC_CHECK_SIZEOF(long long)
368 AC_CHECK_SIZEOF(__int64)
370 if test x$ac_cv_sizeof_long = x8 || test x$ac_cv_sizeof_long_long = x8 || test x$ac_cv_sizeof___int64 = x8 ; then
374 *** GLib requires a 64 bit type. You might want to consider
375 *** using the GNU C compiler.
379 if test x$ac_cv_sizeof_long_long = x8; then
380 # long long is a 64 bit integer.
381 AC_MSG_CHECKING(for format to printf and scanf a guint64)
382 AC_CACHE_VAL(glib_cv_long_long_format,[
383 for format in ll q I64; do
384 AC_TRY_RUN([#include <stdio.h>
387 long long b, a = -0x3AFAFAFAFAFAFAFALL;
389 sprintf (buffer, "%${format}u", a);
390 sscanf (buffer, "%${format}u", &b);
394 glib_cv_long_long_format=${format}
397 if test -n "$glib_cv_long_long_format"; then
398 AC_MSG_RESULT(%${glib_cv_long_long_format}u)
402 elif test x$ac_cv_sizeof___int64 = x8; then
403 # __int64 is a 64 bit integer.
404 AC_MSG_CHECKING(for format to printf and scanf a guint64)
405 # We know this is MSVC, and what the formats are
406 glib_cv_long_long_format=I64
407 AC_MSG_RESULT(%${glib_cv_long_long_format}u)
410 dnl long doubles were not used, and a portability problem
414 dnl ok, here we try to check whether the systems prototypes for
415 dnl malloc and friends actually match the prototypes provided
416 dnl by gmem.h (keep in sync). i currently only know how to check
417 dnl this reliably with gcc (-Werror), improvements for other
418 dnl compilers are apprechiated.
419 SANE_MALLOC_PROTOS=no
420 AC_MSG_CHECKING([if malloc() and friends prototypes are gmem.h compatible])
421 glib_save_CFLAGS=$CFLAGS
422 if test "x$GCC" = "xyes"; then
423 CFLAGS="$CFLAGS -Werror"
424 AC_TRY_COMPILE([#include <stdlib.h>], [
425 void* (*my_calloc_p) (size_t, size_t) = calloc;
426 void* (*my_malloc_p) (size_t) = malloc;
427 void (*my_free_p) (void*) = free;
428 void* (*my_realloc_p) (void*, size_t) = realloc;
434 AC_DEFINE(SANE_MALLOC_PROTOS)
435 SANE_MALLOC_PROTOS=yes)
437 AC_MSG_RESULT($SANE_MALLOC_PROTOS)
438 CFLAGS=$glib_save_CFLAGS
441 dnl check in which direction the stack grows
443 AC_CACHE_CHECK([for growing stack pointer],glib_cv_stack_grows,[
445 volatile int *a = 0, *b = 0;
447 int main () { volatile int y = 7; a = &y; foo (); return b > a; }
448 void foo (void) { volatile int x = 5; b = &x; }
450 glib_cv_stack_grows=no
452 glib_cv_stack_grows=yes
456 dnl AC_C_INLINE is useless to us since it bails out too early, we need to
457 dnl truely know which ones of `inline', `__inline' and `__inline__' are
458 dnl actually supported.
459 AC_CACHE_CHECK([for __inline],glib_cv_has__inline,[
461 __inline int foo () { return 0; }
462 int main () { return foo (); }
464 glib_cv_has__inline=yes
466 glib_cv_has__inline=no
469 case x$glib_cv_has__inline in
470 xyes) AC_DEFINE(G_HAVE___INLINE,1,[Have __inline keyword])
472 AC_CACHE_CHECK([for __inline__],glib_cv_has__inline__,[
474 __inline__ int foo () { return 0; }
475 int main () { return foo (); }
477 glib_cv_has__inline__=yes
479 glib_cv_has__inline__=no
482 case x$glib_cv_has__inline__ in
483 xyes) AC_DEFINE(G_HAVE___INLINE__,1,[Have __inline__ keyword])
485 AC_CACHE_CHECK([for inline], glib_cv_hasinline,[
488 inline int foo () { return 0; }
489 int main () { return foo (); }
491 glib_cv_hasinline=yes
496 case x$glib_cv_hasinline in
497 xyes) AC_DEFINE(G_HAVE_INLINE,1,[Have inline keyword])
500 # check for flavours of varargs macros
501 AC_MSG_CHECKING(for ISO C99 varargs macros in C)
503 int a(int p1, int p2, int p3);
504 #define call_a(...) a(1,__VA_ARGS__)
506 ],g_have_iso_c_varargs=yes,g_have_iso_c_varargs=no)
507 AC_MSG_RESULT($g_have_iso_c_varargs)
509 AC_MSG_CHECKING(for ISO C99 varargs macros in C++)
510 if test "$CXX" = ""; then
512 g_have_iso_cxx_varargs=no
516 int a(int p1, int p2, int p3);
517 #define call_a(...) a(1,__VA_ARGS__)
519 ],g_have_iso_cxx_varargs=yes,g_have_iso_cxx_varargs=no)
522 AC_MSG_RESULT($g_have_iso_cxx_varargs)
524 AC_MSG_CHECKING(for GNUC varargs macros)
526 int a(int p1, int p2, int p3);
527 #define call_a(params...) a(1,params)
529 ],g_have_gnuc_varargs=yes,g_have_gnuc_varargs=no)
530 AC_MSG_RESULT($g_have_gnuc_varargs)
532 # check for bytesex stuff
535 # check for header files
536 AC_CHECK_HEADERS([dirent.h float.h limits.h pwd.h sys/param.h sys/poll.h sys/select.h])
537 AC_CHECK_HEADERS([sys/time.h sys/times.h unistd.h values.h stdint.h sched.h])
539 # Checks for libcharset
542 AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
543 AC_CHECK_FUNCS(setlocale)
545 AC_MSG_CHECKING(whether make is GNU Make)
548 if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
549 STRIP_BEGIN='$(strip $(STRIP_DUMMY)'
556 AC_SUBST(STRIP_DUMMY)
557 AC_SUBST(STRIP_BEGIN)
560 # check additional type sizes
567 if test "x$ac_cv_header_stdint_h" = "xyes"; then
568 size_includes=["$size_includes
572 if test "x$ac_cv_header_unistd_h" = "xyes"; then
573 size_includes=["$size_includes
577 GLIB_SIZEOF([$size_includes], size_t, size_t)
578 GLIB_SIZEOF([$size_includes], ptrdiff_t, ptrdiff_t)
579 GLIB_SIZEOF([$size_includes], intmax_t, intmax_t)
581 dnl Try to figure out whether gsize, gssize should be long or int
582 AC_MSG_CHECKING([for the appropriate definition for size_t])
584 case $glib_cv_sizeof_size_t in
594 *) AC_MSG_ERROR([No type matching size_t in size])
598 dnl If int/long are the same size, we see which one produces
599 dnl warnings when used in the location as size_t. (This matters
602 if test $glib_cv_sizeof_size_t = $ac_cv_sizeof_int &&
603 test $glib_cv_sizeof_size_t = $ac_cv_sizeof_long ; then
604 GLIB_CHECK_COMPILE_WARNINGS([
609 unsigned int *size_int = &s;
610 return (int)*size_int;
612 ],glib_size_type=int,
613 [GLIB_CHECK_COMPILE_WARNINGS([
618 unsigned long *size_long = &s;
619 return (int)*size_long;
621 ],glib_size_type=long)])
624 AC_MSG_RESULT(unsigned $glib_size_type)
626 # Check for some functions
627 AC_CHECK_FUNCS(lstat strerror strsignal memmove mkstemp vsnprintf stpcpy strcasecmp strncasecmp poll getcwd nanosleep vasprintf unsetenv getc_unlocked)
629 AC_FUNC_VSNPRINTF_C99
631 # Check if bcopy can be used for overlapping copies, if memmove isn't found.
632 # The check is borrowed from the PERL Configure script.
633 if test "$ac_cv_func_memmove" != "yes"; then
634 AC_CACHE_CHECK(whether bcopy can handle overlapping copies,
635 glib_cv_working_bcopy,[AC_TRY_RUN([
637 char buf[128], abc[128], *b;
639 bcopy("abcdefghijklmnopqrstuvwxyz0123456789", abc, 36);
640 for (align = 7; align >= 0; align--) {
641 for (len = 36; len; len--) {
642 b = buf+align; bcopy(abc, b, len);
643 for (off = 1; off <= len; off++) {
644 bcopy(b, b+off, len); bcopy(b+off, b, len);
645 if (bcmp(b, abc, len)) return(1);
650 }],glib_cv_working_bcopy=yes,glib_cv_working_bcopy=no)])
651 if test "$glib_cv_working_bcopy" = "yes"; then
652 AC_DEFINE(HAVE_WORKING_BCOPY,1,[Have a working bcopy])
656 # Check for sys_errlist
657 AC_MSG_CHECKING(for sys_errlist)
659 extern char *sys_errlist[];
661 sys_errlist[sys_nerr-1][0] = 0;
662 ], glib_ok=yes, glib_ok=no)
663 AC_MSG_RESULT($glib_ok)
664 if test "$glib_ok" = "no"; then
665 AC_DEFINE(NO_SYS_ERRLIST,1,[global 'sys_errlist' not found])
668 # Check for sys_siglist
669 AC_MSG_CHECKING(for sys_siglist)
671 extern char *sys_siglist[];
672 exit (sys_siglist[0]);
673 ], glib_ok=yes, glib_ok=no)
674 AC_MSG_RESULT($glib_ok)
675 if test "$glib_ok" = "no"; then
676 AC_DEFINE(NO_SYS_SIGLIST,1,[global 'sys_siglist' not found])
679 # Check for sys_siglist decl (see Tue Jan 19 00:44:24 1999 in changelog)
680 AC_MSG_CHECKING(for sys_siglist declaration)
681 AC_TRY_COMPILE([#include <signal.h>], [
682 strlen (sys_siglist[0]);
683 ], glib_ok=yes, glib_ok=no)
684 AC_MSG_RESULT($glib_ok)
685 if test "$glib_ok" = "no"; then
686 AC_DEFINE(NO_SYS_SIGLIST_DECL,1,[global 'sys_siglist' not declared])
689 # Check if <sys/select.h> needs to be included for fd_set
690 AC_MSG_CHECKING([for fd_set])
691 AC_TRY_COMPILE([#include <sys/types.h>],
692 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
693 if test "$gtk_ok" = "yes"; then
694 AC_MSG_RESULT([yes, found in sys/types.h])
696 AC_EGREP_HEADER(fd_set, sys/select.h, gtk_ok=yes)
697 if test "$gtk_ok" = "yes"; then
698 # *** FIXME: give it a different name
699 AC_DEFINE(HAVE_SYS_SELECT_H,1,[found fd_set in sys/select.h])
700 AC_MSG_RESULT([yes, found in sys/select.h])
702 AC_DEFINE(NO_FD_SET,1,[didn't find fd_set])
707 dnl *** check for sane realloc() ***
708 AC_CACHE_CHECK([whether realloc (NULL,) will work],glib_cv_sane_realloc,[
712 return realloc (0, sizeof (int)) == 0;
714 [glib_cv_sane_realloc=yes],
715 [glib_cv_sane_realloc=no],
718 if test x$glib_cv_sane_realloc = xyes; then
719 AC_DEFINE(REALLOC_0_WORKS,1,[whether realloc (NULL,) works])
722 dnl Check for nl_langinfo and CODESET
724 AC_MSG_CHECKING([for nl_langinfo (CODESET)])
725 AC_TRY_COMPILE([#include <langinfo.h>],
726 [char *codeset = nl_langinfo (CODESET);],
727 AC_DEFINE(HAVE_CODESET,1,[Have nl_langinfo (CODESET)])
730 AC_MSG_RESULT($have_codeset)
733 dnl ****************************************
734 dnl *** strlcpy/strlcat ***
735 dnl ****************************************
737 AC_MSG_CHECKING(for strlcpy/strlcat)
738 AC_TRY_LINK([#include <stdlib.h>
739 #include <string.h>], [
740 char *p = malloc(10);
741 (void) strlcpy(p, "hi", 10);
742 (void) strlcat(p, "bye", 10);
743 ], glib_ok=yes, glib_ok=no)
744 AC_MSG_RESULT($glib_ok)
745 if test "$glib_ok" = "yes"; then
746 AC_DEFINE(HAVE_STRLCPY,1,[Have functions strlcpy and strlcat])
750 dnl **********************
751 dnl *** va_copy checks ***
752 dnl **********************
753 dnl we currently check for all three va_copy possibilities, so we get
754 dnl all results in config.log for bug reports.
755 AC_CACHE_CHECK([for an implementation of va_copy()],glib_cv_va_copy,[
758 void f (int i, ...) {
759 va_list args1, args2;
761 va_copy (args2, args1);
762 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
764 va_end (args1); va_end (args2);
770 [glib_cv_va_copy=yes],
771 [glib_cv_va_copy=no],
774 AC_CACHE_CHECK([for an implementation of __va_copy()],glib_cv___va_copy,[
777 void f (int i, ...) {
778 va_list args1, args2;
780 __va_copy (args2, args1);
781 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
783 va_end (args1); va_end (args2);
789 [glib_cv___va_copy=yes],
790 [glib_cv___va_copy=no],
794 if test "x$glib_cv_va_copy" = "xyes"; then
795 g_va_copy_func=va_copy
796 else if test "x$glib_cv___va_copy" = "xyes"; then
797 g_va_copy_func=__va_copy
801 if test -n "$g_va_copy_func"; then
802 AC_DEFINE_UNQUOTED(G_VA_COPY,$g_va_copy_func,[A 'va_copy' style function])
805 AC_CACHE_CHECK([whether va_lists can be copied by value],glib_cv_va_val_copy,[
808 void f (int i, ...) {
809 va_list args1, args2;
812 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
814 va_end (args1); va_end (args2);
820 [glib_cv_va_val_copy=yes],
821 [glib_cv_va_val_copy=no],
825 if test "x$glib_cv_va_val_copy" = "xno"; then
826 AC_DEFINE(G_VA_COPY_AS_ARRAY,1, ['va_lists' cannot be copies as values])
829 dnl ***********************
830 dnl *** g_module checks ***
831 dnl ***********************
834 G_MODULE_PLUGIN_LIBS=
835 G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
836 dnl G_MODULE_IMPL= don't reset, so cmd-line can override
837 G_MODULE_NEED_USCORE=0
838 G_MODULE_BROKEN_RTLD_GLOBAL=0
839 G_MODULE_HAVE_DLERROR=0
840 dnl *** force native WIN32 shared lib loader
841 if test -z "$G_MODULE_IMPL"; then
843 *-*-mingw*|*-*-cygwin*) G_MODULE_IMPL=G_MODULE_IMPL_WIN32 ;;
846 dnl *** dlopen() and dlsym() in system libraries
847 if test -z "$G_MODULE_IMPL"; then
848 AC_CHECK_FUNC(dlopen,
849 [AC_CHECK_FUNC(dlsym,
850 [G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
853 dnl *** load_image (BeOS)
854 if test -z "$G_MODULE_IMPL" && test "x$glib_native_beos" = "xyes"; then
855 AC_CHECK_LIB(root, load_image,
856 [G_MODULE_LIBS="-lbe -lroot -lglib"
857 G_MODULE_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
858 G_MODULE_PLUGIN_LIBS="-L\$(top_builddir_full)/gmodule/.libs -lgmodule"
859 G_MODULE_IMPL=G_MODULE_IMPL_BEOS],
862 dnl *** NSLinkModule (dyld) in system libraries (Darwin)
863 if test -z "$G_MODULE_IMPL"; then
864 AC_CHECK_FUNC(NSLinkModule,
865 [G_MODULE_IMPL=G_MODULE_IMPL_DYLD
866 G_MODULE_NEED_USCORE=1],
869 dnl *** dlopen() and dlsym() in libdl
870 if test -z "$G_MODULE_IMPL"; then
871 AC_CHECK_LIB(dl, dlopen,
872 [AC_CHECK_LIB(dl, dlsym,
874 G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
877 dnl *** shl_load() in libdld (HP-UX)
878 if test -z "$G_MODULE_IMPL"; then
879 AC_CHECK_LIB(dld, shl_load,
881 G_MODULE_IMPL=G_MODULE_IMPL_DLD],
884 dnl *** additional checks for G_MODULE_IMPL_DL
885 if test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL"; then
887 LDFLAGS_orig="$LDFLAGS"
888 LIBS="$LIBS $G_MODULE_LIBS"
889 LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
890 dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
891 AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
892 glib_cv_rtldglobal_broken,[
896 #define RTLD_GLOBAL 0
903 void *handle, *global, *local;
904 global = &pthread_create;
905 handle = dlopen ("libpthread.so", RTLD_GLOBAL | RTLD_LAZY);
906 if (!handle) return 0;
907 local = dlsym (handle, "pthread_create");
908 return global == local;
910 [glib_cv_rtldglobal_broken=no],
911 [glib_cv_rtldglobal_broken=yes],
913 rm -f plugin.c plugin.o plugin.lo
915 if test "x$glib_cv_rtldglobal_broken" = "xyes"; then
916 G_MODULE_BROKEN_RTLD_GLOBAL=1
918 G_MODULE_BROKEN_RTLD_GLOBAL=0
920 dnl *** check whether we need preceeding underscores
921 AC_CACHE_CHECK([for preceeding underscore in symbols],
925 int glib_underscore_test (void) { return 42; }
927 void *f1 = (void*)0, *f2 = (void*)0, *handle;
928 handle = dlopen ((void*)0, 0);
930 f1 = dlsym (handle, "glib_underscore_test");
931 f2 = dlsym (handle, "_glib_underscore_test");
932 } return (!f2 || f1);
934 [glib_cv_uscore=yes],
937 rm -f plugin.c plugin.$ac_objext plugin.lo
939 if test "x$glib_cv_uscore" = "xyes"; then
940 G_MODULE_NEED_USCORE=1
942 G_MODULE_NEED_USCORE=0
945 LDFLAGS="$LDFLAGS_orig"
946 dnl *** check for having dlerror()
947 AC_CHECK_FUNC(dlerror,
948 [G_MODULE_HAVE_DLERROR=1],
949 [G_MODULE_HAVE_DLERROR=0])
952 dnl *** done, have we got an implementation?
953 if test -z "$G_MODULE_IMPL"; then
955 G_MODULE_SUPPORTED=false
957 G_MODULE_SUPPORTED=true
960 AC_MSG_CHECKING(for the suffix of shared libraries)
962 hpux9* | hpux10* | hpux11*) # taken from ltconfig
963 glib_gmodule_suffix='sl'
966 glib_gmodule_suffix='dll'
969 glib_gmodule_suffix='so'
972 AC_MSG_RESULT(.$glib_gmodule_suffix)
974 AC_SUBST(G_MODULE_SUPPORTED)
975 AC_SUBST(G_MODULE_IMPL)
976 AC_SUBST(G_MODULE_LIBS)
977 AC_SUBST(G_MODULE_LIBS_EXTRA)
978 AC_SUBST(G_MODULE_PLUGIN_LIBS)
979 AC_SUBST(G_MODULE_LDFLAGS)
980 AC_SUBST(G_MODULE_HAVE_DLERROR)
981 AC_SUBST(G_MODULE_BROKEN_RTLD_GLOBAL)
982 AC_SUBST(G_MODULE_NEED_USCORE)
983 AC_SUBST(GLIB_DEBUG_FLAGS)
985 dnl **********************
986 dnl *** g_spawn checks ***
987 dnl **********************
989 AC_MSG_CHECKING(for gspawn implementation)
992 GSPAWN=gspawn-win32.lo
998 AC_MSG_RESULT($GSPAWN)
1001 dnl *************************
1002 dnl *** GIOChannel checks ***
1003 dnl *************************
1005 AC_MSG_CHECKING(for GIOChannel implementation)
1017 dnl ****************************************
1018 dnl *** platform dependent source checks ***
1019 dnl ****************************************
1021 AC_MSG_CHECKING(for platform-dependent source)
1023 *-*-cygwin*|*-*-mingw*)
1024 PLATFORMDEP=gwin32.lo
1030 AC_MSG_RESULT($PLATFORMDEP)
1031 AC_SUBST(PLATFORMDEP)
1033 AC_MSG_CHECKING([whether to compile timeloop])
1035 *-*-cygwin*|*-*-mingw*)
1042 AC_MSG_RESULT($enable_timeloop)
1043 AM_CONDITIONAL(ENABLE_TIMELOOP, test x$enable_timeloop = xyes)
1045 AC_MSG_CHECKING([if building for some Win32 platform])
1047 *-*-mingw*|*-*-cygwin*)
1054 AC_MSG_RESULT($platform_win32)
1055 AM_CONDITIONAL(PLATFORM_WIN32, test x$platform_win32 = xyes)
1057 dnl ***********************
1058 dnl *** g_thread checks ***
1059 dnl ***********************
1061 AC_ARG_WITH(threads, [ --with-threads=[none/posix/dce/solaris/win32] specify a thread implementation to use],
1062 if test "x$with_threads" = x; then
1065 want_threads=$with_threads
1068 if test "x$enable_threads" = "xno"; then
1072 dnl error and warning message
1073 dnl *************************
1075 THREAD_NO_IMPLEMENTATION="You do not have any known thread system on your
1076 computer. GLib will not have a default thread implementation."
1078 FLAG_DOES_NOT_WORK="I can't find the MACRO to enable thread safety on your
1079 platform (normally it's "_REENTRANT"). I'll not use any flag on
1080 compilation now, but then your programs might not work.
1081 Please provide information on how it is done on your system."
1083 LIBS_NOT_FOUND_1="I can't find the libraries for the thread implementation
1086 LIBS_NOT_FOUND_2=". Please choose another thread implementation or
1087 provide information on your thread implementation.
1088 You can also run 'configure --disable-threads'
1089 to compile without thread support."
1091 FUNC_NO_GETPWUID_R="the 'g_get_(user_name|real_name|home_dir|tmp_dir)'
1092 functions will not be MT-safe during their first call because
1093 there is no working 'getpwuid_r' on your system."
1095 FUNC_NO_LOCALTIME_R="the 'g_date_set_time' function will not be MT-safe
1096 because there is no 'localtime_r' on your system."
1098 POSIX_NO_YIELD="I can not find a yield functions for your platform. A rather
1099 crude surrogate will be used. If you happen to know a
1100 yield function for your system, please inform the GLib
1103 POSIX_NO_PRIORITIES="I can not find the minimal and maximal priorities for
1104 threads on your system. Thus threads can only have the default
1105 priority. If you happen to know these main/max
1106 priorities, please inform the GLib developers."
1109 dnl determination of thread implementation
1110 dnl ***************************************
1112 # have_threads=no means no thread support
1113 # have_threads=none means no default thread implementation
1116 if test "x$want_threads" = xyes || test "x$want_threads" = xsolaris; then
1119 AC_CHECK_LIB(thread, cond_init, have_threads=solaris)
1123 if test "x$want_threads" = xyes || test "x$want_threads" = xposix \
1124 || test "x$want_threads" = xdce; then
1125 # -D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE is for DG/UX
1126 # -U_OSF_SOURCE is for Digital UNIX 4.0d
1127 GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
1128 glib_save_CPPFLAGS="$CPPFLAGS"
1129 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
1130 if test "x$have_threads" = xno; then
1131 AC_TRY_COMPILE([#include <pthread.h>],
1132 [pthread_attr_t attr; pthread_attr_init(&attr);],
1135 if test "x$have_threads" = xno; then
1136 AC_TRY_COMPILE([#include <pthread.h>],
1137 [pthread_attr_t attr; pthread_attr_create(&attr);],
1140 CPPFLAGS="$glib_save_CPPFLAGS"
1142 if test "x$want_threads" = xyes || test "x$want_threads" = xwin32; then
1149 if test "x$want_threads" = xnone; then
1153 AC_MSG_CHECKING(for thread implementation)
1155 if test "x$have_threads" = xno && test "x$want_threads" != xno; then
1156 AC_MSG_RESULT(none available)
1157 AC_MSG_WARN($THREAD_NO_IMPLEMENTATION)
1159 AC_MSG_RESULT($have_threads)
1163 dnl determination of G_THREAD_CFLAGS
1164 dnl ********************************
1167 G_THREAD_LIBS_EXTRA=
1170 if test x"$have_threads" != xno; then
1172 G_THREAD_CFLAGS="-D_REENTRANT" # good default guess
1176 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
1177 if test x"$GCC" = xyes; then
1178 # GCC 3.0 and above needs -pthread
1179 # GCC 2.x and below needs -mthreads
1180 AC_TRY_COMPILE(,[#if __GNUC__ <= 2
1183 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -pthread",
1184 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -mthreads")
1188 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
1190 # FreeBSD 2.2.x shiped with gcc 2.7.2.x, which doesn't support
1193 *-sysv5uw7*) # UnixWare 7
1194 if test "$GCC" != "yes"; then
1195 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -Kthread"
1197 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -pthread"
1201 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_POSIX4A_DRAFT10_SOURCE"
1204 # if we are not finding the localtime_r function, then we probably are
1205 # not using the proper multithread flag
1207 glib_save_CPPFLAGS="$CPPFLAGS"
1208 CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
1210 # First we test, whether localtime_r is declared in time.h
1211 # directly. Then we test whether a macro localtime_r exists, in
1212 # which case localtime_r in the test program is replaced and thus
1213 # if we still find localtime_r in the output, it is not defined as
1216 AC_EGREP_CPP([[^a-zA-Z1-9_]localtime_r[^a-zA-Z1-9_]], [#include <time.h>], ,
1217 [AC_EGREP_CPP([[^a-zA-Z1-9_]localtime_r[^a-zA-Z1-9_]], [#include <time.h>
1219 AC_MSG_WARN($FLAG_DOES_NOT_WORK))])
1221 CPPFLAGS="$glib_save_CPPFLAGS"
1223 AC_MSG_CHECKING(thread related cflags)
1224 AC_MSG_RESULT($G_THREAD_CFLAGS)
1225 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
1228 dnl determination of G_THREAD_LIBS
1229 dnl ******************************
1231 mutex_has_default=no
1232 case $have_threads in
1234 glib_save_CPPFLAGS="$CPPFLAGS"
1235 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
1237 glib_save_LIBS="$LIBS"
1239 *-sysv5uw7*) # UnixWare 7
1240 if test "$GCC" != "yes"; then
1241 G_THREAD_LIBS="-Kthread"
1243 G_THREAD_LIBS="-pthread"
1246 *-*-openbsd* | *-*-freebsd*)
1247 # FreeBSD and OpenBSD want us to use the -pthread flag
1248 # instead of linking to -lc_r and libtool enforces that.
1249 G_THREAD_LIBS="-pthread"
1252 for thread_lib in "" pthread pthread32 pthreads thread dce; do
1253 if test x"$thread_lib" = x; then
1257 add_thread_lib="-l$thread_lib"
1258 IN=" in -l$thread_lib"
1260 if test x"$have_threads" = xposix; then
1263 defattr=pthread_attr_default
1266 LIBS="$glib_save_LIBS $add_thread_lib"
1268 AC_MSG_CHECKING(for pthread_create/pthread_join$IN)
1269 AC_TRY_RUN([#include <pthread.h>
1271 void* func(void* data) {check_me = 42;}
1275 pthread_create (&t, $defattr, func, 0);
1276 pthread_join (t, &ret);
1277 exit (check_me != 42);
1280 G_THREAD_LIBS="$add_thread_lib"
1282 [AC_MSG_RESULT(no)])
1286 if test "x$G_THREAD_LIBS" = xerror; then
1287 AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
1289 for thread_lib in "" rt rte; do
1290 if test x"$thread_lib" = x; then
1294 add_thread_lib="-l$thread_lib"
1295 IN=" in -l$thread_lib"
1297 LIBS="$glib_save_LIBS $add_thread_lib"
1299 AC_MSG_CHECKING(for sched_get_priority_min$IN)
1300 AC_TRY_RUN([#include <sched.h>
1304 return sched_get_priority_min(SCHED_OTHER)==-1
1307 G_THREAD_LIBS="$G_THREAD_LIBS $add_thread_lib"
1308 posix_priority_min="sched_get_priority_min(SCHED_OTHER)"
1309 posix_priority_max="sched_get_priority_max(SCHED_OTHER)"
1311 [AC_MSG_RESULT(no)])
1313 LIBS="$glib_save_LIBS"
1314 mutex_has_default=yes
1315 mutex_default_type='pthread_mutex_t'
1316 mutex_default_init='PTHREAD_MUTEX_INITIALIZER'
1317 mutex_header_file='pthread.h'
1318 if test "x$have_threads" = "xposix"; then
1319 g_threads_impl="POSIX"
1321 g_threads_impl="DCE"
1322 have_threads="posix"
1324 AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
1325 CPPFLAGS="$glib_save_CPPFLAGS"
1329 AC_CHECK_LIB(thread, cond_init, G_THREAD_LIBS="-lthread")
1330 mutex_has_default=yes
1331 mutex_default_type='mutex_t'
1332 mutex_default_init="DEFAULTMUTEX"
1333 mutex_header_file='thread.h'
1334 g_threads_impl="SOLARIS"
1337 g_threads_impl="WIN32"
1341 g_threads_impl="NONE"
1344 g_threads_impl="NONE"
1349 if test "x$G_THREAD_LIBS" = xerror; then
1350 AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
1355 G_THREAD_LIBS="-lbe -lroot -lglib "
1356 G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
1362 AC_MSG_CHECKING(thread related libraries)
1363 AC_MSG_RESULT($G_THREAD_LIBS)
1365 dnl check for mt safe function variants and some posix functions
1366 dnl ************************************************************
1368 if test x"$have_threads" != xno; then
1369 glib_save_LIBS="$LIBS"
1370 # we are not doing the following for now, as this might require glib
1371 # to always be linked with the thread libs on some platforms.
1372 # LIBS="$LIBS $G_THREAD_LIBS"
1373 AC_CHECK_FUNCS(localtime_r)
1374 if test "$ac_cv_header_pwd_h" = "yes"; then
1375 AC_CACHE_CHECK([for posix getpwuid_r],
1376 ac_cv_func_posix_getpwuid_r,
1377 [AC_TRY_RUN([#include <errno.h>
1379 int main () { char buffer[10000];
1380 struct passwd pwd, *pwptr = &pwd;
1383 error = getpwuid_r (0, &pwd, buffer,
1384 sizeof (buffer), &pwptr);
1385 return (error < 0 && errno == ENOSYS)
1386 || error == ENOSYS; }],
1387 [ac_cv_func_posix_getpwuid_r=yes],
1388 [ac_cv_func_posix_getpwuid_r=no])])
1389 if test "$ac_cv_func_posix_getpwuid_r" = yes; then
1390 AC_DEFINE(HAVE_POSIX_GETPWUID_R,1,
1391 [Have POSIX function getpwuid_r])
1393 AC_CACHE_CHECK([for nonposix getpwuid_r],
1394 ac_cv_func_nonposix_getpwuid_r,
1395 [AC_TRY_LINK([#include <pwd.h>],
1396 [char buffer[10000];
1398 getpwuid_r (0, &pwd, buffer,
1400 [ac_cv_func_nonposix_getpwuid_r=yes],
1401 [ac_cv_func_nonposix_getpwuid_r=no])])
1402 if test "$ac_cv_func_nonposix_getpwuid_r" = yes; then
1403 AC_DEFINE(HAVE_NONPOSIX_GETPWUID_R,1,
1404 [Have non-POSIX function getpwuid_r])
1408 LIBS="$LIBS $G_THREAD_LIBS"
1409 if test x"$have_threads" = xposix; then
1410 glib_save_CPPFLAGS="$CPPFLAGS"
1411 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
1412 dnl we might grow sizeof(pthread_t) later on, so use a dummy name here
1413 GLIB_SIZEOF([#include <pthread.h>], pthread_t, system_thread)
1414 # This is not AC_CHECK_FUNC to also work with function
1415 # name mangling in header files.
1416 AC_MSG_CHECKING(for pthread_attr_setstacksize)
1417 AC_TRY_LINK([#include <pthread.h>],
1418 [pthread_attr_t t; pthread_attr_setstacksize(&t,0)],
1420 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE,1,
1421 [Have function pthread_attr_setstacksize])],
1422 [AC_MSG_RESULT(no)])
1423 AC_MSG_CHECKING(for minimal/maximal thread priority)
1424 if test x"$posix_priority_min" = xnone; then
1425 AC_EGREP_CPP(PX_PRIO_MIN,[#include <pthread.h>
1427 posix_priority_min=PX_PRIO_MIN
1428 posix_priority_max=PX_PRIO_MAX])
1430 if test x"$posix_priority_min" = xnone; then
1431 AC_EGREP_CPP(PRI_OTHER_MIN,[#include <pthread.h>
1433 posix_priority_min=PRI_OTHER_MIN
1434 posix_priority_max=PRI_OTHER_MAX])
1436 if test x"$posix_priority_min" = x; then
1437 AC_MSG_RESULT(none found)
1438 AC_MSG_WARN($POSIX_NO_PRIORITIES)
1439 posix_priority_min=-1
1440 posix_priority_max=-1
1442 AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
1443 AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min,[Minimum POSIX RT priority])
1444 AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max,[Maximum POSIX RT priority])
1446 posix_yield_func=none
1447 AC_MSG_CHECKING(for posix yield function)
1448 for yield_func in sched_yield pthread_yield_np pthread_yield \
1450 AC_TRY_LINK([#include <pthread.h>],
1452 [posix_yield_func="$yield_func"
1455 if test x"$posix_yield_func" = xnone; then
1456 AC_MSG_RESULT(none found)
1457 AC_MSG_WARN($POSIX_NO_YIELD)
1458 posix_yield_func="g_usleep(1000)"
1460 AC_MSG_RESULT($posix_yield_func)
1461 posix_yield_func="$posix_yield_func()"
1463 AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func,[The POSIX RT yield function])
1464 CPPFLAGS="$glib_save_CPPFLAGS"
1466 AC_MSG_CHECKING(whether to use the PID niceness surrogate for thread priorities)
1467 AC_TRY_RUN([#include <pthread.h>
1468 #include <sys/types.h>
1470 pid_t other_pid = 0;
1472 void* func(void* data) {other_pid = getpid();}
1476 pthread_create (&t, $defattr, func, NULL);
1477 pthread_join (t, &ret);
1478 exit (getpid()==other_pid ||
1479 $posix_priority_min != $posix_priority_max);
1482 AC_DEFINE(G_THREAD_USE_PID_SURROGATE, 1, [whether to use the PID niceness surrogate for thread priorities])
1484 [AC_MSG_RESULT(no)])
1485 elif test x"$have_threads" = xwin32; then
1486 # It's a pointer to a private struct
1487 GLIB_SIZEOF(,struct _GThreadData *, system_thread)
1488 elif test x"$have_threads" = xsolaris; then
1489 GLIB_SIZEOF([#include <thread.h>], thread_t, system_thread)
1492 LIBS="$glib_save_LIBS"
1494 # now spit out all the warnings.
1495 if test "$ac_cv_func_posix_getpwuid_r" != "yes" &&
1496 test "$ac_cv_func_nonposix_getpwuid_r" != "yes"; then
1497 AC_MSG_WARN($FUNC_NO_GETPWUID_R)
1499 if test "$ac_cv_func_localtime_r" != "yes"; then
1500 AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
1504 if test x"$glib_cv_sizeof_system_thread" = x; then
1505 # use a pointer as a fallback.
1506 GLIB_SIZEOF(,void *, system_thread)
1509 AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c",
1510 [Source file containing theread implementation])
1511 AC_SUBST(G_THREAD_CFLAGS)
1512 AC_SUBST(G_THREAD_LIBS)
1513 AC_SUBST(G_THREAD_LIBS_EXTRA)
1515 dnl **********************************************
1516 dnl *** GDefaultMutex setup and initialization ***
1517 dnl **********************************************
1519 dnl if mutex_has_default = yes, we also got
1520 dnl mutex_default_type, mutex_default_init and mutex_header_file
1521 GLIB_IF_VAR_EQ(mutex_has_default, yes,
1522 glib_save_CPPFLAGS="$CPPFLAGS"
1523 glib_save_LIBS="$LIBS"
1524 LIBS="$LIBS $G_THREAD_LIBS"
1525 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
1526 GLIB_SIZEOF([#include <$mutex_header_file>],
1527 $mutex_default_type,
1530 GLIB_BYTE_CONTENTS([#include <$mutex_header_file>],
1531 $mutex_default_type,
1533 $glib_cv_sizeof_gmutex,
1534 $mutex_default_init)
1535 if test x"$glib_cv_byte_contents_gmutex" = xno; then
1536 mutex_has_default=no
1538 CPPFLAGS="$glib_save_CPPFLAGS"
1539 LIBS="$glib_save_LIBS"
1544 dnl ****************************************
1545 dnl *** GLib POLL* compatibility defines ***
1546 dnl ****************************************
1548 [#include <sys/types.h>
1549 #include <sys/poll.h>],
1550 POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
1551 glibconfig-sysdefs.h,
1554 dnl **********************
1555 dnl *** Win32 API libs ***
1556 dnl **********************
1560 G_LIBS_EXTRA="-luser32 -lwsock32 -lkernel32"
1563 G_LIBS_EXTRA="-lwsock32"
1569 AC_SUBST(G_LIBS_EXTRA)
1571 dnl ***********************
1572 dnl *** Tests for iconv ***
1573 dnl ***********************
1575 AC_ARG_WITH(libiconv, [ --with-libiconv=[no/gnu/native] use the libiconv library ],,with_libiconv=maybe)
1578 case $with_libiconv in
1580 # Check in the C library first
1581 AC_CHECK_FUNC(iconv_open, with_libiconv=no; found_iconv=yes)
1582 # Check if we have GNU libiconv
1583 if test $found_iconv = "no"; then
1584 AC_CHECK_LIB(iconv, libiconv_open, with_libiconv=gnu; found_iconv=yes)
1586 # Check if we have a iconv in -liconv, possibly from vendor
1587 if test $found_iconv = "no"; then
1588 AC_CHECK_LIB(iconv, iconv_open, with_libiconv=native; found_iconv=yes)
1592 AC_CHECK_FUNC(iconv_open, with_libiconv=no; found_iconv=yes)
1595 AC_CHECK_LIB(iconv, libiconv_open, with_libiconv=gnu; found_iconv=yes)
1598 AC_CHECK_LIB(iconv, iconv_open, with_libiconv=native; found_iconv=yes)
1602 if test "x$found_iconv" = "xno" ; then
1603 AC_MSG_ERROR([*** No iconv() implementation found in C library or libiconv])
1606 case $with_libiconv in
1608 ICONV_LIBS="-liconv"
1609 AC_DEFINE(USE_LIBICONV_GNU, [Using GNU libiconv])
1612 ICONV_LIBS="-liconv"
1613 AC_DEFINE(USE_LIBICONV_NATIVE, [Using a native implementation of iconv in a separate library])
1616 AC_SUBST(ICONV_LIBS)
1618 dnl If the system doesn't define EILSEQ, we should define EILSEQ ourselves
1619 dnl since we need it for g_iconv()
1621 AC_MSG_CHECKING([for EILSEQ])
1627 ], have_eilseq=yes, have_eilseq=no);
1628 AC_MSG_RESULT($have_eilseq)
1630 dnl ******************************************************************
1631 dnl *** Look for glib-genmarshal in PATH if we are cross-compiling ***
1632 dnl ******************************************************************
1634 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1636 if test $cross_compiling = yes; then
1637 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
1638 if test x$GLIB_GENMARSHAL = xno; then
1639 AC_MSG_ERROR(Could not find a glib-genmarshal in your PATH)
1643 dnl **************************
1644 dnl *** Checks for gtk-doc ***
1645 dnl **************************
1647 AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs])
1649 if test "x$with_html_dir" = "x" ; then
1650 HTML_DIR='${datadir}/gtk-doc/html'
1652 HTML_DIR=$with_html_dir
1657 AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
1659 gtk_doc_min_version=0.6
1661 gtk_doc_version=`gtkdoc-mkdb --version`
1662 AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
1663 if perl <<EOF ; then
1664 exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
1665 ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
1674 AM_CONDITIONAL(HAVE_GTK_DOC, $GTKDOC)
1675 AC_SUBST(HAVE_GTK_DOC)
1677 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1678 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1680 dnl Let people disable the gtk-doc stuff.
1681 AC_ARG_ENABLE(gtk-doc, [ --enable-gtk-doc use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=no)
1683 if test x$enable_gtk_doc = xyes ; then
1684 if test x$GTKDOC = xtrue ; then
1691 dnl NOTE: We need to use a separate automake conditional for this
1692 dnl to make this work with the tarballs.
1693 AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
1695 dnl ******************************
1696 dnl *** output the whole stuff ***
1697 dnl ******************************
1699 AC_OUTPUT_COMMANDS([
1701 ## Generate `glibconfig.h' in two cases
1702 ## 1. `config.status' is run either explicitly, or via configure.
1703 ## Esp. not when it is run in `Makefile' to generate makefiles and
1705 ## 2. CONFIG_OTHER is set explicitly
1707 ## Case 1 is difficult. We know that `automake' sets one of
1708 ## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
1709 ## only when AM_CONFIG_HEADER is set, however.
1711 if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
1712 # Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
1713 CONFIG_OTHER=${CONFIG_OTHER:-glibconfig.h}
1715 case "$CONFIG_OTHER" in
1717 echo creating glibconfig.h
1718 outfile=glibconfig.h-tmp
1719 cat > $outfile <<\_______EOF
1722 * This is a generated file. Please modify 'configure.in'
1725 #ifndef __G_LIBCONFIG_H__
1726 #define __G_LIBCONFIG_H__
1728 #include <glib/gmacros.h>
1732 if test x$glib_limits_h = xyes; then
1733 echo '#include <limits.h>' >> $outfile
1735 if test x$glib_float_h = xyes; then
1736 echo '#include <float.h>' >> $outfile
1738 if test x$glib_values_h = xyes; then
1739 echo '#include <values.h>' >> $outfile
1741 if test "$glib_header_alloca_h" = "yes"; then
1742 echo '#define GLIB_HAVE_ALLOCA_H' >> $outfile
1744 if test x$glib_sys_poll_h = xyes; then
1745 echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
1748 cat >> $outfile <<_______EOF
1752 #define G_MINFLOAT $glib_mf
1753 #define G_MAXFLOAT $glib_Mf
1754 #define G_MINDOUBLE $glib_md
1755 #define G_MAXDOUBLE $glib_Md
1756 #define G_MINSHORT $glib_ms
1757 #define G_MAXSHORT $glib_Ms
1758 #define G_MAXUSHORT $glib_Mus
1759 #define G_MININT $glib_mi
1760 #define G_MAXINT $glib_Mi
1761 #define G_MAXUINT $glib_Mui
1762 #define G_MINLONG $glib_ml
1763 #define G_MAXLONG $glib_Ml
1764 #define G_MAXULONG $glib_Mul
1766 #define G_MININT64 ((gint64) 0x8000000000000000)
1767 #define G_MAXINT64 ((gint64) 0x7fffffffffffffff)
1768 #define G_MAXUINT64 ((guint64) 0xffffffffffffffff)
1773 ### this should always be true in a modern C/C++ compiler
1774 cat >>$outfile <<_______EOF
1775 typedef signed char gint8;
1776 typedef unsigned char guint8;
1780 if test -n "$gint16"; then
1781 cat >>$outfile <<_______EOF
1782 typedef signed $gint16 gint16;
1783 typedef unsigned $gint16 guint16;
1784 #define G_GINT16_FORMAT $gint16_format
1785 #define G_GUINT16_FORMAT $guint16_format
1790 if test -n "$gint32"; then
1791 cat >>$outfile <<_______EOF
1792 typedef signed $gint32 gint32;
1793 typedef unsigned $gint32 guint32;
1794 #define G_GINT32_FORMAT $gint32_format
1795 #define G_GUINT32_FORMAT $guint32_format
1799 cat >>$outfile <<_______EOF
1800 #define G_HAVE_GINT64 1 /* deprecated, always true */
1802 ${glib_extension}typedef signed $gint64 gint64;
1803 ${glib_extension}typedef unsigned $gint64 guint64;
1805 #define G_GINT64_CONSTANT(val) $gint64_constant
1808 if test x$gint64_format != x ; then
1809 cat >>$outfile <<_______EOF
1810 #define G_GINT64_FORMAT $gint64_format
1811 #define G_GUINT64_FORMAT $guint64_format
1814 cat >>$outfile <<_______EOF
1815 #undef G_GINT64_FORMAT
1816 #undef G_GUINT64_FORMAT
1820 cat >>$outfile <<_______EOF
1822 #define GLIB_SIZEOF_VOID_P $glib_void_p
1823 #define GLIB_SIZEOF_LONG $glib_long
1824 #define GLIB_SIZEOF_SIZE_T $glib_size_t
1828 echo "typedef signed $glib_size_type_define gssize;" >> $outfile
1829 echo "typedef unsigned $glib_size_type_define gsize;" >> $outfile
1831 if test -z "$glib_unknown_void_p"; then
1832 cat >>$outfile <<_______EOF
1834 #define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p))
1835 #define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p))
1837 #define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
1838 #define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
1841 echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
1846 cat >>$outfile <<_______EOF
1855 #define G_HAVE_INLINE 1
1856 #else /* !__cplusplus */
1858 #endif /* !__cplusplus */
1862 if test x$g_have_iso_c_varargs = xyes ; then
1863 cat >>$outfile <<_______EOF
1865 # define G_HAVE_ISO_VARARGS 1
1869 if test x$g_have_iso_cxx_varargs = xyes ; then
1870 cat >>$outfile <<_______EOF
1872 # define G_HAVE_ISO_VARARGS 1
1876 if test x$g_have_gnuc_varargs = xyes ; then
1877 cat >>$outfile <<_______EOF
1879 /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
1880 * is passed ISO vararg support is turned off, and there is no work
1881 * around to turn it on, so we unconditionally turn it off.
1883 #if __GNUC__ == 2 && __GNUC_MINOR__ == 95
1884 # undef G_HAVE_ISO_VARARGS
1887 #define G_HAVE_GNUC_VARARGS 1
1891 case x$g_stack_grows in
1892 xyes) echo "#define G_HAVE_GROWING_STACK 1" >>$outfile ;;
1893 *) echo "#define G_HAVE_GROWING_STACK 0" >>$outfile ;;
1898 if test x$g_have_eilseq = xno; then
1899 cat >>$outfile <<_______EOF
1901 /* On some systems, like SunOS and NetBSD, EILSEQ is not defined.
1902 * The correspondence between this and the corresponding definition
1903 * in libiconv is essential.
1905 # define EILSEQ ENOENT
1912 if test x$g_mutex_has_default = xyes; then
1913 cat >>$outfile <<_______EOF
1914 $g_enable_threads_def G_THREADS_ENABLED
1915 #define G_THREADS_IMPL_$g_threads_impl_def
1916 typedef struct _GStaticMutex GStaticMutex;
1917 struct _GStaticMutex
1919 struct _GMutex *runtime_mutex;
1921 char pad[$g_mutex_sizeof];
1922 double dummy_double;
1923 void *dummy_pointer;
1927 #define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
1928 #define g_static_mutex_get_mutex(mutex) \
1929 (g_thread_use_default_impl ? ((GMutex*) &((mutex)->static_mutex)) : \
1930 g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
1933 cat >>$outfile <<_______EOF
1934 $g_enable_threads_def G_THREADS_ENABLED
1935 #define G_THREADS_IMPL_$g_threads_impl_def
1936 typedef struct _GMutex* GStaticMutex;
1937 #define G_STATIC_MUTEX_INIT NULL
1938 #define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
1942 cat >>$outfile <<_______EOF
1943 /* This represents a system thread as used by the implementation. An
1944 * alien implementaion, as loaded by g_thread_init can only count on
1945 * "sizeof (gpointer)" bytes to store their info. We however need more
1946 * for some of our native implementations. */
1947 typedef union _GSystemThread GSystemThread;
1948 union _GSystemThread
1950 char data[$g_system_thread_sizeof];
1951 double dummy_double;
1952 void *dummy_pointer;
1958 g_bit_sizes="16 32 64"
1959 for bits in $g_bit_sizes; do
1960 cat >>$outfile <<_______EOF
1961 #define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
1962 #define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val))
1963 #define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
1964 #define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val))
1968 cat >>$outfile <<_______EOF
1969 #define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val))
1970 #define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val))
1971 #define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val))
1972 #define GULONG_TO_BE(val) ((gulong) GUINT${glongbits}_TO_BE (val))
1973 #define GINT_TO_LE(val) ((gint) GINT${gintbits}_TO_LE (val))
1974 #define GUINT_TO_LE(val) ((guint) GUINT${gintbits}_TO_LE (val))
1975 #define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val))
1976 #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val))
1977 #define G_BYTE_ORDER $g_byte_order
1981 if test -r glibconfig-sysdefs.h; then
1982 cat glibconfig-sysdefs.h >>$outfile
1985 cat >>$outfile <<_______EOF
1987 #define G_MODULE_SUFFIX "$g_module_suffix"
1991 #endif /* GLIBCONFIG_H */
1995 if cmp -s $outfile glibconfig.h; then
1996 echo glibconfig.h is unchanged
1999 mv $outfile glibconfig.h
2004 # Note that if two cases are the same, case goes with the first one.
2005 # Note also that this is inside an AC_OUTPUT_COMMAND. We do not depend
2006 # on variable expansion in case labels. Look at the generated config.status
2009 if test "x${ac_cv_working_alloca_h+set}" = xset ; then
2010 glib_header_alloca_h="$ac_cv_working_alloca_h"
2012 glib_header_alloca_h="$ac_cv_header_alloca_h"
2016 x$ac_cv_header_float_h)
2018 glib_mf=FLT_MIN glib_Mf=FLT_MAX
2019 glib_md=DBL_MIN glib_Md=DBL_MAX
2021 x$ac_cv_header_values_h)
2023 glib_mf=MINFLOAT glib_Mf=MAXFLOAT
2024 glib_md=MINDOUBLE glib_Md=MAXDOUBLE
2029 x$ac_cv_header_limits_h)
2031 glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX
2032 glib_mi=INT_MIN glib_Mi=INT_MAX glib_Mui=UINT_MAX
2033 glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX
2035 x$ac_cv_header_values_h)
2037 glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)"
2038 glib_mi=MININT glib_Mi=MAXINT glib_Mui="(((guint)G_MAXINT)*2+1)"
2039 glib_ml=MINLONG glib_Ml=MAXLONG glib_Mul="(((gulong)G_MAXLONG)*2+1)"
2043 if test x$ac_cv_header_sys_poll_h = xyes ; then
2048 $ac_cv_sizeof_short)
2050 gint16_format='"hi"'
2051 guint16_format='"hu"'
2056 guint16_format='"u"'
2060 $ac_cv_sizeof_short)
2062 gint32_format='"hi"'
2063 guint32_format='"hu"'
2068 guint32_format='"u"'
2072 gint32_format='"li"'
2073 guint32_format='"lu"'
2080 guint64_format='"u"'
2082 gint64_constant='(val)'
2086 gint64_format='"li"'
2087 guint64_format='"lu"'
2089 gint64_constant='(val##L)'
2091 $ac_cv_sizeof_long_long)
2093 if test -n "$glib_cv_long_long_format"; then
2094 gint64_format='"'$glib_cv_long_long_format'i"'
2095 guint64_format='"'$glib_cv_long_long_format'u"'
2097 glib_extension='G_GNUC_EXTENSION '
2098 gint64_constant='(G_GNUC_EXTENSION (val##LL))'
2100 $ac_cv_sizeof___int64)
2102 if test -n "$glib_cv_long_long_format"; then
2103 gint64_format='"'$glib_cv_long_long_format'i"'
2104 guint64_format='"'$glib_cv_long_long_format'u"'
2107 gint64_constant='(val##i64)'
2110 glib_size_t=$glib_cv_sizeof_size_t
2111 glib_size_type_define=$glib_size_type
2112 glib_void_p=$ac_cv_sizeof_long
2113 glib_long=$ac_cv_sizeof_void_p
2115 gintbits=`expr $ac_cv_sizeof_int \* 8`
2116 glongbits=`expr $ac_cv_sizeof_long \* 8`
2119 case $ac_cv_sizeof_void_p in
2120 $ac_cv_sizeof_int) glib_gpi_cast='' glib_gpui_cast='' ;;
2121 $ac_cv_sizeof_long) glib_gpi_cast='(glong)' glib_gpui_cast='(gulong)' ;;
2122 *) glib_unknown_void_p=yes ;;
2127 x$ac_cv_func_atexit)
2129 #ifdef NeXT /* @#%@! NeXTStep */
2130 # define g_ATEXIT(proc) (!atexit (proc))
2132 # define g_ATEXIT(proc) (atexit (proc))
2135 x$ac_cv_func_on_exit)
2137 #define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))"
2142 x$ac_cv_func_memmove)
2144 #define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END'
2146 x$glib_cv_working_bcopy)
2148 /* memmove isn't available, but bcopy can copy overlapping memory regions */
2149 #define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END"
2153 /* memmove isn't found and bcopy can't copy overlapping memory regions,
2154 * so we have to roll our own copy routine. */
2155 void g_memmove (void* dest, const void * src, unsigned long len);"
2160 #define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION
2161 #define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION
2162 #define GLIB_MICRO_VERSION $GLIB_MICRO_VERSION
2166 x$glib_cv_va_copy) glib_vacopy='#define G_VA_COPY va_copy' ;;
2167 x$glib_cv___va_copy) glib_vacopy='#define G_VA_COPY __va_copy' ;;
2171 if test x$glib_cv_va_val_copy = xno; then
2172 glib_vacopy="\$glib_vacopy
2173 #define G_VA_COPY_AS_ARRAY 1"
2176 if test x$glib_cv_hasinline = xyes; then
2177 glib_inline='#define G_HAVE_INLINE 1'
2179 if test x$glib_cv_has__inline = xyes; then
2180 glib_inline="\$glib_inline
2181 #define G_HAVE___INLINE 1"
2183 if test x$glib_cv_has__inline__ = xyes; then
2184 glib_inline="\$glib_inline
2185 #define G_HAVE___INLINE__ 1"
2188 g_have_gnuc_varargs=$g_have_gnuc_varargs
2189 g_have_iso_c_varargs=$g_have_iso_c_varargs
2190 g_have_iso_cxx_varargs=$g_have_iso_cxx_varargs
2193 x$ac_cv_c_bigendian)
2194 g_byte_order=G_BIG_ENDIAN
2199 g_byte_order=G_LITTLE_ENDIAN
2205 g_stack_grows=$glib_cv_stack_grows
2207 g_have_eilseq=$have_eilseq
2209 case x$have_threads in
2210 xno) g_enable_threads_def="#undef";;
2211 *) g_enable_threads_def="#define";;
2214 g_threads_impl_def=$g_threads_impl
2216 g_mutex_has_default="$mutex_has_default"
2217 g_mutex_sizeof="$glib_cv_sizeof_gmutex"
2218 g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
2219 g_mutex_contents="$glib_cv_byte_contents_gmutex"
2221 g_module_suffix="$glib_gmodule_suffix"
2225 glib_os="#define G_OS_BEOS"
2228 glib_os="#define G_OS_UNIX
2229 #define G_PLATFORM_WIN32
2230 #define G_WITH_CYGWIN"
2233 glib_os="#define G_OS_WIN32
2234 #define G_PLATFORM_WIN32"
2237 glib_os="#define G_OS_UNIX"
2244 glib-2.0-uninstalled.pc
2246 gmodule-2.0-uninstalled.pc
2248 gthread-2.0-uninstalled.pc
2250 gobject-2.0-uninstalled.pc
2256 build/win32/Makefile
2257 build/win32/dirent/Makefile
2259 glib/libcharset/Makefile
2260 gmodule/gmoduleconf.h
2263 gobject/glib-mkenums
2267 docs/reference/Makefile
2268 docs/reference/glib/Makefile
2269 docs/reference/gobject/Makefile