X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=9eb02b6a521a517a0d9436c9cf5a4aaff7fee1d3;hb=7936af693477f5b8dfeef4e0d90e6fa4531cf395;hp=236508baa7f0fab0a8adc8cafe32f3d40847db02;hpb=da9d98728dd6b43be2d9e51707e41e8ae1299676;p=platform%2Fupstream%2Fglib.git diff --git a/configure.ac b/configure.ac index 236508b..9eb02b6 100644 --- a/configure.ac +++ b/configure.ac @@ -20,13 +20,17 @@ m4_define(glib_configure_ac) # if backwards compatibility has been broken, # set glib_binary_age _and_ glib_interface_age to 0. # +# remember to add a GLIB_VERSION_2_xx macro every time the minor version is +# bumped, as well as the GLIB_DEPRECATED_IN and GLIB_AVAILABLE_IN macros +# for that version - see gversion.h for further information. +# # in easier to understand terms: # # on the stable branch, interface age == micro # on the unstable (ie master), interface age = 0 m4_define([glib_major_version], [2]) -m4_define([glib_minor_version], [31]) +m4_define([glib_minor_version], [33]) m4_define([glib_micro_version], [11]) m4_define([glib_interface_age], [0]) m4_define([glib_binary_age], @@ -171,13 +175,25 @@ AC_TRY_CPP([ AC_MSG_RESULT([$glib_have_carbon]) +glib_have_cocoa=no +AC_MSG_CHECKING([for Mac OS X Cocoa support]) +AC_TRY_CPP([ +#include +#ifdef GNUSTEP_BASE_VERSION +#error "Detected GNUstep, not Cocoa" +#endif +], glib_have_cocoa=yes) + +AC_MSG_RESULT([$glib_have_cocoa]) + AM_CONDITIONAL(OS_WIN32, [test "$glib_native_win32" = "yes"]) AM_CONDITIONAL(OS_WIN32_X64, [test "$LIB_EXE_MACHINE_FLAG" = "X64"]) AM_CONDITIONAL(OS_UNIX, [test "$glib_native_win32" != "yes"]) AM_CONDITIONAL(OS_LINUX, [test "$glib_os_linux" = "yes"]) AM_CONDITIONAL(OS_CARBON, [test "$glib_have_carbon" = "yes"]) +AM_CONDITIONAL(OS_COCOA, [test "$glib_have_cocoa" = "yes"]) -if test "$glib_native_win32" = "yes"; then +AS_IF([test "$glib_native_win32" = "yes"], [ AC_CHECK_TOOL(WINDRES, windres, no) if test "$WINDRES" = no; then AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.]) @@ -188,7 +204,7 @@ if test "$glib_native_win32" = "yes"; then fi AC_CHECK_TOOL(RANLIB, ranlib, :) AC_CHECK_PROG(ms_librarian, [lib.exe], [yes], [no]) -fi +]) AM_CONDITIONAL(MS_LIB_AVAILABLE, [test x$ms_librarian = xyes]) if test "$glib_native_win32" != yes; then @@ -201,55 +217,63 @@ else fi AC_SUBST(LIBTOOL_EXPORT_OPTIONS) -if test "x$glib_have_carbon" = "xyes"; then +AS_IF([test "x$glib_have_carbon" = "xyes"], [ AC_DEFINE(HAVE_CARBON, 1, [define to 1 if Carbon is available]) - LDFLAGS="$LDFLAGS -framework Carbon" + LDFLAGS="$LDFLAGS -Wl,-framework,Carbon" +]) + +if test "x$glib_have_cocoa" = "xyes"; then + AC_DEFINE(HAVE_COCOA, 1, [define to 1 if Cocoa is available]) + LDFLAGS="$LDFLAGS -Wl,-framework,Foundation" fi gl_GLIBC21 -if test "x$GLIBC21" = "xyes"; then +AS_IF([test "x$GLIBC21" = "xyes"], [ AC_DEFINE([_GNU_SOURCE], 1, [Make all glibc extensions visible]) -fi +]) dnl declare --enable-* args and collect ac_help strings AC_ARG_ENABLE(debug, - AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@], + AS_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@], [turn on debugging @<:@default=glib_debug_default@:>@]),, enable_debug=glib_debug_default) AC_ARG_ENABLE(gc_friendly, - [AC_HELP_STRING([--enable-gc-friendly], + [AS_HELP_STRING([--enable-gc-friendly], [turn on garbage collector friendliness [default=no]])],, [enable_gc_friendly=no]) AC_ARG_ENABLE(mem_pools, - [AC_HELP_STRING([--disable-mem-pools], + [AS_HELP_STRING([--disable-mem-pools], [disable all glib memory pools])],, [disable_mem_pools=no]) AC_ARG_ENABLE(rebuilds, - [AC_HELP_STRING([--disable-rebuilds], + [AS_HELP_STRING([--disable-rebuilds], [disable all source autogeneration rules])],, [enable_rebuilds=yes]) +AC_ARG_ENABLE(modular_tests, + AS_HELP_STRING([--disable-modular-tests], + [Disable build of test programs (default: no)]),, + [enable_modular_tests=yes]) +AM_CONDITIONAL(BUILD_MODULAR_TESTS, test x$enable_modular_tests = xyes) AC_MSG_CHECKING([whether to enable garbage collector friendliness]) -if test "x$enable_gc_friendly" = "xyes"; then +AS_IF([test "x$enable_gc_friendly" = "xyes"], [ AC_DEFINE(ENABLE_GC_FRIENDLY_DEFAULT, 1, [Whether to enable GC friendliness by default]) AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi +], [ AC_MSG_RESULT([no]) ]) AC_MSG_CHECKING([whether to disable memory pools]) -if test "x$disable_mem_pools" = "xno"; then +AS_IF([test "x$disable_mem_pools" = "xno"], [ AC_MSG_RESULT([no]) -else +], [ AC_DEFINE(DISABLE_MEM_POOLS, [1], [Whether to disable memory pools]) AC_MSG_RESULT([yes]) -fi +]) dnl location to install runtime libraries, e.g. ../../lib to install dnl to /lib if libdir is /usr/lib AC_ARG_WITH(runtime-libdir, - [AC_HELP_STRING([--with-runtime-libdir=RELPATH], + [AS_HELP_STRING([--with-runtime-libdir=RELPATH], [install runtime libraries relative to libdir])], [], [with_runtime_libdir=""]) @@ -367,11 +391,11 @@ dnl We do this before the gettext checks, to avoid distortion dnl On Windows we use a native implementation -if test x"$glib_native_win32" = xyes; then +AS_IF([ test x"$glib_native_win32" = xyes], [ with_libiconv=native -else +], [ AC_ARG_WITH(libiconv, - [AC_HELP_STRING([--with-libiconv=@<:@no/gnu/native@:>@], + [AS_HELP_STRING([--with-libiconv=@<:@no/gnu/native@:>@], [use the libiconv library])],, [with_libiconv=maybe]) @@ -403,10 +427,10 @@ else if test "x$found_iconv" = "xno" ; then AC_MSG_ERROR([*** No iconv() implementation found in C library or libiconv]) fi -fi +]) AC_ARG_ENABLE(iconv-cache, - [AC_HELP_STRING([--enable-iconv-cache=@<:@yes/no/auto@:>@], + [AS_HELP_STRING([--enable-iconv-cache=@<:@yes/no/auto@:>@], [cache iconv descriptors [default=auto]])],, [enable_iconv_cache=auto]) @@ -436,14 +460,14 @@ dnl dnl zlib support dnl PKG_CHECK_MODULES([ZLIB], [zlib], [found_zlib=yes], [found_zlib=no]) -if test "x$found_zlib" = "xno" ; then +AS_IF([test "x$found_zlib" = "xno"], [ AC_CHECK_LIB(z, inflate, [AC_CHECK_HEADER(zlib.h, found_zlib=yes)]) if test "x$found_zlib" = "xno" ; then AC_MSG_ERROR([*** Working zlib library and headers not found ***]) fi ZLIB_LIBS='-lz' AC_SUBST(ZLIB_LIBS) -fi +]) PKG_CHECK_MODULES(LIBFFI, [libffi >= 3.0.0]) AC_SUBST(LIBFFI_CFLAGS) @@ -477,14 +501,14 @@ dnl dnl Now we are done with gettext checks, figure out ICONV_LIBS dnl -if test x"$glib_native_win32" != xyes; then +AS_IF([test x"$glib_native_win32" != xyes], [ if test x$with_libiconv != xno ; then case " $INTLLIBS " in *[[\ \ ]]-liconv[[\ \ ]]*) ;; *) ICONV_LIBS="-liconv" ;; esac fi -fi +]) AC_SUBST(ICONV_LIBS) case $with_libiconv in @@ -510,7 +534,7 @@ if test "x$GCC" = "xyes"; then esac fi -if test "$glib_native_win32" = "yes"; then +AS_IF([test "$glib_native_win32" = "yes"], [ if test x$enable_static = xyes -a x$enable_shared = xyes; then AC_MSG_ERROR([Can not build both shared and static at the same time on Windows.]) fi @@ -520,13 +544,13 @@ if test "$glib_native_win32" = "yes"; then #define GOBJECT_STATIC_COMPILATION 1" AC_SUBST(GLIB_WIN32_STATIC_COMPILATION_DEFINE) fi -fi +]) AM_CONDITIONAL(OS_WIN32_AND_DLL_COMPILATION, [test x$glib_native_win32 = xyes -a x$glib_win32_static_compilation != xyes]) dnl dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R) dnl -if test $cross_compiling != yes ; then +AS_IF([test $cross_compiling != yes], [ AC_MSG_CHECKING([for extra flags to get ANSI library prototypes]) glib_save_LIBS=$LIBS LIBS="$LIBS -lm" @@ -545,7 +569,7 @@ if test $cross_compiling != yes ; then ) ) LIBS=$glib_save_LIBS -fi +]) dnl NeXTStep cc seems to need this AC_MSG_CHECKING([for extra flags for POSIX compliance]) @@ -565,51 +589,6 @@ AC_FUNC_ALLOCA AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2) AC_CHECK_FUNCS(atexit on_exit timegm gmtime_r) -dnl don't use AC_CHECK_FUNCS here, otherwise HAVE_QSORT_R will -dnl be automatically defined, which we don't want to do -dnl until we have checked this function is actually usable -AC_CHECK_FUNC([qsort_r]) - -# BSD has a qsort_r with wrong argument order -if test x$ac_cv_func_qsort_r = xyes ; then - AC_CACHE_CHECK([if qsort_r uses glibc compatible argument order], glib_cv_have_qsort_r, [ - AC_RUN_IFELSE([AC_LANG_SOURCE([[ - #define _GNU_SOURCE - #include - - static int - cmp (const void *a, const void *b, void *c) - { - const int *ia = a; - const int *ib = b; - - if (*ia < *ib) - return -1; - else if (*ia > *ib) - return 1; - else - return 0; - } - - int - main (int argc, char **argv) - { - int arr[3] = { 1, 2, 0 }; - int d = 3; - - qsort_r (arr, 3, sizeof (int), cmp, &d); - - if (arr[0] == 0 && arr[1] == 1 && arr[2] == 2) - return 0; - else - return 1; - }]])],[glib_cv_have_qsort_r=yes],[glib_cv_have_qsort_r=no],[glib_cv_have_qsort_r=no])]) -fi - -if test x$glib_cv_have_qsort_r = xyes ; then - AC_DEFINE(HAVE_QSORT_R, 1, [Define to 1 if you have the 'qsort_r' function]) -fi - AC_CHECK_SIZEOF(char) AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(long) @@ -618,6 +597,18 @@ AC_CHECK_SIZEOF(void *) AC_CHECK_SIZEOF(long long) AC_CHECK_SIZEOF(__int64) +AC_CACHE_CHECK([for sig_atomic_t], ac_cv_type_sig_atomic_t, + [AC_TRY_LINK([#include + #include + sig_atomic_t val = 42;], + [return val == 42 ? 0 : 1], + ac_cv_type_sig_atomic_t=yes, + ac_cv_type_sig_atomic_t=no)]) +if test x$ac_cv_type_sig_atomic_t = xyes; then + AC_DEFINE(HAVE_SIG_ATOMIC_T, 1, + [Define if you have the 'sig_atomic_t' type.]) +fi + 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 @@ -627,7 +618,7 @@ else ]) fi -if test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8; then +AS_IF([test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8], [ # long long is a 64 bit integer. AC_MSG_CHECKING(for format to printf and scanf a guint64) AC_CACHE_VAL(glib_cv_long_long_format,[ @@ -646,16 +637,14 @@ if test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8; then break], [],[:]) done]) - if test -n "$glib_cv_long_long_format"; then + AS_IF([ test -n "$glib_cv_long_long_format"], [ AC_MSG_RESULT(%${glib_cv_long_long_format}u) AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long]) if test x"$glib_cv_long_long_format" = xI64; then AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64]) - fi - else - AC_MSG_RESULT(none) - fi -elif test x$ac_cv_sizeof___int64 = x8; then + fi + ], [AC_MSG_RESULT(none)]) +],[ test x$ac_cv_sizeof___int64 = x8], [ # __int64 is a 64 bit integer. AC_MSG_CHECKING(for format to printf and scanf a guint64) # We know this is MSVCRT.DLL, and what the formats are @@ -663,7 +652,7 @@ elif test x$ac_cv_sizeof___int64 = x8; then AC_MSG_RESULT(%${glib_cv_long_long_format}u) AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long]) AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64]) -fi +]) AC_C_CONST @@ -675,7 +664,7 @@ dnl compilers are apprechiated. SANE_MALLOC_PROTOS=no AC_MSG_CHECKING([if malloc() and friends prototypes are gmem.h compatible]) glib_save_CFLAGS=$CFLAGS -if test "x$GCC" = "xyes"; then +AS_IF([test "x$GCC" = "xyes"], [ CFLAGS="$CFLAGS -Werror" AC_TRY_COMPILE([#include ], [ void* (*my_calloc_p) (size_t, size_t) = calloc; @@ -690,7 +679,7 @@ if test "x$GCC" = "xyes"; then AC_DEFINE(SANE_MALLOC_PROTOS, 1, [Define if you have correct malloc prototypes]) SANE_MALLOC_PROTOS=yes) -fi +]) AC_MSG_RESULT($SANE_MALLOC_PROTOS) CFLAGS=$glib_save_CFLAGS @@ -807,7 +796,7 @@ call_a(2,3); AC_MSG_RESULT($g_have_iso_c_varargs) AC_MSG_CHECKING(for ISO C99 varargs macros in C++) -if test "$CXX" = ""; then +AS_IF([test "$CXX" = ""], [ dnl No C++ compiler g_have_iso_cxx_varargs=no else @@ -818,7 +807,7 @@ int a(int p1, int p2, int p3); call_a(2,3); ],g_have_iso_cxx_varargs=yes,g_have_iso_cxx_varargs=no) AC_LANG_C -fi +]) AC_MSG_RESULT($g_have_iso_cxx_varargs) AC_MSG_CHECKING(for GNUC varargs macros) @@ -894,7 +883,7 @@ fi AC_CHECK_HEADERS([dirent.h float.h limits.h pwd.h grp.h sys/param.h sys/poll.h sys/resource.h]) AC_CHECK_HEADERS([sys/time.h sys/times.h sys/wait.h unistd.h values.h]) AC_CHECK_HEADERS([sys/select.h sys/types.h stdint.h inttypes.h sched.h malloc.h]) -AC_CHECK_HEADERS([sys/vfs.h sys/vmount.h sys/statfs.h sys/statvfs.h]) +AC_CHECK_HEADERS([sys/vfs.h sys/vmount.h sys/statfs.h sys/statvfs.h sys/filio.h]) AC_CHECK_HEADERS([mntent.h sys/mnttab.h sys/vfstab.h sys/mntctl.h fstab.h]) AC_CHECK_HEADERS([sys/uio.h sys/mkdev.h]) AC_CHECK_HEADERS([linux/magic.h]) @@ -964,8 +953,8 @@ 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 $ac_cv_sizeof_size_t = $ac_cv_sizeof_int && - test $ac_cv_sizeof_size_t = $ac_cv_sizeof_long ; then +AS_IF([test $ac_cv_sizeof_size_t = $ac_cv_sizeof_int && + test $ac_cv_sizeof_size_t = $ac_cv_sizeof_long], [ GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([[ #if defined(_AIX) && !defined(__GNUC__) #pragma options langlvl=stdc89 @@ -990,7 +979,7 @@ int main () return (int)*size_long; } ]])],glib_size_type=long)]) -fi +]) AC_MSG_RESULT(unsigned $glib_size_type) @@ -1070,7 +1059,7 @@ fi AC_CHECK_FUNCS(getprotobyname_r endservent if_nametoindex) AC_CHECK_HEADERS([netdb.h wspiapi.h arpa/nameser_compat.h]) -if test $glib_native_win32 = no; then +AS_IF([test $glib_native_win32 = no], [ # We can't just use AC_CHECK_FUNC/AC_CHECK_LIB here. Bug 586150 NETWORK_LIBS="" AC_MSG_CHECKING([for res_query]) @@ -1101,7 +1090,7 @@ if test $glib_native_win32 = no; then AC_CHECK_FUNC(socket, :, AC_CHECK_LIB(socket, socket, [NETWORK_LIBS="-lsocket $NETWORK_LIBS"], [AC_MSG_ERROR(Could not find socket())])) -fi +]) AC_SUBST(NETWORK_LIBS) AC_CHECK_HEADER([linux/netlink.h], @@ -1124,7 +1113,7 @@ esac dnl dnl if statfs() takes 2 arguments (Posix) or 4 (Solaris) dnl -if test "$ac_cv_func_statfs" = yes ; then +AS_IF([test "$ac_cv_func_statfs" = yes], [ AC_MSG_CHECKING([number of arguments to statfs()]) AC_TRY_COMPILE([#include #ifdef HAVE_SYS_PARAM_H @@ -1160,14 +1149,14 @@ if test "$ac_cv_func_statfs" = yes ; then AC_DEFINE(STATFS_ARGS, 4, [Number of arguments to statfs()])],[ AC_MSG_RESULT(unknown) AC_MSG_ERROR([unable to determine number of arguments to statfs()])])]) -fi +]) # # Check whether to use an included printf # AC_ARG_ENABLE(included-printf, - [AC_HELP_STRING([--enable-included-printf], + [AS_HELP_STRING([--enable-included-printf], [use included printf [default=auto]])], enable_included_printf="$enableval") @@ -1196,14 +1185,14 @@ fi enable_included_printf=$need_included_printf AM_CONDITIONAL(HAVE_GOOD_PRINTF, test "$enable_included_printf" != "yes") -if test "$enable_included_printf" != "yes" ; then +AS_IF([test "$enable_included_printf" != "yes"], [ AC_DEFINE(HAVE_GOOD_PRINTF,1,[define to use system printf]) -else +], [ if test -z "$glib_cv_long_long_format" ; then glib_cv_long_long_format="ll" fi AC_DEFINE(HAVE_VASPRINTF,1) -fi +]) # Checks needed for gnulib vasnprintf bh_C_SIGNED @@ -1219,7 +1208,7 @@ AC_FUNC_SNPRINTF_C99 # Check if bcopy can be used for overlapping copies, if memmove isn't found. # The check is borrowed from the PERL Configure script. -if test "$ac_cv_func_memmove" != "yes"; then +AS_IF([test "$ac_cv_func_memmove" != "yes"], AC_CACHE_CHECK(whether bcopy can handle overlapping copies, glib_cv_working_bcopy,[AC_TRY_RUN([ int main() { @@ -1242,15 +1231,15 @@ if test "$ac_cv_func_memmove" != "yes"; then if test "$glib_cv_working_bcopy" = "yes"; then AC_DEFINE(HAVE_WORKING_BCOPY,1,[Have a working bcopy]) fi -fi +]) # Check if needs to be included for fd_set AC_MSG_CHECKING([for fd_set]) AC_TRY_COMPILE([#include ], [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no) -if test "$gtk_ok" = "yes"; then +AS_IF([test "$gtk_ok" = "yes"], [ 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 # *** FIXME: give it a different name @@ -1260,7 +1249,7 @@ else AC_DEFINE(NO_FD_SET,1,[didn't find fd_set]) AC_MSG_RESULT(no) fi -fi +]) dnl *** check for sane realloc() *** AC_CACHE_CHECK([whether realloc (NULL,) will work],glib_cv_sane_realloc,[ @@ -1272,9 +1261,9 @@ AC_CACHE_CHECK([whether realloc (NULL,) will work],glib_cv_sane_realloc,[ [glib_cv_sane_realloc=no], [glib_cv_sane_realloc=yes]) ]) -if test x$glib_cv_sane_realloc = xyes; then +AS_IF([test x$glib_cv_sane_realloc = xyes], [ AC_DEFINE(REALLOC_0_WORKS,1,[whether realloc (NULL,) works]) -fi +]) dnl Check for nl_langinfo and CODESET AC_CACHE_CHECK([for nl_langinfo (CODESET)],glib_cv_langinfo_codeset,[ @@ -1305,24 +1294,24 @@ if test x$glib_cv_langinfo_time = xyes; then AC_DEFINE(HAVE_LANGINFO_TIME,1,[Have nl_langinfo (PM_STR)]) fi -dnl Check for nl_langinfo and _NL_CTYPE_OUTDIGITn_WC -AC_CACHE_CHECK([for nl_langinfo (_NL_CTYPE_OUTDIGITn_WC)], glib_cv_langinfo_outdigit,[ +dnl Check for nl_langinfo and _NL_CTYPE_OUTDIGITn_MB +AC_CACHE_CHECK([for nl_langinfo (_NL_CTYPE_OUTDIGITn_MB)], glib_cv_langinfo_outdigit,[ AC_TRY_COMPILE([#include ], [char *str; - str = nl_langinfo (_NL_CTYPE_OUTDIGIT0_WC); - str = nl_langinfo (_NL_CTYPE_OUTDIGIT1_WC); - str = nl_langinfo (_NL_CTYPE_OUTDIGIT2_WC); - str = nl_langinfo (_NL_CTYPE_OUTDIGIT3_WC); - str = nl_langinfo (_NL_CTYPE_OUTDIGIT4_WC); - str = nl_langinfo (_NL_CTYPE_OUTDIGIT5_WC); - str = nl_langinfo (_NL_CTYPE_OUTDIGIT6_WC); - str = nl_langinfo (_NL_CTYPE_OUTDIGIT7_WC); - str = nl_langinfo (_NL_CTYPE_OUTDIGIT8_WC); - str = nl_langinfo (_NL_CTYPE_OUTDIGIT9_WC);], + str = nl_langinfo (_NL_CTYPE_OUTDIGIT0_MB); + str = nl_langinfo (_NL_CTYPE_OUTDIGIT1_MB); + str = nl_langinfo (_NL_CTYPE_OUTDIGIT2_MB); + str = nl_langinfo (_NL_CTYPE_OUTDIGIT3_MB); + str = nl_langinfo (_NL_CTYPE_OUTDIGIT4_MB); + str = nl_langinfo (_NL_CTYPE_OUTDIGIT5_MB); + str = nl_langinfo (_NL_CTYPE_OUTDIGIT6_MB); + str = nl_langinfo (_NL_CTYPE_OUTDIGIT7_MB); + str = nl_langinfo (_NL_CTYPE_OUTDIGIT8_MB); + str = nl_langinfo (_NL_CTYPE_OUTDIGIT9_MB);], [glib_cv_langinfo_outdigit=yes], [glib_cv_langinfo_outdigit=no])]) if test x$glib_cv_langinfo_outdigit = xyes; then - AC_DEFINE(HAVE_LANGINFO_OUTDIGIT,1,[Have nl_langinfo (_NL_CTYPE_OUTDIGITn_WC)]) + AC_DEFINE(HAVE_LANGINFO_OUTDIGIT,1,[Have nl_langinfo (_NL_CTYPE_OUTDIGITn_MB)]) fi dnl **************************************** @@ -1360,12 +1349,12 @@ AC_CACHE_VAL(glib_cv_compliant_posix_memalign,[ : fi ]) -if test "$glib_cv_compliant_posix_memalign" = "1"; then +AS_IF([test "$glib_cv_compliant_posix_memalign" = "1"], [ AC_MSG_RESULT(yes) AC_DEFINE(POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS, 1, [define if posix_memalign() can allocate any size]) -else +], [ AC_MSG_RESULT(no) -fi +]) dnl **************************************** @@ -1462,9 +1451,9 @@ AC_CACHE_CHECK([whether va_lists can be copied by value],glib_cv_va_val_copy,[ [glib_cv_va_val_copy=yes]) ]) -if test "x$glib_cv_va_val_copy" = "xno"; then +AS_IF([ test "x$glib_cv_va_val_copy" = "xno"], [ AC_DEFINE(G_VA_COPY_AS_ARRAY,1, ['va_lists' cannot be copies as values]) -fi +]) dnl *********************** dnl *** g_module checks *** @@ -1497,53 +1486,58 @@ if test -z "$G_MODULE_IMPL"; then esac fi dnl *** dlopen() and dlsym() in system libraries -if test -z "$G_MODULE_IMPL"; then +AS_IF([ test -z "$G_MODULE_IMPL"], [ AC_CHECK_FUNC(dlopen, [AC_CHECK_FUNC(dlsym, [G_MODULE_IMPL=G_MODULE_IMPL_DL],[])], []) -fi +]) dnl *** load_image (BeOS) -if test -z "$G_MODULE_IMPL" && test "x$glib_native_beos" = "xyes"; then +AS_IF([test -z "$G_MODULE_IMPL" && test "x$glib_native_beos" = "xyes"], [ AC_CHECK_LIB(root, load_image, [G_MODULE_LIBS="-lbe -lroot -lglib-2.0 " G_MODULE_LIBS_EXTRA="-L\$(top_builddir_full)/.libs" G_MODULE_PLUGIN_LIBS="-L\$(top_builddir_full)/gmodule/.libs -lgmodule" G_MODULE_IMPL=G_MODULE_IMPL_BEOS], []) -fi +]) dnl *** NSLinkModule (dyld) in system libraries (Darwin) -if test -z "$G_MODULE_IMPL"; then +AS_IF([ test -z "$G_MODULE_IMPL" ], [ 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 +AS_IF([ test -z "$G_MODULE_IMPL"], [ AC_CHECK_LIB(dl, dlopen, [AC_CHECK_LIB(dl, dlsym, [G_MODULE_LIBS=-ldl G_MODULE_IMPL=G_MODULE_IMPL_DL],[])], []) -fi +]) dnl *** shl_load() in libdld (HP-UX) -if test -z "$G_MODULE_IMPL"; then +AS_IF([ test -z "$G_MODULE_IMPL"], [ 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 +AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [ LIBS_orig="$LIBS" LDFLAGS_orig="$LDFLAGS" LIBS="$G_MODULE_LIBS $LIBS" LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS" dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness echo "void glib_plugin_test(void) { }" > plugin.c - ${SHELL} ./libtool --mode=compile ${CC} -shared \ - -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null + ${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \ + ${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1 + ${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \ + ${LDFLAGS} -module -o plugin.la -export-dynamic \ + -shrext ".o" -avoid-version plugin.lo \ + -rpath /dont/care >/dev/null 2>&1 + eval `./libtool --config | grep ^objdir` AC_CACHE_CHECK([for RTLD_GLOBAL brokenness], glib_cv_rtldglobal_broken,[ AC_TRY_RUN([ @@ -1558,7 +1552,7 @@ int glib_plugin_test; int main () { void *handle, *global, *local; global = &glib_plugin_test; - handle = dlopen ("./.libs/plugin.o", RTLD_GLOBAL | RTLD_LAZY); + handle = dlopen ("./$objdir/plugin.o", RTLD_GLOBAL | RTLD_LAZY); if (!handle) return 0; local = dlsym (handle, "glib_plugin_test"); return global == local; @@ -1566,8 +1560,8 @@ int main () { [glib_cv_rtldglobal_broken=no], [glib_cv_rtldglobal_broken=yes], [glib_cv_rtldglobal_broken=no]) - rm -f plugin.c plugin.o plugin.lo .libs/plugin.o - rmdir .libs 2>/dev/null + rm -f plugin.c plugin.o plugin.lo plugin.la ${objdir}/plugin.* + rmdir ${objdir} 2>/dev/null ]) if test "x$glib_cv_rtldglobal_broken" = "xyes"; then G_MODULE_BROKEN_RTLD_GLOBAL=1 @@ -1605,7 +1599,7 @@ dnl *** check for having dlerror() [G_MODULE_HAVE_DLERROR=1], [G_MODULE_HAVE_DLERROR=0]) LIBS="$LIBS_orig" -fi +]) dnl *** done, have we got an implementation? if test -z "$G_MODULE_IMPL"; then G_MODULE_IMPL=0 @@ -1675,7 +1669,7 @@ dnl *** Directory for GIO modules *** dnl ********************************* AC_ARG_WITH(gio-module-dir, - [AC_HELP_STRING([--with-gio-module-dir=DIR], + [AS_HELP_STRING([--with-gio-module-dir=DIR], [load gio modules from this directory [LIBDIR/gio/modules]])], [], [with_gio_module_dir='${libdir}/gio/modules']) @@ -1686,11 +1680,11 @@ dnl ********************************** dnl *** Check for libselinux (GIO) *** dnl ********************************** AC_ARG_ENABLE(selinux, - AC_HELP_STRING([--disable-selinux], + AS_HELP_STRING([--disable-selinux], [build without selinux support])) msg_selinux=no SELINUX_LIBS= -if test "x$enable_selinux" != "xno"; then +AS_IF([ test "x$enable_selinux" != "xno"], [ AC_CHECK_LIB(selinux, is_selinux_enabled, [AC_CHECK_HEADERS(selinux/selinux.h, @@ -1700,7 +1694,7 @@ if test "x$enable_selinux" != "xno"; then msg_selinux=yes]) ]) ]) -fi +]) AC_SUBST(SELINUX_LIBS) dnl ***************************** @@ -1738,7 +1732,7 @@ dnl **************************** should_disable_fam=no AC_ARG_ENABLE(fam, - AC_HELP_STRING([--disable-fam], + AS_HELP_STRING([--disable-fam], [don't use fam for file system monitoring]), [ if test "x$enable_fam" = "xno"; then @@ -1767,10 +1761,10 @@ dnl ***************************** dnl *** Check for xattr (GIO) *** dnl ***************************** AC_ARG_ENABLE(xattr, - AC_HELP_STRING([--disable-xattr], [build without xattr support])) + AS_HELP_STRING([--disable-xattr], [build without xattr support])) msg_xattr=no XATTR_LIBS= -if test "x$enable_xattr" != "xno"; then +AS_IF([ test "x$enable_xattr" != "xno"], [ dnl either glibc or libattr can provide xattr support @@ -1784,7 +1778,7 @@ dnl try glibc msg_xattr=yes]) ]) - if test "x$msg_xattr" != "xyes"; then + AS_IF([ test "x$msg_xattr" != "xyes"], [ dnl failure. try libattr AC_CHECK_LIB(attr, getxattr, [AC_CHECK_HEADERS(attr/xattr.h, @@ -1792,9 +1786,9 @@ dnl failure. try libattr XATTR_LIBS="-lattr" msg_xattr=yes]) ]) - fi + ]) - if test "x$msg_xattr" = "xyes"; then + AS_IF([ test "x$msg_xattr" = "xyes"], [ AC_MSG_CHECKING([for XATTR_NOFOLLOW]) AC_TRY_COMPILE([ #include @@ -1814,10 +1808,35 @@ dnl failure. try libattr ], [AC_MSG_RESULT([no])] ) + ]) +]) +AC_SUBST(XATTR_LIBS) + +dnl ************************ +dnl *** check for libelf *** +dnl ************************ +AC_ARG_ENABLE(libelf, + AS_HELP_STRING([--disable-libelf], [build without libelf support])) +AS_IF([ test "x$enable_libelf" != "xno"],[ +PKG_CHECK_MODULES([LIBELF], [libelf >= 0.8.12], [have_libelf=yes], [have_libelf=maybe]) +AS_IF([ test $have_libelf = maybe ], [ + glib_save_LIBS=$LIBS + AC_CHECK_LIB([elf], [elf_begin], [:], [have_libelf=no]) + AC_CHECK_LIB([elf], [elf_getshdrstrndx], [:], [have_libelf=no]) + AC_CHECK_LIB([elf], [elf_getshdrnum], [:], [have_libelf=no]) + AC_CHECK_HEADER([libelf.h], [:], [have_libelf=no]) + LIBS=$glib_save_LIBS + + if test $have_libelf != no; then + LIBELF_LIBS=-lelf + have_libelf=yes fi +]) +]) +if test x$have_libelf = xyes; then + AC_DEFINE(HAVE_LIBELF, 1, [Define if libelf is available]) fi -AC_SUBST(XATTR_LIBS) dnl **************************************** dnl *** platform dependent source checks *** @@ -1864,7 +1883,7 @@ dnl *** g_thread checks *** dnl *********************** AC_ARG_WITH(threads, - [AC_HELP_STRING([--with-threads=@<:@posix/win32@:>@], + [AS_HELP_STRING([--with-threads=@<:@posix/win32@:>@], [specify a thread implementation to use])], [], [with_threads=yes]) @@ -1905,17 +1924,17 @@ dnl *************************************** AC_MSG_CHECKING(for thread implementation) have_threads=no -if test "x$with_threads" = xyes || test "x$with_threads" = xposix; then +AS_IF([ test "x$with_threads" = xyes || test "x$with_threads" = xposix], [ # -D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE is for DG/UX # -U_OSF_SOURCE is for Digital UNIX 4.0d 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" = xno; then + AS_IF([ test "x$have_threads" = xno], [ AC_TRY_COMPILE([#include ], [pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;], have_threads=posix) - fi + ]) # Tru64Unix requires -pthread to find pthread.h. See #103020 CPPFLAGS="$CPPFLAGS -pthread" if test "x$have_threads" = xno; then @@ -1924,7 +1943,7 @@ if test "x$with_threads" = xyes || test "x$with_threads" = xposix; then have_threads=posix) fi CPPFLAGS="$glib_save_CPPFLAGS" -fi +]) if test "x$with_threads" = xyes || test "x$with_threads" = xwin32; then case $host in *-*-mingw*) @@ -1963,7 +1982,7 @@ int main() return (check_me != 42 || ret != &check_me); }]) -if test x"$have_threads" = xposix; then +AS_IF([ test x"$have_threads" = xposix], [ # First we test for posix, whether -pthread or -pthreads do the trick as # both CPPFLAG and LIBS. # One of them does for most gcc versions and some other platforms/compilers @@ -1998,9 +2017,9 @@ if test x"$have_threads" = xposix; then done ;; esac -fi +]) -if test x"$G_THREAD_CFLAGS" = x; then +AS_IF([ test x"$G_THREAD_CFLAGS" = x], [ # The canonical -pthread[s] does not work. Try something different. @@ -2039,8 +2058,7 @@ if test x"$G_THREAD_CFLAGS" = x; then G_THREAD_CFLAGS="-D_REENTRANT" # good default guess otherwise ;; esac - -fi +]) # if we are not finding the localtime_r function, then we probably are # not using the proper multithread flag @@ -2068,11 +2086,10 @@ CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS" dnl determination of G_THREAD_LIBS dnl ****************************** -case $have_threads in - posix) +AS_IF([test x$have_threads = xposix], [ glib_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES" - if test x"$G_THREAD_LIBS" = x; then + AS_IF([ test x"$G_THREAD_LIBS" = x ], [ case $host in *-aix*) # We are not using gcc (would have set G_THREAD_LIBS) and thus @@ -2118,20 +2135,17 @@ case $have_threads in LIBS="$glib_save_LIBS" ;; esac - fi + ]) g_threads_impl="POSIX" AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES) CPPFLAGS="$glib_save_CPPFLAGS" - ;; - win32) +], [test x$have_threads = xwin32], [ g_threads_impl="WIN32" - ;; - *) +], [ g_threads_impl="NONE" G_THREAD_LIBS=error - ;; -esac +]) if test "x$G_THREAD_LIBS" = xerror; then AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2) @@ -2157,7 +2171,7 @@ glib_save_LIBS="$LIBS" # to always be linked with the thread libs on some platforms. # LIBS="$LIBS $G_THREAD_LIBS" AC_CHECK_FUNCS(localtime_r gmtime_r) -if test "$ac_cv_header_pwd_h" = "yes"; then +AS_IF([ test "$ac_cv_header_pwd_h" = "yes"], [ AC_CACHE_CHECK([for posix getpwuid_r], ac_cv_func_posix_getpwuid_r, [AC_TRY_RUN([ @@ -2195,8 +2209,8 @@ int main () { [Have non-POSIX function getpwuid_r]) fi fi -fi -if test "$ac_cv_header_grp_h" = "yes"; then +]) +AS_IF([ test "$ac_cv_header_grp_h" = "yes"], [ AC_CACHE_CHECK([for posix getgrgid_r], ac_cv_func_posix_getgrgid_r, [AC_TRY_RUN([ @@ -2215,10 +2229,10 @@ int main () { [ac_cv_func_posix_getgrgid_r=yes], [ac_cv_func_posix_getgrgid_r=no])]) GLIB_ASSERT_SET(ac_cv_func_posix_getgrgid_r) - if test "$ac_cv_func_posix_getgrgid_r" = yes; then + AS_IF([ test "$ac_cv_func_posix_getgrgid_r" = yes ], [ AC_DEFINE(HAVE_POSIX_GETGRGID_R,1, [Have POSIX function getgrgid_r]) - else + ], [ AC_CACHE_CHECK([for nonposix getgrgid_r], ac_cv_func_nonposix_getgrgid_r, [AC_TRY_LINK([#include ], @@ -2233,10 +2247,10 @@ int main () { AC_DEFINE(HAVE_NONPOSIX_GETGRGID_R,1, [Have non-POSIX function getgrgid_r]) fi - fi -fi + ]) +]) LIBS="$G_THREAD_LIBS $LIBS" -if test x"$have_threads" = xposix; then +AS_IF([ test x"$have_threads" = xposix], [ glib_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES" # This is not AC_CHECK_FUNC to also work with function @@ -2260,7 +2274,7 @@ if test x"$have_threads" = xposix; then [Have function pthread_condattr_setclock])], [AC_MSG_RESULT(no)]) CPPFLAGS="$glib_save_CPPFLAGS" -fi +]) LIBS="$glib_save_LIBS" @@ -2333,12 +2347,12 @@ dnl that then to silently fall back on emulated atomic ops just because dnl the user had the wrong build environment. dnl We may add other compilers here in the future... -AC_MSG_CHECKING([for lock-free atomic intrinsics]) -AC_TRY_COMPILE([], - [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;], - [glib_cv_g_atomic_lock_free=yes], - [glib_cv_g_atomic_lock_free=no]) -AC_MSG_RESULT($glib_cv_g_atomic_lock_free) + +AC_CACHE_CHECK([for lock-free atomic intrinsics], glib_cv_g_atomic_lock_free, [ + AC_TRY_COMPILE([], + [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;], + [glib_cv_g_atomic_lock_free=yes], + [glib_cv_g_atomic_lock_free=no])]) if test "$glib_cv_g_atomic_lock_free" = "no"; then SAVE_CFLAGS="${CFLAGS}" @@ -2410,8 +2424,8 @@ glib_poll_includes=[" #include "] -if test $ac_cv_header_sys_types_h = yes && - test $ac_cv_header_sys_poll_h = yes ; then +AS_IF([ test $ac_cv_header_sys_types_h = yes && + test $ac_cv_header_sys_poll_h = yes ], [ glib_failed=false GLIB_CHECK_VALUE(POLLIN, $glib_poll_includes, glib_failed=true) GLIB_CHECK_VALUE(POLLOUT, $glib_poll_includes, glib_failed=true) @@ -2422,14 +2436,14 @@ if test $ac_cv_header_sys_types_h = yes && if $glib_failed ; then AC_MSG_ERROR([Could not determine values for POLL* constants]) fi -else +], [ glib_cv_value_POLLIN=1 glib_cv_value_POLLOUT=4 glib_cv_value_POLLPRI=2 glib_cv_value_POLLERR=8 glib_cv_value_POLLHUP=16 glib_cv_value_POLLNVAL=32 -fi +]) AC_MSG_CHECKING([for broken poll]) AC_RUN_IFELSE([AC_LANG_SOURCE([[ @@ -2460,76 +2474,60 @@ AC_MSG_RESULT($broken_poll) dnl ********************* dnl *** GRegex checks *** dnl ********************* -PCRE_REQUIRED_VERSION=8.11 - -# Check if we should compile GRegex -AC_ARG_ENABLE(regex, AC_HELP_STRING([--disable-regex], - [disable the compilation of GRegex]), -[case "${enableval}" in - yes) enable_regex=true ;; - no) enable_regex=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-regex) ;; -esac], -[enable_regex=true]) - -AM_CONDITIONAL(ENABLE_REGEX, $enable_regex) - -if test x$enable_regex = xtrue; then - AC_DEFINE(ENABLE_REGEX, [], [include GRegex]) - # Check if we should use the internal or the system-supplied pcre - AC_ARG_WITH(pcre, - [AC_HELP_STRING([--with-pcre=@<:@internal/system@:>@], - [whether to use system PCRE [default=internal]])]) - - AM_CONDITIONAL(USE_SYSTEM_PCRE, [test "x$with_pcre" = xsystem]) - - if test "x$with_pcre" = xsystem; then - PKG_CHECK_MODULES(PCRE, - libpcre >= $PCRE_REQUIRED_VERSION) - AC_CACHE_CHECK([for Unicode support in PCRE],glib_cv_pcre_has_unicode,[ - glib_save_CFLAGS="$CFLAGS" - glib_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $PCRE_CFLAGS" LIBS="$PCRE_LIBS" - AC_TRY_RUN([#include - int main () { - int support; - pcre_config (PCRE_CONFIG_UTF8, &support); - if (!support) - return 1; - pcre_config (PCRE_CONFIG_UNICODE_PROPERTIES, &support); - if (!support) - return 1; - return 0; - }], - glib_cv_pcre_has_unicode=yes, - glib_cv_pcre_has_unicode=no, - glib_cv_pcre_has_unicode=yes) - CFLAGS="$glib_save_CFLAGS" - LIBS="$glib_save_LIBS" - ]) - if test "$glib_cv_pcre_has_unicode" = "no"; then - AC_MSG_ERROR([*** The system-supplied PCRE does not support Unicode properties or UTF-8.]) - fi - AC_SUBST(PCRE_CFLAGS) - AC_SUBST(PCRE_LIBS) - AC_DEFINE(USE_SYSTEM_PCRE, [], [using the system-supplied PCRE library]) - PCRE_REQUIRES=libpcre - AC_SUBST(PCRE_REQUIRES) - else - # If using gcc 4 pass -Wno-pointer-sign when compiling the internal PCRE - if test x"$GCC" = xyes; then - AC_MSG_CHECKING([whether compiler understands -Wno-pointer-sign]) - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -Wno-pointer-sign" - AC_TRY_COMPILE([],[],[PCRE_WARN_CFLAGS="$PCRE_WARN_CFLAGS -Wno-pointer-sign" - AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) - CFLAGS="$save_CFLAGS" - fi + +PCRE_REQUIRED_VERSION=8.13 + +# Check if we should use the internal or the system-supplied pcre +AC_ARG_WITH(pcre, + [AS_HELP_STRING([--with-pcre=@<:@internal/system@:>@], + [whether to use system PCRE [default=internal]])]) + +AM_CONDITIONAL(USE_SYSTEM_PCRE, [test "x$with_pcre" = xsystem]) + +AS_IF([ test "x$with_pcre" = xsystem], [ + PKG_CHECK_MODULES(PCRE, + libpcre >= $PCRE_REQUIRED_VERSION) + AC_CACHE_CHECK([for Unicode support in PCRE],glib_cv_pcre_has_unicode,[ + glib_save_CFLAGS="$CFLAGS" + glib_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PCRE_CFLAGS" LIBS="$PCRE_LIBS" + AC_TRY_RUN([#include + int main () { + int support; + pcre_config (PCRE_CONFIG_UTF8, &support); + if (!support) + return 1; + pcre_config (PCRE_CONFIG_UNICODE_PROPERTIES, &support); + if (!support) + return 1; + return 0; + }], + glib_cv_pcre_has_unicode=yes, + glib_cv_pcre_has_unicode=no, + glib_cv_pcre_has_unicode=yes) + CFLAGS="$glib_save_CFLAGS" + LIBS="$glib_save_LIBS" + ]) + if test "$glib_cv_pcre_has_unicode" = "no"; then + AC_MSG_ERROR([*** The system-supplied PCRE does not support Unicode properties or UTF-8.]) fi - AC_SUBST(PCRE_WARN_CFLAGS) -else - AM_CONDITIONAL(USE_SYSTEM_PCRE, false]) -fi + AC_SUBST(PCRE_CFLAGS) + AC_SUBST(PCRE_LIBS) + AC_DEFINE(USE_SYSTEM_PCRE, [], [using the system-supplied PCRE library]) + PCRE_REQUIRES=libpcre + AC_SUBST(PCRE_REQUIRES) +], [ + # If using gcc 4 pass -Wno-pointer-sign when compiling the internal PCRE + AS_IF([ test x"$GCC" = xyes], [ + AC_MSG_CHECKING([whether compiler understands -Wno-pointer-sign]) + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Wno-pointer-sign" + AC_TRY_COMPILE([],[],[PCRE_WARN_CFLAGS="$PCRE_WARN_CFLAGS -Wno-pointer-sign" + AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) + CFLAGS="$save_CFLAGS" + ]) +]) +AC_SUBST(PCRE_WARN_CFLAGS) dnl ********************** dnl *** Win32 API libs *** @@ -2567,7 +2565,7 @@ dnl ****************************************************************** AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) -if test $cross_compiling = yes; then +AS_IF([ test $cross_compiling = yes && test x$enable_modular_tests = xyes], [ 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) @@ -2582,36 +2580,66 @@ if test $cross_compiling = yes; then if test x$GLIB_COMPILE_RESOURCES = xno; then AC_MSG_ERROR(Could not find a glib-compile-resources in your PATH) fi -fi +]) dnl ************************** dnl *** Checks for gtk-doc *** dnl ************************** - +# gtkdocize greps for ^GTK_DOC_CHECK and parses it, so you need to have +# it on it's own line. +m4_ifdef([GTK_DOC_CHECK], [ GTK_DOC_CHECK([1.15], [--flavour no-tmpl]) +],[ +AM_CONDITIONAL([ENABLE_GTK_DOC],[false]) +]) AC_ARG_ENABLE(man, - [AC_HELP_STRING([--enable-man], - [regenerate man pages from Docbook [default=no]])],enable_man=yes, - enable_man=no) - -if test "${enable_man}" != no; then -dnl -dnl Check for xsltproc -dnl -AC_PATH_PROG([XSLTPROC], [xsltproc]) - if test -z "$XSLTPROC"; then + [AS_HELP_STRING([--enable-man], + [generate man pages [default=auto]])],, + enable_man=maybe) + +AS_IF([test "$enable_man" != no], [ + AC_PATH_PROG([XSLTPROC], [xsltproc]) + AS_IF([test -z "$XSLTPROC"], [ + AS_IF([test "$enable_man" = yes], [ + AC_MSG_ERROR([xsltproc is required for --enable-man]) + ]) enable_man=no - fi + ]) +]) - dnl check for DocBook DTD and stylesheets in the local catalog. +AS_IF([ test "$enable_man" != no ], [ + dnl check for DocBook DTD in the local catalog JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN], - [DocBook XML DTD V4.1.2],,enable_man=no) + [DocBook XML DTD V4.1.2], [have_docbook_dtd=yes], [have_docbook_dtd=no]) + AS_IF([test "$have_docbook_dtd" != yes], [ + AS_IF([test "$enable_man" = yes ], [ + AC_MSG_ERROR([DocBook DTD is required for --enable-man]) + ]) + enable_man=no + ]) +]) + +AS_IF([test "$enable_man" != no], [ + dnl check for DocBook XSL stylesheets in the local catalog JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl], - [DocBook XSL Stylesheets],,enable_man=no) -fi + [DocBook XSL Stylesheets], [have_docbook_style=yes],[have_docbook_style=no]) + AS_IF([ test "$have_docbook_dtd" != yes ], [ + AS_IF([ test "$enable_man" = yes ], [ + AC_MSG_ERROR([DocBook XSL Stylesheets are required for --enable-man]) + ]) + enable_man=no + ]) +]) + +AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no) -AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno) +AC_MSG_CHECKING([whether to generate man pages]) +AS_IF([ test "$enable_man" != no ], [ + AC_MSG_RESULT([yes]) +], [ + AC_MSG_RESULT([no]) +]) dnl dnl Tracing @@ -2622,7 +2650,7 @@ AC_ARG_ENABLE([dtrace], [include tracing support for dtrace])]) have_dtrace=no AC_MSG_CHECKING([whether to include dtrace tracing support]) -if test "x$enable_dtrace" != xno; then +AS_IF([ test "x$enable_dtrace" != xno], [ if test x$glib_have_carbon = xyes; then AC_MSG_RESULT([no (not yet compatible with MacOS dtrace)]) else @@ -2639,9 +2667,9 @@ if test "x$enable_dtrace" != xno; then fi]) fi fi -else +], [ AC_MSG_RESULT([no]) -fi +]) if test "x$have_dtrace" = xyes; then AC_DEFINE([HAVE_DTRACE], [1], [Define to 1 if using dtrace probes.]) fi @@ -2679,7 +2707,7 @@ AC_ARG_ENABLE(gcov, [enable coverage testing with gcov]), [use_gcov=$enableval], [use_gcov=no]) -if test "x$use_gcov" = "xyes"; then +AS_IF([ test "x$use_gcov" = "xyes"], [ dnl we need gcc: if test "$GCC" != "yes"; then AC_MSG_ERROR([GCC is required for --enable-gcov]) @@ -2700,7 +2728,7 @@ if test "x$use_gcov" = "xyes"; then AC_CHECK_PROG(LTP, lcov, lcov) AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml) - if test "$LTP"; then + AS_IF([ test "$LTP" ], [ AC_CACHE_CHECK([for ltp version], glib_cv_ltp_version, [ glib_cv_ltp_version=invalid ltp_version=`$LTP -v 2>/dev/null | $SED -e 's/^.* //'` @@ -2710,10 +2738,10 @@ if test "x$use_gcov" = "xyes"; then fi done ]) - else + ], [ ltp_msg="To enable code coverage reporting you must have one of the following LTP versions installed: $ltp_version_list" AC_MSG_ERROR([$ltp_msg]) - fi + ]) case $glib_cv_ltp_version in ""|invalid[)] @@ -2735,7 +2763,7 @@ if test "x$use_gcov" = "xyes"; then dnl Add the special gcc flags CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage" LDFLAGS="$LDFLAGS -lgcov" -fi +]) dnl ****************************** dnl *** output the whole stuff *** @@ -3362,7 +3390,17 @@ g_pollhup=$glib_cv_value_POLLHUP g_pollerr=$glib_cv_value_POLLERR g_pollnval=$glib_cv_value_POLLNVAL -g_af_unix=$glib_cv_value_AF_UNIX +# If a family is not found on the system, define that family to +# a negative value, picking a different one for each undefined +# family (-1 for AF_UNIX, -2 for the next one, -3 ...) +# This is needed because glib-mkenums doesn't handle optional +# values in enums, and thus we have to have all existing values +# defined in the enum. +if test "x$glib_cv_value_AF_UNIX" != "x"; then + g_af_unix=$glib_cv_value_AF_UNIX +else + g_af_unix=-1 +fi g_af_inet=$glib_cv_value_AF_INET g_af_inet6=$glib_cv_value_AF_INET6 @@ -3407,24 +3445,65 @@ if test x$glib_win32_static_compilation = xyes; then fi ]) +# Redo enough to get guint32 and guint64 for the alignment checks below +case 4 in +$ac_cv_sizeof_short) + gint32=short + ;; +$ac_cv_sizeof_int) + gint32=int + ;; +$ac_cv_sizeof_long) + gint32=long + ;; +esac +case 8 in +$ac_cv_sizeof_int) + gint64=int + ;; +$ac_cv_sizeof_long) + gint64=long + ;; +$ac_cv_sizeof_long_long) + gint64='long long' + ;; +$ac_cv_sizeof___int64) + gint64='__int64' + ;; +esac + +AC_CHECK_TYPE([guint32],,,[typedef unsigned $gint32 guint32;]) +AC_CHECK_ALIGNOF([guint32], [AC_INCLUDES_DEFAULT +typedef unsigned $gint32 guint32;]) +AC_CHECK_TYPE([guint64],,,[typedef unsigned $gint64 guint64;]) +AC_CHECK_ALIGNOF([guint64], [AC_INCLUDES_DEFAULT +typedef unsigned $gint64 guint64;]) +AC_CHECK_TYPE([unsigned long]) +AC_CHECK_ALIGNOF([unsigned long]) + # Check for libdbus1 - Optional - is only used in the GDBus test cases # # 1.2.14 required for dbus_message_set_serial -PKG_CHECK_MODULES(DBUS1, - dbus-1 >= 1.2.14, - [AC_DEFINE(HAVE_DBUS1, 1, [Define if dbus-1 is available]) have_dbus1=yes], - have_dbus1=no) -AC_SUBST(DBUS1_CFLAGS) -AC_SUBST(DBUS1_LIBS) +AS_IF([ test x$enable_modular_tests = xyes], [ + PKG_CHECK_MODULES(DBUS1, + dbus-1 >= 1.2.14, + [AC_DEFINE(HAVE_DBUS1, 1, [Define if dbus-1 is available]) have_dbus1=yes], + have_dbus1=no) + AC_SUBST(DBUS1_CFLAGS) + AC_SUBST(DBUS1_LIBS) +]) AM_CONDITIONAL(HAVE_DBUS1, [test "x$have_dbus1" = "xyes"]) +AC_CHECK_PROGS([DBUS_DAEMON], [dbus-daemon]) +AM_CONDITIONAL([HAVE_DBUS_DAEMON], [test x$DBUS_DAEMON = xdbus-daemon ]) + dnl dnl Check for -Bsymbolic-functions linker flag used to avoid dnl intra-library PLT jumps, if available. dnl AC_ARG_ENABLE(Bsymbolic, - [AC_HELP_STRING([--disable-Bsymbolic], + [AS_HELP_STRING([--disable-Bsymbolic], [avoid linking with -Bsymbolic])],, [SAVED_LDFLAGS="${LDFLAGS}" AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])