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$IN)
762 AC_TRY_RUN([#include <pthread.h>
763 void* func(void* data) {}
766 exit(pthread_create (&t, $defattr, func,
770 G_THREAD_LIBS="$add_thread_lib"
774 for thread_lib in "" rt; do
775 if test x"$thread_lib" = x; then
779 add_thread_lib="-l$thread_lib"
780 IN=" in -l$thread_lib"
782 LIBS="$glib_save_LIBS $add_thread_lib"
784 AC_MSG_CHECKING(for sched_get_priority_min$IN)
785 AC_TRY_RUN([#include <sched.h>
789 return sched_get_priority_min(SCHED_OTHER)==-1
793 G_THREAD_LIBS="$G_THREAD_LIBS $add_thread_lib"
794 posix_priority_min="sched_get_priority_min(SCHED_OTHER)"
795 posix_priority_max="sched_get_priority_max(SCHED_OTHER)"
799 LIBS="$glib_save_LIBS"
800 mutex_has_default=yes
801 mutex_default_type='pthread_mutex_t'
802 mutex_default_init='PTHREAD_MUTEX_INITIALIZER'
803 mutex_header_file='pthread.h'
804 if test "x$have_threads" = "xposix"; then
805 g_threads_impl="POSIX"
810 AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
814 AC_CHECK_LIB(thread, cond_init, G_THREAD_LIBS="-lthread")
815 mutex_has_default=yes
816 mutex_default_type='mutex_t'
817 mutex_default_init="DEFAULTMUTEX"
818 mutex_header_file='thread.h'
819 g_threads_impl="SOLARIS"
822 g_threads_impl="NONE"
825 g_threads_impl="NONE"
830 if test "x$G_THREAD_LIBS" = xerror; then
831 AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
836 G_THREAD_LIBS="-lbe -lroot -lglib "
837 G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
843 AC_MSG_CHECKING(thread related libraries)
844 AC_MSG_RESULT($G_THREAD_LIBS)
846 dnl determination of G_THREAD_CFLAGS
847 dnl ********************************
849 if test x"$enable_threads" = xyes; then
851 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_REENTRANT" # good default guess
855 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
856 if test x"$GCC" = xyes; then
857 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -mthreads"
861 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
863 # FreeBSD 2.2.x shiped with gcc 2.7.2.x, which doesn't support
868 # if we are not finding the ctime_r function, then we probably are
869 # not using the proper multithread flag
870 old_CPPFLAGS=$CPPFLAGS
871 CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
872 # Note: Digital UNIX 4.0d #defines ctime_r to _Pctime_r for gcc.
873 AC_EGREP_HEADER([[^a-zA-Z_](_P)?ctime_r[^a-zA-Z_]], time.h, ,
875 AC_MSG_WARN($FLAG_DOES_NOT_WORK))
876 CPPFLAGS=$old_CPPFLAGS
878 AC_MSG_CHECKING(thread related cflags)
880 AC_MSG_RESULT($G_THREAD_CFLAGS)
885 dnl check for mt safe function variants and some posix functions
886 dnl ************************************************************
888 if test x"$enable_threads" = xyes; then
889 glib_save_LIBS="$LIBS"
890 glib_save_CFLAGS="$CFLAGS"
891 # we are not doing the following for now, as this might require glib
892 # to always be linked with the thread libs on some platforms.
893 # LIBS="$LIBS $G_THREAD_LIBS"
894 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
895 AC_CHECK_FUNCS(localtime_r)
896 if test "$ac_cv_header_pwd_h" = "yes"; then
897 AC_MSG_CHECKING([for getpwuid_r])
898 AC_CACHE_VAL(ac_cv_func_getpwuid_r,
899 [AC_TRY_RUN([#include <errno.h>
900 int main () { char buffer[10000], *pointer;
901 char getpwuid_r (long, void*, void*,
904 getpwuid_r (0, &buffer, &buffer,
905 sizeof (buffer), &pointer);
906 return errno == ENOSYS;}],
907 [ac_cv_func_getpwuid_r=yes],
908 [ac_cv_func_getpwuid_r=no])])
909 if test "$ac_cv_func_getpwuid_r" = yes; then
911 AC_DEFINE(HAVE_GETPWUID_R)
915 if test "$ac_cv_func_getpwuid_r" = "yes"; then
916 AC_MSG_CHECKING(whether getpwuid_r is posix like)
917 # The signature for the POSIX version is:
918 # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **)
919 AC_TRY_COMPILE([#include <pwd.h>
920 #include <sys/types.h>
921 #include <stdlib.h>],
922 [getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);],
923 [AC_DEFINE(HAVE_GETPWUID_R_POSIX)
928 LIBS="$LIBS $G_THREAD_LIBS"
929 if test x"$have_threads" = xposix; then
930 glib_save_CPPFLAGS="$CPPFLAGS"
931 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
932 GLIB_SIZEOF([#include <pthread.h>],
935 # This is not AC_CHECK_FUNC to also work with function
936 # name mangling in header files.
937 AC_MSG_CHECKING(for pthread_attr_setstacksize)
938 AC_TRY_LINK([#include <pthread.h>],
939 [pthread_attr_t t; pthread_attr_setstacksize(&t,0)],
941 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE)],
943 AC_MSG_CHECKING(for minimal/maximal thread priority)
944 if test x"$posix_priority_min" = xnone; then
945 AC_EGREP_CPP(PX_PRIO_MIN,[#include <pthread.h>
947 posix_priority_min=PX_PRIO_MIN
948 posix_priority_max=PX_PRIO_MAX])
950 if test x"$posix_priority_min" = xnone; then
951 AC_EGREP_CPP(PRI_OTHER_MIN,[#include <pthread.h>
953 posix_priority_min=PRI_OTHER_MIN
954 posix_priority_max=PRI_OTHER_MAX])
956 if test x"$posix_priority_min" = x; then
957 AC_MSG_RESULT(none found)
958 AC_MSG_WARN($POSIX_NO_PRIORITIES)
959 posix_priority_min=-1
960 posix_priority_max=-1
962 AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
963 AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min)
964 AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max)
966 posix_yield_func=none
967 AC_MSG_CHECKING(for posix yield function)
968 for yield_func in sched_yield pthread_yield_np pthread_yield \
970 AC_TRY_LINK([#include <pthread.h>],
972 [posix_yield_func="$yield_func"
975 if test x"$posix_yield_func" = xnone; then
976 AC_MSG_RESULT(none found)
977 AC_MSG_WARN($POSIX_NO_YIELD)
978 posix_yield_func="g_usleep(1000)"
980 AC_MSG_RESULT($posix_yield_func)
981 posix_yield_func="$posix_yield_func()"
983 AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func)
984 CPPFLAGS="$glib_save_CPPFLAGS"
985 else # solaris threads
986 GLIB_SIZEOF([#include <thread.h>],
991 LIBS="$glib_save_LIBS"
992 CFLAGS="$glib_save_CFLAGS"
994 # now spit out all the warnings.
995 if test "$ac_cv_func_getpwuid_r" != "yes"; then
996 AC_MSG_WARN($FUNC_NO_GETPWUID_R)
998 if test "$ac_cv_func_localtime_r" != "yes"; then
999 AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
1002 # If no thread implementation exists, we will provide enough
1003 # space for a pointer
1004 GLIB_SIZEOF(, void*, system_thread)
1007 AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c")
1008 AC_SUBST(G_THREAD_CFLAGS)
1009 AC_SUBST(G_THREAD_LIBS)
1010 AC_SUBST(G_THREAD_LIBS_EXTRA)
1012 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
1014 dnl **********************************************
1015 dnl *** GDefaultMutex setup and initialization ***
1016 dnl **********************************************
1018 dnl if mutex_has_default = yes, we also got
1019 dnl mutex_default_type, mutex_default_init and mutex_header_file
1020 GLIB_IF_VAR_EQ(mutex_has_default, yes,
1021 glib_save_CPPFLAGS="$CPPFLAGS"
1022 glib_save_LIBS="$LIBS"
1023 LIBS="$LIBS $G_THREAD_LIBS"
1024 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
1025 GLIB_SIZEOF([#include <$mutex_header_file>],
1026 $mutex_default_type,
1029 GLIB_BYTE_CONTENTS([#include <$mutex_header_file>],
1030 $mutex_default_type,
1032 $glib_cv_sizeof_gmutex,
1033 $mutex_default_init)
1034 if test x"$glib_cv_byte_contents_gmutex" = xno; then
1035 mutex_has_default=no
1037 CPPFLAGS="$glib_save_CPPFLAGS"
1038 LIBS="$glib_save_LIBS"
1043 dnl ****************************************
1044 dnl *** GLib POLL* compatibility defines ***
1045 dnl ****************************************
1047 [#include <sys/types.h>
1048 #include <sys/poll.h>],
1049 POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
1050 glibconfig-sysdefs.h,
1054 dnl ******************************
1055 dnl *** output the whole stuff ***
1056 dnl ******************************
1058 AC_OUTPUT_COMMANDS([
1060 ## Generate `glibconfig.h' in two cases
1061 ## 1. `config.status' is run either explicitly, or via configure.
1062 ## Esp. not when it is run in `Makefile' to generate makefiles and
1064 ## 2. CONFIG_OTHER is set explicitly
1066 ## Case 1 is difficult. We know that `automake' sets one of
1067 ## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
1068 ## only when AM_CONFIG_HEADER is set, however.
1070 if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
1071 # Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
1072 CONFIG_OTHER=${CONFIG_OTHER:-glibconfig.h}
1074 case "$CONFIG_OTHER" in
1076 echo creating glibconfig.h
1077 outfile=glibconfig.h-tmp
1078 cat > $outfile <<\_______EOF
1081 * This is a generated file. Please modify `configure.in'
1084 #ifndef GLIBCONFIG_H
1085 #define GLIBCONFIG_H
1089 #endif /* __cplusplus */
1093 if test x$glib_limits_h = xyes; then
1094 echo '#include <limits.h>' >> $outfile
1096 if test x$glib_float_h = xyes; then
1097 echo '#include <float.h>' >> $outfile
1099 if test x$glib_values_h = xyes; then
1100 echo '#include <values.h>' >> $outfile
1102 if test x$g_mutex_header_file != x; then
1103 echo '#include <'"$g_mutex_header_file"'>' >> $outfile
1105 if test x$glib_sys_poll_h = xyes; then
1106 echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
1109 cat >> $outfile <<_______EOF
1111 #define G_MINFLOAT $glib_mf
1112 #define G_MAXFLOAT $glib_Mf
1113 #define G_MINDOUBLE $glib_md
1114 #define G_MAXDOUBLE $glib_Md
1115 #define G_MINSHORT $glib_ms
1116 #define G_MAXSHORT $glib_Ms
1117 #define G_MAXUSHORT $glib_Mus
1118 #define G_MININT $glib_mi
1119 #define G_MAXINT $glib_Mi
1120 #define G_MAXUINT $glib_Mui
1121 #define G_MINLONG $glib_ml
1122 #define G_MAXLONG $glib_Ml
1123 #define G_MAXULONG $glib_Mul
1128 ### this should always be true in a modern C/C++ compiler
1129 cat >>$outfile <<_______EOF
1130 typedef signed char gint8;
1131 typedef unsigned char guint8;
1135 if test -n "$gint16"; then
1136 cat >>$outfile <<_______EOF
1137 typedef signed $gint16 gint16;
1138 typedef unsigned $gint16 guint16;
1139 #define G_GINT16_FORMAT $gint16_format
1140 #define G_GUINT16_FORMAT $guint16_format
1145 if test -n "$gint32"; then
1146 cat >>$outfile <<_______EOF
1147 typedef signed $gint32 gint32;
1148 typedef unsigned $gint32 guint32;
1149 #define G_GINT32_FORMAT $gint32_format
1150 #define G_GUINT32_FORMAT $guint32_format
1155 if test -n "$gint64"; then
1156 cat >>$outfile <<_______EOF
1157 #define G_HAVE_GINT64 1
1159 ${glib_extension}typedef signed $gint64 gint64;
1160 ${glib_extension}typedef unsigned $gint64 guint64;
1162 #define G_GINT64_FORMAT $gint64_format
1163 #define G_GUINT64_FORMAT $guint64_format
1164 #define G_GINT64_CONSTANT(val) $gint64_constant
1169 if test -z "$glib_unknown_void_p"; then
1170 cat >>$outfile <<_______EOF
1172 #define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p))
1173 #define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p))
1175 #define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
1176 #define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
1179 echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
1184 cat >>$outfile <<_______EOF
1193 #define G_HAVE_INLINE 1
1194 #else /* !__cplusplus */
1196 #endif /* !__cplusplus */
1200 if test x$g_mutex_has_default = xyes; then
1201 cat >>$outfile <<_______EOF
1202 $g_enable_threads_def G_THREADS_ENABLED
1203 #define G_THREADS_IMPL_$g_threads_impl_def
1204 typedef struct _GStaticMutex GStaticMutex;
1205 struct _GStaticMutex
1207 struct _GMutex *runtime_mutex;
1209 char pad[$g_mutex_sizeof];
1210 double dummy_double;
1211 void *dummy_pointer;
1215 #define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
1216 #define g_static_mutex_get_mutex(mutex) \
1217 (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
1218 g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
1221 cat >>$outfile <<_______EOF
1222 $g_enable_threads_def G_THREADS_ENABLED
1223 #define G_THREADS_IMPL_$g_threads_impl_def
1224 typedef struct _GMutex* GStaticMutex;
1225 #define G_STATIC_MUTEX_INIT NULL
1226 #define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
1230 cat >>$outfile <<_______EOF
1231 /* This represents a system thread as used by the implementation. An
1232 * alien implementaion, as loaded by g_thread_init can only count on
1233 * "sizeof (gpointer)" bytes to store their info. We however need more
1234 * for some of our native implementations. */
1235 typedef union _GSystemThread GSystemThread;
1236 union _GSystemThread
1238 char data[$g_system_thread_sizeof];
1239 double dummy_double;
1240 void *dummy_pointer;
1247 if test -n "$gint64"; then
1248 g_bit_sizes="$g_bit_sizes 64"
1250 for bits in $g_bit_sizes; do
1251 cat >>$outfile <<_______EOF
1252 #define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
1253 #define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val))
1254 #define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
1255 #define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val))
1259 cat >>$outfile <<_______EOF
1260 #define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val))
1261 #define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val))
1262 #define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val))
1263 #define GULONG_TO_BE(val) ((gulong) GUINT${glongbits}_TO_BE (val))
1264 #define GINT_TO_LE(val) ((gint) GINT${gintbits}_TO_LE (val))
1265 #define GUINT_TO_LE(val) ((guint) GUINT${gintbits}_TO_LE (val))
1266 #define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val))
1267 #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val))
1268 #define G_BYTE_ORDER $g_byte_order
1272 if test -r glibconfig-sysdefs.h; then
1273 cat glibconfig-sysdefs.h >>$outfile
1276 cat >>$outfile <<_______EOF
1280 #endif /* __cplusplus */
1282 #endif /* GLIBCONFIG_H */
1286 if cmp -s $outfile glibconfig.h; then
1287 echo glibconfig.h is unchanged
1290 mv $outfile glibconfig.h
1295 # Note that if two cases are the same, case goes with the first one.
1296 # Note also that this is inside an AC_OUTPUT_COMMAND. We do not depend
1297 # on variable expansion in case labels. Look at the generated config.status
1301 x$ac_cv_header_float_h)
1303 glib_mf=FLT_MIN glib_Mf=FLT_MAX
1304 glib_md=DBL_MIN glib_Md=DBL_MAX
1306 x$ac_cv_header_values_h)
1308 glib_mf=MINFLOAT glib_Mf=MAXFLOAT
1309 glib_md=MINDOUBLE glib_Md=MAXDOUBLE
1314 x$ac_cv_header_limits_h)
1316 glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX
1317 glib_mi=INT_MIN glib_Mi=INT_MAX glib_Mui=UINT_MAX
1318 glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX
1320 x$ac_cv_header_values_h)
1322 glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)"
1323 glib_mi=MININT glib_Mi=MAXINT glib_Mui="(((guint)G_MAXINT)*2+1)"
1324 glib_ml=MINLONG glib_Ml=MAXLONG glib_Mul="(((gulong)G_MAXLONG)*2+1)"
1328 if test x$ac_cv_header_sys_poll_h = xyes ; then
1333 $ac_cv_sizeof_short)
1335 gint16_format='"hi"'
1336 guint16_format='"hu"'
1341 guint16_format='"u"'
1345 $ac_cv_sizeof_short)
1347 gint32_format='"hi"'
1348 guint32_format='"hu"'
1353 guint32_format='"u"'
1357 gint32_format='"li"'
1358 guint32_format='"lu"'
1365 guint64_format='"u"'
1367 gint64_constant='(val)'
1371 gint64_format='"li"'
1372 guint64_format='"lu"'
1374 gint64_constant='(val##L)'
1376 $ac_cv_sizeof_long_long)
1378 gint64_format='"'$glib_cv_long_long_format'i"'
1379 guint64_format='"'$glib_cv_long_long_format'u"'
1380 glib_extension='G_GNUC_EXTENSION '
1381 gint64_constant='(G_GNUC_EXTENSION (val##LL))'
1385 gintbits=`expr $ac_cv_sizeof_int \* 8`
1386 glongbits=`expr $ac_cv_sizeof_long \* 8`
1389 case $ac_cv_sizeof_void_p in
1390 $ac_cv_sizeof_int) glib_gpi_cast='' glib_gpui_cast='' ;;
1391 $ac_cv_sizeof_long) glib_gpi_cast='(glong)' glib_gpui_cast='(gulong)' ;;
1392 *) glib_unknown_void_p=yes ;;
1397 x$ac_cv_func_atexit)
1399 #ifdef NeXT /* @#%@! NeXTStep */
1400 # define g_ATEXIT(proc) (!atexit (proc))
1402 # define g_ATEXIT(proc) (atexit (proc))
1405 x$ac_cv_func_on_exit)
1407 #define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))"
1412 x$ac_cv_func_memmove)
1414 #define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END'
1416 x$glib_cv_working_bcopy)
1418 /* memmove isn't available, but bcopy can copy overlapping memory regions */
1419 #define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END"
1423 /* memmove isn't found and bcopy can't copy overlapping memory regions,
1424 * so we have to roll our own copy routine. */
1425 void g_memmove (void* dest, const void * src, unsigned long len);"
1430 #define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION
1431 #define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION
1432 #define GLIB_MICRO_VERSION $GLIB_MICRO_VERSION
1436 x$glib_cv_va_copy) glib_vacopy='#define G_VA_COPY va_copy' ;;
1437 x$glib_cv___va_copy) glib_vacopy='#define G_VA_COPY __va_copy' ;;
1441 if test x$glib_cv_va_val_copy = xno; then
1442 glib_vacopy="\$glib_vacopy
1443 #define G_VA_COPY_AS_ARRAY 1"
1446 if test x$glib_cv_hasinline = xyes; then
1447 glib_inline='#define G_HAVE_INLINE 1'
1449 if test x$glib_cv_has__inline = xyes; then
1450 glib_inline="\$glib_inline
1451 #define G_HAVE___INLINE 1"
1453 if test x$glib_cv_has__inline__ = xyes; then
1454 glib_inline="\$glib_inline
1455 #define G_HAVE___INLINE__ 1"
1459 x$ac_cv_c_bigendian)
1460 g_byte_order=G_BIG_ENDIAN
1465 g_byte_order=G_LITTLE_ENDIAN
1471 case x$enable_threads in
1472 xyes) g_enable_threads_def="#define";;
1473 *) g_enable_threads_def="#undef ";;
1476 g_threads_impl_def=$g_threads_impl
1478 g_mutex_has_default="$mutex_has_default"
1479 g_mutex_sizeof="$glib_cv_sizeof_gmutex"
1480 g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
1481 g_mutex_contents="$glib_cv_byte_contents_gmutex"
1485 glib_os="#define G_OS_BEOS"
1488 glib_os="#define G_OS_UNIX
1489 #define G_WITH_CYGWIN"
1492 glib_os="#define G_OS_UNIX"
1501 gmodule/gmoduleconf.h
1507 ],[case "$CONFIG_FILES" in
1508 *glib-config*)chmod +x glib-config;;
1511 echo " *** IMPORTANT *** "
1513 echo "This is a development version of GLib. You should be using a stable"
1514 echo "version, which is available at ftp://ftp.gtk.org/pub/gtk/v1.2/. The"
1515 echo "version you just configured is meant for developers of GLib only:"
1517 echo " * You should not base stable software on this version of GLib."
1518 echo " * GNOME developers should use a stable version of GLib."
1520 echo "Distributions should *NOT* ship a development package of this GLib."
1521 echo "Do not ship the headers and do not ship the glib-config script. These"
1522 echo "things will conflict with the stable 1.2 series. Package only enough"
1523 echo "to satisfy the requirements of some other package. Package only the"
1524 echo "library itself. Doing otherwise will do no favors to the community."
1526 echo "If you install this version of GLib, we strongly recommend that you"
1527 echo "install it in a different prefix than GLib 1.2. Use --prefix as an"
1528 echo "argument to configure to do this. Otherwise, you will not be able to"
1529 echo "do development with GLib 1.2 any longer."
1531 echo " *** You should be using GLib 1.2 instead. ***"