X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=5bccf551f85ae63e6870e0dd31399f84d2cc2824;hb=9da85c7262325478e8730ae9f3e76bd0528a9a8c;hp=a3f595e56c3d284d9ef18dab8f8879f16a90e37f;hpb=3fe8ed04c7ae7a34af03056e73962c2beea53486;p=platform%2Fupstream%2Fglib.git diff --git a/configure.ac b/configure.ac index a3f595e..5bccf55 100644 --- a/configure.ac +++ b/configure.ac @@ -30,8 +30,8 @@ m4_define(glib_configure_ac) # on the unstable (ie master), interface age = 0 m4_define([glib_major_version], [2]) -m4_define([glib_minor_version], [35]) -m4_define([glib_micro_version], [6]) +m4_define([glib_minor_version], [43]) +m4_define([glib_micro_version], [1]) m4_define([glib_interface_age], [0]) m4_define([glib_binary_age], [m4_eval(100 * glib_minor_version + glib_micro_version)]) @@ -61,7 +61,7 @@ AC_CONFIG_SRCDIR([glib/glib.h]) AC_CONFIG_MACRO_DIR([m4macros]) # Save this value here, since automake will set cflags later -cflags_set=${CFLAGS+set} +cflags_set=${CFLAGS:+set} AM_INIT_AUTOMAKE([1.11 -Wno-portability no-define no-dist-gzip dist-xz tar-ustar]) AM_MAINTAINER_MODE([enable]) @@ -111,22 +111,12 @@ AC_SUBST(LT_CURRENT_MINUS_AGE) dnl Checks for programs. AC_PROG_CC AC_PROG_CPP +AC_USE_SYSTEM_EXTENSIONS AM_CONDITIONAL(HAVE_GCC, [test "$GCC" = "yes"]) AC_CANONICAL_HOST -AC_MSG_CHECKING([for the BeOS]) -case $host in - *-*-beos*) - glib_native_beos="yes" - ;; - *) - glib_native_beos="no" - ;; -esac -AC_MSG_RESULT([$glib_native_beos]) - dnl AC_MSG_CHECKING([for Win32]) @@ -166,6 +156,17 @@ esac AC_MSG_RESULT([$glib_native_win32]) +AC_MSG_CHECKING([for the Android]) +case $host in + *android*) + glib_native_android="yes" + ;; + *) + glib_native_android="no" + ;; +esac +AC_MSG_RESULT([$glib_native_android]) + AC_SUBST(LIB_EXE_MACHINE_FLAG) glib_have_carbon=no @@ -212,18 +213,19 @@ AM_CONDITIONAL(MS_LIB_AVAILABLE, [test x$ms_librarian = xyes]) AS_IF([test "x$glib_have_carbon" = "xyes"], [ AC_DEFINE(HAVE_CARBON, 1, [define to 1 if Carbon is available]) - LDFLAGS="$LDFLAGS -Wl,-framework,Carbon" -]) + CARBON_LIBS="-Wl,-framework,Carbon" + LDFLAGS="$LDFLAGS $CARBON_LIBS" +], [CARBON_LIBS=""]) + +AC_SUBST([CARBON_LIBS]) -if test "x$glib_have_cocoa" = "xyes"; then +AS_IF([test "x$glib_have_cocoa" = "xyes"], [ AC_DEFINE(HAVE_COCOA, 1, [define to 1 if Cocoa is available]) - LDFLAGS="$LDFLAGS -Wl,-framework,Foundation" -fi + COCOA_LIBS="-Wl,-framework,Foundation" + LDFLAGS="$LDFLAGS $COCOA_LIBS" +], [COCOA_LIBS=""]) -gl_GLIBC21 -AS_IF([test "x$GLIBC21" = "xyes"], [ - AC_DEFINE([_GNU_SOURCE], 1, [Make all glibc extensions visible]) -]) +AC_SUBST([COCOA_LIBS]) dnl declare --enable-* args and collect ac_help strings AC_ARG_ENABLE(debug, @@ -243,11 +245,12 @@ AC_ARG_ENABLE(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_ARG_ENABLE(kdbus, + [AS_HELP_STRING([--enable-kdbus], + [enable kdbus [default=no]])],, + [enable_kdbus=no]) + +GLIB_TESTS AC_MSG_CHECKING([whether to enable garbage collector friendliness]) AS_IF([test "x$enable_gc_friendly" = "xyes"], [ @@ -263,6 +266,13 @@ AS_IF([test "x$disable_mem_pools" = "xno"], [ AC_MSG_RESULT([yes]) ]) +AC_MSG_CHECKING([whether to enable kdbus]) +AM_CONDITIONAL(KDBUS_TRANSPORT, [test "x$enable_kdbus" = "xyes"]) +AS_IF([test "x$enable_kdbus" = "xyes"], [ + AC_DEFINE(KDBUS_TRANSPORT, 1, [Whether to enable kdbus]) + AC_MSG_RESULT([yes]) +], [ AC_MSG_RESULT([no]) ]) + dnl location to install runtime libraries, e.g. ../../lib to install dnl to /lib if libdir is /usr/lib AC_ARG_WITH(runtime-libdir, @@ -292,7 +302,7 @@ AC_SYS_LARGEFILE PKG_PROG_PKG_CONFIG(0.16) if test "x$enable_debug" = "xyes"; then - if test x$cflags_set != xset ; then + if test "x$cflags_set" != "x" ; then case " $CFLAGS " in *[[\ \ ]]-g[[\ \ ]]*) ;; *) CFLAGS="$CFLAGS -g" ;; @@ -430,33 +440,6 @@ AS_IF([ test x"$glib_native_win32" = xyes], [ fi ]) -AC_ARG_ENABLE(iconv-cache, - [AS_HELP_STRING([--enable-iconv-cache=@<:@yes/no/auto@:>@], - [cache iconv descriptors [default=auto]])],, - [enable_iconv_cache=auto]) - -AC_MSG_CHECKING([whether to cache iconv descriptors]) -case $enable_iconv_cache in - auto) - if test $ac_cv_gnu_library_2_1 = yes; then - enable_iconv_cache=no - else - enable_iconv_cache=yes - fi - ;; - yes|no) - ;; - *) AC_MSG_ERROR([Value given to --enable-iconv-cache must be one of yes, no or auto]) - ;; -esac - -if test $enable_iconv_cache = yes; then - AC_DEFINE(NEED_ICONV_CACHE,1,[Do we cache iconv descriptors]) -fi - -AC_MSG_RESULT($enable_iconv_cache) - - dnl dnl zlib support dnl @@ -541,47 +524,10 @@ AS_IF([test "$glib_native_win32" = "yes"], [ ]) 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 -AS_IF([test $cross_compiling != yes], [ - AC_MSG_CHECKING([for extra flags to get ANSI library prototypes]) - glib_save_LIBS=$LIBS - LIBS="$LIBS -lm" - AC_TRY_RUN([#include - int main (void) { return (log(1) != log(1.)); }], - AC_MSG_RESULT(none needed), - glib_save_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -std1" - AC_TRY_RUN([#include - int main (void) { return (log(1) != log(1.)); }], - AC_MSG_RESULT(-std1), - AC_MSG_RESULT() - CFLAGS=$glib_save_CFLAGS - AC_MSG_WARN( - [No ANSI prototypes found in library. (-std1 didn't work.)]) - ) - ) - LIBS=$glib_save_LIBS -]) - -dnl NeXTStep cc seems to need this -AC_MSG_CHECKING([for extra flags for POSIX compliance]) -AC_TRY_COMPILE([#include ], [DIR *dir;], - AC_MSG_RESULT(none needed), - glib_save_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -posix" - AC_TRY_COMPILE([#include ], [DIR *dir;], - AC_MSG_RESULT(-posix), - AC_MSG_RESULT() - CFLAGS=$glib_save_CFLAGS - AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)]))) - # Checks for library functions. -AC_FUNC_VPRINTF AC_FUNC_ALLOCA AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2 issetugid) -AC_CHECK_FUNCS(atexit on_exit timegm gmtime_r) +AC_CHECK_FUNCS(timegm gmtime_r) AC_CACHE_CHECK([for __libc_enable_secure], glib_cv_have_libc_enable_secure, [AC_TRY_LINK([#include @@ -661,46 +607,18 @@ AS_IF([test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8], AC_C_CONST -dnl ok, here we try to check whether the systems prototypes for -dnl malloc and friends actually match the prototypes provided -dnl by gmem.h (keep in sync). i currently only know how to check -dnl this reliably with gcc (-Werror), improvements for other -dnl compilers are apprechiated. -SANE_MALLOC_PROTOS=no -AC_MSG_CHECKING([if malloc() and friends prototypes are gmem.h compatible]) -glib_save_CFLAGS=$CFLAGS -AS_IF([test "x$GCC" = "xyes"], [ - CFLAGS="$CFLAGS -Werror" - AC_TRY_COMPILE([#include ], [ - void* (*my_calloc_p) (size_t, size_t) = calloc; - void* (*my_malloc_p) (size_t) = malloc; - void (*my_free_p) (void*) = free; - void* (*my_realloc_p) (void*, size_t) = realloc; - my_calloc_p = 0; - my_malloc_p = 0; - my_free_p = 0; - my_realloc_p = 0; - ], - AC_DEFINE(SANE_MALLOC_PROTOS, 1, - [Define if you have correct malloc prototypes]) - SANE_MALLOC_PROTOS=yes) -]) -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; } + void f (int i) { volatile int x = 5; if (i == 0) b = &x; else f (i - 1); } + int main () { volatile int y = 7; a = &y; f (100); return b > a ? 0 : 1; } ], - glib_cv_stack_grows=no - , glib_cv_stack_grows=yes + , + glib_cv_stack_grows=no ,) ]) @@ -776,21 +694,6 @@ main (void) { }]])],[g_can_inline=yes],[g_can_inline=no]) AC_MSG_RESULT($g_can_inline) -dnl *** check for working do while(0) macros *** -AC_CACHE_CHECK([for working do while(0) macros], g_cv_support_dowhile_macros, [ - AC_TRY_COMPILE([],[ - #define STMT_START do - #define STMT_END while(0) - #define STMT_TEST STMT_START { i = 0; } STMT_END - int main(void) { int i = 1; STMT_TEST; return i; }], - [g_cv_support_dowhile_macros=yes], - [g_cv_support_dowhile_macros=no], - [g_cv_support_dowhile_macros=yes]) -]) -if test x$g_cv_support_dowhile_macros = xyes; then - AC_DEFINE(HAVE_DOWHILE_MACROS, 1, [define for working do while(0) macros]) -fi - # check for flavours of varargs macros AC_MSG_CHECKING(for ISO C99 varargs macros in C) AC_TRY_COMPILE([],[ @@ -885,15 +788,18 @@ fi # check for header files -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/param.h sys/resource.h mach/mach_time.h]) +AC_CHECK_HEADERS([sys/select.h stdint.h inttypes.h sched.h malloc.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]) -AC_CHECK_HEADERS([sys/prctl.h]) -AC_CHECK_HEADERS([sys/ioctl.h]) +AC_CHECK_HEADERS([linux/magic.h linux/memfd.h sys/prctl.h]) + +# Some versions of MSC lack these +AC_CHECK_HEADERS([dirent.h sys/time.h]) + +# We don't care about this, but we need to keep including it in +# glibconfig.h for backward compatibility +AC_CHECK_HEADERS([values.h]) AC_CHECK_HEADERS([sys/mount.h sys/sysctl.h], [], [], [#if HAVE_SYS_PARAM_H @@ -902,13 +808,16 @@ AC_CHECK_HEADERS([sys/mount.h sys/sysctl.h], [], [], ]) AC_CHECK_FUNCS(sysctlbyname) +AC_HEADER_MAJOR AC_CHECK_HEADERS([xlocale.h]) # check for structure fields AC_CHECK_MEMBERS([struct stat.st_mtimensec, struct stat.st_mtim.tv_nsec, struct stat.st_atimensec, struct stat.st_atim.tv_nsec, struct stat.st_ctimensec, struct stat.st_ctim.tv_nsec]) AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_blocks, struct statfs.f_fstypename, struct statfs.f_bavail],,, [#include #include +#ifdef G_OS_UNIX #include +#endif #ifdef HAVE_SYS_STATFS_H #include #endif @@ -927,13 +836,12 @@ AC_STRUCT_DIRENT_D_TYPE # Checks for libcharset AM_LANGINFO_CODESET -AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) -AC_CHECK_FUNCS(setlocale) +gl_GLIBC21 # check additional type sizes AC_CHECK_SIZEOF(size_t) -dnl Try to figure out whether gsize, gssize should be long or int +dnl Try to figure out whether gsize should be long or int AC_MSG_CHECKING([for the appropriate definition for size_t]) case $ac_cv_sizeof_size_t in @@ -990,11 +898,84 @@ int main () AC_MSG_RESULT(unsigned $glib_size_type) +AC_CHECK_SIZEOF(ssize_t) + +dnl Try to figure out whether gssize should be long or int +AC_MSG_CHECKING([for the appropriate definition for ssize_t]) + +case $ac_cv_sizeof_ssize_t in + $ac_cv_sizeof_short) + glib_ssize_type=short + ;; + $ac_cv_sizeof_int) + glib_ssize_type=int + ;; + $ac_cv_sizeof_long) + glib_ssize_type=long + ;; + $ac_cv_sizeof_long_long) + glib_ssize_type='long long' + ;; + $ac_cv_sizeof__int64) + glib_ssize_type='__int64' + ;; + *) AC_MSG_ERROR([No type matching ssize_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 ssize_t. (This matters +dnl on Android where ssize_t is long and size_t is unsigned int) +dnl +AS_IF([test $ac_cv_sizeof_ssize_t = $ac_cv_sizeof_int && + test $ac_cv_sizeof_ssize_t = $ac_cv_sizeof_long], [ + GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([[ +#if defined(_AIX) && !defined(__GNUC__) +#pragma options langlvl=stdc89 +#endif +#include +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#include +int main () +{ + ssize_t s = 1; + int *size_int = &s; + return (int)*size_int; +} + ]])],glib_ssize_type=int, + [GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([[ +#if defined(_AIX) && !defined(__GNUC__) +#pragma options langlvl=stdc89 +#endif +#include +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#include +int main () +{ + ssize_t s = 1; + long *size_long = &s; + return (int)*size_long; +} + ]])],glib_ssize_type=long)]) +]) + +AC_MSG_RESULT($glib_ssize_type) + # Check for some functions -AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf stpcpy strcasecmp strncasecmp poll getcwd vasprintf setenv unsetenv getc_unlocked readlink symlink fdwalk memmem) -AC_CHECK_FUNCS(chown lchmod lchown fchmod fchown link utimes getgrgid getpwuid getresuid) -AC_CHECK_FUNCS(getmntent_r setmntent endmntent hasmntopt getfsstat getvfsstat) -# Check for high-resolution sleep functions +AC_CHECK_FUNCS(lstat strsignal vsnprintf stpcpy strcasecmp strncasecmp poll vasprintf setenv unsetenv getc_unlocked readlink symlink fdwalk memmem) +AC_CHECK_FUNCS(lchmod lchown fchmod fchown utimes getresuid) +AC_CHECK_FUNCS(getmntent_r setmntent endmntent hasmntopt getfsstat getvfsstat fallocate) +case $host_os in aix*) ac_cv_func_splice=no ;; esac # AIX splice() is something else AC_CHECK_FUNCS(splice) AC_CHECK_FUNCS(prlimit) @@ -1031,9 +1012,6 @@ AC_CHECK_FUNCS(_NSGetEnviron) AC_CHECK_FUNCS(newlocale uselocale strtod_l strtoll_l strtoull_l) -AC_FUNC_VSNPRINTF_C99 -AC_FUNC_PRINTF_UNIX98 - # Internet address families if test $glib_native_win32 = yes; then glib_inet_includes=[" @@ -1063,7 +1041,7 @@ if $glib_failed ; then AC_MSG_ERROR([Could not determine values for MSG_* constants]) fi -AC_CHECK_FUNCS(getprotobyname_r endservent if_nametoindex) +AC_CHECK_FUNCS(getprotobyname_r endservent if_nametoindex if_indextoname) AS_IF([test $glib_native_win32 = yes], [ # in the Windows SDK and in mingw-w64 has wrappers for @@ -1072,16 +1050,20 @@ AS_IF([test $glib_native_win32 = yes], [ AC_CHECK_HEADER([wspiapi.h], [WSPIAPI_INCLUDE="#include "]) AC_SUBST(WSPIAPI_INCLUDE) ], [ - AC_MSG_CHECKING([if arpa/nameser_compat.h is needed]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], - [int qclass = C_IN;])], - [AC_MSG_RESULT([no])], - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include - #include ], - [int qclass = C_IN;])], - [AC_MSG_RESULT([yes]) - NAMESER_COMPAT_INCLUDE="#include "], - [AC_MSG_ERROR([could not compile test program either way])])]) + # Android does not have C_IN in public headers, we define it wherever necessary + AS_IF([test $glib_native_android != yes], [ + AC_MSG_CHECKING([if arpa/nameser_compat.h is needed]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include + #include ], + [int qclass = C_IN;])], + [AC_MSG_RESULT([no])], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include + #include + #include ], + [int qclass = C_IN;])], + [AC_MSG_RESULT([yes]) + NAMESER_COMPAT_INCLUDE="#include "], + [AC_MSG_ERROR([could not compile test program either way])])])]) AC_SUBST(NAMESER_COMPAT_INCLUDE) # We can't just use AC_CHECK_FUNC/AC_CHECK_LIB here. Bug 586150 @@ -1114,6 +1096,19 @@ AS_IF([test $glib_native_win32 = yes], [ AC_CHECK_FUNC(socket, :, AC_CHECK_LIB(socket, socket, [NETWORK_LIBS="-lsocket $NETWORK_LIBS"], [AC_MSG_ERROR(Could not find socket())])) + save_libs="$LIBS" + LIBS="$LIBS $NETWORK_LIBS" + AC_MSG_CHECKING([for res_init]) + AC_TRY_LINK([#include + #include + #include + #include + ],[ + res_init(); + ],[AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_RES_INIT, 1, [Define to 1 if you have the 'res_init' function.]) + ],[AC_MSG_RESULT([no])]) + LIBS="$save_libs" ]) AC_SUBST(NETWORK_LIBS) @@ -1175,9 +1170,23 @@ AS_IF([test "$ac_cv_func_statfs" = yes], [ AC_MSG_ERROR([unable to determine number of arguments to statfs()])])]) ]) +dnl +dnl open takes O_DIRECTORY as an option +dnl +AC_MSG_CHECKING([open() option O_DIRECTORY]) +AC_TRY_COMPILE([#include +#include +#include ], +[open(0, O_DIRECTORY, 0);],[ + AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_OPEN_O_DIRECTORY, 1, [open option O_DIRECTORY])],[ + AC_MSG_RESULT([no])]) + # # Check whether to use an included printf # +AC_FUNC_VSNPRINTF_C99 +AC_FUNC_PRINTF_UNIX98 AC_ARG_ENABLE(included-printf, [AS_HELP_STRING([--enable-included-printf], @@ -1230,33 +1239,6 @@ jm_AC_TYPE_INTMAX_T AC_CHECK_FUNCS([snprintf wcslen]) 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. -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() { - char buf[128], abc[128], *b; - int len, off, align; - bcopy("abcdefghijklmnopqrstuvwxyz0123456789", abc, 36); - for (align = 7; align >= 0; align--) { - for (len = 36; len; len--) { - b = buf+align; bcopy(abc, b, len); - for (off = 1; off <= len; off++) { - bcopy(b, b+off, len); bcopy(b+off, b, len); - if (bcmp(b, abc, len)) return(1); - } - } - } - return(0); - }],glib_cv_working_bcopy=yes,glib_cv_working_bcopy=no)]) - - GLIB_ASSERT_SET(glib_cv_working_bcopy) - if test "$glib_cv_working_bcopy" = "yes"; then - AC_DEFINE(HAVE_WORKING_BCOPY,1,[Have a working bcopy]) - fi -]) - # Check if needs to be included for fd_set AC_MSG_CHECKING([for fd_set]) AC_TRY_COMPILE([#include ], @@ -1275,24 +1257,12 @@ AS_IF([test "$gtk_ok" = "yes"], [ fi ]) -dnl *** check for sane realloc() *** -AC_CACHE_CHECK([whether realloc (NULL,) will work],glib_cv_sane_realloc,[ - AC_TRY_RUN([#include - int main() { - return realloc (0, sizeof (int)) == 0; - }], - [glib_cv_sane_realloc=yes], - [glib_cv_sane_realloc=no], - [glib_cv_sane_realloc=yes]) -]) -AS_IF([test x$glib_cv_sane_realloc = xyes], [ - AC_DEFINE(REALLOC_0_WORKS,1,[whether realloc (NULL,) works]) -]) - dnl Check for nl_langinfo and CODESET +AC_LANG_SAVE +AC_LANG_C AC_CACHE_CHECK([for nl_langinfo (CODESET)],glib_cv_langinfo_codeset,[ - AC_TRY_COMPILE([#include ], - [char *codeset = nl_langinfo (CODESET);], + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [char *codeset = nl_langinfo (CODESET);])], [glib_cv_langinfo_codeset=yes], [glib_cv_langinfo_codeset=no])]) if test x$glib_cv_langinfo_codeset = xyes; then @@ -1301,8 +1271,8 @@ fi dnl Check for nl_langinfo and LC_TIME parts that are needed in gdatetime.c AC_CACHE_CHECK([for nl_langinfo (PM_STR)],glib_cv_langinfo_time,[ - AC_TRY_COMPILE([#include ], - [char *str; + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [char *str; str = nl_langinfo (PM_STR); str = nl_langinfo (D_T_FMT); str = nl_langinfo (D_FMT); @@ -1311,7 +1281,7 @@ AC_CACHE_CHECK([for nl_langinfo (PM_STR)],glib_cv_langinfo_time,[ str = nl_langinfo (MON_1); str = nl_langinfo (ABMON_12); str = nl_langinfo (DAY_1); - str = nl_langinfo (ABDAY_7);], + str = nl_langinfo (ABDAY_7);])], [glib_cv_langinfo_time=yes], [glib_cv_langinfo_time=no])]) if test x$glib_cv_langinfo_time = xyes; then @@ -1320,7 +1290,7 @@ fi 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 ], + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], [char *str; str = nl_langinfo (_NL_CTYPE_OUTDIGIT0_MB); str = nl_langinfo (_NL_CTYPE_OUTDIGIT1_MB); @@ -1331,12 +1301,13 @@ AC_CACHE_CHECK([for nl_langinfo (_NL_CTYPE_OUTDIGITn_MB)], glib_cv_langinfo_outd 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);], + 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_MB)]) fi +AC_LANG_RESTORE dnl **************************************** dnl *** posix_memalign *** @@ -1516,15 +1487,6 @@ AS_IF([ test -z "$G_MODULE_IMPL"], [ [G_MODULE_IMPL=G_MODULE_IMPL_DL],[])], []) ]) -dnl *** load_image (BeOS) -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], - []) -]) dnl *** NSLinkModule (dyld) in system libraries (Darwin) AS_IF([ test -z "$G_MODULE_IMPL" ], [ AC_CHECK_FUNC(NSLinkModule, @@ -1540,13 +1502,6 @@ AS_IF([ test -z "$G_MODULE_IMPL"], [ G_MODULE_IMPL=G_MODULE_IMPL_DL],[])], []) ]) -dnl *** shl_load() in libdld (HP-UX) -AS_IF([ test -z "$G_MODULE_IMPL"], [ - AC_CHECK_LIB(dld, shl_load, - [G_MODULE_LIBS=-ldld - G_MODULE_IMPL=G_MODULE_IMPL_DLD], - []) -]) dnl *** additional checks for G_MODULE_IMPL_DL AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [ LIBS_orig="$LIBS" @@ -1727,8 +1682,7 @@ dnl ***************************** inotify_support=no AC_CHECK_HEADERS([sys/inotify.h], [ - inotify_support=yes - AC_CHECK_FUNCS(inotify_init1) + AC_CHECK_FUNCS(inotify_init1, [inotify_support=yes], [inotify_support=no]) ]) AM_CONDITIONAL(HAVE_INOTIFY, [test "$inotify_support" = "yes"]) @@ -1960,24 +1914,20 @@ AC_MSG_CHECKING(for thread implementation) have_threads=no 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" AS_IF([ test "x$have_threads" = xno], [ AC_TRY_COMPILE([#include ], [pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;], have_threads=posix) ]) # Tru64Unix requires -pthread to find pthread.h. See #103020 - CPPFLAGS="$CPPFLAGS -pthread" if test "x$have_threads" = xno; then - AC_TRY_COMPILE([#include ], + glib_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -pthread" + AC_TRY_COMPILE([#include ], [pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;], have_threads=posix) + CPPFLAGS="$glib_save_CPPFLAGS" fi - CPPFLAGS="$glib_save_CPPFLAGS" ]) if test "x$with_threads" = xyes || test "x$with_threads" = xwin32; then case $host in @@ -2077,9 +2027,6 @@ AS_IF([ test x"$G_THREAD_CFLAGS" = x], [ G_THREAD_CFLAGS="-D_THREAD_SAFE" fi ;; - *-dg-dgux*) # DG/UX - G_THREAD_CFLAGS="-D_REENTRANT -D_POSIX4A_DRAFT10_SOURCE" - ;; *-sysv5uw7*) # UnixWare 7 # We are not using gcc with -pthread. Catched above. G_THREAD_CFLAGS="-Kthread" @@ -2173,28 +2120,25 @@ AS_IF([test x$have_threads = xposix], [ ]) g_threads_impl="POSIX" + AC_DEFINE([THREADS_POSIX], [1], [Use pthreads]) AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES) CPPFLAGS="$glib_save_CPPFLAGS" ], [test x$have_threads = xwin32], [ + AC_DEFINE([THREADS_WIN32], [1], [Use w32 threads]) g_threads_impl="WIN32" ], [ + AC_DEFINE([THREADS_NONE], [1], [Use no threads]) g_threads_impl="NONE" G_THREAD_LIBS=error ]) +AM_CONDITIONAL(THREADS_POSIX, [test "$g_threads_impl" = "POSIX"]) +AM_CONDITIONAL(THREADS_WIN32, [test "$g_threads_impl" = "WIN32"]) +AM_CONDITIONAL(THREADS_NONE, [test "$g_threads_impl" = "NONE"]) if test "x$G_THREAD_LIBS" = xerror; then AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2) fi -case $host in - *-*-beos*) - G_THREAD_LIBS="-lbe -lroot -lglib-2.0 " - G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs" - ;; - *) - ;; -esac - AC_MSG_CHECKING(thread related libraries) AC_MSG_RESULT($G_THREAD_LIBS) @@ -2206,7 +2150,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) -AS_IF([ test "$ac_cv_header_pwd_h" = "yes"], [ +AS_IF([ test "$glib_native_win32" != "yes"], [ AC_CACHE_CHECK([for posix getpwuid_r], ac_cv_func_posix_getpwuid_r, [AC_TRY_RUN([ @@ -2245,7 +2189,7 @@ int main () { fi fi ]) -AS_IF([ test "$ac_cv_header_grp_h" = "yes"], [ +AS_IF([ test "$glib_native_win32" != "yes"], [ AC_CACHE_CHECK([for posix getgrgid_r], ac_cv_func_posix_getgrgid_r, [AC_TRY_RUN([ @@ -2308,6 +2252,15 @@ AS_IF([ test x"$have_threads" = xposix], [ AC_DEFINE(HAVE_PTHREAD_CONDATTR_SETCLOCK,1, [Have function pthread_condattr_setclock])], [AC_MSG_RESULT(no)]) + AC_MSG_CHECKING(for pthread_cond_timedwait_relative_np) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [#include ], + [pthread_cond_timedwait_relative_np(NULL, NULL, NULL)])], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP,1, + [Have function pthread_cond_timedwait_relative_np])], + [AC_MSG_RESULT(no)]) CPPFLAGS="$glib_save_CPPFLAGS" ]) @@ -2330,12 +2283,12 @@ fi # b) FreeBSD doesn't do this either. # case $host in + *android*) + G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS" + ;; *-*-freebsd*|*-*-linux*) G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-lpthread/`" ;; - *-*-openbsd*) - LDFLAGS="$LDFLAGS -pthread" - ;; *) G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS" ;; @@ -2348,7 +2301,6 @@ AC_SUBST(G_THREAD_LIBS_EXTRA) AC_CHECK_FUNCS(clock_gettime, [], [ AC_CHECK_LIB(rt, clock_gettime, [ - AC_DEFINE(HAVE_CLOCK_GETTIME, 1) G_THREAD_LIBS="$G_THREAD_LIBS -lrt" G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS_FOR_GTHREAD -lrt" ]) @@ -2372,7 +2324,7 @@ dnl dnl We can currently support the atomic ops natively when building GLib dnl with recent versions of GCC or MSVC. MSVC doesn't run ./configure, dnl so we skip that case here and define G_ATOMIC_LOCK_FREE exactly when -dnl we are using GCC. +dnl we are using GCC (and not mingw*). dnl dnl Note that the atomic ops are only available with GCC on x86 when dnl using -march=i486 or higher. If we detect that the atomic ops are @@ -2384,20 +2336,44 @@ dnl the user had the wrong build environment. dnl We may add other compilers here in the future... 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}" - CFLAGS="-march=i486" - AC_TRY_COMPILE([], - [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;], - [AC_MSG_ERROR([GLib must be build with -march=i486 or later.])], - []) - CFLAGS="${SAVE_CFLAGS}" -fi + case $host in + *-*-mingw*) + glib_cv_g_atomic_lock_free=yes + ;; + *) + AC_TRY_LINK([], + [volatile int atomic = 2;\ + __sync_bool_compare_and_swap (&atomic, 2, 3);], + [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}" + CFLAGS="-march=i486" + AC_TRY_LINK([], + [volatile int atomic = 2;\ + __sync_bool_compare_and_swap (&atomic, 2, 3);], + [AC_MSG_ERROR([GLib must be build with -march=i486 or later.])], + []) + CFLAGS="${SAVE_CFLAGS}" + fi + ;; + esac]) + + +case $host in + *-*-mingw*) + ;; + *) + # Some compilers support atomic operations but do not define + # __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, like clang + if test x"$glib_cv_g_atomic_lock_free" = xyes; then + AC_TRY_LINK([], + [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;], + [], + [AC_DEFINE(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, 1, [ compiler supports atomic operations])]) + fi + ;; + esac dnl We need a more robust approach here... case $host_cpu in @@ -2421,13 +2397,7 @@ AC_CACHE_CHECK(for futex(2) system call, #include #include ],[ -int -main (void) -{ - /* it is not like this actually runs or anything... */ syscall (__NR_futex, NULL, FUTEX_WAKE, FUTEX_WAIT); - return 0; -} ])],glib_cv_futex=yes,glib_cv_futex=no)) if test x"$glib_cv_futex" = xyes; then AC_DEFINE(HAVE_FUTEX, 1, [we have the futex(2) system call]) @@ -2438,12 +2408,7 @@ AC_CACHE_CHECK(for eventfd(2) system call, #include #include ],[ -int -main (void) -{ eventfd (0, EFD_CLOEXEC); - return 0; -} ])],glib_cv_eventfd=yes,glib_cv_eventfd=no)) if test x"$glib_cv_eventfd" = x"yes"; then AC_DEFINE(HAVE_EVENTFD, 1, [we have the eventfd(2) system call]) @@ -2456,11 +2421,11 @@ dnl **************************************** glib_poll_includes=[" #include -#include +#include "] AS_IF([ test $ac_cv_header_sys_types_h = yes && - test $ac_cv_header_sys_poll_h = yes ], [ + test $ac_cv_func_poll = yes ], [ glib_failed=false GLIB_CHECK_VALUE(POLLIN, $glib_poll_includes, glib_failed=true) GLIB_CHECK_VALUE(POLLOUT, $glib_poll_includes, glib_failed=true) @@ -2485,9 +2450,6 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include #include - #ifdef HAVE_SYS_POLL_H - #include - #endif int main(void) { struct pollfd fds[1]; int fd; @@ -2600,7 +2562,7 @@ dnl ****************************************************************** AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) -AS_IF([ test $cross_compiling = yes && test x$enable_modular_tests = xyes], [ +AS_IF([ test $cross_compiling = yes ], [ 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) @@ -2623,7 +2585,7 @@ 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]) +GTK_DOC_CHECK([1.20], [--flavour no-tmpl]) ],[ AM_CONDITIONAL([ENABLE_GTK_DOC],[false]) ]) @@ -2737,15 +2699,15 @@ dnl ************************************ dnl *** Enable lcov coverage reports *** dnl ************************************ -AC_ARG_ENABLE(gcov, - AS_HELP_STRING([--enable-gcov], +AC_ARG_ENABLE(coverage, + AS_HELP_STRING([--enable-coverage], [enable coverage testing with gcov]), [use_gcov=$enableval], [use_gcov=no]) 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]) + AC_MSG_ERROR([GCC is required for --enable-coverage]) fi dnl Check if ccache is being used @@ -2756,10 +2718,10 @@ AS_IF([ test "x$use_gcov" = "xyes"], [ esac if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then - AC_MSG_ERROR([ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.]) + AC_MSG_ERROR([ccache must be disabled when --enable-coverage option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.]) fi - ltp_version_list="1.6 1.7 1.8 1.9" + ltp_version_list="1.6 1.7 1.8 1.9 1.10" AC_CHECK_PROG(LTP, lcov, lcov) AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml) @@ -2822,21 +2784,14 @@ AC_CONFIG_COMMANDS([glib/glibconfig.h], _______EOF - if test x$glib_limits_h = xyes; then - echo '#include ' >> $outfile - fi - if test x$glib_float_h = xyes; then - echo '#include ' >> $outfile - fi + echo '#include ' >> $outfile + echo '#include ' >> $outfile if test x$glib_values_h = xyes; then echo '#include ' >> $outfile fi if test "$glib_header_alloca_h" = "yes"; then echo '#define GLIB_HAVE_ALLOCA_H' >> $outfile fi - if test x$glib_sys_poll_h = xyes; then - echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile - fi if test x$glib_included_printf != xyes; then echo " /* Specifies that GLib's g_print*() functions wrap the @@ -2850,24 +2805,25 @@ _______EOF G_BEGIN_DECLS -#define G_MINFLOAT $glib_mf -#define G_MAXFLOAT $glib_Mf -#define G_MINDOUBLE $glib_md -#define G_MAXDOUBLE $glib_Md -#define G_MINSHORT $glib_ms -#define G_MAXSHORT $glib_Ms -#define G_MAXUSHORT $glib_Mus -#define G_MININT $glib_mi -#define G_MAXINT $glib_Mi -#define G_MAXUINT $glib_Mui -#define G_MINLONG $glib_ml -#define G_MAXLONG $glib_Ml -#define G_MAXULONG $glib_Mul +#define G_MINFLOAT FLT_MIN +#define G_MAXFLOAT FLT_MAX +#define G_MINDOUBLE DBL_MIN +#define G_MAXDOUBLE DBL_MAX +#define G_MINSHORT SHRT_MIN +#define G_MAXSHORT SHRT_MAX +#define G_MAXUSHORT USHRT_MAX +#define G_MININT INT_MIN +#define G_MAXINT INT_MAX +#define G_MAXUINT UINT_MAX +#define G_MINLONG LONG_MIN +#define G_MAXLONG LONG_MAX +#define G_MAXULONG ULONG_MAX _______EOF ### this should always be true in a modern C/C++ compiler + ### and is statically asserted by glib-init.c cat >>$outfile <<_______EOF typedef signed char gint8; typedef unsigned char guint8; @@ -2924,19 +2880,21 @@ _______EOF #define GLIB_SIZEOF_VOID_P $glib_void_p #define GLIB_SIZEOF_LONG $glib_long #define GLIB_SIZEOF_SIZE_T $glib_size_t +#define GLIB_SIZEOF_SSIZE_T $glib_ssize_t _______EOF cat >>$outfile <<_______EOF -typedef signed $glib_size_type_define gssize; +typedef signed $glib_ssize_type_define gssize; typedef unsigned $glib_size_type_define gsize; #define G_GSIZE_MODIFIER $gsize_modifier -#define G_GSSIZE_FORMAT $gssize_format +#define G_GSSIZE_MODIFIER $gssize_modifier #define G_GSIZE_FORMAT $gsize_format +#define G_GSSIZE_FORMAT $gssize_format #define G_MAXSIZE G_MAXU$glib_msize_type -#define G_MINSSIZE G_MIN$glib_msize_type -#define G_MAXSSIZE G_MAX$glib_msize_type +#define G_MINSSIZE G_MIN$glib_mssize_type +#define G_MAXSSIZE G_MAX$glib_mssize_type typedef gint64 goffset; #define G_MINOFFSET G_MININT64 @@ -2971,8 +2929,10 @@ _______EOF cat >>$outfile <<_______EOF -$glib_atexit -$glib_memmove +#ifndef G_DISABLE_DEPRECATED +#define g_ATEXIT(proc) (atexit (proc)) +#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END +#endif $glib_defines $glib_os $glib_static_compilation @@ -3040,7 +3000,7 @@ _______EOF if test x$g_have_eilseq = xno; then cat >>$outfile <<_______EOF #ifndef EILSEQ -/* On some systems, like SunOS and NetBSD, EILSEQ is not defined. +/* On some pre-C99 systems, EILSEQ is not defined. * The correspondence between this and the corresponding definition * in libiconv is essential. */ @@ -3102,9 +3062,9 @@ _______EOF #define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val)) #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val)) #define GSIZE_TO_LE(val) ((gsize) GUINT${gsizebits}_TO_LE (val)) -#define GSSIZE_TO_LE(val) ((gssize) GINT${gsizebits}_TO_LE (val)) +#define GSSIZE_TO_LE(val) ((gssize) GINT${gssizebits}_TO_LE (val)) #define GSIZE_TO_BE(val) ((gsize) GUINT${gsizebits}_TO_BE (val)) -#define GSSIZE_TO_BE(val) ((gssize) GINT${gsizebits}_TO_BE (val)) +#define GSSIZE_TO_BE(val) ((gssize) GINT${gssizebits}_TO_BE (val)) #define G_BYTE_ORDER $g_byte_order #define GLIB_SYSDEF_POLLIN =$g_pollin @@ -3151,38 +3111,6 @@ else glib_header_alloca_h="$ac_cv_header_alloca_h" fi -case xyes in -x$ac_cv_header_float_h) - glib_float_h=yes - glib_mf=FLT_MIN glib_Mf=FLT_MAX - glib_md=DBL_MIN glib_Md=DBL_MAX - ;; -x$ac_cv_header_values_h) - glib_values_h=yes - glib_mf=MINFLOAT glib_Mf=MAXFLOAT - glib_md=MINDOUBLE glib_Md=MAXDOUBLE - ;; -esac - -case xyes in -x$ac_cv_header_limits_h) - glib_limits_h=yes - glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX - glib_mi=INT_MIN glib_Mi=INT_MAX glib_Mui=UINT_MAX - glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX - ;; -x$ac_cv_header_values_h) - glib_values_h=yes - glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)" - glib_mi=MININT glib_Mi=MAXINT glib_Mui="(((guint)G_MAXINT)*2+1)" - glib_ml=MINLONG glib_Ml=MAXLONG glib_Mul="(((gulong)G_MAXLONG)*2+1)" - ;; -esac - -if test x$ac_cv_header_sys_poll_h = xyes ; then - glib_sys_poll_h=yes -fi - if test x$enable_included_printf = xyes ; then glib_included_printf=yes fi @@ -3264,7 +3192,9 @@ $ac_cv_sizeof___int64) ;; esac glib_size_t=$ac_cv_sizeof_size_t +glib_ssize_t=$ac_cv_sizeof_ssize_t glib_size_type_define="$glib_size_type" +glib_ssize_type_define="$glib_ssize_type" glib_void_p=$ac_cv_sizeof_void_p glib_long=$ac_cv_sizeof_long @@ -3272,32 +3202,52 @@ case "$glib_size_type" in short) gsize_modifier='"h"' gsize_format='"hu"' - gssize_format='"hi"' glib_msize_type='SHRT' ;; int) gsize_modifier='""' gsize_format='"u"' - gssize_format='"i"' glib_msize_type='INT' ;; long) gsize_modifier='"l"' gsize_format='"lu"' - gssize_format='"li"' glib_msize_type='LONG' ;; "long long"|__int64) gsize_modifier='"I64"' gsize_format='"I64u"' - gssize_format='"I64i"' glib_msize_type='INT64' ;; esac +case "$glib_ssize_type" in +short) + gssize_modifier='"h"' + gssize_format='"hi"' + glib_mssize_type='SHRT' + ;; +int) + gssize_modifier='""' + gssize_format='"i"' + glib_mssize_type='INT' + ;; +long) + gssize_modifier='"l"' + gssize_format='"li"' + glib_mssize_type='LONG' + ;; +"long long"|__int64) + gssize_modifier='"I64"' + gssize_format='"I64i"' + glib_mssize_type='INT64' + ;; +esac + gintbits=`expr $ac_cv_sizeof_int \* 8` glongbits=`expr $ac_cv_sizeof_long \* 8` gsizebits=`expr $ac_cv_sizeof_size_t \* 8` +gssizebits=`expr $ac_cv_sizeof_ssize_t \* 8` case $ac_cv_sizeof_void_p in $ac_cv_sizeof_int) @@ -3338,39 +3288,6 @@ $ac_cv_sizeof___int64) esac -case xyes in -x$ac_cv_func_atexit) - glib_atexit=" -#ifdef NeXT /* @#%@! NeXTStep */ -# define g_ATEXIT(proc) (!atexit (proc)) -#else -# define g_ATEXIT(proc) (atexit (proc)) -#endif" - ;; -x$ac_cv_func_on_exit) - glib_atexit=" -#define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))" - ;; -esac - -case xyes in -x$ac_cv_func_memmove) - glib_memmove=' -#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END' - ;; -x$glib_cv_working_bcopy) - glib_memmove=" -/* memmove isn't available, but bcopy can copy overlapping memory regions */ -#define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END" - ;; -*) - glib_memmove=" -/* memmove isn't found and bcopy can't copy overlapping memory regions, - * so we have to roll our own copy routine. */ -void g_memmove (void* dest, const void * src, unsigned long len);" - ;; -esac - glib_defines=" #define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION #define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION @@ -3457,9 +3374,6 @@ g_module_suffix="$glib_gmodule_suffix" g_pid_type="$glib_pid_type" case $host in - *-*-beos*) - glib_os="#define G_OS_BEOS" - ;; *-*-cygwin*) glib_os="#define G_OS_UNIX #define G_PLATFORM_WIN32 @@ -3519,14 +3433,12 @@ 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 -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) -]) +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]) @@ -3540,15 +3452,16 @@ dnl AC_ARG_ENABLE(Bsymbolic, [AS_HELP_STRING([--disable-Bsymbolic], [avoid linking with -Bsymbolic])],, - [SAVED_LDFLAGS="${LDFLAGS}" + [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}" AC_MSG_CHECKING([for -Bsymbolic-functions linker flag]) LDFLAGS=-Wl,-Bsymbolic-functions - AC_TRY_LINK([], [int main (void) { return 0; }], + LIBS= + AC_TRY_LINK([], [return 0], AC_MSG_RESULT(yes) enable_Bsymbolic=yes, AC_MSG_RESULT(no) enable_Bsymbolic=no) - LDFLAGS="${SAVED_LDFLAGS}"]) + LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"]) if test "x${enable_Bsymbolic}" = "xyes"; then GLIB_LINK_FLAGS=-Wl,-Bsymbolic-functions @@ -3557,6 +3470,41 @@ fi AC_SUBST(GLIB_LINK_FLAGS) dnl +dnl Check for -z,nodelete linker flag: the type system assumes that +dnl libgobject stays loaded for the lifetime of the process. +dnl Since ld.bfd does not treat wrong -z options as fatal by default, +dnl we also try to check for the --fatal-warnings linker flag if +dnl auto-detecting. +dnl + +AC_ARG_ENABLE([znodelete], + [AS_HELP_STRING([--disable-znodelete], + [avoid linking with -z,nodelete])],, + [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}" + AC_MSG_CHECKING([for --fatal-warnings linker flag]) + LDFLAGS=-Wl,--fatal-warnings + LIBS= + AC_TRY_LINK([], [return 0], + AC_MSG_RESULT(yes) + [ldflags_fatal=-Wl,--fatal-warnings], + AC_MSG_RESULT(no) + ldflags_fatal=) + AC_MSG_CHECKING([for -z,nodelete linker flag]) + LDFLAGS="$ldflags_fatal -Wl,-z,nodelete" + AC_TRY_LINK([], [return 0], + AC_MSG_RESULT(yes) + enable_znodelete=yes, + AC_MSG_RESULT(no) + enable_znodelete=no) + LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"]) + +if test "x${enable_znodelete}" = "xyes"; then + GOBJECT_LINK_FLAGS=-Wl,-z,nodelete +fi + +AC_SUBST(GOBJECT_LINK_FLAGS) + +dnl dnl Check for -fvisibility=hidden to determine if we can do GNU-style dnl visibility attributes for symbol export control dnl @@ -3573,7 +3521,7 @@ case "$host" in SAVED_CFLAGS="${CFLAGS}" CFLAGS="-fvisibility=hidden" AC_MSG_CHECKING([for -fvisibility=hidden compiler flag]) - AC_TRY_COMPILE([], [int main (void) { return 0; }], + AC_TRY_COMPILE([], [return 0], AC_MSG_RESULT(yes) enable_fvisibility_hidden=yes, AC_MSG_RESULT(no) @@ -3591,12 +3539,18 @@ AC_SUBST(GLIB_HIDDEN_VISIBILITY_CFLAGS) dnl Compiler flags; macro originates from systemd dnl See https://bugzilla.gnome.org/show_bug.cgi?id=608953 -CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ +AC_ARG_ENABLE(compile-warnings, + [AS_HELP_STRING([--disable-compile-warnings], + [Don't use builtin compiler warnings])],, + enable_compile_warnings=yes) +AS_IF([test "x$enable_compile_warnings" = xyes], [ + CC_CHECK_FLAGS_APPEND([GLIB_WARN_CFLAGS], [CFLAGS], [\ -Wall -Wstrict-prototypes -Werror=declaration-after-statement \ -Werror=missing-prototypes -Werror=implicit-function-declaration \ -Werror=pointer-arith -Werror=init-self -Werror=format-security \ -Werror=format=2 -Werror=missing-include-dirs]) -CFLAGS="$with_cflags $CFLAGS" +]) +AC_SUBST(GLIB_WARN_CFLAGS) # # Define variables corresponding to the correct include paths to use for @@ -3651,6 +3605,7 @@ build/win32/dirent/Makefile build/win32/vs9/Makefile build/win32/vs10/Makefile build/win32/vs11/Makefile +build/win32/vs12/Makefile glib/Makefile glib/glib.stp glib/libcharset/Makefile @@ -3679,6 +3634,7 @@ gio/tests/Makefile gio/tests/gdbus-object-manager-example/Makefile gio/tests/services/Makefile gio/tests/services/org.gtk.GDBus.Examples.ObjectManager.service +gio/tests/modules/Makefile po/Makefile.in docs/Makefile docs/reference/Makefile