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 AC_DEFINE(GLIB_NATIVE_BEOS, 1)
86 glib_native_beos="yes"
87 AC_MSG_RESULT([$glib_native_beos])
91 AC_MSG_RESULT($glib_native_beos)
95 dnl figure debugging default, prior to $ac_help setup
97 AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
98 if test `expr $GLIB_MINOR_VERSION \% 2` = 1 ; then
101 debug_default=minimum
105 dnl declare --enable-* args and collect ac_help strings
106 AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
107 AC_ARG_ENABLE(msg-prefix, [ --enable-msg-prefix turn on program name and PID prefixing of messages and warnings],,enable_msg_prefix=no)
108 AC_ARG_ENABLE(mem_check, [ --enable-mem-check turn on malloc/free sanity checking [default=no]],,enable_mem_check=no)
109 AC_ARG_ENABLE(mem_profile, [ --enable-mem-profile turn on malloc profiling atexit [default=no]],,enable_mem_profile=no)
110 AC_ARG_ENABLE(ansi, [ --enable-ansi turn on strict ansi [default=no]],
112 AC_ARG_ENABLE(threads, [ --enable-threads turn on basic thread support [default=yes]
113 ([=no] will override --with-threads)],,enable_threads=yes)
115 if test "x$enable_threads" != "xyes"; then
119 AC_MSG_CHECKING(whether to enable memory checking)
120 if test "x$enable_mem_check" = "xyes"; then
121 AC_DEFINE(ENABLE_MEM_CHECK, 1)
122 AC_SUBST(ENABLE_MEM_CHECK)
128 AC_MSG_CHECKING(whether to enable memory profiling)
129 if test "x$enable_mem_profile" = "xyes"; then
130 AC_DEFINE(ENABLE_MEM_PROFILE, 1)
131 AC_SUBST(ENABLE_MEM_PROFILE)
137 if test "x$enable_debug" = "xyes"; then
138 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
139 GLIB_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
141 if test "x$enable_debug" = "xno"; then
142 GLIB_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
146 AC_DEFINE_UNQUOTED(G_COMPILED_WITH_DEBUGGING, "${enable_debug}")
148 if test "x$enable_msg_prefix" = "xyes"; then
149 AC_DEFINE_UNQUOTED(G_ENABLE_MSG_PREFIX, 1)
152 # Checks for programs.
158 if test "x$GCC" = "xyes"; then
160 *[\ \ ]-Wall[\ \ ]*) ;;
161 *) CFLAGS="$CFLAGS -Wall" ;;
164 if test "x$enable_ansi" = "xyes"; then
166 *[\ \ ]-ansi[\ \ ]*) ;;
167 *) CFLAGS="$CFLAGS -ansi" ;;
171 *[\ \ ]-pedantic[\ \ ]*) ;;
172 *) CFLAGS="$CFLAGS -pedantic" ;;
178 dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
179 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
182 AC_TRY_RUN([#include <math.h>
183 int main (void) { return (log(1) != log(1.)); }],
184 AC_MSG_RESULT(none needed),
185 glib_save_CFLAGS=$CFLAGS
186 CFLAGS="$CFLAGS -std1"
187 AC_TRY_RUN([#include <math.h>
188 int main (void) { return (log(1) != log(1.)); }],
189 AC_MSG_RESULT(-std1),
191 CFLAGS=$glib_save_CFLAGS
193 [No ANSI prototypes found in library. (-std1 didn't work.)])
198 dnl NeXTStep cc seems to need this
199 AC_MSG_CHECKING([for extra flags for POSIX compliance])
200 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
201 AC_MSG_RESULT(none needed),
202 glib_save_CFLAGS=$CFLAGS
203 CFLAGS="$CFLAGS -posix"
204 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
205 AC_MSG_RESULT(-posix),
207 CFLAGS=$glib_save_CFLAGS
208 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
210 # Checks for header files.
213 # Checks for library functions.
216 AC_CHECK_FUNCS(atexit on_exit)
218 AC_CHECK_SIZEOF(char)
219 AC_CHECK_SIZEOF(short)
220 AC_CHECK_SIZEOF(long)
222 AC_CHECK_SIZEOF(void *)
223 AC_CHECK_SIZEOF(long long)
225 if test x$ac_cv_sizeof_long_long = x8; then
226 # long long is a 64 bit integer.
227 AC_MSG_CHECKING(for format to printf and scanf a gint64)
228 AC_CACHE_VAL(glib_cv_long_long_format,[
229 AC_TRY_RUN([#include <stdio.h>
232 long long b, a = -0x3AFAFAFAFAFAFAFALL;
234 sprintf (buffer, "%llu", a);
235 sscanf (buffer, "%llu", &b);
239 glib_cv_long_long_format=ll,
240 glib_cv_long_long_format=q)])
241 AC_MSG_RESULT(%${glib_cv_long_long_format}i)
244 dnl long doubles were not used, and a portability problem
248 dnl AC_C_INLINE is useless to us since it bails out too early, we need to
249 dnl truely know which ones of `inline', `__inline' and `__inline__' are
250 dnl actually supported.
251 AC_MSG_CHECKING(for __inline)
252 AC_CACHE_VAL(glib_cv_has__inline,[
254 __inline int foo () { return 0; }
255 int main () { return foo (); }
257 glib_cv_has__inline=yes
259 glib_cv_has__inline=no
262 AC_MSG_RESULT($glib_cv_has__inline)
263 case x$glib_cv_has__inline in
264 xyes) AC_DEFINE(G_HAVE___INLINE)
266 AC_MSG_CHECKING(for __inline__)
267 AC_CACHE_VAL(glib_cv_has__inline__,[
269 __inline__ int foo () { return 0; }
270 int main () { return foo (); }
272 glib_cv_has__inline__=yes
274 glib_cv_has__inline__=no
277 AC_MSG_RESULT($glib_cv_has__inline__)
278 case x$glib_cv_has__inline__ in
279 xyes) AC_DEFINE(G_HAVE___INLINE__)
281 AC_MSG_CHECKING(for inline)
282 AC_CACHE_VAL(glib_cv_hasinline,[
284 inline int foo () { return 0; }
285 int main () { return foo (); }
287 glib_cv_hasinline=yes
292 AC_MSG_RESULT($glib_cv_hasinline)
293 case x$glib_cv_hasinline in
294 xyes) AC_DEFINE(G_HAVE_INLINE)
297 dnl for bytesex stuff
300 dnl header file checks
301 AC_CHECK_HEADERS(float.h, AC_DEFINE(HAVE_FLOAT_H))
302 AC_CHECK_HEADERS(limits.h, AC_DEFINE(HAVE_LIMITS_H))
303 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
304 AC_CHECK_HEADERS(sys/param.h, AC_DEFINE(HAVE_SYS_PARAM_H))
305 AC_CHECK_HEADERS(sys/poll.h, AC_DEFINE(HAVE_SYS_POLL_H))
306 AC_CHECK_HEADERS(sys/select.h, AC_DEFINE(HAVE_SYS_SELECT_H))
307 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
308 AC_CHECK_HEADERS(sys/times.h, AC_DEFINE(HAVE_SYS_TIMES_H))
309 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
310 AC_CHECK_HEADERS(values.h, AC_DEFINE(HAVE_VALUES_H))
312 # Check for some functions
313 AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf strcasecmp strncasecmp poll)
315 # Check if bcopy can be used for overlapping copies, if memmove isn't found.
316 # The check is borrowed from the PERL Configure script.
317 if test "$ac_cv_func_memmove" != "yes"; then
318 AC_CACHE_CHECK(whether bcopy can handle overlapping copies,
319 glib_cv_working_bcopy,[AC_TRY_RUN([
321 char buf[128], abc[128], *b;
323 bcopy("abcdefghijklmnopqrstuvwxyz0123456789", abc, 36);
324 for (align = 7; align >= 0; align--) {
325 for (len = 36; len; len--) {
326 b = buf+align; bcopy(abc, b, len);
327 for (off = 1; off <= len; off++) {
328 bcopy(b, b+off, len); bcopy(b+off, b, len);
329 if (bcmp(b, abc, len)) return(1);
334 }],glib_cv_working_bcopy=yes,glib_cv_working_bcopy=no)])
335 if test "$glib_cv_working_bcopy" == "yes"; then
336 AC_DEFINE(HAVE_WORKING_BCOPY)
340 # Check for sys_errlist
341 AC_MSG_CHECKING(for sys_errlist)
343 extern char *sys_errlist[];
345 sys_errlist[sys_nerr-1][0] = 0;
346 ], glib_ok=yes, glib_ok=no)
347 AC_MSG_RESULT($glib_ok)
348 if test $glib_ok = no; then
349 AC_DEFINE(NO_SYS_ERRLIST)
352 # Check for sys_siglist
353 AC_MSG_CHECKING(for sys_siglist)
355 extern char *sys_siglist[];
356 strlen (sys_siglist[0]);
357 ], glib_ok=yes, glib_ok=no)
358 AC_MSG_RESULT($glib_ok)
359 if test $glib_ok = no; then
360 AC_DEFINE(NO_SYS_SIGLIST)
363 # Check for sys_siglist decl (see Tue Jan 19 00:44:24 1999 in changelog)
364 AC_MSG_CHECKING(for sys_siglist declaration)
365 AC_TRY_COMPILE([#include <signal.h>], [
366 strlen (sys_siglist[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_SIGLIST_DECL)
373 # Check if <sys/select.h> needs to be included for fd_set
374 AC_MSG_CHECKING([for fd_set])
375 AC_TRY_COMPILE([#include <sys/types.h>],
376 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
377 if test $gtk_ok = yes; then
378 AC_MSG_RESULT([yes, found in sys/types.h])
380 AC_HEADER_EGREP(fd_set, sys/select.h, gtk_ok=yes)
381 if test $gtk_ok = yes; then
382 AC_DEFINE(HAVE_SYS_SELECT_H)
383 AC_MSG_RESULT([yes, found in sys/select.h])
390 dnl *** check for sane realloc() ***
391 AC_MSG_CHECKING(whether realloc (NULL,) will work)
392 AC_CACHE_VAL(glib_cv_sane_realloc,[
396 return realloc (0, sizeof (int)) == 0;
398 glib_cv_sane_realloc=yes
399 AC_DEFINE(REALLOC_0_WORKS)
401 glib_cv_sane_realloc=no
404 AC_MSG_RESULT($glib_cv_sane_realloc)
407 dnl **********************
408 dnl *** va_copy checks ***
409 dnl **********************
410 dnl we currently check for all three va_copy possibilities, so we get
411 dnl all results in config.log for bug reports.
412 AC_MSG_CHECKING(for an implementation of va_copy())
413 AC_CACHE_VAL(glib_cv_va_copy,[
416 void f (int i, ...) {
417 va_list args1, args2;
419 va_copy (args2, args1);
420 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
422 va_end (args1); va_end (args2);
433 AC_MSG_RESULT($glib_cv_va_copy)
434 AC_MSG_CHECKING(for an implementation of __va_copy())
435 AC_CACHE_VAL(glib_cv___va_copy,[
438 void f (int i, ...) {
439 va_list args1, args2;
441 __va_copy (args2, args1);
442 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
444 va_end (args1); va_end (args2);
450 glib_cv___va_copy=yes
455 AC_MSG_RESULT($glib_cv___va_copy)
456 AC_MSG_CHECKING(whether va_lists can be copied by value)
457 AC_CACHE_VAL(glib_cv_va_val_copy,[
460 void f (int i, ...) {
461 va_list args1, args2;
464 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
466 va_end (args1); va_end (args2);
472 glib_cv_va_val_copy=yes
474 glib_cv_va_val_copy=no
477 if test "x$glib_cv_va_copy" = "xyes"; then
478 AC_DEFINE(G_VA_COPY, va_copy)
479 else if test "x$glib_cv___va_copy" = "xyes"; then
480 AC_DEFINE(G_VA_COPY, __va_copy)
483 if test "x$glib_cv_va_val_copy" = "xno"; then
484 AC_DEFINE(G_VA_COPY_AS_ARRAY)
486 AC_MSG_RESULT($glib_cv_va_val_copy)
489 dnl ***********************
490 dnl *** g_module checks ***
491 dnl ***********************
494 G_MODULE_PLUGIN_LIBS=
496 dnl G_MODULE_IMPL= don't reset, so cmd-line can override
497 G_MODULE_NEED_USCORE=0
498 G_MODULE_HAVE_DLERROR=0
499 dnl *** dlopen() and dlsym() in system libraries
500 if test -z "$G_MODULE_IMPL"; then
501 AC_CHECK_FUNC(dlopen,
503 G_MODULE_IMPL=G_MODULE_IMPL_DL
507 dnl *** load_image (BeOS)
508 if test -z "$G_MODULE_IMPL" -a "x$glib_native_beos" = "xyes"; then
509 AC_CHECK_LIB(root, load_image,
510 G_MODULE_LIBS="-lbe -lroot -lglib"
511 G_MODULE_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
512 G_MODULE_PLUGIN_LIBS="-L\$(top_builddir_full)/gmodule/.libs -lgmodule"
513 G_MODULE_IMPL=G_MODULE_IMPL_BEOS
516 dnl *** dlopen() and dlsym() in libdl
517 if test -z "$G_MODULE_IMPL"; then
518 AC_CHECK_LIB(dl, dlopen,
519 AC_CHECK_LIB(dl, dlsym,
521 G_MODULE_IMPL=G_MODULE_IMPL_DL
525 dnl *** shl_load() in libdld (HP-UX)
526 if test -z "$G_MODULE_IMPL"; then
527 AC_MSG_CHECKING(how to export all symbols)
528 SAVED_LDFLAGS=$LDFLAGS
529 LDFLAGS="$LDFLAGS -Wl,-E"
530 AC_TRY_LINK(,[ return 0; ],
531 [ G_MODULE_LDFLAGS="-Wl,-E" ],[
532 LDFLAGS="$SAVED_LDFLAGS -bexpall"
533 AC_TRY_LINK(,[ return 0; ],
534 G_MODULE_LDFLAGS="-bexpall",
535 G_MODULE_LDFLAGS="none"
538 LDFLAGS=$SAVED_LDFLAGS
539 AC_MSG_RESULT($G_MODULE_LDFLAGS)
540 if test "x$G_MODULE_LDFLAGS" = "xnone"; then
543 AC_CHECK_LIB(dld, shl_load,
545 G_MODULE_IMPL=G_MODULE_IMPL_DLD
548 dnl *** additional checks for G_MODULE_IMPL_DL
549 if test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL"; then
552 G_MODULE_LDFLAGS='-rdynamic'
556 LDFLAGS_orig="$LDFLAGS"
557 LIBS="$LIBS $G_MODULE_LIBS"
558 LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
559 dnl *** check whether we need preceeding underscores
560 AC_MSG_CHECKING(for preceeding underscore in symbols)
561 AC_CACHE_VAL(glib_cv_uscore,[
564 int glib_underscore_test (void) { return 42; }
566 void *f1 = (void*)0, *f2 = (void*)0, *handle;
567 handle = dlopen ((void*)0, 0);
569 f1 = dlsym (handle, "glib_underscore_test");
570 f2 = dlsym (handle, "_glib_underscore_test");
571 } return (!f2 || f1);
576 rm -f plugin.c plugin.o plugin.lo
578 AC_MSG_RESULT($glib_cv_uscore)
579 if test "x$glib_cv_uscore" = "xyes"; then
580 G_MODULE_NEED_USCORE=1
582 G_MODULE_NEED_USCORE=0
585 LDFLAGS="$LDFLAGS_orig"
586 dnl *** check for having dlerror()
587 AC_CHECK_FUNC(dlerror,
588 G_MODULE_HAVE_DLERROR=1,
589 G_MODULE_HAVE_DLERROR=0)
592 dnl *** done, have e got an implementation?
593 if test -z "$G_MODULE_IMPL"; then
596 AC_SUBST(G_MODULE_IMPL)
597 AC_SUBST(G_MODULE_LIBS)
598 AC_SUBST(G_MODULE_LIBS_EXTRA)
599 AC_SUBST(G_MODULE_PLUGIN_LIBS)
600 AC_SUBST(G_MODULE_LDFLAGS)
601 AC_SUBST(G_MODULE_HAVE_DLERROR)
602 AC_SUBST(G_MODULE_NEED_USCORE)
603 AC_SUBST(GLIB_DEBUG_FLAGS)
606 dnl ***********************
607 dnl *** g_thread checks ***
608 dnl ***********************
610 AC_ARG_WITH(threads, [ --with-threads=[none/posix/dce/solaris] specify a thread implementation to use],
611 if test "x$with_threads" = x; then
614 want_threads=$with_threads
617 if test "x$enable_threads" = "xno"; then
620 if test "x$want_threads" = "xnone"; then
624 dnl error and warning message
625 dnl *************************
627 THREAD_NO_IMPLEMENTATION="You do not have any known thread system on your
628 computer. GLib will not have a default thread implementation."
630 FLAG_DOES_NOT_WORK="I can't find the MACRO, that enables thread safety on your
631 platform (normaly it's "_REENTRANT"). I'll not use any flag on
632 compilation now, but then your programs might not work.
633 Please provide information on how it is done on your system."
635 LIBS_NOT_FOUND_1="I can't find the libraries for the thread implementation
638 LIBS_NOT_FOUND_2=". Please choose another thread implementation or
639 provide information on your thread implementation.
640 You can also run 'configure --disable-threads'
641 to compile without thread support."
643 FUNC_NO_GETPWUID_R="the 'g_get_(user_name|real_name|home_dir|tmp_dir)'
644 functions will not be MT-safe during their first call because
645 there is no working 'getpwuid_r' on your system."
647 FUNC_NO_LOCALTIME_R="the 'g_date_set_time' function will not be MT-safe
648 because there is no 'localtime_r' on your system."
650 dnl determination of thread implementation
651 dnl ***************************************
654 if test "x$want_threads" = xyes || test "x$want_threads" = xsolaris; then
657 AC_CHECK_LIB(thread, cond_init, have_threads=solaris)
661 if test "x$want_threads" = xyes || test "x$want_threads" = xposix \
662 || test "x$want_threads" = xdce; then
663 # -D_POSIX4A_DRAFT10_SOURCE is for DG/UX
664 # -U_OSF_SOURCE if for Digital UNIX 4.0d
665 GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
666 glib_save_CPPFLAGS="$CPPFLAGS"
667 CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
668 if test "x$have_threads" = xnone; then
669 AC_EGREP_HEADER([[^a-zA-Z_]pthread_attr_init[^a-zA-Z_]],
673 if test "x$have_threads" = xnone; then
674 AC_EGREP_HEADER([[^a-zA-Z_]pthread_attr_create[^a-zA-Z_]],
678 CPPFLAGS="$glib_save_CPPFLAGS"
681 AC_MSG_CHECKING(for thread implementation)
683 if test "x$have_threads" = xnone && test "x$want_threads" != xno; then
684 AC_MSG_RESULT(none available)
685 AC_MSG_WARN($THREAD_NO_IMPLEMENTATION)
687 AC_MSG_RESULT($have_threads)
691 dnl determination of G_THREAD_LIBS
692 dnl ******************************
699 case $have_threads in
702 glib_save_LIBS="$LIBS"
703 for thread_lib in "" pthread pthreads c_r thread dce; do
704 # This is not AC_CHECK_LIB to also work with function
705 # name mangling in header files.
706 if test x"$thread_lib" = x; then
710 add_thread_lib="-l$thread_lib"
711 IN=" in -l$thread_lib"
714 LIBS="$glib_save_LIBS $add_thread_lib"
716 AC_MSG_CHECKING(for pthread_join$IN)
717 AC_TRY_LINK([#include <pthread.h>],
718 [pthread_join(NULL,NULL)],
720 G_THREAD_LIBS="$add_thread_lib"
724 LIBS="$glib_save_LIBS"
725 mutex_has_default=yes
726 mutex_default_type='pthread_mutex_t'
727 mutex_default_init='PTHREAD_MUTEX_INITIALIZER'
728 mutex_header_file='pthread.h'
729 if test "x$have_threads" = "xposix"; then
730 g_threads_impl="POSIX"
735 AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
739 AC_CHECK_LIB(thread, cond_init, G_THREAD_LIBS="-lthread")
740 mutex_has_default=yes
741 mutex_default_type='mutex_t'
742 mutex_default_init="DEFAULTMUTEX"
743 mutex_header_file='thread.h'
744 g_threads_impl="SOLARIS"
747 g_threads_impl="NONE"
750 g_threads_impl="NONE"
755 if test "x$G_THREAD_LIBS" = xerror; then
756 AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
761 G_THREAD_LIBS="-lbe -lroot -lglib "
762 G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
769 AC_MSG_CHECKING(thread related libraries)
770 AC_MSG_RESULT($G_THREAD_LIBS)
772 dnl determination of G_THREAD_CFLAGS
773 dnl ********************************
775 if test x"$enable_threads" = xyes; then
777 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_REENTRANT" # good default guess
781 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
782 if test x"$GCC" = xyes; then
783 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -mthreads"
787 G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
789 # FreeBSD 2.2.x shiped with gcc 2.7.2.x, which doesn't support
794 # if we are not finding the ctime_r function, then we probably are
795 # not using the proper multithread flag
796 old_CPPFLAGS=$CPPFLAGS
797 CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
798 # Note: Digital UNIX 4.0d #defines ctime_r to _Pctime_r for gcc.
799 AC_EGREP_HEADER([[^a-zA-Z_](_P)?ctime_r[^a-zA-Z_]], time.h, ,
801 AC_MSG_WARN($FLAG_DOES_NOT_WORK))
802 CPPFLAGS=$old_CPPFLAGS
804 AC_MSG_CHECKING(thread related cflags)
806 AC_MSG_RESULT($G_THREAD_CFLAGS)
811 dnl check for mt safe function variants and some posix functions
812 dnl ************************************************************
814 if test x"$enable_threads" = xyes; then
815 glib_save_LIBS="$LIBS"
816 glib_save_CFLAGS="$CFLAGS"
817 # we are not doing the following for now, as this might require glib
818 # to always be linked with the thread libs on some platforms.
819 # LIBS="$LIBS $G_THREAD_LIBS"
820 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
821 AC_CHECK_FUNCS(localtime_r)
822 if test "$ac_cv_header_pwd_h" = "yes"; then
823 AC_MSG_CHECKING([for getpwuid_r])
824 AC_CACHE_VAL(ac_cv_func_getpwuid_r,
825 [AC_TRY_RUN([#include <errno.h>
826 int main () { char buffer[10000], *pointer;
827 char getpwuid_r (long, void*, void*,
830 getpwuid_r (0, &buffer, &buffer,
831 sizeof (buffer), &pointer);
832 return errno == ENOSYS;}],
833 [ac_cv_func_getpwuid_r=yes],
834 [ac_cv_func_getpwuid_r=no])])
835 if test "$ac_cv_func_getpwuid_r" = yes; then
837 AC_DEFINE(HAVE_GETPWUID_R)
841 if test "$ac_cv_func_getpwuid_r" = "yes"; then
842 AC_MSG_CHECKING(whether getpwuid_r is posix like)
843 # getpwuid_r(0, NULL, NULL, 0) is the signature on
844 # solaris, if that is not found, the prog below won't
845 # compile, then the posix signature is assumed as
847 AC_TRY_COMPILE([#include <pwd.h>],
848 [getpwuid_r(0, NULL, NULL, 0);],
851 AC_DEFINE(HAVE_GETPWUID_R_POSIX)])
854 LIBS="$LIBS $G_THREAD_LIBS"
855 if test x"$have_threads" = xposix; then
856 GLIB_SIZEOF([#include <pthread.h>],
859 # This is not AC_CHECK_FUNC to also work with function
860 # name mangling in header files.
861 AC_MSG_CHECKING(for pthread_attr_setstacksize)
862 AC_TRY_LINK([#include <pthread.h>],
863 [pthread_attr_setstacksize(NULL,0)],
865 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE)],
867 # If sched_get_priority_min(SCHED_OTHER) returns something
868 # negative, we ignore it. This happens on Solaris.
869 AC_MSG_CHECKING(for minimal/maximal thread priority)
870 AC_TRY_RUN([#include <pthread.h>
872 { return sched_get_priority_min(SCHED_OTHER) < 0;}],
873 [posix_priority_min="sched_get_priority_min(SCHED_OTHER)"
874 posix_priority_max="sched_get_priority_max(SCHED_OTHER)"],
875 [posix_priority_min=none])
876 if test x"$posix_priority_min" = xnone; then
877 AC_EGREP_CPP(PX_PRIO_MIN,[#include <pthread.h>
879 posix_priority_min=PX_PRIO_MIN
880 posix_priority_max=PX_PRIO_MAX])
882 if test x"$posix_priority_min" = xnone; then
883 AC_EGREP_CPP(PRI_OTHER_MIN,[#include <pthread.h>
885 posix_priority_min=PRI_OTHER_MIN
886 posix_priority_max=PRI_OTHER_MAX])
888 if test x"$posix_priority_min" = xnone; then
892 posix_priority_max=127
896 if test x"$posix_priority_min" = xnone; then
897 AC_MSG_RESULT(none found)
898 AC_MSG_WARN($POSIX_NO_PRIORITIES)
902 AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
904 AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min)
905 AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max)
906 posix_yield_func=none
907 AC_MSG_CHECKING(for posix yield function)
908 for yield_func in pthread_yield_np pthread_yield sched_yield \
910 AC_TRY_LINK([#include <pthread.h>],
912 [posix_yield_func="$yield_func"
915 if test x"$posix_yield_func" = xnone; then
916 AC_MSG_RESULT(none found)
917 AC_MSG_WARN($POSIX_NO_YIELD)
918 posix_yield_func="g_thread_sleep(1000)"
920 AC_MSG_RESULT($posix_yield_func)
921 posix_yield_func="$posix_yield_func()"
923 AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func)
925 LIBS="$glib_save_LIBS"
926 CFLAGS="$glib_save_CFLAGS"
928 # now spit out all the warnings.
929 if test "$ac_cv_func_getpwuid_r" != "yes"; then
930 AC_MSG_WARN($FUNC_NO_GETPWUID_R)
932 if test "$ac_cv_func_localtime_r" != "yes"; then
933 AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
937 AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c")
938 AC_SUBST(G_THREAD_CFLAGS)
939 AC_SUBST(G_THREAD_LIBS)
940 AC_SUBST(G_THREAD_LIBS_EXTRA)
942 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
944 dnl **********************************************
945 dnl *** GDefaultMutex setup and initialization ***
946 dnl **********************************************
948 dnl if mutex_has_default = yes, we also got
949 dnl mutex_default_type, mutex_default_init and mutex_header_file
950 GLIB_IF_VAR_EQ(mutex_has_default, yes,
951 GLIB_SIZEOF([#include <$mutex_header_file>],
955 GLIB_BYTE_CONTENTS([#include <$mutex_header_file>],
958 $glib_cv_sizeof_gmutex,
960 if test x"$have_threads" = xposix; then
961 GLIB_BYTE_CONTENTS([#define __USE_GNU
962 #include <$mutex_header_file>],
965 $glib_cv_sizeof_gmutex,
966 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)
972 dnl ****************************************
973 dnl *** GLib POLL* compatibility defines ***
974 dnl ****************************************
976 [#include <sys/types.h>
977 #include <sys/poll.h>],
978 POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
979 glibconfig-sysdefs.h,
983 dnl ******************************
984 dnl *** output the whole stuff ***
985 dnl ******************************
989 ## Generate `glibconfig.h' in two cases
990 ## 1. `config.status' is run either explicitly, or via configure.
991 ## Esp. not when it is run in `Makefile' to generate makefiles and
993 ## 2. CONFIG_OTHER is set explicitly
995 ## Case 1 is difficult. We know that `automake' sets one of
996 ## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
997 ## only when AM_CONFIG_HEADER is set, however.
999 if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
1000 # Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
1001 CONFIG_OTHER=${CONFIG_OTHER:-glibconfig.h}
1003 case "$CONFIG_OTHER" in
1005 echo creating glibconfig.h
1006 outfile=glibconfig.h-tmp
1007 cat > $outfile <<\_______EOF
1010 * This is a generated file. Please modify `configure.in'
1013 #ifndef GLIBCONFIG_H
1014 #define GLIBCONFIG_H
1018 #endif /* __cplusplus */
1022 if test x$glib_limits_h = xyes; then
1023 echo '#include <limits.h>' >> $outfile
1025 if test x$glib_float_h = xyes; then
1026 echo '#include <float.h>' >> $outfile
1028 if test x$glib_values_h = xyes; then
1029 echo '#include <values.h>' >> $outfile
1031 if test x$g_mutex_header_file != x; then
1032 echo '#include <'"$g_mutex_header_file"'>' >> $outfile
1034 if test x$glib_sys_poll_h = xyes; then
1035 echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
1038 cat >> $outfile <<_______EOF
1040 #define G_MINFLOAT $glib_mf
1041 #define G_MAXFLOAT $glib_Mf
1042 #define G_MINDOUBLE $glib_md
1043 #define G_MAXDOUBLE $glib_Md
1044 #define G_MINSHORT $glib_ms
1045 #define G_MAXSHORT $glib_Ms
1046 #define G_MAXUSHORT $glib_Mus
1047 #define G_MININT $glib_mi
1048 #define G_MAXINT $glib_Mi
1049 #define G_MAXUINT $glib_Mui
1050 #define G_MINLONG $glib_ml
1051 #define G_MAXLONG $glib_Ml
1052 #define G_MAXULONG $glib_Mul
1057 ### this should always be true in a modern C/C++ compiler
1058 cat >>$outfile <<_______EOF
1059 typedef signed char gint8;
1060 typedef unsigned char guint8;
1064 if test -n "$gint16"; then
1065 cat >>$outfile <<_______EOF
1066 typedef signed $gint16 gint16;
1067 typedef unsigned $gint16 guint16;
1068 #define G_GINT16_FORMAT $gint16_format
1069 #define G_GUINT16_FORMAT $guint16_format
1074 if test -n "$gint32"; then
1075 cat >>$outfile <<_______EOF
1076 typedef signed $gint32 gint32;
1077 typedef unsigned $gint32 guint32;
1078 #define G_GINT32_FORMAT $gint32_format
1079 #define G_GUINT32_FORMAT $guint32_format
1084 if test -n "$gint64"; then
1085 cat >>$outfile <<_______EOF
1086 ${glib_warning_guard}#define G_HAVE_GINT64 1
1088 ${glib_extension}typedef signed $gint64 gint64;
1089 ${glib_extension}typedef unsigned $gint64 guint64;
1091 #define G_GINT64_FORMAT $gint64_format
1092 #define G_GUINT64_FORMAT $guint64_format
1093 #define G_GINT64_CONSTANT(val) $gint64_constant
1098 if test -z "$glib_unknown_void_p"; then
1099 cat >>$outfile <<_______EOF
1101 #define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p))
1102 #define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p))
1104 #define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
1105 #define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
1108 echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
1113 cat >>$outfile <<_______EOF
1121 #define G_HAVE_INLINE 1
1122 #else /* !__cplusplus */
1124 #endif /* !__cplusplus */
1128 if test x$g_mutex_has_default = xyes; then
1129 cat >>$outfile <<_______EOF
1130 $g_enable_threads_def G_THREADS_ENABLED
1131 #define G_THREADS_IMPL_$g_threads_impl_def
1132 typedef struct _GStaticMutex GStaticMutex;
1133 struct _GStaticMutex
1135 struct _GMutex *runtime_mutex;
1137 char pad[$g_mutex_sizeof];
1138 double dummy_double;
1139 void *dummy_pointer;
1143 #define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
1144 #define g_static_mutex_get_mutex(mutex) \
1145 (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
1146 g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
1149 cat >>$outfile <<_______EOF
1150 $g_enable_threads_def G_THREADS_ENABLED
1151 #define G_THREADS_IMPL_$g_threads_impl_def
1152 typedef struct _GMutex* GStaticMutex;
1153 #define G_STATIC_MUTEX_INIT NULL
1154 #define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
1157 if test x$g_recmutex_contents != xno -a \
1158 x$g_recmutex_contents != x; then
1159 # the definition of GStaticRecMutex is not done via
1160 # typedef GStaticMutex GStaticRecMutex to avoid silent
1161 # compilation, when a GStaticRecMutex is used where a
1162 # GStaticMutex should have been used and vice versa,
1163 # because that micht fail on other platforms.
1164 cat >>$outfile <<_______EOF
1165 typedef struct _GStaticRecMutex GStaticRecMutex;
1166 struct _GStaticRecMutex
1168 struct _GMutex *runtime_mutex;
1170 char pad[$g_mutex_sizeof];
1171 double dummy_double;
1172 void *dummy_pointer;
1176 #define G_STATIC_REC_MUTEX_INIT { NULL, { { $g_recmutex_contents} } }
1177 #define g_static_rec_mutex_lock(mutex) g_static_mutex_lock (mutex)
1178 #define g_static_rec_mutex_trylock(mutex) g_static_mutex_trylock (mutex)
1179 #define g_static_rec_mutex_unlock(mutex) g_static_mutex_unlock (mutex)
1180 #define g_static_rec_mutex_get_mutex(mutex) (mutex)
1186 if test -n "$gint64"; then
1187 g_bit_sizes="$g_bit_sizes 64"
1189 for bits in $g_bit_sizes; do
1190 cat >>$outfile <<_______EOF
1191 #define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
1192 #define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val))
1193 #define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
1194 #define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val))
1198 cat >>$outfile <<_______EOF
1199 #define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val))
1200 #define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val))
1201 #define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val))
1202 #define GULONG_TO_BE(val) ((gulong) GUINT${glongbits}_TO_BE (val))
1203 #define GINT_TO_LE(val) ((gint) GINT${gintbits}_TO_LE (val))
1204 #define GUINT_TO_LE(val) ((guint) GUINT${gintbits}_TO_LE (val))
1205 #define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val))
1206 #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val))
1207 #define G_BYTE_ORDER $g_byte_order
1211 if test -r glibconfig-sysdefs.h; then
1212 cat glibconfig-sysdefs.h >>$outfile
1215 cat >>$outfile <<_______EOF
1218 #endif /* __cplusplus */
1220 #endif /* GLIBCONFIG_H */
1224 if cmp -s $outfile glibconfig.h; then
1225 echo glibconfig.h is unchanged
1228 mv $outfile glibconfig.h
1233 # Note that if two cases are the same, case goes with the first one.
1234 # Note also that this is inside an AC_OUTPUT_COMMAND. We do not depend
1235 # on variable expansion in case labels. Look at the generated config.status
1239 x$ac_cv_header_float_h)
1241 glib_mf=FLT_MIN glib_Mf=FLT_MAX
1242 glib_md=DBL_MIN glib_Md=DBL_MAX
1244 x$ac_cv_header_values_h)
1246 glib_mf=MINFLOAT glib_Mf=MAXFLOAT
1247 glib_md=MINDOUBLE glib_Md=MAXDOUBLE
1252 x$ac_cv_header_limits_h)
1254 glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX
1255 glib_mi=INT_MIN glib_Mi=INT_MAX glib_Mui=UINT_MAX
1256 glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX
1258 x$ac_cv_header_values_h)
1260 glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)"
1261 glib_mi=MININT glib_Mi=MAXINT glib_Mui="(((guint)G_MAXINT)*2+1)"
1262 glib_ml=MINLONG glib_Ml=MAXLONG glib_Mul="(((gulong)G_MAXLONG)*2+1)"
1266 if test x$ac_cv_header_sys_poll_h = xyes ; then
1271 $ac_cv_sizeof_short)
1273 gint16_format='"hi"'
1274 guint16_format='"hu"'
1279 guint16_format='"u"'
1283 $ac_cv_sizeof_short)
1285 gint32_format='"hi"'
1286 guint32_format='"hu"'
1291 guint32_format='"u"'
1295 gint32_format='"li"'
1296 guint32_format='"lu"'
1303 guint64_format='"u"'
1306 gint64_constant='(val)'
1310 gint64_format='"li"'
1311 guint64_format='"lu"'
1314 gint64_constant='(val##L)'
1316 $ac_cv_sizeof_long_long)
1318 gint64_format='"'$glib_cv_long_long_format'i"'
1319 guint64_format='"'$glib_cv_long_long_format'u"'
1320 glib_extension='G_GNUC_EXTENSION '
1321 glib_warning_guard="
1322 #if defined (__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 8
1323 # define G_GNUC_EXTENSION __extension__
1325 # define G_GNUC_EXTENSION
1329 gint64_constant='(G_GNUC_EXTENSION (val##LL))'
1333 gintbits=`expr $ac_cv_sizeof_int \* 8`
1334 glongbits=`expr $ac_cv_sizeof_long \* 8`
1337 case $ac_cv_sizeof_void_p in
1338 $ac_cv_sizeof_int) glib_gpi_cast='' glib_gpui_cast='' ;;
1339 $ac_cv_sizeof_long) glib_gpi_cast='(glong)' glib_gpui_cast='(gulong)' ;;
1340 *) glib_unknown_void_p=yes ;;
1345 x$ac_cv_func_atexit)
1347 #ifdef NeXT /* @#%@! NeXTStep */
1348 # define g_ATEXIT(proc) (!atexit (proc))
1350 # define g_ATEXIT(proc) (atexit (proc))
1353 x$ac_cv_func_on_exit)
1355 #define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))"
1360 x$ac_cv_func_memmove)
1362 #define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END'
1364 x$glib_cv_working_bcopy)
1366 /* memmove isn't available, but bcopy can copy overlapping memory regions */
1367 #define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END"
1371 /* memmove isn't found and bcopy can't copy overlapping memory regions,
1372 * so we have to roll our own copy routine. */
1373 void g_memmove (void* dest, const void * src, unsigned long len);"
1378 #define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION
1379 #define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION
1380 #define GLIB_MICRO_VERSION $GLIB_MICRO_VERSION
1384 x$glib_cv_va_copy) glib_vacopy='#define G_VA_COPY va_copy' ;;
1385 x$glib_cv___va_copy) glib_vacopy='#define G_VA_COPY __va_copy' ;;
1389 if test x$glib_cv_va_val_copy = xno; then
1390 glib_vacopy="\$glib_vacopy
1391 #define G_VA_COPY_AS_ARRAY 1"
1394 if test x$glib_cv_hasinline = xyes; then
1395 glib_inline='#define G_HAVE_INLINE 1'
1397 if test x$glib_cv_has__inline = xyes; then
1398 glib_inline="\$glib_inline
1399 #define G_HAVE___INLINE 1"
1401 if test x$glib_cv_has__inline__ = xyes; then
1402 glib_inline="\$glib_inline
1403 #define G_HAVE___INLINE__ 1"
1407 x$ac_cv_c_bigendian)
1408 g_byte_order=G_BIG_ENDIAN
1413 g_byte_order=G_LITTLE_ENDIAN
1419 case x$enable_threads in
1420 xyes) g_enable_threads_def="#define";;
1421 *) g_enable_threads_def="#undef ";;
1424 g_threads_impl_def=$g_threads_impl
1426 g_mutex_has_default="$mutex_has_default"
1427 g_mutex_sizeof="$glib_cv_sizeof_gmutex"
1428 g_mutex_contents="$glib_cv_byte_contents_gmutex"
1429 g_recmutex_contents="$glib_cv_byte_contents_grecmutex"
1431 if test "x$glib_native_beos" = "xyes"; then
1432 glib_native_beos_def="\$glib_native_beos_def
1433 #define GLIB_NATIVE_BEOS 1"
1441 gmodule/gmoduleconf.h
1446 ],[case "$CONFIG_FILES" in
1447 *glib-config*)chmod +x glib-config;;
1450 echo " *** IMPORTANT *** "
1452 echo "This is a development version of GLib. You should be using a stable"
1453 echo "version, which is available at ftp://ftp.gtk.org/pub/gtk/v1.2/. The"
1454 echo "version you just configured is meant for developers of GLib only:"
1456 echo " * You should not base stable software on this version of GLib."
1457 echo " * GNOME developers should use a stable version of GLib."
1459 echo "Distributions should *NOT* ship a development package of this GLib."
1460 echo "Do not ship the headers and do not ship the glib-config script. These"
1461 echo "things will conflict with the stable 1.2 series. Package only enough"
1462 echo "to satisfy the requirements of some other package. Package only the"
1463 echo "library itself. Doing otherwise will do no favors to the community."
1465 echo "If you install this version of GLib, we strongly recommend that you"
1466 echo "install it in a different prefix than GLib 1.2. Use --prefix as an"
1467 echo "argument to configure to do this. Otherwise, you will not be able to"
1468 echo "do development with GLib 1.2 any longer."
1470 echo " *** You should be using GLib 1.2 instead. ***"