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(ansi, [ --enable-ansi turn on strict ansi [default=no]],
110 AC_ARG_ENABLE(threads, [ --enable-threads turn on basic thread support [default=yes]
111 ([=no] will override --with-threads)],,enable_threads=yes)
113 if test "x$enable_threads" != "xyes"; then
117 AC_MSG_CHECKING(whether to enable memory checking)
118 if test "x$enable_mem_check" = "xyes"; then
119 AC_DEFINE(ENABLE_MEM_CHECK, 1)
120 AC_SUBST(ENABLE_MEM_CHECK)
126 AC_MSG_CHECKING(whether to enable memory profiling)
127 if test "x$enable_mem_profile" = "xyes"; then
128 AC_DEFINE(ENABLE_MEM_PROFILE, 1)
129 AC_SUBST(ENABLE_MEM_PROFILE)
135 if test "x$enable_debug" = "xyes"; then
136 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
137 GLIB_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
139 if test "x$enable_debug" = "xno"; then
140 GLIB_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
144 AC_DEFINE_UNQUOTED(G_COMPILED_WITH_DEBUGGING, "${enable_debug}")
146 if test "x$enable_msg_prefix" = "xyes"; then
147 AC_DEFINE_UNQUOTED(G_ENABLE_MSG_PREFIX, 1)
150 # Checks for programs.
156 if test "x$GCC" = "xyes"; then
158 *[\ \ ]-Wall[\ \ ]*) ;;
159 *) CFLAGS="$CFLAGS -Wall" ;;
162 if test "x$enable_ansi" = "xyes"; then
164 *[\ \ ]-ansi[\ \ ]*) ;;
165 *) CFLAGS="$CFLAGS -ansi" ;;
169 *[\ \ ]-pedantic[\ \ ]*) ;;
170 *) CFLAGS="$CFLAGS -pedantic" ;;
176 dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
177 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
180 AC_TRY_RUN([#include <math.h>
181 int main (void) { return (log(1) != log(1.)); }],
182 AC_MSG_RESULT(none needed),
183 glib_save_CFLAGS=$CFLAGS
184 CFLAGS="$CFLAGS -std1"
185 AC_TRY_RUN([#include <math.h>
186 int main (void) { return (log(1) != log(1.)); }],
187 AC_MSG_RESULT(-std1),
189 CFLAGS=$glib_save_CFLAGS
191 [No ANSI prototypes found in library. (-std1 didn't work.)])
196 dnl NeXTStep cc seems to need this
197 AC_MSG_CHECKING([for extra flags for POSIX compliance])
198 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
199 AC_MSG_RESULT(none needed),
200 glib_save_CFLAGS=$CFLAGS
201 CFLAGS="$CFLAGS -posix"
202 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
203 AC_MSG_RESULT(-posix),
205 CFLAGS=$glib_save_CFLAGS
206 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
208 # Checks for header files.
211 # Checks for library functions.
214 AC_CHECK_FUNCS(atexit on_exit)
216 AC_CHECK_SIZEOF(char)
217 AC_CHECK_SIZEOF(short)
218 AC_CHECK_SIZEOF(long)
220 AC_CHECK_SIZEOF(void *)
221 AC_CHECK_SIZEOF(long long)
223 if test x$ac_cv_sizeof_long_long = x8; then
224 # long long is a 64 bit integer.
225 AC_MSG_CHECKING(for format to printf and scanf a gint64)
226 AC_CACHE_VAL(glib_cv_long_long_format,[
227 AC_TRY_RUN([#include <stdio.h>
230 long long b, a = -0x3AFAFAFAFAFAFAFALL;
232 sprintf (buffer, "%llu", a);
233 sscanf (buffer, "%llu", &b);
237 glib_cv_long_long_format=ll,
238 glib_cv_long_long_format=q)])
239 AC_MSG_RESULT(%${glib_cv_long_long_format}i)
242 dnl long doubles were not used, and a portability problem
246 dnl AC_C_INLINE is useless to us since it bails out too early, we need to
247 dnl truely know which ones of `inline', `__inline' and `__inline__' are
248 dnl actually supported.
249 AC_MSG_CHECKING(for __inline)
250 AC_CACHE_VAL(glib_cv_has__inline,[
252 __inline int foo () { return 0; }
253 int main () { return foo (); }
255 glib_cv_has__inline=yes
257 glib_cv_has__inline=no
260 AC_MSG_RESULT($glib_cv_has__inline)
261 case x$glib_cv_has__inline in
262 xyes) AC_DEFINE(G_HAVE___INLINE)
264 AC_MSG_CHECKING(for __inline__)
265 AC_CACHE_VAL(glib_cv_has__inline__,[
267 __inline__ int foo () { return 0; }
268 int main () { return foo (); }
270 glib_cv_has__inline__=yes
272 glib_cv_has__inline__=no
275 AC_MSG_RESULT($glib_cv_has__inline__)
276 case x$glib_cv_has__inline__ in
277 xyes) AC_DEFINE(G_HAVE___INLINE__)
279 AC_MSG_CHECKING(for inline)
280 AC_CACHE_VAL(glib_cv_hasinline,[
282 inline int foo () { return 0; }
283 int main () { return foo (); }
285 glib_cv_hasinline=yes
290 AC_MSG_RESULT($glib_cv_hasinline)
291 case x$glib_cv_hasinline in
292 xyes) AC_DEFINE(G_HAVE_INLINE)
295 # check for bytesex stuff
298 # xhexk for header files
299 AC_CHECK_HEADERS(float.h, AC_DEFINE(HAVE_FLOAT_H))
300 AC_CHECK_HEADERS(limits.h, AC_DEFINE(HAVE_LIMITS_H))
301 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
302 AC_CHECK_HEADERS(sys/param.h, AC_DEFINE(HAVE_SYS_PARAM_H))
303 AC_CHECK_HEADERS(sys/poll.h, AC_DEFINE(HAVE_SYS_POLL_H))
304 AC_CHECK_HEADERS(sys/select.h, AC_DEFINE(HAVE_SYS_SELECT_H))
305 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
306 AC_CHECK_HEADERS(sys/times.h, AC_DEFINE(HAVE_SYS_TIMES_H))
307 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
308 AC_CHECK_HEADERS(values.h, AC_DEFINE(HAVE_VALUES_H))
309 AC_CHECK_HEADERS(stdint.h, AC_DEFINE(HAVE_VALUES_H))
311 # check additional type sizes
319 if test "x$ac_cv_header_stdint_h" = "xyes"; then
320 size_includes=["$size_includes
324 if test "x$ac_cv_header_unistd_h" = "xyes"; then
325 size_includes=["$size_includes
329 GLIB_SIZEOF([$size_includes], size_t, size_t)
330 GLIB_SIZEOF([$size_includes], ptrdiff_t, ptrdiff_t)
331 GLIB_SIZEOF([$size_includes], intmax_t, intmax_t)
333 # Check for some functions
334 AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf strcasecmp strncasecmp poll)
336 # Check if bcopy can be used for overlapping copies, if memmove isn't found.
337 # The check is borrowed from the PERL Configure script.
338 if test "$ac_cv_func_memmove" != "yes"; then
339 AC_CACHE_CHECK(whether bcopy can handle overlapping copies,
340 glib_cv_working_bcopy,[AC_TRY_RUN([
342 char buf[128], abc[128], *b;
344 bcopy("abcdefghijklmnopqrstuvwxyz0123456789", abc, 36);
345 for (align = 7; align >= 0; align--) {
346 for (len = 36; len; len--) {
347 b = buf+align; bcopy(abc, b, len);
348 for (off = 1; off <= len; off++) {
349 bcopy(b, b+off, len); bcopy(b+off, b, len);
350 if (bcmp(b, abc, len)) return(1);
355 }],glib_cv_working_bcopy=yes,glib_cv_working_bcopy=no)])
356 if test "$glib_cv_working_bcopy" == "yes"; then
357 AC_DEFINE(HAVE_WORKING_BCOPY)
361 # Check for sys_errlist
362 AC_MSG_CHECKING(for sys_errlist)
364 extern char *sys_errlist[];
366 sys_errlist[sys_nerr-1][0] = 0;
367 ], glib_ok=yes, glib_ok=no)
368 AC_MSG_RESULT($glib_ok)
369 if test $glib_ok = no; then
370 AC_DEFINE(NO_SYS_ERRLIST)
373 # Check for sys_siglist
374 AC_MSG_CHECKING(for sys_siglist)
376 extern char *sys_siglist[];
377 strlen (sys_siglist[0]);
378 ], glib_ok=yes, glib_ok=no)
379 AC_MSG_RESULT($glib_ok)
380 if test $glib_ok = no; then
381 AC_DEFINE(NO_SYS_SIGLIST)
384 # Check for sys_siglist decl (see Tue Jan 19 00:44:24 1999 in changelog)
385 AC_MSG_CHECKING(for sys_siglist declaration)
386 AC_TRY_COMPILE([#include <signal.h>], [
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_DECL)
394 # Check if <sys/select.h> needs to be included for fd_set
395 AC_MSG_CHECKING([for fd_set])
396 AC_TRY_COMPILE([#include <sys/types.h>],
397 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
398 if test $gtk_ok = yes; then
399 AC_MSG_RESULT([yes, found in sys/types.h])
401 AC_HEADER_EGREP(fd_set, sys/select.h, gtk_ok=yes)
402 if test $gtk_ok = yes; then
403 AC_DEFINE(HAVE_SYS_SELECT_H)
404 AC_MSG_RESULT([yes, found in sys/select.h])
411 dnl *** check for sane realloc() ***
412 AC_MSG_CHECKING(whether realloc (NULL,) will work)
413 AC_CACHE_VAL(glib_cv_sane_realloc,[
417 return realloc (0, sizeof (int)) == 0;
419 glib_cv_sane_realloc=yes
420 AC_DEFINE(REALLOC_0_WORKS)
422 glib_cv_sane_realloc=no
425 AC_MSG_RESULT($glib_cv_sane_realloc)
428 dnl **********************
429 dnl *** va_copy checks ***
430 dnl **********************
431 dnl we currently check for all three va_copy possibilities, so we get
432 dnl all results in config.log for bug reports.
433 AC_MSG_CHECKING(for an implementation of va_copy())
434 AC_CACHE_VAL(glib_cv_va_copy,[
437 void f (int i, ...) {
438 va_list args1, args2;
440 va_copy (args2, args1);
441 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
443 va_end (args1); va_end (args2);
454 AC_MSG_RESULT($glib_cv_va_copy)
455 AC_MSG_CHECKING(for an implementation of __va_copy())
456 AC_CACHE_VAL(glib_cv___va_copy,[
459 void f (int i, ...) {
460 va_list args1, args2;
462 __va_copy (args2, args1);
463 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
465 va_end (args1); va_end (args2);
471 glib_cv___va_copy=yes
476 AC_MSG_RESULT($glib_cv___va_copy)
477 AC_MSG_CHECKING(whether va_lists can be copied by value)
478 AC_CACHE_VAL(glib_cv_va_val_copy,[
481 void f (int i, ...) {
482 va_list args1, args2;
485 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
487 va_end (args1); va_end (args2);
493 glib_cv_va_val_copy=yes
495 glib_cv_va_val_copy=no
498 if test "x$glib_cv_va_copy" = "xyes"; then
499 AC_DEFINE(G_VA_COPY, va_copy)
500 else if test "x$glib_cv___va_copy" = "xyes"; then
501 AC_DEFINE(G_VA_COPY, __va_copy)
504 if test "x$glib_cv_va_val_copy" = "xno"; then
505 AC_DEFINE(G_VA_COPY_AS_ARRAY)
507 AC_MSG_RESULT($glib_cv_va_val_copy)
510 dnl ***********************
511 dnl *** g_module checks ***
512 dnl ***********************
515 G_MODULE_PLUGIN_LIBS=
517 dnl G_MODULE_IMPL= don't reset, so cmd-line can override
518 G_MODULE_NEED_USCORE=0
519 G_MODULE_HAVE_DLERROR=0
520 dnl *** dlopen() and dlsym() in system libraries
521 if test -z "$G_MODULE_IMPL"; then
522 AC_CHECK_FUNC(dlopen,
524 G_MODULE_IMPL=G_MODULE_IMPL_DL
528 dnl *** load_image (BeOS)
529 if test -z "$G_MODULE_IMPL" -a "x$glib_native_beos" = "xyes"; then
530 AC_CHECK_LIB(root, load_image,
531 G_MODULE_LIBS="-lbe -lroot -lglib"
532 G_MODULE_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
533 G_MODULE_PLUGIN_LIBS="-L\$(top_builddir_full)/gmodule/.libs -lgmodule"
534 G_MODULE_IMPL=G_MODULE_IMPL_BEOS
537 dnl *** dlopen() and dlsym() in libdl
538 if test -z "$G_MODULE_IMPL"; then
539 AC_CHECK_LIB(dl, dlopen,
540 AC_CHECK_LIB(dl, dlsym,
542 G_MODULE_IMPL=G_MODULE_IMPL_DL
546 dnl *** shl_load() in libdld (HP-UX)
547 if test -z "$G_MODULE_IMPL"; then
548 AC_MSG_CHECKING(how to export all symbols)
549 SAVED_LDFLAGS=$LDFLAGS
550 LDFLAGS="$LDFLAGS -Wl,-E"
551 AC_TRY_LINK(,[ return 0; ],
552 [ G_MODULE_LDFLAGS="-Wl,-E" ],[
553 LDFLAGS="$SAVED_LDFLAGS -bexpall"
554 AC_TRY_LINK(,[ return 0; ],
555 G_MODULE_LDFLAGS="-bexpall",
556 G_MODULE_LDFLAGS="none"
559 LDFLAGS=$SAVED_LDFLAGS
560 AC_MSG_RESULT($G_MODULE_LDFLAGS)
561 if test "x$G_MODULE_LDFLAGS" = "xnone"; then
564 AC_CHECK_LIB(dld, shl_load,
566 G_MODULE_IMPL=G_MODULE_IMPL_DLD
569 dnl *** additional checks for G_MODULE_IMPL_DL
570 if test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL"; then
573 G_MODULE_LDFLAGS='-rdynamic'
577 LDFLAGS_orig="$LDFLAGS"
578 LIBS="$LIBS $G_MODULE_LIBS"
579 LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
580 dnl *** check whether we need preceeding underscores
581 AC_MSG_CHECKING(for preceeding underscore in symbols)
582 AC_CACHE_VAL(glib_cv_uscore,[
585 int glib_underscore_test (void) { return 42; }
587 void *f1 = (void*)0, *f2 = (void*)0, *handle;
588 handle = dlopen ((void*)0, 0);
590 f1 = dlsym (handle, "glib_underscore_test");
591 f2 = dlsym (handle, "_glib_underscore_test");
592 } return (!f2 || f1);
597 rm -f plugin.c plugin.o plugin.lo
599 AC_MSG_RESULT($glib_cv_uscore)
600 if test "x$glib_cv_uscore" = "xyes"; then
601 G_MODULE_NEED_USCORE=1
603 G_MODULE_NEED_USCORE=0
606 LDFLAGS="$LDFLAGS_orig"
607 dnl *** check for having dlerror()
608 AC_CHECK_FUNC(dlerror,
609 G_MODULE_HAVE_DLERROR=1,
610 G_MODULE_HAVE_DLERROR=0)
613 dnl *** done, have e got an implementation?
614 if test -z "$G_MODULE_IMPL"; then
617 AC_SUBST(G_MODULE_IMPL)
618 AC_SUBST(G_MODULE_LIBS)
619 AC_SUBST(G_MODULE_LIBS_EXTRA)
620 AC_SUBST(G_MODULE_PLUGIN_LIBS)
621 AC_SUBST(G_MODULE_LDFLAGS)
622 AC_SUBST(G_MODULE_HAVE_DLERROR)
623 AC_SUBST(G_MODULE_NEED_USCORE)
624 AC_SUBST(GLIB_DEBUG_FLAGS)
627 dnl ***********************
628 dnl *** g_thread checks ***
629 dnl ***********************
631 AC_ARG_WITH(threads, [ --with-threads=[none/posix/dce/solaris] specify a thread implementation to use],
632 if test "x$with_threads" = x; then
635 want_threads=$with_threads
638 if test "x$enable_threads" = "xno"; then
641 if test "x$want_threads" = "xnone"; then
645 dnl error and warning message
646 dnl *************************
648 THREAD_NO_IMPLEMENTATION="You do not have any known thread system on your
649 computer. GLib will not have a default thread implementation."
651 FLAG_DOES_NOT_WORK="I can't find the MACRO to enable thread safety on your
652 platform (normaly it's "_REENTRANT"). I'll not use any flag on
653 compilation now, but then your programs might not work.
654 Please provide information on how it is done on your system."
656 LIBS_NOT_FOUND_1="I can't find the libraries for the thread implementation
659 LIBS_NOT_FOUND_2=". Please choose another thread implementation or
660 provide information on your thread implementation.
661 You can also run 'configure --disable-threads'
662 to compile without thread support."
664 FUNC_NO_GETPWUID_R="the 'g_get_(user_name|real_name|home_dir|tmp_dir)'
665 functions will not be MT-safe during their first call because
666 there is no working 'getpwuid_r' on your system."
668 FUNC_NO_LOCALTIME_R="the 'g_date_set_time' function will not be MT-safe
669 because there is no 'localtime_r' on your system."
671 POSIX_NO_YIELD="I can not find a yield functions for your platform. A rather
672 crude surrogate will be used. If you happen to know a
673 yield function for your system, please inform the GLib
676 POSIX_NO_PRIORITIES="I can not find the minimal and maximal priorities for
677 threads on your system. Thus threads can only have the default
678 priority. If you happen to know these main/max
679 priorities, please inform the GLib developers."
682 dnl determination of thread implementation
683 dnl ***************************************
686 if test "x$want_threads" = xyes || test "x$want_threads" = xsolaris; then
689 AC_CHECK_LIB(thread, cond_init, have_threads=solaris)
693 if test "x$want_threads" = xyes || test "x$want_threads" = xposix \
694 || test "x$want_threads" = xdce; then
695 # -D_POSIX4A_DRAFT10_SOURCE is for DG/UX
696 # -U_OSF_SOURCE is for Digital UNIX 4.0d
697 GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
698 glib_save_CPPFLAGS="$CPPFLAGS"
699 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
700 if test "x$have_threads" = xnone; then
701 AC_EGREP_HEADER([(^|[^a-zA-Z_])pthread_attr_init[^a-zA-Z_]],
705 if test "x$have_threads" = xnone; then
706 AC_EGREP_HEADER([(^|[^a-zA-Z_])pthread_attr_create[^a-zA-Z_]],
710 CPPFLAGS="$glib_save_CPPFLAGS"
713 AC_MSG_CHECKING(for thread implementation)
715 if test "x$have_threads" = xnone && test "x$want_threads" != xno; then
716 AC_MSG_RESULT(none available)
717 AC_MSG_WARN($THREAD_NO_IMPLEMENTATION)
719 AC_MSG_RESULT($have_threads)
723 dnl determination of G_THREAD_LIBS
724 dnl ******************************
731 case $have_threads in
734 glib_save_LIBS="$LIBS"
735 for thread_lib in "" pthread pthreads c_r thread dce; do
736 if test x"$thread_lib" = x; then
740 add_thread_lib="-l$thread_lib"
741 IN=" in -l$thread_lib"
743 if test x"$have_threads" = xposix; then
746 defattr=pthread_attr_default
749 LIBS="$glib_save_LIBS $add_thread_lib"
751 AC_MSG_CHECKING(for pthread_create$IN)
752 AC_TRY_RUN([#include <pthread.h>
753 void* func(void* data) {}
756 exit(pthread_create (&t, $defattr, func,
760 G_THREAD_LIBS="$add_thread_lib"
764 for thread_lib in "" rt; do
765 if test x"$thread_lib" = x; then
769 add_thread_lib="-l$thread_lib"
770 IN=" in -l$thread_lib"
772 LIBS="$glib_save_LIBS $add_thread_lib"
774 AC_MSG_CHECKING(for sched_get_priority_min$IN)
775 AC_TRY_RUN([#include <sched.h>
779 return sched_get_priority_min(SCHED_OTHER)==-1
783 G_THREAD_LIBS="$G_THREAD_LIBS $add_thread_lib"
784 posix_priority_min="sched_get_priority_min(SCHED_OTHER)"
785 posix_priority_max="sched_get_priority_max(SCHED_OTHER)"
789 LIBS="$glib_save_LIBS"
790 mutex_has_default=yes
791 mutex_default_type='pthread_mutex_t'
792 mutex_default_init='PTHREAD_MUTEX_INITIALIZER'
793 mutex_header_file='pthread.h'
794 if test "x$have_threads" = "xposix"; then
795 g_threads_impl="POSIX"
800 AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
804 AC_CHECK_LIB(thread, cond_init, G_THREAD_LIBS="-lthread")
805 mutex_has_default=yes
806 mutex_default_type='mutex_t'
807 mutex_default_init="DEFAULTMUTEX"
808 mutex_header_file='thread.h'
809 g_threads_impl="SOLARIS"
812 g_threads_impl="NONE"
815 g_threads_impl="NONE"
820 if test "x$G_THREAD_LIBS" = xerror; then
821 AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
826 G_THREAD_LIBS="-lbe -lroot -lglib "
827 G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
833 AC_MSG_CHECKING(thread related libraries)
834 AC_MSG_RESULT($G_THREAD_LIBS)
836 dnl determination of G_THREAD_CFLAGS
837 dnl ********************************
839 if test x"$enable_threads" = xyes; then
841 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_REENTRANT" # good default guess
845 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
846 if test x"$GCC" = xyes; then
847 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -mthreads"
851 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
853 # FreeBSD 2.2.x shiped with gcc 2.7.2.x, which doesn't support
858 # if we are not finding the ctime_r function, then we probably are
859 # not using the proper multithread flag
860 old_CPPFLAGS=$CPPFLAGS
861 CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
862 # Note: Digital UNIX 4.0d #defines ctime_r to _Pctime_r for gcc.
863 AC_EGREP_HEADER([[^a-zA-Z_](_P)?ctime_r[^a-zA-Z_]], time.h, ,
865 AC_MSG_WARN($FLAG_DOES_NOT_WORK))
866 CPPFLAGS=$old_CPPFLAGS
868 AC_MSG_CHECKING(thread related cflags)
870 AC_MSG_RESULT($G_THREAD_CFLAGS)
875 dnl check for mt safe function variants and some posix functions
876 dnl ************************************************************
878 if test x"$enable_threads" = xyes; then
879 glib_save_LIBS="$LIBS"
880 glib_save_CFLAGS="$CFLAGS"
881 # we are not doing the following for now, as this might require glib
882 # to always be linked with the thread libs on some platforms.
883 # LIBS="$LIBS $G_THREAD_LIBS"
884 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
885 AC_CHECK_FUNCS(localtime_r)
886 if test "$ac_cv_header_pwd_h" = "yes"; then
887 AC_MSG_CHECKING([for getpwuid_r])
888 AC_CACHE_VAL(ac_cv_func_getpwuid_r,
889 [AC_TRY_RUN([#include <errno.h>
890 int main () { char buffer[10000], *pointer;
891 char getpwuid_r (long, void*, void*,
894 getpwuid_r (0, &buffer, &buffer,
895 sizeof (buffer), &pointer);
896 return errno == ENOSYS;}],
897 [ac_cv_func_getpwuid_r=yes],
898 [ac_cv_func_getpwuid_r=no])])
899 if test "$ac_cv_func_getpwuid_r" = yes; then
901 AC_DEFINE(HAVE_GETPWUID_R)
905 if test "$ac_cv_func_getpwuid_r" = "yes"; then
906 AC_MSG_CHECKING(whether getpwuid_r is posix like)
907 # The signature for the POSIX version is:
908 # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **)
909 AC_TRY_COMPILE([#include <pwd.h>
910 #include <sys/types.h>
911 #include <stdlib.h>],
912 [getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);],
913 [AC_DEFINE(HAVE_GETPWUID_R_POSIX)
918 LIBS="$LIBS $G_THREAD_LIBS"
919 if test x"$have_threads" = xposix; then
920 glib_save_CPPFLAGS="$CPPFLAGS"
921 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
922 GLIB_SIZEOF([#include <pthread.h>],
925 # This is not AC_CHECK_FUNC to also work with function
926 # name mangling in header files.
927 AC_MSG_CHECKING(for pthread_attr_setstacksize)
928 AC_TRY_LINK([#include <pthread.h>],
929 [pthread_attr_t t; pthread_attr_setstacksize(&t,0)],
931 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE)],
933 AC_MSG_CHECKING(for minimal/maximal thread priority)
934 if test x"$posix_priority_min" = xnone; then
935 AC_EGREP_CPP(PX_PRIO_MIN,[#include <pthread.h>
937 posix_priority_min=PX_PRIO_MIN
938 posix_priority_max=PX_PRIO_MAX])
940 if test x"$posix_priority_min" = xnone; then
941 AC_EGREP_CPP(PRI_OTHER_MIN,[#include <pthread.h>
943 posix_priority_min=PRI_OTHER_MIN
944 posix_priority_max=PRI_OTHER_MAX])
946 if test x"$posix_priority_min" = x; then
947 AC_MSG_RESULT(none found)
948 AC_MSG_WARN($POSIX_NO_PRIORITIES)
949 posix_priority_min=-1
950 posix_priority_max=-1
952 AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
953 AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min)
954 AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max)
956 posix_yield_func=none
957 AC_MSG_CHECKING(for posix yield function)
958 for yield_func in sched_yield pthread_yield_np pthread_yield \
960 AC_TRY_LINK([#include <pthread.h>],
962 [posix_yield_func="$yield_func"
965 if test x"$posix_yield_func" = xnone; then
966 AC_MSG_RESULT(none found)
967 AC_MSG_WARN($POSIX_NO_YIELD)
968 posix_yield_func="g_usleep(1000)"
970 AC_MSG_RESULT($posix_yield_func)
971 posix_yield_func="$posix_yield_func()"
973 AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func)
974 CPPFLAGS="$glib_save_CPPFLAGS"
975 else # solaris threads
976 GLIB_SIZEOF([#include <thread.h>],
981 LIBS="$glib_save_LIBS"
982 CFLAGS="$glib_save_CFLAGS"
984 # now spit out all the warnings.
985 if test "$ac_cv_func_getpwuid_r" != "yes"; then
986 AC_MSG_WARN($FUNC_NO_GETPWUID_R)
988 if test "$ac_cv_func_localtime_r" != "yes"; then
989 AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
992 # If no thread implementation exists, we will provide enough
993 # space for a pointer
994 GLIB_SIZEOF(, void*, system_thread)
997 AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c")
998 AC_SUBST(G_THREAD_CFLAGS)
999 AC_SUBST(G_THREAD_LIBS)
1000 AC_SUBST(G_THREAD_LIBS_EXTRA)
1002 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
1004 dnl **********************************************
1005 dnl *** GDefaultMutex setup and initialization ***
1006 dnl **********************************************
1008 dnl if mutex_has_default = yes, we also got
1009 dnl mutex_default_type, mutex_default_init and mutex_header_file
1010 GLIB_IF_VAR_EQ(mutex_has_default, yes,
1011 glib_save_CPPFLAGS="$CPPFLAGS"
1012 glib_save_LIBS="$LIBS"
1013 LIBS="$LIBS $G_THREAD_LIBS"
1014 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
1015 GLIB_SIZEOF([#include <$mutex_header_file>],
1016 $mutex_default_type,
1019 GLIB_BYTE_CONTENTS([#include <$mutex_header_file>],
1020 $mutex_default_type,
1022 $glib_cv_sizeof_gmutex,
1023 $mutex_default_init)
1024 if test x"$glib_cv_byte_contents_gmutex" = xno; then
1025 mutex_has_default=no
1027 CPPFLAGS="$glib_save_CPPFLAGS"
1028 LIBS="$glib_save_LIBS"
1033 dnl ****************************************
1034 dnl *** GLib POLL* compatibility defines ***
1035 dnl ****************************************
1037 [#include <sys/types.h>
1038 #include <sys/poll.h>],
1039 POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
1040 glibconfig-sysdefs.h,
1044 dnl ******************************
1045 dnl *** output the whole stuff ***
1046 dnl ******************************
1048 AC_OUTPUT_COMMANDS([
1050 ## Generate `glibconfig.h' in two cases
1051 ## 1. `config.status' is run either explicitly, or via configure.
1052 ## Esp. not when it is run in `Makefile' to generate makefiles and
1054 ## 2. CONFIG_OTHER is set explicitly
1056 ## Case 1 is difficult. We know that `automake' sets one of
1057 ## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
1058 ## only when AM_CONFIG_HEADER is set, however.
1060 if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
1061 # Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
1062 CONFIG_OTHER=${CONFIG_OTHER:-glibconfig.h}
1064 case "$CONFIG_OTHER" in
1066 echo creating glibconfig.h
1067 outfile=glibconfig.h-tmp
1068 cat > $outfile <<\_______EOF
1071 * This is a generated file. Please modify `configure.in'
1074 #ifndef GLIBCONFIG_H
1075 #define GLIBCONFIG_H
1079 #endif /* __cplusplus */
1083 if test x$glib_limits_h = xyes; then
1084 echo '#include <limits.h>' >> $outfile
1086 if test x$glib_float_h = xyes; then
1087 echo '#include <float.h>' >> $outfile
1089 if test x$glib_values_h = xyes; then
1090 echo '#include <values.h>' >> $outfile
1092 if test x$g_mutex_header_file != x; then
1093 echo '#include <'"$g_mutex_header_file"'>' >> $outfile
1095 if test x$glib_sys_poll_h = xyes; then
1096 echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
1099 cat >> $outfile <<_______EOF
1101 #define G_MINFLOAT $glib_mf
1102 #define G_MAXFLOAT $glib_Mf
1103 #define G_MINDOUBLE $glib_md
1104 #define G_MAXDOUBLE $glib_Md
1105 #define G_MINSHORT $glib_ms
1106 #define G_MAXSHORT $glib_Ms
1107 #define G_MAXUSHORT $glib_Mus
1108 #define G_MININT $glib_mi
1109 #define G_MAXINT $glib_Mi
1110 #define G_MAXUINT $glib_Mui
1111 #define G_MINLONG $glib_ml
1112 #define G_MAXLONG $glib_Ml
1113 #define G_MAXULONG $glib_Mul
1118 ### this should always be true in a modern C/C++ compiler
1119 cat >>$outfile <<_______EOF
1120 typedef signed char gint8;
1121 typedef unsigned char guint8;
1125 if test -n "$gint16"; then
1126 cat >>$outfile <<_______EOF
1127 typedef signed $gint16 gint16;
1128 typedef unsigned $gint16 guint16;
1129 #define G_GINT16_FORMAT $gint16_format
1130 #define G_GUINT16_FORMAT $guint16_format
1135 if test -n "$gint32"; then
1136 cat >>$outfile <<_______EOF
1137 typedef signed $gint32 gint32;
1138 typedef unsigned $gint32 guint32;
1139 #define G_GINT32_FORMAT $gint32_format
1140 #define G_GUINT32_FORMAT $guint32_format
1145 if test -n "$gint64"; then
1146 cat >>$outfile <<_______EOF
1147 #define G_HAVE_GINT64 1
1149 ${glib_extension}typedef signed $gint64 gint64;
1150 ${glib_extension}typedef unsigned $gint64 guint64;
1152 #define G_GINT64_FORMAT $gint64_format
1153 #define G_GUINT64_FORMAT $guint64_format
1154 #define G_GINT64_CONSTANT(val) $gint64_constant
1159 if test -z "$glib_unknown_void_p"; then
1160 cat >>$outfile <<_______EOF
1162 #define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p))
1163 #define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p))
1165 #define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
1166 #define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
1169 echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
1174 cat >>$outfile <<_______EOF
1183 #define G_HAVE_INLINE 1
1184 #else /* !__cplusplus */
1186 #endif /* !__cplusplus */
1190 if test x$g_mutex_has_default = xyes; then
1191 cat >>$outfile <<_______EOF
1192 $g_enable_threads_def G_THREADS_ENABLED
1193 #define G_THREADS_IMPL_$g_threads_impl_def
1194 typedef struct _GStaticMutex GStaticMutex;
1195 struct _GStaticMutex
1197 struct _GMutex *runtime_mutex;
1199 char pad[$g_mutex_sizeof];
1200 double dummy_double;
1201 void *dummy_pointer;
1205 #define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
1206 #define g_static_mutex_get_mutex(mutex) \
1207 (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
1208 g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
1211 cat >>$outfile <<_______EOF
1212 $g_enable_threads_def G_THREADS_ENABLED
1213 #define G_THREADS_IMPL_$g_threads_impl_def
1214 typedef struct _GMutex* GStaticMutex;
1215 #define G_STATIC_MUTEX_INIT NULL
1216 #define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
1220 cat >>$outfile <<_______EOF
1221 /* This represents a system thread as used by the implementation. An
1222 * alien implementaion, as loaded by g_thread_init can only count on
1223 * "sizeof (gpointer)" bytes to store their info. We however need more
1224 * for some of our native implementations. */
1225 typedef union _GSystemThread GSystemThread;
1226 union _GSystemThread
1228 char data[$g_system_thread_sizeof];
1229 double dummy_double;
1230 void *dummy_pointer;
1237 if test -n "$gint64"; then
1238 g_bit_sizes="$g_bit_sizes 64"
1240 for bits in $g_bit_sizes; do
1241 cat >>$outfile <<_______EOF
1242 #define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
1243 #define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val))
1244 #define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
1245 #define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val))
1249 cat >>$outfile <<_______EOF
1250 #define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val))
1251 #define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val))
1252 #define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val))
1253 #define GULONG_TO_BE(val) ((gulong) GUINT${glongbits}_TO_BE (val))
1254 #define GINT_TO_LE(val) ((gint) GINT${gintbits}_TO_LE (val))
1255 #define GUINT_TO_LE(val) ((guint) GUINT${gintbits}_TO_LE (val))
1256 #define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val))
1257 #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val))
1258 #define G_BYTE_ORDER $g_byte_order
1262 if test -r glibconfig-sysdefs.h; then
1263 cat glibconfig-sysdefs.h >>$outfile
1266 cat >>$outfile <<_______EOF
1270 #endif /* __cplusplus */
1272 #endif /* GLIBCONFIG_H */
1276 if cmp -s $outfile glibconfig.h; then
1277 echo glibconfig.h is unchanged
1280 mv $outfile glibconfig.h
1285 # Note that if two cases are the same, case goes with the first one.
1286 # Note also that this is inside an AC_OUTPUT_COMMAND. We do not depend
1287 # on variable expansion in case labels. Look at the generated config.status
1291 x$ac_cv_header_float_h)
1293 glib_mf=FLT_MIN glib_Mf=FLT_MAX
1294 glib_md=DBL_MIN glib_Md=DBL_MAX
1296 x$ac_cv_header_values_h)
1298 glib_mf=MINFLOAT glib_Mf=MAXFLOAT
1299 glib_md=MINDOUBLE glib_Md=MAXDOUBLE
1304 x$ac_cv_header_limits_h)
1306 glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX
1307 glib_mi=INT_MIN glib_Mi=INT_MAX glib_Mui=UINT_MAX
1308 glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX
1310 x$ac_cv_header_values_h)
1312 glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)"
1313 glib_mi=MININT glib_Mi=MAXINT glib_Mui="(((guint)G_MAXINT)*2+1)"
1314 glib_ml=MINLONG glib_Ml=MAXLONG glib_Mul="(((gulong)G_MAXLONG)*2+1)"
1318 if test x$ac_cv_header_sys_poll_h = xyes ; then
1323 $ac_cv_sizeof_short)
1325 gint16_format='"hi"'
1326 guint16_format='"hu"'
1331 guint16_format='"u"'
1335 $ac_cv_sizeof_short)
1337 gint32_format='"hi"'
1338 guint32_format='"hu"'
1343 guint32_format='"u"'
1347 gint32_format='"li"'
1348 guint32_format='"lu"'
1355 guint64_format='"u"'
1357 gint64_constant='(val)'
1361 gint64_format='"li"'
1362 guint64_format='"lu"'
1364 gint64_constant='(val##L)'
1366 $ac_cv_sizeof_long_long)
1368 gint64_format='"'$glib_cv_long_long_format'i"'
1369 guint64_format='"'$glib_cv_long_long_format'u"'
1370 glib_extension='G_GNUC_EXTENSION '
1371 gint64_constant='(G_GNUC_EXTENSION (val##LL))'
1375 gintbits=`expr $ac_cv_sizeof_int \* 8`
1376 glongbits=`expr $ac_cv_sizeof_long \* 8`
1379 case $ac_cv_sizeof_void_p in
1380 $ac_cv_sizeof_int) glib_gpi_cast='' glib_gpui_cast='' ;;
1381 $ac_cv_sizeof_long) glib_gpi_cast='(glong)' glib_gpui_cast='(gulong)' ;;
1382 *) glib_unknown_void_p=yes ;;
1387 x$ac_cv_func_atexit)
1389 #ifdef NeXT /* @#%@! NeXTStep */
1390 # define g_ATEXIT(proc) (!atexit (proc))
1392 # define g_ATEXIT(proc) (atexit (proc))
1395 x$ac_cv_func_on_exit)
1397 #define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))"
1402 x$ac_cv_func_memmove)
1404 #define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END'
1406 x$glib_cv_working_bcopy)
1408 /* memmove isn't available, but bcopy can copy overlapping memory regions */
1409 #define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END"
1413 /* memmove isn't found and bcopy can't copy overlapping memory regions,
1414 * so we have to roll our own copy routine. */
1415 void g_memmove (void* dest, const void * src, unsigned long len);"
1420 #define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION
1421 #define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION
1422 #define GLIB_MICRO_VERSION $GLIB_MICRO_VERSION
1426 x$glib_cv_va_copy) glib_vacopy='#define G_VA_COPY va_copy' ;;
1427 x$glib_cv___va_copy) glib_vacopy='#define G_VA_COPY __va_copy' ;;
1431 if test x$glib_cv_va_val_copy = xno; then
1432 glib_vacopy="\$glib_vacopy
1433 #define G_VA_COPY_AS_ARRAY 1"
1436 if test x$glib_cv_hasinline = xyes; then
1437 glib_inline='#define G_HAVE_INLINE 1'
1439 if test x$glib_cv_has__inline = xyes; then
1440 glib_inline="\$glib_inline
1441 #define G_HAVE___INLINE 1"
1443 if test x$glib_cv_has__inline__ = xyes; then
1444 glib_inline="\$glib_inline
1445 #define G_HAVE___INLINE__ 1"
1449 x$ac_cv_c_bigendian)
1450 g_byte_order=G_BIG_ENDIAN
1455 g_byte_order=G_LITTLE_ENDIAN
1461 case x$enable_threads in
1462 xyes) g_enable_threads_def="#define";;
1463 *) g_enable_threads_def="#undef ";;
1466 g_threads_impl_def=$g_threads_impl
1468 g_mutex_has_default="$mutex_has_default"
1469 g_mutex_sizeof="$glib_cv_sizeof_gmutex"
1470 g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
1471 g_mutex_contents="$glib_cv_byte_contents_gmutex"
1475 glib_os="#define G_OS_BEOS"
1478 glib_os="#define G_OS_UNIX
1479 #define G_WITH_CYGWIN"
1482 glib_os="#define G_OS_UNIX"
1491 gmodule/gmoduleconf.h
1497 ],[case "$CONFIG_FILES" in
1498 *glib-config*)chmod +x glib-config;;
1501 echo " *** IMPORTANT *** "
1503 echo "This is a development version of GLib. You should be using a stable"
1504 echo "version, which is available at ftp://ftp.gtk.org/pub/gtk/v1.2/. The"
1505 echo "version you just configured is meant for developers of GLib only:"
1507 echo " * You should not base stable software on this version of GLib."
1508 echo " * GNOME developers should use a stable version of GLib."
1510 echo "Distributions should *NOT* ship a development package of this GLib."
1511 echo "Do not ship the headers and do not ship the glib-config script. These"
1512 echo "things will conflict with the stable 1.2 series. Package only enough"
1513 echo "to satisfy the requirements of some other package. Package only the"
1514 echo "library itself. Doing otherwise will do no favors to the community."
1516 echo "If you install this version of GLib, we strongly recommend that you"
1517 echo "install it in a different prefix than GLib 1.2. Use --prefix as an"
1518 echo "argument to configure to do this. Otherwise, you will not be able to"
1519 echo "do development with GLib 1.2 any longer."
1521 echo " *** You should be using GLib 1.2 instead. ***"