dnl *** include special GLib macros ***
dnl ***********************************
builtin(include, acglib.m4)dnl
+builtin(include, glib/libcharset/codeset.m4)dnl
+builtin(include, glib/libcharset/glibc21.m4)dnl
-# require autoconf 2.13
-AC_PREREQ(2.13)
+# require autoconf 2.52
+AC_PREREQ(2.52)
# Process this file with autoconf to produce a configure script.
AC_INIT(glib/glib.h)
# if backwards compatibility has been broken,
# set GLIB_BINARY_AGE _and_ GLIB_INTERFACE_AGE to 0.
#
-GLIB_MAJOR_VERSION=1
-GLIB_MINOR_VERSION=3
-GLIB_MICRO_VERSION=7
-GLIB_INTERFACE_AGE=0
-GLIB_BINARY_AGE=0
+GLIB_MAJOR_VERSION=2
+GLIB_MINOR_VERSION=0
+GLIB_MICRO_VERSION=1
+GLIB_INTERFACE_AGE=1
+GLIB_BINARY_AGE=1
GLIB_VERSION=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION.$GLIB_MICRO_VERSION
])dnl
LT_CURRENT=`expr $GLIB_MICRO_VERSION - $GLIB_INTERFACE_AGE`
LT_REVISION=$GLIB_INTERFACE_AGE
LT_AGE=`expr $GLIB_BINARY_AGE - $GLIB_INTERFACE_AGE`
+LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
+AC_SUBST(LT_CURRENT_MINUS_AGE)
VERSION=$GLIB_VERSION
PACKAGE=glib
dnl
+AC_MSG_CHECKING([for Win32])
+case "$host" in
+ *-*-mingw*)
+ glib_native_win32=yes
+ G_LIB_WIN32_RESOURCE=glib-win32res.lo
+ G_MODULE_WIN32_RESOURCE=gmodule-win32res.lo
+ G_OBJECT_WIN32_RESOURCE=gobject-win32res.lo
+ G_THREAD_WIN32_RESOURCE=gthread-win32res.lo
+ GLIB_DEF=glib.def
+ GMODULE_DEF=gmodule.def
+ GOBJECT_DEF=gobject.def
+ GTHREAD_DEF=gthread.def
+ TESTGMODULE_EXP=testgmodule.exp
+ ;;
+ *)
+ glib_native_win32=no
+ G_LIB_WIN32_RESOURCE=
+ G_MODULE_WIN32_RESOURCE=
+ G_OBJECT_WIN32_RESOURCE=
+ G_THREAD_WIN32_RESOURCE=
+ GLIB_DEF=
+ GMODULE_DEF=
+ GOBJECT_DEF=
+ GTHREAD_DEF=
+ TESTGMODULE_EXP=
+ ;;
+esac
+AC_MSG_RESULT([$glib_native_win32])
+AM_CONDITIONAL(OS_WIN32, test "$glib_native_win32" = "yes")
+AC_SUBST(G_LIB_WIN32_RESOURCE)
+AC_SUBST(G_MODULE_WIN32_RESOURCE)
+AC_SUBST(G_OBJECT_WIN32_RESOURCE)
+AC_SUBST(G_THREAD_WIN32_RESOURCE)
+AC_SUBST(GLIB_DEF)
+AC_SUBST(GMODULE_DEF)
+AC_SUBST(GOBJECT_DEF)
+AC_SUBST(GTHREAD_DEF)
+AC_SUBST(TESTGMODULE_EXP)
+
+if test "$glib_native_win32" = "yes"; then
+ AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
+fi
+AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
+
GLIB_AC_DIVERT_BEFORE_HELP([
# figure debugging default, prior to $ac_help setup
case $GLIB_MINOR_VERSION in
AM_PROG_CC_STDC
AC_PROG_INSTALL
+AC_SYS_LARGEFILE
+
#
# Find pkg-config
#
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test x$PKG_CONFIG = xno ; then
- AC_MSG_ERROR([*** pkg-config not found. See http://pkgconfig.sourceforge.net])
+ AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/])
fi
-if pkg-config --atleast-pkgconfig-version 0.5 ; then
+if $PKG_CONFIG --atleast-pkgconfig-version 0.5 ; then
:
else
AC_MSG_ERROR([*** pkg-config too old; version 0.5 or better required.])
fi
fi
+# Ensure -fnative-struct is used when compiling for Win32
+if test "x$glib_native_win32" = "xyes"; then
+ if test "x$GCC" = "xyes"; then
+ case " $CFLAGS " in
+ *[[\ \ ]]-fnative-struct[[\ \ ]]*) ;;
+ *) CFLAGS="$CFLAGS -fnative-struct" ;;
+ esac
+ fi
+fi
+
AC_CYGWIN
AC_EXEEXT
fi
AC_SUBST(REBUILD)
+# Need full path to Perl for glib-mkenums
+#
+if test "x$PERL" != x ; then
+ AC_PATH_PROG(PERL_PATH, $PERL)
+else
+ PERL_PATH="/usr/bin/env perl"
+fi
+AC_SUBST(PERL_PATH)
+
+dnl ***********************
+dnl *** Tests for iconv ***
+dnl ***********************
+dnl
+dnl We do this before the gettext checks, to avoid distortion
+
+AC_ARG_WITH(libiconv, [ --with-libiconv=[no/gnu/native] use the libiconv library ],,with_libiconv=maybe)
+
+found_iconv=no
+case $with_libiconv in
+ maybe)
+ # Check in the C library first
+ AC_CHECK_FUNC(iconv_open, with_libiconv=no; found_iconv=yes)
+ # Check if we have GNU libiconv
+ if test $found_iconv = "no"; then
+ AC_CHECK_LIB(iconv, libiconv_open, with_libiconv=gnu; found_iconv=yes)
+ fi
+ # Check if we have a iconv in -liconv, possibly from vendor
+ if test $found_iconv = "no"; then
+ AC_CHECK_LIB(iconv, iconv_open, with_libiconv=native; found_iconv=yes)
+ fi
+ ;;
+ no)
+ AC_CHECK_FUNC(iconv_open, with_libiconv=no; found_iconv=yes)
+ ;;
+ gnu|yes)
+ AC_CHECK_LIB(iconv, libiconv_open, with_libiconv=gnu; found_iconv=yes)
+ ;;
+ native)
+ AC_CHECK_LIB(iconv, iconv_open, with_libiconv=native; found_iconv=yes)
+ ;;
+esac
+
+if test "x$found_iconv" = "xno" ; then
+ AC_MSG_ERROR([*** No iconv() implementation found in C library or libiconv])
+fi
dnl
dnl gettext support
dnl
-ALL_LINGUAS="az ca de eu fr no ru sl sv tr uk"
+ALL_LINGUAS="az ca cs de el es eu fr gl hi ja ko ms nl nn no pl pt ro ru sk sl sv ta tr uk vi zh_CN zh_TW"
AM_GLIB_GNU_GETTEXT
+
+if test "$gt_cv_func_dgettext_libc" = "yes" || test "$gt_cv_func_dgettext_libintl" = "yes"; then
+ :
+else
+ AC_MSG_ERROR([
+*** You must have either have gettext support in your C library, or use the
+*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html
+])
+fi
+
LIBS="$LIBS $INTLLIBS"
GETTEXT_PACKAGE=glib20
GLIB_LOCALE_DIR="${prefix}/${DATADIRNAME}/locale"
AC_DEFINE_UNQUOTED(GLIB_LOCALE_DIR,"$GLIB_LOCALE_DIR")
+AC_CHECK_FUNCS(bind_textdomain_codeset)
+
+dnl
+dnl Now we are done with gettext checks, figure out ICONV_LIBS
+dnl
+
+if test x$with_libiconv != xno ; then
+ case " $INTLLIBS " in
+ *[[\ \ ]]-liconv[[\ \ ]]*) ;;
+ *) ICONV_LIBS="-liconv" ;;
+ esac
+fi
+AC_SUBST(ICONV_LIBS)
+
+case $with_libiconv in
+ gnu)
+ AC_DEFINE(USE_LIBICONV_GNU, [Using GNU libiconv])
+ ;;
+ native)
+ AC_DEFINE(USE_LIBICONV_NATIVE, [Using a native implementation of iconv in a separate library])
+ ;;
+esac
+
dnl Initialize libtool
+AM_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(void *)
AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(__int64)
+
+if test x$ac_cv_sizeof_long = x8 || test x$ac_cv_sizeof_long_long = x8 || test x$ac_cv_sizeof___int64 = x8 ; then
+ :
+else
+ AC_MSG_ERROR([
+*** GLib requires a 64 bit type. You might want to consider
+*** using the GNU C compiler.
+])
+fi
if test x$ac_cv_sizeof_long_long = x8; then
# long long is a 64 bit integer.
- AC_MSG_CHECKING(for format to printf and scanf a gint64)
+ AC_MSG_CHECKING(for format to printf and scanf a guint64)
AC_CACHE_VAL(glib_cv_long_long_format,[
for format in ll q I64; do
AC_TRY_RUN([#include <stdio.h>
else
AC_MSG_RESULT(none)
fi
+elif test x$ac_cv_sizeof___int64 = x8; then
+ # __int64 is a 64 bit integer.
+ AC_MSG_CHECKING(for format to printf and scanf a guint64)
+ # We know this is MSVC, and what the formats are
+ glib_cv_long_long_format=I64
+ AC_MSG_RESULT(%${glib_cv_long_long_format}u)
fi
dnl long doubles were not used, and a portability problem
AC_MSG_RESULT($SANE_MALLOC_PROTOS)
CFLAGS=$glib_save_CFLAGS
+dnl
+dnl check in which direction the stack grows
+dnl
+AC_CACHE_CHECK([for growing stack pointer],glib_cv_stack_grows,[
+ AC_TRY_RUN([
+ volatile int *a = 0, *b = 0;
+ void foo (void);
+ int main () { volatile int y = 7; a = &y; foo (); return b > a; }
+ void foo (void) { volatile int x = 5; b = &x; }
+ ],
+ glib_cv_stack_grows=no
+ ,
+ glib_cv_stack_grows=yes
+ ,)
+])
dnl AC_C_INLINE is useless to us since it bails out too early, we need to
dnl truely know which ones of `inline', `__inline' and `__inline__' are
esac
AC_CACHE_CHECK([for inline], glib_cv_hasinline,[
AC_TRY_RUN([
+ #undef inline
inline int foo () { return 0; }
int main () { return foo (); }
],
AC_C_BIGENDIAN
# check for header files
-AC_CHECK_HEADERS([float.h limits.h pwd.h sys/param.h sys/poll.h sys/select.h])
+AC_CHECK_HEADERS([dirent.h float.h limits.h pwd.h sys/param.h sys/poll.h sys/select.h])
AC_CHECK_HEADERS([sys/time.h sys/times.h unistd.h values.h stdint.h sched.h])
+# Checks for libcharset
+jm_LANGINFO_CODESET
+jm_GLIBC21
+AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
+AC_CHECK_FUNCS(setlocale)
+
AC_MSG_CHECKING(whether make is GNU Make)
STRIP_BEGIN=
STRIP_END=
GLIB_SIZEOF([$size_includes], ptrdiff_t, ptrdiff_t)
GLIB_SIZEOF([$size_includes], intmax_t, intmax_t)
+dnl Try to figure out whether gsize, gssize should be long or int
+AC_MSG_CHECKING([for the appropriate definition for size_t])
+
+case $glib_cv_sizeof_size_t in
+ $ac_cv_sizeof_short)
+ glib_size_type=short
+ ;;
+ $ac_cv_sizeof_int)
+ glib_size_type=int
+ ;;
+ $ac_cv_sizeof_long)
+ glib_size_type=long
+ ;;
+ *) AC_MSG_ERROR([No type matching size_t in size])
+ ;;
+esac
+
+dnl If int/long are the same size, we see which one produces
+dnl warnings when used in the location as size_t. (This matters
+dnl on AIX with xlc)
+dnl
+if test $glib_cv_sizeof_size_t = $ac_cv_sizeof_int &&
+ test $glib_cv_sizeof_size_t = $ac_cv_sizeof_long ; then
+ GLIB_CHECK_COMPILE_WARNINGS([
+#include <stddef.h>
+int main ()
+{
+ size_t s = 1;
+ unsigned int *size_int = &s;
+ return (int)*size_int;
+}
+ ],glib_size_type=int,
+ [GLIB_CHECK_COMPILE_WARNINGS([
+#include <stddef.h>
+int main ()
+{
+ size_t s = 1;
+ unsigned long *size_long = &s;
+ return (int)*size_long;
+}
+ ],glib_size_type=long)])
+fi
+
+AC_MSG_RESULT(unsigned $glib_size_type)
+
# Check for some functions
-AC_CHECK_FUNCS(lstat strerror strsignal memmove mkstemp vsnprintf stpcpy strcasecmp strncasecmp poll getcwd nanosleep)
+AC_CHECK_FUNCS(lstat strerror strsignal memmove mkstemp vsnprintf stpcpy strcasecmp strncasecmp poll getcwd nanosleep vasprintf unsetenv getc_unlocked)
+
+AC_FUNC_VSNPRINTF_C99
# Check if bcopy can be used for overlapping copies, if memmove isn't found.
# The check is borrowed from the PERL Configure script.
sys_errlist[sys_nerr-1][0] = 0;
], glib_ok=yes, glib_ok=no)
AC_MSG_RESULT($glib_ok)
-if test $glib_ok = no; then
+if test "$glib_ok" = "no"; then
AC_DEFINE(NO_SYS_ERRLIST,1,[global 'sys_errlist' not found])
fi
exit (sys_siglist[0]);
], glib_ok=yes, glib_ok=no)
AC_MSG_RESULT($glib_ok)
-if test $glib_ok = no; then
+if test "$glib_ok" = "no"; then
AC_DEFINE(NO_SYS_SIGLIST,1,[global 'sys_siglist' not found])
fi
strlen (sys_siglist[0]);
], glib_ok=yes, glib_ok=no)
AC_MSG_RESULT($glib_ok)
-if test $glib_ok = no; then
+if test "$glib_ok" = "no"; then
AC_DEFINE(NO_SYS_SIGLIST_DECL,1,[global 'sys_siglist' not declared])
fi
AC_MSG_CHECKING([for fd_set])
AC_TRY_COMPILE([#include <sys/types.h>],
[fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
-if test $gtk_ok = yes; then
+if test "$gtk_ok" = "yes"; then
AC_MSG_RESULT([yes, found in sys/types.h])
else
AC_EGREP_HEADER(fd_set, sys/select.h, gtk_ok=yes)
- if test $gtk_ok = yes; then
+ if test "$gtk_ok" = "yes"; then
# *** FIXME: give it a different name
AC_DEFINE(HAVE_SYS_SELECT_H,1,[found fd_set in sys/select.h])
AC_MSG_RESULT([yes, found in sys/select.h])
(void) strlcat(p, "bye", 10);
], glib_ok=yes, glib_ok=no)
AC_MSG_RESULT($glib_ok)
-if test $glib_ok = yes; then
+if test "$glib_ok" = "yes"; then
AC_DEFINE(HAVE_STRLCPY,1,[Have functions strlcpy and strlcat])
fi
G_MODULE_LIBS=
G_MODULE_LIBS_EXTRA=
G_MODULE_PLUGIN_LIBS=
-G_MODULE_LDFLAGS=
+G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
dnl G_MODULE_IMPL= don't reset, so cmd-line can override
G_MODULE_NEED_USCORE=0
G_MODULE_BROKEN_RTLD_GLOBAL=0
[])
fi
dnl *** load_image (BeOS)
-if test -z "$G_MODULE_IMPL" -a "x$glib_native_beos" = "xyes"; then
+if test -z "$G_MODULE_IMPL" && test "x$glib_native_beos" = "xyes"; then
AC_CHECK_LIB(root, load_image,
[G_MODULE_LIBS="-lbe -lroot -lglib"
G_MODULE_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
G_MODULE_IMPL=G_MODULE_IMPL_BEOS],
[])
fi
+dnl *** NSLinkModule (dyld) in system libraries (Darwin)
+if test -z "$G_MODULE_IMPL"; then
+ AC_CHECK_FUNC(NSLinkModule,
+ [G_MODULE_IMPL=G_MODULE_IMPL_DYLD
+ G_MODULE_NEED_USCORE=1],
+ [])
+fi
dnl *** dlopen() and dlsym() in libdl
if test -z "$G_MODULE_IMPL"; then
AC_CHECK_LIB(dl, dlopen,
G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
[])
fi
-dnl *** NSLinkModule (dyld) in system libraries (Darwin)
-if test -z "$G_MODULE_IMPL"; then
- AC_CHECK_FUNC(NSLinkModule,
- [G_MODULE_IMPL=G_MODULE_IMPL_DYLD
- G_MODULE_NEED_USCORE=1],
- [])
-fi
dnl *** shl_load() in libdld (HP-UX)
if test -z "$G_MODULE_IMPL"; then
- AC_MSG_CHECKING(how to export all symbols)
- SAVED_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,-E"
- AC_TRY_LINK(,[ return 0; ],
- [ G_MODULE_LDFLAGS="-Wl,-E" ],[
- LDFLAGS="$SAVED_LDFLAGS -bexpall"
- AC_TRY_LINK(,[ return 0; ],
- [G_MODULE_LDFLAGS="-bexpall"],
- [G_MODULE_LDFLAGS="none"])
- ])
- LDFLAGS=$SAVED_LDFLAGS
- AC_MSG_RESULT($G_MODULE_LDFLAGS)
- if test "x$G_MODULE_LDFLAGS" = "xnone"; then
- G_MODULE_LDFLAGS=
- fi
AC_CHECK_LIB(dld, shl_load,
[G_MODULE_LIBS=-ldld
G_MODULE_IMPL=G_MODULE_IMPL_DLD],
fi
dnl *** additional checks for G_MODULE_IMPL_DL
if test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL"; then
- case "$host_os" in
- linux*)
- G_MODULE_LDFLAGS='-rdynamic'
- ;;
- esac
LIBS_orig="$LIBS"
LDFLAGS_orig="$LDFLAGS"
LIBS="$LIBS $G_MODULE_LIBS"
AC_MSG_RESULT($platform_win32)
AM_CONDITIONAL(PLATFORM_WIN32, test x$platform_win32 = xyes)
-AC_MSG_CHECKING([if building for pure Win32])
-case "$host" in
- *-*-mingw*)
- os_win32=yes
- ;;
- *)
- os_win32=no
- ;;
-esac
-AC_MSG_RESULT($os_win32)
-AM_CONDITIONAL(OS_WIN32, test x$os_win32 = xyes)
-
dnl ***********************
dnl *** g_thread checks ***
dnl ***********************
-AC_ARG_WITH(threads, [ --with-threads=[none/posix/dce/solaris] specify a thread implementation to use],
+AC_ARG_WITH(threads, [ --with-threads=[none/posix/dce/solaris/win32] specify a thread implementation to use],
if test "x$with_threads" = x; then
want_threads=yes
else
if test "x$enable_threads" = "xno"; then
want_threads=no
fi
-if test "x$want_threads" = "xnone"; then
- want_threads=no
-fi
dnl error and warning message
dnl *************************
dnl determination of thread implementation
dnl ***************************************
-have_threads=none
+# have_threads=no means no thread support
+# have_threads=none means no default thread implementation
+
+have_threads=no
if test "x$want_threads" = xyes || test "x$want_threads" = xsolaris; then
case $host in
*-*-solaris*)
GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
glib_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
- if test "x$have_threads" = xnone; then
+ if test "x$have_threads" = xno; then
AC_TRY_COMPILE([#include <pthread.h>],
[pthread_attr_t attr; pthread_attr_init(&attr);],
have_threads=posix)
fi
- if test "x$have_threads" = xnone; then
+ if test "x$have_threads" = xno; then
AC_TRY_COMPILE([#include <pthread.h>],
[pthread_attr_t attr; pthread_attr_create(&attr);],
- have_threads=posix)
+ have_threads=dce)
fi
CPPFLAGS="$glib_save_CPPFLAGS"
fi
+if test "x$want_threads" = xyes || test "x$want_threads" = xwin32; then
+ case $host in
+ *-*-mingw*)
+ have_threads=win32
+ ;;
+ esac
+fi
+if test "x$want_threads" = xnone; then
+ have_threads=none
+fi
AC_MSG_CHECKING(for thread implementation)
-if test "x$have_threads" = xnone && test "x$want_threads" != xno; then
+if test "x$have_threads" = xno && test "x$want_threads" != xno; then
AC_MSG_RESULT(none available)
AC_MSG_WARN($THREAD_NO_IMPLEMENTATION)
else
G_THREAD_LIBS_EXTRA=
G_THREAD_CFLAGS=
-if test x"$have_threads" != xnone; then
+if test x"$have_threads" != xno; then
G_THREAD_CFLAGS="-D_REENTRANT" # good default guess
*-aix*)
G_THREAD_CFLAGS="$G_THREAD_CFLAGS -D_THREAD_SAFE"
if test x"$GCC" = xyes; then
- G_THREAD_CFLAGS="$G_THREAD_CFLAGS -mthreads"
+ # GCC 3.0 and above needs -pthread
+ # GCC 2.x and below needs -mthreads
+ AC_TRY_COMPILE(,[#if __GNUC__ <= 2
+ bail out here
+ #endif],
+ G_THREAD_CFLAGS="$G_THREAD_CFLAGS -pthread",
+ G_THREAD_CFLAGS="$G_THREAD_CFLAGS -mthreads")
fi
;;
*-freebsd2.2*)
G_THREAD_LIBS="-pthread"
fi
;;
+ *-*-openbsd* | *-*-freebsd*)
+ # FreeBSD and OpenBSD want us to use the -pthread flag
+ # instead of linking to -lc_r and libtool enforces that.
+ G_THREAD_LIBS="-pthread"
+ ;;
*)
- for thread_lib in "" pthread pthread32 pthreads c_r thread dce; do
+ for thread_lib in "" pthread pthread32 pthreads thread dce; do
if test x"$thread_lib" = x; then
add_thread_lib=""
IN=""
break],
[AC_MSG_RESULT(no)])
done
- if test "x$G_THREAD_LIBS" = xerror; then
- AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
- fi
- for thread_lib in "" rt rte; do
- if test x"$thread_lib" = x; then
- add_thread_lib=""
- IN=""
- else
- add_thread_lib="-l$thread_lib"
- IN=" in -l$thread_lib"
- fi
- LIBS="$glib_save_LIBS $add_thread_lib"
+ ;;
+ esac
+ if test "x$G_THREAD_LIBS" = xerror; then
+ AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
+ fi
+ for thread_lib in "" rt rte; do
+ if test x"$thread_lib" = x; then
+ add_thread_lib=""
+ IN=""
+ else
+ add_thread_lib="-l$thread_lib"
+ IN=" in -l$thread_lib"
+ fi
+ LIBS="$glib_save_LIBS $add_thread_lib"
- AC_MSG_CHECKING(for sched_get_priority_min$IN)
- AC_TRY_RUN([#include <sched.h>
- #include <errno.h>
- int main() {
- errno = 0;
- return sched_get_priority_min(SCHED_OTHER)==-1
- && errno != 0;
- }],
- [AC_MSG_RESULT(yes)
- G_THREAD_LIBS="$G_THREAD_LIBS $add_thread_lib"
- posix_priority_min="sched_get_priority_min(SCHED_OTHER)"
- posix_priority_max="sched_get_priority_max(SCHED_OTHER)"
- break],
- [AC_MSG_RESULT(no)])
- done
- LIBS="$glib_save_LIBS"
- ;;
- esac
+ AC_MSG_CHECKING(for sched_get_priority_min$IN)
+ AC_TRY_RUN([#include <sched.h>
+ #include <errno.h>
+ int main() {
+ errno = 0;
+ return sched_get_priority_min(SCHED_OTHER)==-1
+ && errno != 0;}],
+ [AC_MSG_RESULT(yes)
+ G_THREAD_LIBS="$G_THREAD_LIBS $add_thread_lib"
+ posix_priority_min="sched_get_priority_min(SCHED_OTHER)"
+ posix_priority_max="sched_get_priority_max(SCHED_OTHER)"
+ break],
+ [AC_MSG_RESULT(no)])
+ done
+ LIBS="$glib_save_LIBS"
mutex_has_default=yes
mutex_default_type='pthread_mutex_t'
mutex_default_init='PTHREAD_MUTEX_INITIALIZER'
mutex_header_file='thread.h'
g_threads_impl="SOLARIS"
;;
- none)
+ win32)
+ g_threads_impl="WIN32"
+ G_THREAD_LIBS=""
+ ;;
+ none|no)
g_threads_impl="NONE"
;;
*)
dnl check for mt safe function variants and some posix functions
dnl ************************************************************
-if test x"$have_threads" != xnone; then
+if test x"$have_threads" != xno; then
glib_save_LIBS="$LIBS"
# we are not doing the following for now, as this might require glib
# to always be linked with the thread libs on some platforms.
AC_DEFINE(G_THREAD_USE_PID_SURROGATE, 1, [whether to use the PID niceness surrogate for thread priorities])
],
[AC_MSG_RESULT(no)])
- else # solaris threads
+ elif test x"$have_threads" = xwin32; then
+ # It's a pointer to a private struct
+ GLIB_SIZEOF(,struct _GThreadData *, system_thread)
+ elif test x"$have_threads" = xsolaris; then
GLIB_SIZEOF([#include <thread.h>], thread_t, system_thread)
fi
if test "$ac_cv_func_localtime_r" != "yes"; then
AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
fi
-else
- # If no thread implementation exists, we will provide enough
- # space for a pointer
- GLIB_SIZEOF(, void*, system_thread)
fi
+if test x"$glib_cv_sizeof_system_thread" = x; then
+ # use a pointer as a fallback.
+ GLIB_SIZEOF(,void *, system_thread)
+fi
+
AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c",
[Source file containing theread implementation])
AC_SUBST(G_THREAD_CFLAGS)
esac
AC_SUBST(G_LIBS_EXTRA)
-dnl ***********************
-dnl *** Tests for iconv ***
-dnl ***********************
-
-AC_ARG_WITH(libiconv, [ --with-libiconv Use the libiconv library ],,with_libiconv=maybe)
-
-found_iconv=no
-
-if test "x$with_libiconv" != "xyes" ; then
- #
- # Check in the C library
- #
- AC_CHECK_FUNC(iconv_open, with_libiconv=no; found_iconv=yes)
-fi
-
-if test "x$with_libiconv" != "xno" ; then
- #
- # Check for libiconv
- #
- AC_CHECK_LIB(iconv, libiconv_open, with_libiconv=yes; found_iconv=yes)
-fi
-
-if test "x$found_iconv" = "xno" ; then
- AC_MSG_ERROR([*** No iconv() implementation found in C library or libiconv])
-fi
-
-if test "x$with_libiconv" = "xyes" ; then
- ICONV_LIBS="-liconv"
- AC_DEFINE(USE_LIBICONV)
-fi
-AC_SUBST(ICONV_LIBS)
-
dnl If the system doesn't define EILSEQ, we should define EILSEQ ourselves
dnl since we need it for g_iconv()
], have_eilseq=yes, have_eilseq=no);
AC_MSG_RESULT($have_eilseq)
+dnl ******************************************************************
+dnl *** Look for glib-genmarshal in PATH if we are cross-compiling ***
+dnl ******************************************************************
+
+AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
+
+if test $cross_compiling = yes; then
+ AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
+ if test x$GLIB_GENMARSHAL = xno; then
+ AC_MSG_ERROR(Could not find a glib-genmarshal in your PATH)
+ fi
+fi
+
dnl **************************
dnl *** Checks for gtk-doc ***
dnl **************************
-AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
+AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs])
if test "x$with_html_dir" = "x" ; then
HTML_DIR='${datadir}/gtk-doc/html'
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
dnl Let people disable the gtk-doc stuff.
-AC_ARG_ENABLE(gtk-doc, [ --enable-gtk-doc Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
+AC_ARG_ENABLE(gtk-doc, [ --enable-gtk-doc use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=no)
-if test x$enable_gtk_doc = xauto ; then
+if test x$enable_gtk_doc = xyes ; then
if test x$GTKDOC = xtrue ; then
enable_gtk_doc=yes
else
#define G_MAXLONG $glib_Ml
#define G_MAXULONG $glib_Mul
+#define G_MININT64 ((gint64) 0x8000000000000000)
+#define G_MAXINT64 ((gint64) 0x7fffffffffffffff)
+#define G_MAXUINT64 ((guint64) 0xffffffffffffffff)
+
_______EOF
_______EOF
fi
-
- if test -n "$gint64"; then
- cat >>$outfile <<_______EOF
-#define G_HAVE_GINT64 1
+ cat >>$outfile <<_______EOF
+#define G_HAVE_GINT64 1 /* deprecated, always true */
${glib_extension}typedef signed $gint64 gint64;
${glib_extension}typedef unsigned $gint64 guint64;
#define G_GINT64_CONSTANT(val) $gint64_constant
_______EOF
- if test -n "$gint64_format"; then
+
+ if test x$gint64_format != x ; then
cat >>$outfile <<_______EOF
#define G_GINT64_FORMAT $gint64_format
#define G_GUINT64_FORMAT $guint64_format
_______EOF
- fi
- fi
+ else
+ cat >>$outfile <<_______EOF
+#undef G_GINT64_FORMAT
+#undef G_GUINT64_FORMAT
+_______EOF
+ fi
cat >>$outfile <<_______EOF
#define GLIB_SIZEOF_VOID_P $glib_void_p
#define GLIB_SIZEOF_LONG $glib_long
+#define GLIB_SIZEOF_SIZE_T $glib_size_t
_______EOF
- case x$glib_size_t in
- x2) echo "typedef gint16 gssize;" >> $outfile
- echo "typedef guint16 gsize;" >> $outfile
- ;;
- x4) echo "typedef gint32 gssize;" >> $outfile
- echo "typedef guint32 gsize;" >> $outfile
- ;;
- x8) echo "typedef gint64 gssize;" >> $outfile
- echo "typedef guint64 gsize;" >> $outfile
- ;;
- *) echo "#error size of size_t is unknown" >> $outfile
- ;;
- esac
+echo "typedef signed $glib_size_type_define gssize;" >> $outfile
+echo "typedef unsigned $glib_size_type_define gsize;" >> $outfile
if test -z "$glib_unknown_void_p"; then
cat >>$outfile <<_______EOF
if test x$g_have_gnuc_varargs = xyes ; then
cat >>$outfile <<_______EOF
+/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
+ * is passed ISO vararg support is turned off, and there is no work
+ * around to turn it on, so we unconditionally turn it off.
+ */
+#if __GNUC__ == 2 && __GNUC_MINOR__ == 95
+# undef G_HAVE_ISO_VARARGS
+#endif
+
#define G_HAVE_GNUC_VARARGS 1
_______EOF
fi
+ case x$g_stack_grows in
+ xyes) echo "#define G_HAVE_GROWING_STACK 1" >>$outfile ;;
+ *) echo "#define G_HAVE_GROWING_STACK 0" >>$outfile ;;
+ esac
+
+
echo >>$outfile
if test x$g_have_eilseq = xno; then
cat >>$outfile <<_______EOF
_______EOF
echo >>$outfile
- g_bit_sizes="16 32"
- if test -n "$gint64"; then
- g_bit_sizes="$g_bit_sizes 64"
- fi
+ g_bit_sizes="16 32 64"
for bits in $g_bit_sizes; do
cat >>$outfile <<_______EOF
#define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
# on variable expansion in case labels. Look at the generated config.status
# for a hint.
-glib_header_alloca_h="$ac_cv_header_alloca_h"
+if test "x${ac_cv_working_alloca_h+set}" = xset ; then
+ glib_header_alloca_h="$ac_cv_working_alloca_h"
+else
+ glib_header_alloca_h="$ac_cv_header_alloca_h"
+fi
case xyes in
x$ac_cv_header_float_h)
glib_extension='G_GNUC_EXTENSION '
gint64_constant='(G_GNUC_EXTENSION (val##LL))'
;;
+$ac_cv_sizeof___int64)
+ gint64='__int64'
+ if test -n "$glib_cv_long_long_format"; then
+ gint64_format='"'$glib_cv_long_long_format'i"'
+ guint64_format='"'$glib_cv_long_long_format'u"'
+ fi
+ glib_extension=
+ gint64_constant='(val##i64)'
+ ;;
esac
glib_size_t=$glib_cv_sizeof_size_t
+glib_size_type_define=$glib_size_type
glib_void_p=$ac_cv_sizeof_long
glib_long=$ac_cv_sizeof_void_p
;;
esac
+g_stack_grows=$glib_cv_stack_grows
+
g_have_eilseq=$have_eilseq
case x$have_threads in
-xnone) g_enable_threads_def="#undef";;
+xno) g_enable_threads_def="#undef";;
*) g_enable_threads_def="#define";;
esac
gobject-2.0.pc
gobject-2.0-uninstalled.pc
glib.spec
+glib-zip
+glib-gettextize
Makefile
build/Makefile
build/win32/Makefile
+build/win32/dirent/Makefile
glib/Makefile
+glib/libcharset/Makefile
gmodule/gmoduleconf.h
gmodule/Makefile
gobject/Makefile
+gobject/glib-mkenums
gthread/Makefile
po/Makefile.in
docs/Makefile
docs/reference/gobject/Makefile
tests/Makefile
m4macros/Makefile
-],[echo ""
-echo " *** IMPORTANT *** "
-echo ""
-echo "This is a development version of GLib. You should be using a stable"
-echo "version, which is available at ftp://ftp.gtk.org/pub/gtk/v1.2/. The"
-echo "version you just configured is meant for developers of GLib only:"
-echo ""
-echo " * You should not base stable software on this version of GLib."
-echo " * GNOME developers should use a stable version of GLib."
-echo ""
-echo " *** You should be using GLib 1.2 instead. ***"
])