1 dnl ***********************************
2 dnl *** include special GLib macros ***
3 dnl ***********************************
4 builtin(include, acglib.m4)dnl
6 # require autoconf 2.13
9 # Process this file with autoconf to produce a configure script.
12 # Save this value here, since automake will set cflags later
13 cflags_set=${CFLAGS+set}
15 # we rewrite this file
16 rm -f glibconfig-sysdefs.h
18 dnl we need to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
19 dnl are available for $ac_help expansion (don't we all *love* autoconf?)
20 AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
22 # The following version number definitions apply to GLib, GModule and GThread
23 # 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
43 AC_SUBST(GLIB_MAJOR_VERSION)
44 AC_SUBST(GLIB_MINOR_VERSION)
45 AC_SUBST(GLIB_MICRO_VERSION)
46 AC_SUBST(GLIB_VERSION)
47 AC_SUBST(GLIB_INTERFACE_AGE)
48 AC_SUBST(GLIB_BINARY_AGE)
51 LT_RELEASE=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION
52 LT_CURRENT=`expr $GLIB_MICRO_VERSION - $GLIB_INTERFACE_AGE`
53 LT_REVISION=$GLIB_INTERFACE_AGE
54 LT_AGE=`expr $GLIB_BINARY_AGE - $GLIB_INTERFACE_AGE`
63 AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
65 # Specify a configuration file
66 AM_CONFIG_HEADER(config.h)
68 AC_DEFINE_UNQUOTED(GLIB_MAJOR_VERSION, $GLIB_MAJOR_VERSION)
69 AC_DEFINE_UNQUOTED(GLIB_MINOR_VERSION, $GLIB_MINOR_VERSION)
70 AC_DEFINE_UNQUOTED(GLIB_MICRO_VERSION, $GLIB_MICRO_VERSION)
71 AC_DEFINE_UNQUOTED(GLIB_INTERFACE_AGE, $GLIB_INTERFACE_AGE)
72 AC_DEFINE_UNQUOTED(GLIB_BINARY_AGE, $GLIB_BINARY_AGE)
74 dnl Initialize libtool
77 dnl Initialize maintainer mode
82 AC_MSG_CHECKING(for the BeOS)
85 glib_native_beos="yes"
91 AC_MSG_RESULT([$glib_native_beos])
93 dnl figure debugging default, prior to $ac_help setup
95 AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
96 if test `expr $GLIB_MINOR_VERSION \% 2` = 1 ; then
103 dnl declare --enable-* args and collect ac_help strings
104 AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
105 AC_ARG_ENABLE(msg-prefix, [ --enable-msg-prefix turn on program name and PID prefixing of messages and warnings],,enable_msg_prefix=no)
106 AC_ARG_ENABLE(mem_check, [ --enable-mem-check turn on malloc/free sanity checking [default=no]],,enable_mem_check=no)
107 AC_ARG_ENABLE(mem_profile, [ --enable-mem-profile turn on malloc profiling atexit [default=no]],,enable_mem_profile=no)
108 AC_ARG_ENABLE(gc_friendly, [ --enable-gc-friendly turn on garbage collector friendliness [default=no]],,enable_gc_friendly=no)
109 AC_ARG_ENABLE(ansi, [ --enable-ansi turn on strict ansi [default=no]],
111 AC_ARG_ENABLE(threads, [ --enable-threads turn on basic thread support [default=yes]
112 ([=no] will override --with-threads)],,enable_threads=yes)
114 if test "x$enable_threads" != "xyes"; then
118 AC_MSG_CHECKING(whether to enable memory checking)
119 if test "x$enable_mem_check" = "xyes"; then
120 AC_DEFINE(ENABLE_MEM_CHECK, 1)
121 AC_SUBST(ENABLE_MEM_CHECK)
127 AC_MSG_CHECKING(whether to enable memory profiling)
128 if test "x$enable_mem_profile" = "xyes"; then
129 AC_DEFINE(ENABLE_MEM_PROFILE, 1)
130 AC_SUBST(ENABLE_MEM_PROFILE)
136 AC_MSG_CHECKING(whether to enable garbage collector friendliness)
137 if test "x$enable_gc_friendly" = "xyes"; then
138 AC_DEFINE(ENABLE_GC_FRIENDLY, 1)
139 AC_SUBST(ENABLE_GC_FRIENDLY)
145 if test "x$enable_debug" = "xyes"; then
146 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
147 GLIB_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
149 if test "x$enable_debug" = "xno"; then
150 GLIB_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
154 AC_DEFINE_UNQUOTED(G_COMPILED_WITH_DEBUGGING, "${enable_debug}")
156 if test "x$enable_msg_prefix" = "xyes"; then
157 AC_DEFINE_UNQUOTED(G_ENABLE_MSG_PREFIX, 1)
160 # Checks for programs.
166 if test "x$GCC" = "xyes"; then
168 *[\ \ ]-Wall[\ \ ]*) ;;
169 *) CFLAGS="$CFLAGS -Wall" ;;
172 if test "x$enable_ansi" = "xyes"; then
174 *[\ \ ]-ansi[\ \ ]*) ;;
175 *) CFLAGS="$CFLAGS -ansi" ;;
179 *[\ \ ]-pedantic[\ \ ]*) ;;
180 *) CFLAGS="$CFLAGS -pedantic" ;;
186 dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
187 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
190 AC_TRY_RUN([#include <math.h>
191 int main (void) { return (log(1) != log(1.)); }],
192 AC_MSG_RESULT(none needed),
193 glib_save_CFLAGS=$CFLAGS
194 CFLAGS="$CFLAGS -std1"
195 AC_TRY_RUN([#include <math.h>
196 int main (void) { return (log(1) != log(1.)); }],
197 AC_MSG_RESULT(-std1),
199 CFLAGS=$glib_save_CFLAGS
201 [No ANSI prototypes found in library. (-std1 didn't work.)])
206 dnl NeXTStep cc seems to need this
207 AC_MSG_CHECKING([for extra flags for POSIX compliance])
208 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
209 AC_MSG_RESULT(none needed),
210 glib_save_CFLAGS=$CFLAGS
211 CFLAGS="$CFLAGS -posix"
212 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
213 AC_MSG_RESULT(-posix),
215 CFLAGS=$glib_save_CFLAGS
216 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
218 # Checks for header files.
221 # Checks for library functions.
224 AC_CHECK_FUNCS(atexit on_exit)
226 AC_CHECK_SIZEOF(char)
227 AC_CHECK_SIZEOF(short)
228 AC_CHECK_SIZEOF(long)
230 AC_CHECK_SIZEOF(void *)
231 AC_CHECK_SIZEOF(long long)
233 if test x$ac_cv_sizeof_long_long = x8; then
234 # long long is a 64 bit integer.
235 AC_MSG_CHECKING(for format to printf and scanf a gint64)
236 AC_CACHE_VAL(glib_cv_long_long_format,[
237 AC_TRY_RUN([#include <stdio.h>
240 long long b, a = -0x3AFAFAFAFAFAFAFALL;
242 sprintf (buffer, "%llu", a);
243 sscanf (buffer, "%llu", &b);
247 glib_cv_long_long_format=ll,
248 glib_cv_long_long_format=q)])
249 AC_MSG_RESULT(%${glib_cv_long_long_format}i)
252 dnl long doubles were not used, and a portability problem
256 dnl AC_C_INLINE is useless to us since it bails out too early, we need to
257 dnl truely know which ones of `inline', `__inline' and `__inline__' are
258 dnl actually supported.
259 AC_MSG_CHECKING(for __inline)
260 AC_CACHE_VAL(glib_cv_has__inline,[
262 __inline int foo () { return 0; }
263 int main () { return foo (); }
265 glib_cv_has__inline=yes
267 glib_cv_has__inline=no
270 AC_MSG_RESULT($glib_cv_has__inline)
271 case x$glib_cv_has__inline in
272 xyes) AC_DEFINE(G_HAVE___INLINE)
274 AC_MSG_CHECKING(for __inline__)
275 AC_CACHE_VAL(glib_cv_has__inline__,[
277 __inline__ int foo () { return 0; }
278 int main () { return foo (); }
280 glib_cv_has__inline__=yes
282 glib_cv_has__inline__=no
285 AC_MSG_RESULT($glib_cv_has__inline__)
286 case x$glib_cv_has__inline__ in
287 xyes) AC_DEFINE(G_HAVE___INLINE__)
289 AC_MSG_CHECKING(for inline)
290 AC_CACHE_VAL(glib_cv_hasinline,[
292 inline int foo () { return 0; }
293 int main () { return foo (); }
295 glib_cv_hasinline=yes
300 AC_MSG_RESULT($glib_cv_hasinline)
301 case x$glib_cv_hasinline in
302 xyes) AC_DEFINE(G_HAVE_INLINE)
305 # check for bytesex stuff
308 # xhexk for header files
309 AC_CHECK_HEADERS(float.h, AC_DEFINE(HAVE_FLOAT_H))
310 AC_CHECK_HEADERS(limits.h, AC_DEFINE(HAVE_LIMITS_H))
311 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
312 AC_CHECK_HEADERS(sys/param.h, AC_DEFINE(HAVE_SYS_PARAM_H))
313 AC_CHECK_HEADERS(sys/poll.h, AC_DEFINE(HAVE_SYS_POLL_H))
314 AC_CHECK_HEADERS(sys/select.h, AC_DEFINE(HAVE_SYS_SELECT_H))
315 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
316 AC_CHECK_HEADERS(sys/times.h, AC_DEFINE(HAVE_SYS_TIMES_H))
317 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
318 AC_CHECK_HEADERS(values.h, AC_DEFINE(HAVE_VALUES_H))
319 AC_CHECK_HEADERS(stdint.h, AC_DEFINE(HAVE_VALUES_H))
321 # check additional type sizes
329 if test "x$ac_cv_header_stdint_h" = "xyes"; then
330 size_includes=["$size_includes
334 if test "x$ac_cv_header_unistd_h" = "xyes"; then
335 size_includes=["$size_includes
339 GLIB_SIZEOF([$size_includes], size_t, size_t)
340 GLIB_SIZEOF([$size_includes], ptrdiff_t, ptrdiff_t)
341 GLIB_SIZEOF([$size_includes], intmax_t, intmax_t)
343 # Check for some functions
344 AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf strcasecmp strncasecmp poll)
346 # Check if bcopy can be used for overlapping copies, if memmove isn't found.
347 # The check is borrowed from the PERL Configure script.
348 if test "$ac_cv_func_memmove" != "yes"; then
349 AC_CACHE_CHECK(whether bcopy can handle overlapping copies,
350 glib_cv_working_bcopy,[AC_TRY_RUN([
352 char buf[128], abc[128], *b;
354 bcopy("abcdefghijklmnopqrstuvwxyz0123456789", abc, 36);
355 for (align = 7; align >= 0; align--) {
356 for (len = 36; len; len--) {
357 b = buf+align; bcopy(abc, b, len);
358 for (off = 1; off <= len; off++) {
359 bcopy(b, b+off, len); bcopy(b+off, b, len);
360 if (bcmp(b, abc, len)) return(1);
365 }],glib_cv_working_bcopy=yes,glib_cv_working_bcopy=no)])
366 if test "$glib_cv_working_bcopy" == "yes"; then
367 AC_DEFINE(HAVE_WORKING_BCOPY)
371 # Check for sys_errlist
372 AC_MSG_CHECKING(for sys_errlist)
374 extern char *sys_errlist[];
376 sys_errlist[sys_nerr-1][0] = 0;
377 ], glib_ok=yes, glib_ok=no)
378 AC_MSG_RESULT($glib_ok)
379 if test $glib_ok = no; then
380 AC_DEFINE(NO_SYS_ERRLIST)
383 # Check for sys_siglist
384 AC_MSG_CHECKING(for sys_siglist)
386 extern char *sys_siglist[];
387 strlen (sys_siglist[0]);
388 ], glib_ok=yes, glib_ok=no)
389 AC_MSG_RESULT($glib_ok)
390 if test $glib_ok = no; then
391 AC_DEFINE(NO_SYS_SIGLIST)
394 # Check for sys_siglist decl (see Tue Jan 19 00:44:24 1999 in changelog)
395 AC_MSG_CHECKING(for sys_siglist declaration)
396 AC_TRY_COMPILE([#include <signal.h>], [
397 strlen (sys_siglist[0]);
398 ], glib_ok=yes, glib_ok=no)
399 AC_MSG_RESULT($glib_ok)
400 if test $glib_ok = no; then
401 AC_DEFINE(NO_SYS_SIGLIST_DECL)
404 # Check if <sys/select.h> needs to be included for fd_set
405 AC_MSG_CHECKING([for fd_set])
406 AC_TRY_COMPILE([#include <sys/types.h>],
407 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
408 if test $gtk_ok = yes; then
409 AC_MSG_RESULT([yes, found in sys/types.h])
411 AC_HEADER_EGREP(fd_set, sys/select.h, gtk_ok=yes)
412 if test $gtk_ok = yes; then
413 AC_DEFINE(HAVE_SYS_SELECT_H)
414 AC_MSG_RESULT([yes, found in sys/select.h])
421 dnl *** check for sane realloc() ***
422 AC_MSG_CHECKING(whether realloc (NULL,) will work)
423 AC_CACHE_VAL(glib_cv_sane_realloc,[
427 return realloc (0, sizeof (int)) == 0;
429 glib_cv_sane_realloc=yes
430 AC_DEFINE(REALLOC_0_WORKS)
432 glib_cv_sane_realloc=no
435 AC_MSG_RESULT($glib_cv_sane_realloc)
438 dnl **********************
439 dnl *** va_copy checks ***
440 dnl **********************
441 dnl we currently check for all three va_copy possibilities, so we get
442 dnl all results in config.log for bug reports.
443 AC_MSG_CHECKING(for an implementation of va_copy())
444 AC_CACHE_VAL(glib_cv_va_copy,[
447 void f (int i, ...) {
448 va_list args1, args2;
450 va_copy (args2, args1);
451 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
453 va_end (args1); va_end (args2);
464 AC_MSG_RESULT($glib_cv_va_copy)
465 AC_MSG_CHECKING(for an implementation of __va_copy())
466 AC_CACHE_VAL(glib_cv___va_copy,[
469 void f (int i, ...) {
470 va_list args1, args2;
472 __va_copy (args2, args1);
473 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
475 va_end (args1); va_end (args2);
481 glib_cv___va_copy=yes
486 AC_MSG_RESULT($glib_cv___va_copy)
487 AC_MSG_CHECKING(whether va_lists can be copied by value)
488 AC_CACHE_VAL(glib_cv_va_val_copy,[
491 void f (int i, ...) {
492 va_list args1, args2;
495 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
497 va_end (args1); va_end (args2);
503 glib_cv_va_val_copy=yes
505 glib_cv_va_val_copy=no
508 if test "x$glib_cv_va_copy" = "xyes"; then
509 AC_DEFINE(G_VA_COPY, va_copy)
510 else if test "x$glib_cv___va_copy" = "xyes"; then
511 AC_DEFINE(G_VA_COPY, __va_copy)
514 if test "x$glib_cv_va_val_copy" = "xno"; then
515 AC_DEFINE(G_VA_COPY_AS_ARRAY)
517 AC_MSG_RESULT($glib_cv_va_val_copy)
520 dnl ***********************
521 dnl *** g_module checks ***
522 dnl ***********************
525 G_MODULE_PLUGIN_LIBS=
527 dnl G_MODULE_IMPL= don't reset, so cmd-line can override
528 G_MODULE_NEED_USCORE=0
529 G_MODULE_HAVE_DLERROR=0
530 dnl *** dlopen() and dlsym() in system libraries
531 if test -z "$G_MODULE_IMPL"; then
532 AC_CHECK_FUNC(dlopen,
534 G_MODULE_IMPL=G_MODULE_IMPL_DL
538 dnl *** load_image (BeOS)
539 if test -z "$G_MODULE_IMPL" -a "x$glib_native_beos" = "xyes"; then
540 AC_CHECK_LIB(root, load_image,
541 G_MODULE_LIBS="-lbe -lroot -lglib"
542 G_MODULE_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
543 G_MODULE_PLUGIN_LIBS="-L\$(top_builddir_full)/gmodule/.libs -lgmodule"
544 G_MODULE_IMPL=G_MODULE_IMPL_BEOS
547 dnl *** dlopen() and dlsym() in libdl
548 if test -z "$G_MODULE_IMPL"; then
549 AC_CHECK_LIB(dl, dlopen,
550 AC_CHECK_LIB(dl, dlsym,
552 G_MODULE_IMPL=G_MODULE_IMPL_DL
556 dnl *** shl_load() in libdld (HP-UX)
557 if test -z "$G_MODULE_IMPL"; then
558 AC_MSG_CHECKING(how to export all symbols)
559 SAVED_LDFLAGS=$LDFLAGS
560 LDFLAGS="$LDFLAGS -Wl,-E"
561 AC_TRY_LINK(,[ return 0; ],
562 [ G_MODULE_LDFLAGS="-Wl,-E" ],[
563 LDFLAGS="$SAVED_LDFLAGS -bexpall"
564 AC_TRY_LINK(,[ return 0; ],
565 G_MODULE_LDFLAGS="-bexpall",
566 G_MODULE_LDFLAGS="none"
569 LDFLAGS=$SAVED_LDFLAGS
570 AC_MSG_RESULT($G_MODULE_LDFLAGS)
571 if test "x$G_MODULE_LDFLAGS" = "xnone"; then
574 AC_CHECK_LIB(dld, shl_load,
576 G_MODULE_IMPL=G_MODULE_IMPL_DLD
579 dnl *** additional checks for G_MODULE_IMPL_DL
580 if test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL"; then
583 G_MODULE_LDFLAGS='-rdynamic'
587 LDFLAGS_orig="$LDFLAGS"
588 LIBS="$LIBS $G_MODULE_LIBS"
589 LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
590 dnl *** check whether we need preceeding underscores
591 AC_MSG_CHECKING(for preceeding underscore in symbols)
592 AC_CACHE_VAL(glib_cv_uscore,[
595 int glib_underscore_test (void) { return 42; }
597 void *f1 = (void*)0, *f2 = (void*)0, *handle;
598 handle = dlopen ((void*)0, 0);
600 f1 = dlsym (handle, "glib_underscore_test");
601 f2 = dlsym (handle, "_glib_underscore_test");
602 } return (!f2 || f1);
607 rm -f plugin.c plugin.o plugin.lo
609 AC_MSG_RESULT($glib_cv_uscore)
610 if test "x$glib_cv_uscore" = "xyes"; then
611 G_MODULE_NEED_USCORE=1
613 G_MODULE_NEED_USCORE=0
616 LDFLAGS="$LDFLAGS_orig"
617 dnl *** check for having dlerror()
618 AC_CHECK_FUNC(dlerror,
619 G_MODULE_HAVE_DLERROR=1,
620 G_MODULE_HAVE_DLERROR=0)
623 dnl *** done, have e got an implementation?
624 if test -z "$G_MODULE_IMPL"; then
627 AC_SUBST(G_MODULE_IMPL)
628 AC_SUBST(G_MODULE_LIBS)
629 AC_SUBST(G_MODULE_LIBS_EXTRA)
630 AC_SUBST(G_MODULE_PLUGIN_LIBS)
631 AC_SUBST(G_MODULE_LDFLAGS)
632 AC_SUBST(G_MODULE_HAVE_DLERROR)
633 AC_SUBST(G_MODULE_NEED_USCORE)
634 AC_SUBST(GLIB_DEBUG_FLAGS)
637 dnl ***********************
638 dnl *** g_thread checks ***
639 dnl ***********************
641 AC_ARG_WITH(threads, [ --with-threads=[none/posix/dce/solaris] specify a thread implementation to use],
642 if test "x$with_threads" = x; then
645 want_threads=$with_threads
648 if test "x$enable_threads" = "xno"; then
651 if test "x$want_threads" = "xnone"; then
655 dnl error and warning message
656 dnl *************************
658 THREAD_NO_IMPLEMENTATION="You do not have any known thread system on your
659 computer. GLib will not have a default thread implementation."
661 FLAG_DOES_NOT_WORK="I can't find the MACRO to enable thread safety on your
662 platform (normaly it's "_REENTRANT"). I'll not use any flag on
663 compilation now, but then your programs might not work.
664 Please provide information on how it is done on your system."
666 LIBS_NOT_FOUND_1="I can't find the libraries for the thread implementation
669 LIBS_NOT_FOUND_2=". Please choose another thread implementation or
670 provide information on your thread implementation.
671 You can also run 'configure --disable-threads'
672 to compile without thread support."
674 FUNC_NO_GETPWUID_R="the 'g_get_(user_name|real_name|home_dir|tmp_dir)'
675 functions will not be MT-safe during their first call because
676 there is no working 'getpwuid_r' on your system."
678 FUNC_NO_LOCALTIME_R="the 'g_date_set_time' function will not be MT-safe
679 because there is no 'localtime_r' on your system."
681 POSIX_NO_YIELD="I can not find a yield functions for your platform. A rather
682 crude surrogate will be used. If you happen to know a
683 yield function for your system, please inform the GLib
686 POSIX_NO_PRIORITIES="I can not find the minimal and maximal priorities for
687 threads on your system. Thus threads can only have the default
688 priority. If you happen to know these main/max
689 priorities, please inform the GLib developers."
692 dnl determination of thread implementation
693 dnl ***************************************
696 if test "x$want_threads" = xyes || test "x$want_threads" = xsolaris; then
699 AC_CHECK_LIB(thread, cond_init, have_threads=solaris)
703 if test "x$want_threads" = xyes || test "x$want_threads" = xposix \
704 || test "x$want_threads" = xdce; then
705 # -D_POSIX4A_DRAFT10_SOURCE is for DG/UX
706 # -U_OSF_SOURCE is for Digital UNIX 4.0d
707 GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
708 glib_save_CPPFLAGS="$CPPFLAGS"
709 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
710 if test "x$have_threads" = xnone; then
711 AC_EGREP_HEADER([(^|[^a-zA-Z_])pthread_attr_init[^a-zA-Z_]],
715 if test "x$have_threads" = xnone; then
716 AC_EGREP_HEADER([(^|[^a-zA-Z_])pthread_attr_create[^a-zA-Z_]],
720 CPPFLAGS="$glib_save_CPPFLAGS"
723 AC_MSG_CHECKING(for thread implementation)
725 if test "x$have_threads" = xnone && test "x$want_threads" != xno; then
726 AC_MSG_RESULT(none available)
727 AC_MSG_WARN($THREAD_NO_IMPLEMENTATION)
729 AC_MSG_RESULT($have_threads)
733 dnl determination of G_THREAD_LIBS
734 dnl ******************************
741 case $have_threads in
744 glib_save_LIBS="$LIBS"
745 for thread_lib in "" pthread pthreads c_r thread dce; do
746 if test x"$thread_lib" = x; then
750 add_thread_lib="-l$thread_lib"
751 IN=" in -l$thread_lib"
753 if test x"$have_threads" = xposix; then
756 defattr=pthread_attr_default
759 LIBS="$glib_save_LIBS $add_thread_lib"
761 AC_MSG_CHECKING(for pthread_create/pthread_join$IN)
762 AC_TRY_RUN([#include <pthread.h>
764 void* func(void* data) {check_me = 42;}
768 pthread_create (&t, $defattr, func, NULL);
769 pthread_join (t, &ret);
770 exit (check_me != 42);
773 G_THREAD_LIBS="$add_thread_lib"
777 for thread_lib in "" rt; do
778 if test x"$thread_lib" = x; then
782 add_thread_lib="-l$thread_lib"
783 IN=" in -l$thread_lib"
785 LIBS="$glib_save_LIBS $add_thread_lib"
787 AC_MSG_CHECKING(for sched_get_priority_min$IN)
788 AC_TRY_RUN([#include <sched.h>
792 return sched_get_priority_min(SCHED_OTHER)==-1
796 G_THREAD_LIBS="$G_THREAD_LIBS $add_thread_lib"
797 posix_priority_min="sched_get_priority_min(SCHED_OTHER)"
798 posix_priority_max="sched_get_priority_max(SCHED_OTHER)"
802 LIBS="$glib_save_LIBS"
803 mutex_has_default=yes
804 mutex_default_type='pthread_mutex_t'
805 mutex_default_init='PTHREAD_MUTEX_INITIALIZER'
806 mutex_header_file='pthread.h'
807 if test "x$have_threads" = "xposix"; then
808 g_threads_impl="POSIX"
813 AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
817 AC_CHECK_LIB(thread, cond_init, G_THREAD_LIBS="-lthread")
818 mutex_has_default=yes
819 mutex_default_type='mutex_t'
820 mutex_default_init="DEFAULTMUTEX"
821 mutex_header_file='thread.h'
822 g_threads_impl="SOLARIS"
825 g_threads_impl="NONE"
828 g_threads_impl="NONE"
833 if test "x$G_THREAD_LIBS" = xerror; then
834 AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
839 G_THREAD_LIBS="-lbe -lroot -lglib "
840 G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
846 AC_MSG_CHECKING(thread related libraries)
847 AC_MSG_RESULT($G_THREAD_LIBS)
849 dnl determination of G_THREAD_CFLAGS
850 dnl ********************************
852 if test x"$enable_threads" = xyes; then
854 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_REENTRANT" # good default guess
858 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
859 if test x"$GCC" = xyes; then
860 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -mthreads"
864 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
866 # FreeBSD 2.2.x shiped with gcc 2.7.2.x, which doesn't support
871 # if we are not finding the ctime_r function, then we probably are
872 # not using the proper multithread flag
873 old_CPPFLAGS=$CPPFLAGS
874 CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
875 # Note: Digital UNIX 4.0d #defines ctime_r to _Pctime_r for gcc.
876 AC_EGREP_HEADER([[^a-zA-Z_](_P)?ctime_r[^a-zA-Z_]], time.h, ,
878 AC_MSG_WARN($FLAG_DOES_NOT_WORK))
879 CPPFLAGS=$old_CPPFLAGS
881 AC_MSG_CHECKING(thread related cflags)
883 AC_MSG_RESULT($G_THREAD_CFLAGS)
888 dnl check for mt safe function variants and some posix functions
889 dnl ************************************************************
891 if test x"$enable_threads" = xyes; then
892 glib_save_LIBS="$LIBS"
893 glib_save_CFLAGS="$CFLAGS"
894 # we are not doing the following for now, as this might require glib
895 # to always be linked with the thread libs on some platforms.
896 # LIBS="$LIBS $G_THREAD_LIBS"
897 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
898 AC_CHECK_FUNCS(localtime_r)
899 if test "$ac_cv_header_pwd_h" = "yes"; then
900 AC_MSG_CHECKING([for getpwuid_r])
901 AC_CACHE_VAL(ac_cv_func_getpwuid_r,
902 [AC_TRY_RUN([#include <errno.h>
903 int main () { char buffer[10000], *pointer;
904 char getpwuid_r (long, void*, void*,
907 getpwuid_r (0, &buffer, &buffer,
908 sizeof (buffer), &pointer);
909 return errno == ENOSYS;}],
910 [ac_cv_func_getpwuid_r=yes],
911 [ac_cv_func_getpwuid_r=no])])
912 if test "$ac_cv_func_getpwuid_r" = yes; then
914 AC_DEFINE(HAVE_GETPWUID_R)
918 if test "$ac_cv_func_getpwuid_r" = "yes"; then
919 AC_MSG_CHECKING(whether getpwuid_r is posix like)
920 # The signature for the POSIX version is:
921 # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **)
922 AC_TRY_COMPILE([#include <pwd.h>
923 #include <sys/types.h>
924 #include <stdlib.h>],
925 [getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);],
926 [AC_DEFINE(HAVE_GETPWUID_R_POSIX)
931 LIBS="$LIBS $G_THREAD_LIBS"
932 if test x"$have_threads" = xposix; then
933 glib_save_CPPFLAGS="$CPPFLAGS"
934 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
935 GLIB_SIZEOF([#include <pthread.h>],
938 # This is not AC_CHECK_FUNC to also work with function
939 # name mangling in header files.
940 AC_MSG_CHECKING(for pthread_attr_setstacksize)
941 AC_TRY_LINK([#include <pthread.h>],
942 [pthread_attr_t t; pthread_attr_setstacksize(&t,0)],
944 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE)],
946 AC_MSG_CHECKING(for minimal/maximal thread priority)
947 if test x"$posix_priority_min" = xnone; then
948 AC_EGREP_CPP(PX_PRIO_MIN,[#include <pthread.h>
950 posix_priority_min=PX_PRIO_MIN
951 posix_priority_max=PX_PRIO_MAX])
953 if test x"$posix_priority_min" = xnone; then
954 AC_EGREP_CPP(PRI_OTHER_MIN,[#include <pthread.h>
956 posix_priority_min=PRI_OTHER_MIN
957 posix_priority_max=PRI_OTHER_MAX])
959 if test x"$posix_priority_min" = x; then
960 AC_MSG_RESULT(none found)
961 AC_MSG_WARN($POSIX_NO_PRIORITIES)
962 posix_priority_min=-1
963 posix_priority_max=-1
965 AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
966 AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min)
967 AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max)
969 posix_yield_func=none
970 AC_MSG_CHECKING(for posix yield function)
971 for yield_func in sched_yield pthread_yield_np pthread_yield \
973 AC_TRY_LINK([#include <pthread.h>],
975 [posix_yield_func="$yield_func"
978 if test x"$posix_yield_func" = xnone; then
979 AC_MSG_RESULT(none found)
980 AC_MSG_WARN($POSIX_NO_YIELD)
981 posix_yield_func="g_usleep(1000)"
983 AC_MSG_RESULT($posix_yield_func)
984 posix_yield_func="$posix_yield_func()"
986 AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func)
987 CPPFLAGS="$glib_save_CPPFLAGS"
988 else # solaris threads
989 GLIB_SIZEOF([#include <thread.h>],
994 LIBS="$glib_save_LIBS"
995 CFLAGS="$glib_save_CFLAGS"
997 # now spit out all the warnings.
998 if test "$ac_cv_func_getpwuid_r" != "yes"; then
999 AC_MSG_WARN($FUNC_NO_GETPWUID_R)
1001 if test "$ac_cv_func_localtime_r" != "yes"; then
1002 AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
1005 # If no thread implementation exists, we will provide enough
1006 # space for a pointer
1007 GLIB_SIZEOF(, void*, system_thread)
1010 AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c")
1011 AC_SUBST(G_THREAD_CFLAGS)
1012 AC_SUBST(G_THREAD_LIBS)
1013 AC_SUBST(G_THREAD_LIBS_EXTRA)
1015 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
1017 dnl **********************************************
1018 dnl *** GDefaultMutex setup and initialization ***
1019 dnl **********************************************
1021 dnl if mutex_has_default = yes, we also got
1022 dnl mutex_default_type, mutex_default_init and mutex_header_file
1023 GLIB_IF_VAR_EQ(mutex_has_default, yes,
1024 glib_save_CPPFLAGS="$CPPFLAGS"
1025 glib_save_LIBS="$LIBS"
1026 LIBS="$LIBS $G_THREAD_LIBS"
1027 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
1028 GLIB_SIZEOF([#include <$mutex_header_file>],
1029 $mutex_default_type,
1032 GLIB_BYTE_CONTENTS([#include <$mutex_header_file>],
1033 $mutex_default_type,
1035 $glib_cv_sizeof_gmutex,
1036 $mutex_default_init)
1037 if test x"$glib_cv_byte_contents_gmutex" = xno; then
1038 mutex_has_default=no
1040 CPPFLAGS="$glib_save_CPPFLAGS"
1041 LIBS="$glib_save_LIBS"
1046 dnl ****************************************
1047 dnl *** GLib POLL* compatibility defines ***
1048 dnl ****************************************
1050 [#include <sys/types.h>
1051 #include <sys/poll.h>],
1052 POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
1053 glibconfig-sysdefs.h,
1057 dnl ******************************
1058 dnl *** output the whole stuff ***
1059 dnl ******************************
1061 AC_OUTPUT_COMMANDS([
1063 ## Generate `glibconfig.h' in two cases
1064 ## 1. `config.status' is run either explicitly, or via configure.
1065 ## Esp. not when it is run in `Makefile' to generate makefiles and
1067 ## 2. CONFIG_OTHER is set explicitly
1069 ## Case 1 is difficult. We know that `automake' sets one of
1070 ## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
1071 ## only when AM_CONFIG_HEADER is set, however.
1073 if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
1074 # Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
1075 CONFIG_OTHER=${CONFIG_OTHER:-glibconfig.h}
1077 case "$CONFIG_OTHER" in
1079 echo creating glibconfig.h
1080 outfile=glibconfig.h-tmp
1081 cat > $outfile <<\_______EOF
1084 * This is a generated file. Please modify `configure.in'
1087 #ifndef GLIBCONFIG_H
1088 #define GLIBCONFIG_H
1092 #endif /* __cplusplus */
1096 if test x$glib_limits_h = xyes; then
1097 echo '#include <limits.h>' >> $outfile
1099 if test x$glib_float_h = xyes; then
1100 echo '#include <float.h>' >> $outfile
1102 if test x$glib_values_h = xyes; then
1103 echo '#include <values.h>' >> $outfile
1105 if test x$g_mutex_header_file != x; then
1106 echo '#include <'"$g_mutex_header_file"'>' >> $outfile
1108 if test x$glib_sys_poll_h = xyes; then
1109 echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
1112 cat >> $outfile <<_______EOF
1114 #define G_MINFLOAT $glib_mf
1115 #define G_MAXFLOAT $glib_Mf
1116 #define G_MINDOUBLE $glib_md
1117 #define G_MAXDOUBLE $glib_Md
1118 #define G_MINSHORT $glib_ms
1119 #define G_MAXSHORT $glib_Ms
1120 #define G_MAXUSHORT $glib_Mus
1121 #define G_MININT $glib_mi
1122 #define G_MAXINT $glib_Mi
1123 #define G_MAXUINT $glib_Mui
1124 #define G_MINLONG $glib_ml
1125 #define G_MAXLONG $glib_Ml
1126 #define G_MAXULONG $glib_Mul
1131 ### this should always be true in a modern C/C++ compiler
1132 cat >>$outfile <<_______EOF
1133 typedef signed char gint8;
1134 typedef unsigned char guint8;
1138 if test -n "$gint16"; then
1139 cat >>$outfile <<_______EOF
1140 typedef signed $gint16 gint16;
1141 typedef unsigned $gint16 guint16;
1142 #define G_GINT16_FORMAT $gint16_format
1143 #define G_GUINT16_FORMAT $guint16_format
1148 if test -n "$gint32"; then
1149 cat >>$outfile <<_______EOF
1150 typedef signed $gint32 gint32;
1151 typedef unsigned $gint32 guint32;
1152 #define G_GINT32_FORMAT $gint32_format
1153 #define G_GUINT32_FORMAT $guint32_format
1158 if test -n "$gint64"; then
1159 cat >>$outfile <<_______EOF
1160 #define G_HAVE_GINT64 1
1162 ${glib_extension}typedef signed $gint64 gint64;
1163 ${glib_extension}typedef unsigned $gint64 guint64;
1165 #define G_GINT64_FORMAT $gint64_format
1166 #define G_GUINT64_FORMAT $guint64_format
1167 #define G_GINT64_CONSTANT(val) $gint64_constant
1172 if test -z "$glib_unknown_void_p"; then
1173 cat >>$outfile <<_______EOF
1175 #define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p))
1176 #define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p))
1178 #define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
1179 #define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
1182 echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
1187 cat >>$outfile <<_______EOF
1196 #define G_HAVE_INLINE 1
1197 #else /* !__cplusplus */
1199 #endif /* !__cplusplus */
1203 if test x$g_mutex_has_default = xyes; then
1204 cat >>$outfile <<_______EOF
1205 $g_enable_threads_def G_THREADS_ENABLED
1206 #define G_THREADS_IMPL_$g_threads_impl_def
1207 typedef struct _GStaticMutex GStaticMutex;
1208 struct _GStaticMutex
1210 struct _GMutex *runtime_mutex;
1212 char pad[$g_mutex_sizeof];
1213 double dummy_double;
1214 void *dummy_pointer;
1218 #define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
1219 #define g_static_mutex_get_mutex(mutex) \
1220 (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
1221 g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
1224 cat >>$outfile <<_______EOF
1225 $g_enable_threads_def G_THREADS_ENABLED
1226 #define G_THREADS_IMPL_$g_threads_impl_def
1227 typedef struct _GMutex* GStaticMutex;
1228 #define G_STATIC_MUTEX_INIT NULL
1229 #define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
1233 cat >>$outfile <<_______EOF
1234 /* This represents a system thread as used by the implementation. An
1235 * alien implementaion, as loaded by g_thread_init can only count on
1236 * "sizeof (gpointer)" bytes to store their info. We however need more
1237 * for some of our native implementations. */
1238 typedef union _GSystemThread GSystemThread;
1239 union _GSystemThread
1241 char data[$g_system_thread_sizeof];
1242 double dummy_double;
1243 void *dummy_pointer;
1250 if test -n "$gint64"; then
1251 g_bit_sizes="$g_bit_sizes 64"
1253 for bits in $g_bit_sizes; do
1254 cat >>$outfile <<_______EOF
1255 #define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
1256 #define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val))
1257 #define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
1258 #define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val))
1262 cat >>$outfile <<_______EOF
1263 #define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val))
1264 #define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val))
1265 #define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val))
1266 #define GULONG_TO_BE(val) ((gulong) GUINT${glongbits}_TO_BE (val))
1267 #define GINT_TO_LE(val) ((gint) GINT${gintbits}_TO_LE (val))
1268 #define GUINT_TO_LE(val) ((guint) GUINT${gintbits}_TO_LE (val))
1269 #define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val))
1270 #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val))
1271 #define G_BYTE_ORDER $g_byte_order
1275 if test -r glibconfig-sysdefs.h; then
1276 cat glibconfig-sysdefs.h >>$outfile
1279 cat >>$outfile <<_______EOF
1283 #endif /* __cplusplus */
1285 #endif /* GLIBCONFIG_H */
1289 if cmp -s $outfile glibconfig.h; then
1290 echo glibconfig.h is unchanged
1293 mv $outfile glibconfig.h
1298 # Note that if two cases are the same, case goes with the first one.
1299 # Note also that this is inside an AC_OUTPUT_COMMAND. We do not depend
1300 # on variable expansion in case labels. Look at the generated config.status
1304 x$ac_cv_header_float_h)
1306 glib_mf=FLT_MIN glib_Mf=FLT_MAX
1307 glib_md=DBL_MIN glib_Md=DBL_MAX
1309 x$ac_cv_header_values_h)
1311 glib_mf=MINFLOAT glib_Mf=MAXFLOAT
1312 glib_md=MINDOUBLE glib_Md=MAXDOUBLE
1317 x$ac_cv_header_limits_h)
1319 glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX
1320 glib_mi=INT_MIN glib_Mi=INT_MAX glib_Mui=UINT_MAX
1321 glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX
1323 x$ac_cv_header_values_h)
1325 glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)"
1326 glib_mi=MININT glib_Mi=MAXINT glib_Mui="(((guint)G_MAXINT)*2+1)"
1327 glib_ml=MINLONG glib_Ml=MAXLONG glib_Mul="(((gulong)G_MAXLONG)*2+1)"
1331 if test x$ac_cv_header_sys_poll_h = xyes ; then
1336 $ac_cv_sizeof_short)
1338 gint16_format='"hi"'
1339 guint16_format='"hu"'
1344 guint16_format='"u"'
1348 $ac_cv_sizeof_short)
1350 gint32_format='"hi"'
1351 guint32_format='"hu"'
1356 guint32_format='"u"'
1360 gint32_format='"li"'
1361 guint32_format='"lu"'
1368 guint64_format='"u"'
1370 gint64_constant='(val)'
1374 gint64_format='"li"'
1375 guint64_format='"lu"'
1377 gint64_constant='(val##L)'
1379 $ac_cv_sizeof_long_long)
1381 gint64_format='"'$glib_cv_long_long_format'i"'
1382 guint64_format='"'$glib_cv_long_long_format'u"'
1383 glib_extension='G_GNUC_EXTENSION '
1384 gint64_constant='(G_GNUC_EXTENSION (val##LL))'
1388 gintbits=`expr $ac_cv_sizeof_int \* 8`
1389 glongbits=`expr $ac_cv_sizeof_long \* 8`
1392 case $ac_cv_sizeof_void_p in
1393 $ac_cv_sizeof_int) glib_gpi_cast='' glib_gpui_cast='' ;;
1394 $ac_cv_sizeof_long) glib_gpi_cast='(glong)' glib_gpui_cast='(gulong)' ;;
1395 *) glib_unknown_void_p=yes ;;
1400 x$ac_cv_func_atexit)
1402 #ifdef NeXT /* @#%@! NeXTStep */
1403 # define g_ATEXIT(proc) (!atexit (proc))
1405 # define g_ATEXIT(proc) (atexit (proc))
1408 x$ac_cv_func_on_exit)
1410 #define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))"
1415 x$ac_cv_func_memmove)
1417 #define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END'
1419 x$glib_cv_working_bcopy)
1421 /* memmove isn't available, but bcopy can copy overlapping memory regions */
1422 #define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END"
1426 /* memmove isn't found and bcopy can't copy overlapping memory regions,
1427 * so we have to roll our own copy routine. */
1428 void g_memmove (void* dest, const void * src, unsigned long len);"
1433 #define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION
1434 #define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION
1435 #define GLIB_MICRO_VERSION $GLIB_MICRO_VERSION
1439 x$glib_cv_va_copy) glib_vacopy='#define G_VA_COPY va_copy' ;;
1440 x$glib_cv___va_copy) glib_vacopy='#define G_VA_COPY __va_copy' ;;
1444 if test x$glib_cv_va_val_copy = xno; then
1445 glib_vacopy="\$glib_vacopy
1446 #define G_VA_COPY_AS_ARRAY 1"
1449 if test x$glib_cv_hasinline = xyes; then
1450 glib_inline='#define G_HAVE_INLINE 1'
1452 if test x$glib_cv_has__inline = xyes; then
1453 glib_inline="\$glib_inline
1454 #define G_HAVE___INLINE 1"
1456 if test x$glib_cv_has__inline__ = xyes; then
1457 glib_inline="\$glib_inline
1458 #define G_HAVE___INLINE__ 1"
1462 x$ac_cv_c_bigendian)
1463 g_byte_order=G_BIG_ENDIAN
1468 g_byte_order=G_LITTLE_ENDIAN
1474 case x$enable_threads in
1475 xyes) g_enable_threads_def="#define";;
1476 *) g_enable_threads_def="#undef ";;
1479 g_threads_impl_def=$g_threads_impl
1481 g_mutex_has_default="$mutex_has_default"
1482 g_mutex_sizeof="$glib_cv_sizeof_gmutex"
1483 g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
1484 g_mutex_contents="$glib_cv_byte_contents_gmutex"
1488 glib_os="#define G_OS_BEOS"
1491 glib_os="#define G_OS_UNIX
1492 #define G_WITH_CYGWIN"
1495 glib_os="#define G_OS_UNIX"
1504 gmodule/gmoduleconf.h
1510 ],[case "$CONFIG_FILES" in
1511 *glib-config*)chmod +x glib-config;;
1514 echo " *** IMPORTANT *** "
1516 echo "This is a development version of GLib. You should be using a stable"
1517 echo "version, which is available at ftp://ftp.gtk.org/pub/gtk/v1.2/. The"
1518 echo "version you just configured is meant for developers of GLib only:"
1520 echo " * You should not base stable software on this version of GLib."
1521 echo " * GNOME developers should use a stable version of GLib."
1523 echo "Distributions should *NOT* ship a development package of this GLib."
1524 echo "Do not ship the headers and do not ship the glib-config script. These"
1525 echo "things will conflict with the stable 1.2 series. Package only enough"
1526 echo "to satisfy the requirements of some other package. Package only the"
1527 echo "library itself. Doing otherwise will do no favors to the community."
1529 echo "If you install this version of GLib, we strongly recommend that you"
1530 echo "install it in a different prefix than GLib 1.2. Use --prefix as an"
1531 echo "argument to configure to do this. Otherwise, you will not be able to"
1532 echo "do development with GLib 1.2 any longer."
1534 echo " *** You should be using GLib 1.2 instead. ***"