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, that enables 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 dnl determination of thread implementation
672 dnl ***************************************
675 if test "x$want_threads" = xyes || test "x$want_threads" = xsolaris; then
678 AC_CHECK_LIB(thread, cond_init, have_threads=solaris)
682 if test "x$want_threads" = xyes || test "x$want_threads" = xposix \
683 || test "x$want_threads" = xdce; then
684 # -D_POSIX4A_DRAFT10_SOURCE is for DG/UX
685 # -U_OSF_SOURCE if for Digital UNIX 4.0d
686 GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
687 glib_save_CPPFLAGS="$CPPFLAGS"
688 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
689 if test "x$have_threads" = xnone; then
690 AC_EGREP_HEADER([[^a-zA-Z_]pthread_attr_init[^a-zA-Z_]],
694 if test "x$have_threads" = xnone; then
695 AC_EGREP_HEADER([[^a-zA-Z_]pthread_attr_create[^a-zA-Z_]],
699 CPPFLAGS="$glib_save_CPPFLAGS"
702 AC_MSG_CHECKING(for thread implementation)
704 if test "x$have_threads" = xnone && test "x$want_threads" != xno; then
705 AC_MSG_RESULT(none available)
706 AC_MSG_WARN($THREAD_NO_IMPLEMENTATION)
708 AC_MSG_RESULT($have_threads)
712 dnl determination of G_THREAD_LIBS
713 dnl ******************************
720 case $have_threads in
723 glib_save_LIBS="$LIBS"
724 for thread_lib in "" pthread pthreads c_r thread dce; do
725 # This is not AC_CHECK_LIB to also work with function
726 # name mangling in header files.
727 if test x"$thread_lib" = x; then
731 add_thread_lib="-l$thread_lib"
732 IN=" in -l$thread_lib"
735 LIBS="$glib_save_LIBS $add_thread_lib"
737 AC_MSG_CHECKING(for pthread_join$IN)
738 AC_TRY_LINK([#include <pthread.h>],
739 [pthread_join(NULL,NULL)],
741 G_THREAD_LIBS="$add_thread_lib"
745 LIBS="$glib_save_LIBS"
746 mutex_has_default=yes
747 mutex_default_type='pthread_mutex_t'
748 mutex_default_init='PTHREAD_MUTEX_INITIALIZER'
749 mutex_header_file='pthread.h'
750 if test "x$have_threads" = "xposix"; then
751 g_threads_impl="POSIX"
756 AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
760 AC_CHECK_LIB(thread, cond_init, G_THREAD_LIBS="-lthread")
761 mutex_has_default=yes
762 mutex_default_type='mutex_t'
763 mutex_default_init="DEFAULTMUTEX"
764 mutex_header_file='thread.h'
765 g_threads_impl="SOLARIS"
768 g_threads_impl="NONE"
771 g_threads_impl="NONE"
776 if test "x$G_THREAD_LIBS" = xerror; then
777 AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
782 G_THREAD_LIBS="-lbe -lroot -lglib "
783 G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
790 AC_MSG_CHECKING(thread related libraries)
791 AC_MSG_RESULT($G_THREAD_LIBS)
793 dnl determination of G_THREAD_CFLAGS
794 dnl ********************************
796 if test x"$enable_threads" = xyes; then
798 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_REENTRANT" # good default guess
802 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
803 if test x"$GCC" = xyes; then
804 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -mthreads"
808 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
810 # FreeBSD 2.2.x shiped with gcc 2.7.2.x, which doesn't support
815 # if we are not finding the ctime_r function, then we probably are
816 # not using the proper multithread flag
817 old_CPPFLAGS=$CPPFLAGS
818 CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
819 # Note: Digital UNIX 4.0d #defines ctime_r to _Pctime_r for gcc.
820 AC_EGREP_HEADER([[^a-zA-Z_](_P)?ctime_r[^a-zA-Z_]], time.h, ,
822 AC_MSG_WARN($FLAG_DOES_NOT_WORK))
823 CPPFLAGS=$old_CPPFLAGS
825 AC_MSG_CHECKING(thread related cflags)
827 AC_MSG_RESULT($G_THREAD_CFLAGS)
832 dnl check for mt safe function variants and some posix functions
833 dnl ************************************************************
835 if test x"$enable_threads" = xyes; then
836 glib_save_LIBS="$LIBS"
837 glib_save_CFLAGS="$CFLAGS"
838 # we are not doing the following for now, as this might require glib
839 # to always be linked with the thread libs on some platforms.
840 # LIBS="$LIBS $G_THREAD_LIBS"
841 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
842 AC_CHECK_FUNCS(localtime_r)
843 if test "$ac_cv_header_pwd_h" = "yes"; then
844 AC_MSG_CHECKING([for getpwuid_r])
845 AC_CACHE_VAL(ac_cv_func_getpwuid_r,
846 [AC_TRY_RUN([#include <errno.h>
847 int main () { char buffer[10000], *pointer;
848 char getpwuid_r (long, void*, void*,
851 getpwuid_r (0, &buffer, &buffer,
852 sizeof (buffer), &pointer);
853 return errno == ENOSYS;}],
854 [ac_cv_func_getpwuid_r=yes],
855 [ac_cv_func_getpwuid_r=no])])
856 if test "$ac_cv_func_getpwuid_r" = yes; then
858 AC_DEFINE(HAVE_GETPWUID_R)
862 if test "$ac_cv_func_getpwuid_r" = "yes"; then
863 AC_MSG_CHECKING(whether getpwuid_r is posix like)
864 # The signature for the POSIX version is:
865 # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **)
866 AC_TRY_COMPILE([#include <pwd.h>
867 #include <sys/types.h>
868 #include <stdlib.h>],
869 [getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);],
870 [AC_DEFINE(HAVE_GETPWUID_R_POSIX)
875 LIBS="$LIBS $G_THREAD_LIBS"
876 if test x"$have_threads" = xposix; then
877 GLIB_SIZEOF([#include <pthread.h>],
880 # This is not AC_CHECK_FUNC to also work with function
881 # name mangling in header files.
882 AC_MSG_CHECKING(for pthread_attr_setstacksize)
883 AC_TRY_LINK([#include <pthread.h>],
884 [pthread_attr_setstacksize(NULL,0)],
886 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE)],
888 # If sched_get_priority_min(SCHED_OTHER) returns something
889 # negative, we ignore it. This happens on Solaris.
890 AC_MSG_CHECKING(for minimal/maximal thread priority)
891 AC_TRY_RUN([#include <pthread.h>
893 { return sched_get_priority_min(SCHED_OTHER) < 0;}],
894 [posix_priority_min="sched_get_priority_min(SCHED_OTHER)"
895 posix_priority_max="sched_get_priority_max(SCHED_OTHER)"],
896 [posix_priority_min=none])
897 if test x"$posix_priority_min" = xnone; then
898 AC_EGREP_CPP(PX_PRIO_MIN,[#include <pthread.h>
900 posix_priority_min=PX_PRIO_MIN
901 posix_priority_max=PX_PRIO_MAX])
903 if test x"$posix_priority_min" = xnone; then
904 AC_EGREP_CPP(PRI_OTHER_MIN,[#include <pthread.h>
906 posix_priority_min=PRI_OTHER_MIN
907 posix_priority_max=PRI_OTHER_MAX])
909 if test x"$posix_priority_min" = xnone; then
913 posix_priority_max=127
917 if test x"$posix_priority_min" = xnone; then
918 AC_MSG_RESULT(none found)
919 AC_MSG_WARN($POSIX_NO_PRIORITIES)
923 AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
925 AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min)
926 AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max)
927 posix_yield_func=none
928 AC_MSG_CHECKING(for posix yield function)
929 for yield_func in pthread_yield_np pthread_yield sched_yield \
931 AC_TRY_LINK([#include <pthread.h>],
933 [posix_yield_func="$yield_func"
936 if test x"$posix_yield_func" = xnone; then
937 AC_MSG_RESULT(none found)
938 AC_MSG_WARN($POSIX_NO_YIELD)
939 posix_yield_func="g_thread_sleep(1000)"
941 AC_MSG_RESULT($posix_yield_func)
942 posix_yield_func="$posix_yield_func()"
944 AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func)
946 LIBS="$glib_save_LIBS"
947 CFLAGS="$glib_save_CFLAGS"
949 # now spit out all the warnings.
950 if test "$ac_cv_func_getpwuid_r" != "yes"; then
951 AC_MSG_WARN($FUNC_NO_GETPWUID_R)
953 if test "$ac_cv_func_localtime_r" != "yes"; then
954 AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
958 AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c")
959 AC_SUBST(G_THREAD_CFLAGS)
960 AC_SUBST(G_THREAD_LIBS)
961 AC_SUBST(G_THREAD_LIBS_EXTRA)
963 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
965 dnl **********************************************
966 dnl *** GDefaultMutex setup and initialization ***
967 dnl **********************************************
969 dnl if mutex_has_default = yes, we also got
970 dnl mutex_default_type, mutex_default_init and mutex_header_file
971 GLIB_IF_VAR_EQ(mutex_has_default, yes,
972 GLIB_SIZEOF([#include <$mutex_header_file>],
976 GLIB_BYTE_CONTENTS([#include <$mutex_header_file>],
979 $glib_cv_sizeof_gmutex,
981 if test x"$have_threads" = xposix; then
982 GLIB_BYTE_CONTENTS([#define __USE_GNU
983 #include <$mutex_header_file>],
986 $glib_cv_sizeof_gmutex,
987 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)
993 dnl ****************************************
994 dnl *** GLib POLL* compatibility defines ***
995 dnl ****************************************
997 [#include <sys/types.h>
998 #include <sys/poll.h>],
999 POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
1000 glibconfig-sysdefs.h,
1004 dnl ******************************
1005 dnl *** output the whole stuff ***
1006 dnl ******************************
1008 AC_OUTPUT_COMMANDS([
1010 ## Generate `glibconfig.h' in two cases
1011 ## 1. `config.status' is run either explicitly, or via configure.
1012 ## Esp. not when it is run in `Makefile' to generate makefiles and
1014 ## 2. CONFIG_OTHER is set explicitly
1016 ## Case 1 is difficult. We know that `automake' sets one of
1017 ## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
1018 ## only when AM_CONFIG_HEADER is set, however.
1020 if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
1021 # Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
1022 CONFIG_OTHER=${CONFIG_OTHER:-glibconfig.h}
1024 case "$CONFIG_OTHER" in
1026 echo creating glibconfig.h
1027 outfile=glibconfig.h-tmp
1028 cat > $outfile <<\_______EOF
1031 * This is a generated file. Please modify `configure.in'
1034 #ifndef GLIBCONFIG_H
1035 #define GLIBCONFIG_H
1039 #endif /* __cplusplus */
1043 if test x$glib_limits_h = xyes; then
1044 echo '#include <limits.h>' >> $outfile
1046 if test x$glib_float_h = xyes; then
1047 echo '#include <float.h>' >> $outfile
1049 if test x$glib_values_h = xyes; then
1050 echo '#include <values.h>' >> $outfile
1052 if test x$g_mutex_header_file != x; then
1053 echo '#include <'"$g_mutex_header_file"'>' >> $outfile
1055 if test x$glib_sys_poll_h = xyes; then
1056 echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
1059 cat >> $outfile <<_______EOF
1061 #define G_MINFLOAT $glib_mf
1062 #define G_MAXFLOAT $glib_Mf
1063 #define G_MINDOUBLE $glib_md
1064 #define G_MAXDOUBLE $glib_Md
1065 #define G_MINSHORT $glib_ms
1066 #define G_MAXSHORT $glib_Ms
1067 #define G_MAXUSHORT $glib_Mus
1068 #define G_MININT $glib_mi
1069 #define G_MAXINT $glib_Mi
1070 #define G_MAXUINT $glib_Mui
1071 #define G_MINLONG $glib_ml
1072 #define G_MAXLONG $glib_Ml
1073 #define G_MAXULONG $glib_Mul
1078 ### this should always be true in a modern C/C++ compiler
1079 cat >>$outfile <<_______EOF
1080 typedef signed char gint8;
1081 typedef unsigned char guint8;
1085 if test -n "$gint16"; then
1086 cat >>$outfile <<_______EOF
1087 typedef signed $gint16 gint16;
1088 typedef unsigned $gint16 guint16;
1089 #define G_GINT16_FORMAT $gint16_format
1090 #define G_GUINT16_FORMAT $guint16_format
1095 if test -n "$gint32"; then
1096 cat >>$outfile <<_______EOF
1097 typedef signed $gint32 gint32;
1098 typedef unsigned $gint32 guint32;
1099 #define G_GINT32_FORMAT $gint32_format
1100 #define G_GUINT32_FORMAT $guint32_format
1105 if test -n "$gint64"; then
1106 cat >>$outfile <<_______EOF
1107 ${glib_warning_guard}#define G_HAVE_GINT64 1
1109 ${glib_extension}typedef signed $gint64 gint64;
1110 ${glib_extension}typedef unsigned $gint64 guint64;
1112 #define G_GINT64_FORMAT $gint64_format
1113 #define G_GUINT64_FORMAT $guint64_format
1114 #define G_GINT64_CONSTANT(val) $gint64_constant
1119 if test -z "$glib_unknown_void_p"; then
1120 cat >>$outfile <<_______EOF
1122 #define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p))
1123 #define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p))
1125 #define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
1126 #define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
1129 echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
1134 cat >>$outfile <<_______EOF
1143 #define G_HAVE_INLINE 1
1144 #else /* !__cplusplus */
1146 #endif /* !__cplusplus */
1150 if test x$g_mutex_has_default = xyes; then
1151 cat >>$outfile <<_______EOF
1152 $g_enable_threads_def G_THREADS_ENABLED
1153 #define G_THREADS_IMPL_$g_threads_impl_def
1154 typedef struct _GStaticMutex GStaticMutex;
1155 struct _GStaticMutex
1157 struct _GMutex *runtime_mutex;
1159 char pad[$g_mutex_sizeof];
1160 double dummy_double;
1161 void *dummy_pointer;
1165 #define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
1166 #define g_static_mutex_get_mutex(mutex) \
1167 (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
1168 g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
1171 cat >>$outfile <<_______EOF
1172 $g_enable_threads_def G_THREADS_ENABLED
1173 #define G_THREADS_IMPL_$g_threads_impl_def
1174 typedef struct _GMutex* GStaticMutex;
1175 #define G_STATIC_MUTEX_INIT NULL
1176 #define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
1179 if test x$g_recmutex_contents != xno -a \
1180 x$g_recmutex_contents != x; then
1181 # the definition of GStaticRecMutex is not done via
1182 # typedef GStaticMutex GStaticRecMutex to avoid silent
1183 # compilation, when a GStaticRecMutex is used where a
1184 # GStaticMutex should have been used and vice versa,
1185 # because that micht fail on other platforms.
1186 cat >>$outfile <<_______EOF
1187 typedef struct _GStaticRecMutex GStaticRecMutex;
1188 struct _GStaticRecMutex
1190 struct _GMutex *runtime_mutex;
1192 char pad[$g_mutex_sizeof];
1193 double dummy_double;
1194 void *dummy_pointer;
1198 #define G_STATIC_REC_MUTEX_INIT { NULL, { { $g_recmutex_contents} } }
1199 #define g_static_rec_mutex_lock(mutex) g_static_mutex_lock (mutex)
1200 #define g_static_rec_mutex_trylock(mutex) g_static_mutex_trylock (mutex)
1201 #define g_static_rec_mutex_unlock(mutex) g_static_mutex_unlock (mutex)
1202 #define g_static_rec_mutex_get_mutex(mutex) (mutex)
1208 if test -n "$gint64"; then
1209 g_bit_sizes="$g_bit_sizes 64"
1211 for bits in $g_bit_sizes; do
1212 cat >>$outfile <<_______EOF
1213 #define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
1214 #define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val))
1215 #define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
1216 #define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val))
1220 cat >>$outfile <<_______EOF
1221 #define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val))
1222 #define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val))
1223 #define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val))
1224 #define GULONG_TO_BE(val) ((gulong) GUINT${glongbits}_TO_BE (val))
1225 #define GINT_TO_LE(val) ((gint) GINT${gintbits}_TO_LE (val))
1226 #define GUINT_TO_LE(val) ((guint) GUINT${gintbits}_TO_LE (val))
1227 #define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val))
1228 #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val))
1229 #define G_BYTE_ORDER $g_byte_order
1233 if test -r glibconfig-sysdefs.h; then
1234 cat glibconfig-sysdefs.h >>$outfile
1237 cat >>$outfile <<_______EOF
1241 #endif /* __cplusplus */
1243 #endif /* GLIBCONFIG_H */
1247 if cmp -s $outfile glibconfig.h; then
1248 echo glibconfig.h is unchanged
1251 mv $outfile glibconfig.h
1256 # Note that if two cases are the same, case goes with the first one.
1257 # Note also that this is inside an AC_OUTPUT_COMMAND. We do not depend
1258 # on variable expansion in case labels. Look at the generated config.status
1262 x$ac_cv_header_float_h)
1264 glib_mf=FLT_MIN glib_Mf=FLT_MAX
1265 glib_md=DBL_MIN glib_Md=DBL_MAX
1267 x$ac_cv_header_values_h)
1269 glib_mf=MINFLOAT glib_Mf=MAXFLOAT
1270 glib_md=MINDOUBLE glib_Md=MAXDOUBLE
1275 x$ac_cv_header_limits_h)
1277 glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX
1278 glib_mi=INT_MIN glib_Mi=INT_MAX glib_Mui=UINT_MAX
1279 glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX
1281 x$ac_cv_header_values_h)
1283 glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)"
1284 glib_mi=MININT glib_Mi=MAXINT glib_Mui="(((guint)G_MAXINT)*2+1)"
1285 glib_ml=MINLONG glib_Ml=MAXLONG glib_Mul="(((gulong)G_MAXLONG)*2+1)"
1289 if test x$ac_cv_header_sys_poll_h = xyes ; then
1294 $ac_cv_sizeof_short)
1296 gint16_format='"hi"'
1297 guint16_format='"hu"'
1302 guint16_format='"u"'
1306 $ac_cv_sizeof_short)
1308 gint32_format='"hi"'
1309 guint32_format='"hu"'
1314 guint32_format='"u"'
1318 gint32_format='"li"'
1319 guint32_format='"lu"'
1326 guint64_format='"u"'
1329 gint64_constant='(val)'
1333 gint64_format='"li"'
1334 guint64_format='"lu"'
1337 gint64_constant='(val##L)'
1339 $ac_cv_sizeof_long_long)
1341 gint64_format='"'$glib_cv_long_long_format'i"'
1342 guint64_format='"'$glib_cv_long_long_format'u"'
1343 glib_extension='G_GNUC_EXTENSION '
1344 glib_warning_guard="
1345 #if defined (__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 8
1346 # define G_GNUC_EXTENSION __extension__
1348 # define G_GNUC_EXTENSION
1352 gint64_constant='(G_GNUC_EXTENSION (val##LL))'
1356 gintbits=`expr $ac_cv_sizeof_int \* 8`
1357 glongbits=`expr $ac_cv_sizeof_long \* 8`
1360 case $ac_cv_sizeof_void_p in
1361 $ac_cv_sizeof_int) glib_gpi_cast='' glib_gpui_cast='' ;;
1362 $ac_cv_sizeof_long) glib_gpi_cast='(glong)' glib_gpui_cast='(gulong)' ;;
1363 *) glib_unknown_void_p=yes ;;
1368 x$ac_cv_func_atexit)
1370 #ifdef NeXT /* @#%@! NeXTStep */
1371 # define g_ATEXIT(proc) (!atexit (proc))
1373 # define g_ATEXIT(proc) (atexit (proc))
1376 x$ac_cv_func_on_exit)
1378 #define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))"
1383 x$ac_cv_func_memmove)
1385 #define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END'
1387 x$glib_cv_working_bcopy)
1389 /* memmove isn't available, but bcopy can copy overlapping memory regions */
1390 #define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END"
1394 /* memmove isn't found and bcopy can't copy overlapping memory regions,
1395 * so we have to roll our own copy routine. */
1396 void g_memmove (void* dest, const void * src, unsigned long len);"
1401 #define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION
1402 #define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION
1403 #define GLIB_MICRO_VERSION $GLIB_MICRO_VERSION
1407 x$glib_cv_va_copy) glib_vacopy='#define G_VA_COPY va_copy' ;;
1408 x$glib_cv___va_copy) glib_vacopy='#define G_VA_COPY __va_copy' ;;
1412 if test x$glib_cv_va_val_copy = xno; then
1413 glib_vacopy="\$glib_vacopy
1414 #define G_VA_COPY_AS_ARRAY 1"
1417 if test x$glib_cv_hasinline = xyes; then
1418 glib_inline='#define G_HAVE_INLINE 1'
1420 if test x$glib_cv_has__inline = xyes; then
1421 glib_inline="\$glib_inline
1422 #define G_HAVE___INLINE 1"
1424 if test x$glib_cv_has__inline__ = xyes; then
1425 glib_inline="\$glib_inline
1426 #define G_HAVE___INLINE__ 1"
1430 x$ac_cv_c_bigendian)
1431 g_byte_order=G_BIG_ENDIAN
1436 g_byte_order=G_LITTLE_ENDIAN
1442 case x$enable_threads in
1443 xyes) g_enable_threads_def="#define";;
1444 *) g_enable_threads_def="#undef ";;
1447 g_threads_impl_def=$g_threads_impl
1449 g_mutex_has_default="$mutex_has_default"
1450 g_mutex_sizeof="$glib_cv_sizeof_gmutex"
1451 g_mutex_contents="$glib_cv_byte_contents_gmutex"
1452 g_recmutex_contents="$glib_cv_byte_contents_grecmutex"
1456 glib_os="#define G_OS_BEOS"
1459 glib_os="#define G_OS_UNIX
1460 #define G_WITH_CYGWIN"
1463 glib_os="#define G_OS_UNIX"
1472 gmodule/gmoduleconf.h
1478 ],[case "$CONFIG_FILES" in
1479 *glib-config*)chmod +x glib-config;;
1482 echo " *** IMPORTANT *** "
1484 echo "This is a development version of GLib. You should be using a stable"
1485 echo "version, which is available at ftp://ftp.gtk.org/pub/gtk/v1.2/. The"
1486 echo "version you just configured is meant for developers of GLib only:"
1488 echo " * You should not base stable software on this version of GLib."
1489 echo " * GNOME developers should use a stable version of GLib."
1491 echo "Distributions should *NOT* ship a development package of this GLib."
1492 echo "Do not ship the headers and do not ship the glib-config script. These"
1493 echo "things will conflict with the stable 1.2 series. Package only enough"
1494 echo "to satisfy the requirements of some other package. Package only the"
1495 echo "library itself. Doing otherwise will do no favors to the community."
1497 echo "If you install this version of GLib, we strongly recommend that you"
1498 echo "install it in a different prefix than GLib 1.2. Use --prefix as an"
1499 echo "argument to configure to do this. Otherwise, you will not be able to"
1500 echo "do development with GLib 1.2 any longer."
1502 echo " *** You should be using GLib 1.2 instead. ***"