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_t t; pthread_join(t,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_t t; pthread_attr_setstacksize(&t,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 # for now, the only other implementation is solaris
947 # -> there 4 bytes are enough
948 AC_DEFINE_UNQUOTED(GLIB_SIZEOF_SYSTEM_THREAD, 4)
951 LIBS="$glib_save_LIBS"
952 CFLAGS="$glib_save_CFLAGS"
954 # now spit out all the warnings.
955 if test "$ac_cv_func_getpwuid_r" != "yes"; then
956 AC_MSG_WARN($FUNC_NO_GETPWUID_R)
958 if test "$ac_cv_func_localtime_r" != "yes"; then
959 AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
963 AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c")
964 AC_SUBST(G_THREAD_CFLAGS)
965 AC_SUBST(G_THREAD_LIBS)
966 AC_SUBST(G_THREAD_LIBS_EXTRA)
968 CFLAGS="$CFLAGS $G_THREAD_CFLAGS"
970 dnl **********************************************
971 dnl *** GDefaultMutex setup and initialization ***
972 dnl **********************************************
974 dnl if mutex_has_default = yes, we also got
975 dnl mutex_default_type, mutex_default_init and mutex_header_file
976 GLIB_IF_VAR_EQ(mutex_has_default, yes,
977 GLIB_SIZEOF([#include <$mutex_header_file>],
981 GLIB_BYTE_CONTENTS([#include <$mutex_header_file>],
984 $glib_cv_sizeof_gmutex,
986 if test x"$glib_cv_byte_contents_gmutex" = xno; then
989 if test x"$have_threads" = xposix; then
990 GLIB_BYTE_CONTENTS([#define __USE_GNU
991 #include <$mutex_header_file>],
994 $glib_cv_sizeof_gmutex,
995 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)
1001 dnl ****************************************
1002 dnl *** GLib POLL* compatibility defines ***
1003 dnl ****************************************
1005 [#include <sys/types.h>
1006 #include <sys/poll.h>],
1007 POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
1008 glibconfig-sysdefs.h,
1012 dnl ******************************
1013 dnl *** output the whole stuff ***
1014 dnl ******************************
1016 AC_OUTPUT_COMMANDS([
1018 ## Generate `glibconfig.h' in two cases
1019 ## 1. `config.status' is run either explicitly, or via configure.
1020 ## Esp. not when it is run in `Makefile' to generate makefiles and
1022 ## 2. CONFIG_OTHER is set explicitly
1024 ## Case 1 is difficult. We know that `automake' sets one of
1025 ## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
1026 ## only when AM_CONFIG_HEADER is set, however.
1028 if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
1029 # Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
1030 CONFIG_OTHER=${CONFIG_OTHER:-glibconfig.h}
1032 case "$CONFIG_OTHER" in
1034 echo creating glibconfig.h
1035 outfile=glibconfig.h-tmp
1036 cat > $outfile <<\_______EOF
1039 * This is a generated file. Please modify `configure.in'
1042 #ifndef GLIBCONFIG_H
1043 #define GLIBCONFIG_H
1047 #endif /* __cplusplus */
1051 if test x$glib_limits_h = xyes; then
1052 echo '#include <limits.h>' >> $outfile
1054 if test x$glib_float_h = xyes; then
1055 echo '#include <float.h>' >> $outfile
1057 if test x$glib_values_h = xyes; then
1058 echo '#include <values.h>' >> $outfile
1060 if test x$g_mutex_header_file != x; then
1061 echo '#include <'"$g_mutex_header_file"'>' >> $outfile
1063 if test x$glib_sys_poll_h = xyes; then
1064 echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
1067 cat >> $outfile <<_______EOF
1069 #define G_MINFLOAT $glib_mf
1070 #define G_MAXFLOAT $glib_Mf
1071 #define G_MINDOUBLE $glib_md
1072 #define G_MAXDOUBLE $glib_Md
1073 #define G_MINSHORT $glib_ms
1074 #define G_MAXSHORT $glib_Ms
1075 #define G_MAXUSHORT $glib_Mus
1076 #define G_MININT $glib_mi
1077 #define G_MAXINT $glib_Mi
1078 #define G_MAXUINT $glib_Mui
1079 #define G_MINLONG $glib_ml
1080 #define G_MAXLONG $glib_Ml
1081 #define G_MAXULONG $glib_Mul
1086 ### this should always be true in a modern C/C++ compiler
1087 cat >>$outfile <<_______EOF
1088 typedef signed char gint8;
1089 typedef unsigned char guint8;
1093 if test -n "$gint16"; then
1094 cat >>$outfile <<_______EOF
1095 typedef signed $gint16 gint16;
1096 typedef unsigned $gint16 guint16;
1097 #define G_GINT16_FORMAT $gint16_format
1098 #define G_GUINT16_FORMAT $guint16_format
1103 if test -n "$gint32"; then
1104 cat >>$outfile <<_______EOF
1105 typedef signed $gint32 gint32;
1106 typedef unsigned $gint32 guint32;
1107 #define G_GINT32_FORMAT $gint32_format
1108 #define G_GUINT32_FORMAT $guint32_format
1113 if test -n "$gint64"; then
1114 cat >>$outfile <<_______EOF
1115 ${glib_warning_guard}#define G_HAVE_GINT64 1
1117 ${glib_extension}typedef signed $gint64 gint64;
1118 ${glib_extension}typedef unsigned $gint64 guint64;
1120 #define G_GINT64_FORMAT $gint64_format
1121 #define G_GUINT64_FORMAT $guint64_format
1122 #define G_GINT64_CONSTANT(val) $gint64_constant
1127 if test -z "$glib_unknown_void_p"; then
1128 cat >>$outfile <<_______EOF
1130 #define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p))
1131 #define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p))
1133 #define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
1134 #define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
1137 echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
1142 cat >>$outfile <<_______EOF
1151 #define G_HAVE_INLINE 1
1152 #else /* !__cplusplus */
1154 #endif /* !__cplusplus */
1158 if test x$g_mutex_has_default = xyes; then
1159 cat >>$outfile <<_______EOF
1160 $g_enable_threads_def G_THREADS_ENABLED
1161 #define G_THREADS_IMPL_$g_threads_impl_def
1162 typedef struct _GStaticMutex GStaticMutex;
1163 struct _GStaticMutex
1165 struct _GMutex *runtime_mutex;
1167 char pad[$g_mutex_sizeof];
1168 double dummy_double;
1169 void *dummy_pointer;
1173 #define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
1174 #define g_static_mutex_get_mutex(mutex) \
1175 (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
1176 g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
1179 cat >>$outfile <<_______EOF
1180 $g_enable_threads_def G_THREADS_ENABLED
1181 #define G_THREADS_IMPL_$g_threads_impl_def
1182 typedef struct _GMutex* GStaticMutex;
1183 #define G_STATIC_MUTEX_INIT NULL
1184 #define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
1187 if test x$g_recmutex_contents != xno -a \
1188 x$g_recmutex_contents != x; then
1189 # the definition of GStaticRecMutex is not done via
1190 # typedef GStaticMutex GStaticRecMutex to avoid silent
1191 # compilation, when a GStaticRecMutex is used where a
1192 # GStaticMutex should have been used and vice versa,
1193 # because that might fail on other platforms.
1194 cat >>$outfile <<_______EOF
1195 typedef struct _GStaticRecMutex GStaticRecMutex;
1196 struct _GStaticRecMutex
1198 struct _GMutex *runtime_mutex;
1200 char pad[$g_mutex_sizeof];
1201 double dummy_double;
1202 void *dummy_pointer;
1206 #define G_STATIC_REC_MUTEX_INIT { NULL, { { $g_recmutex_contents} } }
1207 #define g_static_rec_mutex_lock(mutex) g_static_mutex_lock (mutex)
1208 #define g_static_rec_mutex_trylock(mutex) g_static_mutex_trylock (mutex)
1209 #define g_static_rec_mutex_unlock(mutex) g_static_mutex_unlock (mutex)
1210 #define g_static_rec_mutex_get_mutex(mutex) (mutex)
1216 if test -n "$gint64"; then
1217 g_bit_sizes="$g_bit_sizes 64"
1219 for bits in $g_bit_sizes; do
1220 cat >>$outfile <<_______EOF
1221 #define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
1222 #define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val))
1223 #define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
1224 #define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val))
1228 cat >>$outfile <<_______EOF
1229 #define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val))
1230 #define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val))
1231 #define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val))
1232 #define GULONG_TO_BE(val) ((gulong) GUINT${glongbits}_TO_BE (val))
1233 #define GINT_TO_LE(val) ((gint) GINT${gintbits}_TO_LE (val))
1234 #define GUINT_TO_LE(val) ((guint) GUINT${gintbits}_TO_LE (val))
1235 #define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val))
1236 #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val))
1237 #define G_BYTE_ORDER $g_byte_order
1241 if test -r glibconfig-sysdefs.h; then
1242 cat glibconfig-sysdefs.h >>$outfile
1245 cat >>$outfile <<_______EOF
1249 #endif /* __cplusplus */
1251 #endif /* GLIBCONFIG_H */
1255 if cmp -s $outfile glibconfig.h; then
1256 echo glibconfig.h is unchanged
1259 mv $outfile glibconfig.h
1264 # Note that if two cases are the same, case goes with the first one.
1265 # Note also that this is inside an AC_OUTPUT_COMMAND. We do not depend
1266 # on variable expansion in case labels. Look at the generated config.status
1270 x$ac_cv_header_float_h)
1272 glib_mf=FLT_MIN glib_Mf=FLT_MAX
1273 glib_md=DBL_MIN glib_Md=DBL_MAX
1275 x$ac_cv_header_values_h)
1277 glib_mf=MINFLOAT glib_Mf=MAXFLOAT
1278 glib_md=MINDOUBLE glib_Md=MAXDOUBLE
1283 x$ac_cv_header_limits_h)
1285 glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX
1286 glib_mi=INT_MIN glib_Mi=INT_MAX glib_Mui=UINT_MAX
1287 glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX
1289 x$ac_cv_header_values_h)
1291 glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)"
1292 glib_mi=MININT glib_Mi=MAXINT glib_Mui="(((guint)G_MAXINT)*2+1)"
1293 glib_ml=MINLONG glib_Ml=MAXLONG glib_Mul="(((gulong)G_MAXLONG)*2+1)"
1297 if test x$ac_cv_header_sys_poll_h = xyes ; then
1302 $ac_cv_sizeof_short)
1304 gint16_format='"hi"'
1305 guint16_format='"hu"'
1310 guint16_format='"u"'
1314 $ac_cv_sizeof_short)
1316 gint32_format='"hi"'
1317 guint32_format='"hu"'
1322 guint32_format='"u"'
1326 gint32_format='"li"'
1327 guint32_format='"lu"'
1334 guint64_format='"u"'
1337 gint64_constant='(val)'
1341 gint64_format='"li"'
1342 guint64_format='"lu"'
1345 gint64_constant='(val##L)'
1347 $ac_cv_sizeof_long_long)
1349 gint64_format='"'$glib_cv_long_long_format'i"'
1350 guint64_format='"'$glib_cv_long_long_format'u"'
1351 glib_extension='G_GNUC_EXTENSION '
1352 glib_warning_guard="
1353 #if defined (__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 8
1354 # define G_GNUC_EXTENSION __extension__
1356 # define G_GNUC_EXTENSION
1360 gint64_constant='(G_GNUC_EXTENSION (val##LL))'
1364 gintbits=`expr $ac_cv_sizeof_int \* 8`
1365 glongbits=`expr $ac_cv_sizeof_long \* 8`
1368 case $ac_cv_sizeof_void_p in
1369 $ac_cv_sizeof_int) glib_gpi_cast='' glib_gpui_cast='' ;;
1370 $ac_cv_sizeof_long) glib_gpi_cast='(glong)' glib_gpui_cast='(gulong)' ;;
1371 *) glib_unknown_void_p=yes ;;
1376 x$ac_cv_func_atexit)
1378 #ifdef NeXT /* @#%@! NeXTStep */
1379 # define g_ATEXIT(proc) (!atexit (proc))
1381 # define g_ATEXIT(proc) (atexit (proc))
1384 x$ac_cv_func_on_exit)
1386 #define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))"
1391 x$ac_cv_func_memmove)
1393 #define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END'
1395 x$glib_cv_working_bcopy)
1397 /* memmove isn't available, but bcopy can copy overlapping memory regions */
1398 #define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END"
1402 /* memmove isn't found and bcopy can't copy overlapping memory regions,
1403 * so we have to roll our own copy routine. */
1404 void g_memmove (void* dest, const void * src, unsigned long len);"
1409 #define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION
1410 #define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION
1411 #define GLIB_MICRO_VERSION $GLIB_MICRO_VERSION
1415 x$glib_cv_va_copy) glib_vacopy='#define G_VA_COPY va_copy' ;;
1416 x$glib_cv___va_copy) glib_vacopy='#define G_VA_COPY __va_copy' ;;
1420 if test x$glib_cv_va_val_copy = xno; then
1421 glib_vacopy="\$glib_vacopy
1422 #define G_VA_COPY_AS_ARRAY 1"
1425 if test x$glib_cv_hasinline = xyes; then
1426 glib_inline='#define G_HAVE_INLINE 1'
1428 if test x$glib_cv_has__inline = xyes; then
1429 glib_inline="\$glib_inline
1430 #define G_HAVE___INLINE 1"
1432 if test x$glib_cv_has__inline__ = xyes; then
1433 glib_inline="\$glib_inline
1434 #define G_HAVE___INLINE__ 1"
1438 x$ac_cv_c_bigendian)
1439 g_byte_order=G_BIG_ENDIAN
1444 g_byte_order=G_LITTLE_ENDIAN
1450 case x$enable_threads in
1451 xyes) g_enable_threads_def="#define";;
1452 *) g_enable_threads_def="#undef ";;
1455 g_threads_impl_def=$g_threads_impl
1457 g_mutex_has_default="$mutex_has_default"
1458 g_mutex_sizeof="$glib_cv_sizeof_gmutex"
1459 g_mutex_contents="$glib_cv_byte_contents_gmutex"
1460 g_recmutex_contents="$glib_cv_byte_contents_grecmutex"
1464 glib_os="#define G_OS_BEOS"
1467 glib_os="#define G_OS_UNIX
1468 #define G_WITH_CYGWIN"
1471 glib_os="#define G_OS_UNIX"
1480 gmodule/gmoduleconf.h
1486 ],[case "$CONFIG_FILES" in
1487 *glib-config*)chmod +x glib-config;;
1490 echo " *** IMPORTANT *** "
1492 echo "This is a development version of GLib. You should be using a stable"
1493 echo "version, which is available at ftp://ftp.gtk.org/pub/gtk/v1.2/. The"
1494 echo "version you just configured is meant for developers of GLib only:"
1496 echo " * You should not base stable software on this version of GLib."
1497 echo " * GNOME developers should use a stable version of GLib."
1499 echo "Distributions should *NOT* ship a development package of this GLib."
1500 echo "Do not ship the headers and do not ship the glib-config script. These"
1501 echo "things will conflict with the stable 1.2 series. Package only enough"
1502 echo "to satisfy the requirements of some other package. Package only the"
1503 echo "library itself. Doing otherwise will do no favors to the community."
1505 echo "If you install this version of GLib, we strongly recommend that you"
1506 echo "install it in a different prefix than GLib 1.2. Use --prefix as an"
1507 echo "argument to configure to do this. Otherwise, you will not be able to"
1508 echo "do development with GLib 1.2 any longer."
1510 echo " *** You should be using GLib 1.2 instead. ***"