# 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:
#
# <mclasen> on the stable branch, interface age == micro
# <mclasen> on the unstable (ie master), interface age = 0
m4_define([glib_major_version], [2])
-m4_define([glib_minor_version], [31])
-m4_define([glib_micro_version], [0])
-m4_define([glib_interface_age], [0])
+m4_define([glib_minor_version], [32])
+m4_define([glib_micro_version], [1])
+m4_define([glib_interface_age], [1])
m4_define([glib_binary_age],
[m4_eval(100 * glib_minor_version + glib_micro_version)])
m4_define([glib_version],
AC_MSG_RESULT([no])
else
AC_DEFINE(DISABLE_MEM_POOLS, [1], [Whether to disable memory pools])
- AC_SUBST(DISABLE_MEM_POOLS)
AC_MSG_RESULT([yes])
fi
*) CFLAGS="$CFLAGS -g" ;;
esac
fi
-
GLIB_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
else
GLIB_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
CFLAGS=$glib_save_CFLAGS
AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
-# Checks for header files.
-AC_HEADER_STDC
-
# Checks for library functions.
AC_FUNC_VPRINTF
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 <stdlib.h>
-
- 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])])
-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)
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 <signal.h>
+ #include <sys/types.h>
+ 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
AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64])
fi
-dnl long doubles were not used, and a portability problem
-dnl AC_C_LONG_DOUBLE
AC_C_CONST
dnl ok, here we try to check whether the systems prototypes for
AC_CHECK_MEMBERS([struct statvfs.f_fstypename],,, [#include <sys/statvfs.h>])
AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,,[#include <time.h>])
+AC_STRUCT_DIRENT_D_TYPE
+
# Checks for libcharset
AM_LANGINFO_CODESET
AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
AC_MSG_ERROR([Could not determine values for MSG_* constants])
fi
-AC_CHECK_FUNCS(getprotobyname_r endservent)
+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
AC_SUBST(NETWORK_LIBS)
AC_CHECK_HEADER([linux/netlink.h],
- [AC_DEFINE(HAVE_NETLINK, 1, [We have AF_NETLINK sockets])])
+ [AC_DEFINE(HAVE_NETLINK, 1, [We have AF_NETLINK sockets])],,
+ [#include <sys/socket.h>])
AM_CONDITIONAL(HAVE_NETLINK, [test "$ac_cv_header_linux_netlink_h" = "yes"])
+AC_CHECK_TYPE([struct ip_mreqn], [
+ AC_DEFINE(HAVE_IP_MREQN,, [Define if we have struct ip_mreqn])],,
+ [#include <netinet/in.h>])
+
case $host in
*-*-solaris* )
AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
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 <langinfo.h>],
[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 ****************************************
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([
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;
[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
fi
AC_SUBST(XATTR_LIBS)
+dnl ************************
+dnl *** check for libelf ***
+dnl ************************
+
+AC_CHECK_LIB([elf], [elf_begin], have_libelf=yes, have_libelf=no)
+if test $have_libelf = yes; then
+ AC_DEFINE(HAVE_LIBELF, 1, [Define if libelf is available])
+ ELF_LIBS=-lelf
+fi
+AC_SUBST(ELF_LIBS)
+
dnl ****************************************
dnl *** platform dependent source checks ***
dnl ****************************************
AC_ARG_WITH(threads,
[AC_HELP_STRING([--with-threads=@<:@posix/win32@:>@],
[specify a thread implementation to use])],
- [if test "x$with_threads" = x; then
- want_threads=yes
- else
- want_threads=$with_threads
- fi],
- [want_threads=yes])
+ [],
+ [with_threads=yes])
dnl error and warning message
dnl *************************
-THREAD_NO_IMPLEMENTATION="You do not have any known thread system on your
- computer."
+THREAD_NO_IMPLEMENTATION="No thread implementation found."
FLAG_DOES_NOT_WORK="I can't find the MACRO to enable thread safety on your
platform (normally it's "_REENTRANT"). I'll not use any flag on
Please provide information on how it is done on your system."
LIBS_NOT_FOUND_1="I can't find the libraries for the thread implementation
- "
+ "
LIBS_NOT_FOUND_2=". Please choose another thread implementation or
- provide information on your thread implementation."
+ provide information on your thread implementation."
FUNC_NO_GETPWUID_R="the 'g_get_(user_name|real_name|home_dir|tmp_dir)'
functions will not be MT-safe during their first call because
FUNC_NO_LOCALTIME_R="the 'g_date_set_time' function will not be MT-safe
because there is no 'localtime_r' on your system."
-POSIX_NO_YIELD="I can not find a yield functions for your platform. A rather
- crude surrogate will be used. If you happen to know a
- yield function for your system, please inform the GLib
- developers."
-
-POSIX_NO_PRIORITIES="I can not find the minimal and maximal priorities for
- threads on your system. Thus threads can only have the default
- priority. If you happen to know these main/max
- priorities, please inform the GLib developers."
-
AIX_COMPILE_INFO="AIX's C compiler needs to be called by a different name, when
linking threaded applications. As GLib cannot do that
automatically, you will get an linkg error everytime you are
dnl determination of thread implementation
dnl ***************************************
+AC_MSG_CHECKING(for thread implementation)
+
have_threads=no
-if test "x$want_threads" = xyes || test "x$want_threads" = xposix \
- || test "x$want_threads" = xdce; then
+if test "x$with_threads" = xyes || test "x$with_threads" = xposix; then
# -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"
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
+if test "x$with_threads" = xyes || test "x$with_threads" = xwin32; then
+ case $host in
+ *-*-mingw*)
+ have_threads=win32
+ ;;
+ esac
fi
-AC_MSG_CHECKING(for thread implementation)
-
if test "x$have_threads" = xno; then
- AC_MSG_RESULT(none available)
+ AC_MSG_RESULT(none available)
AC_MSG_ERROR($THREAD_NO_IMPLEMENTATION)
else
- AC_MSG_RESULT($have_threads)
+ AC_MSG_RESULT($have_threads)
fi
return (check_me != 42 || ret != &check_me);
}])
-dnl
-dnl Test program for sched_get_priority_min()
-dnl
-m4_define([glib_sched_priority_test],[
-#include <sched.h>
-#include <errno.h>
-int main() {
- errno = 0;
- return sched_get_priority_min(SCHED_OTHER)==-1
- && errno != 0;
-}])
-
if test x"$have_threads" = xposix; then
# First we test for posix, whether -pthread or -pthreads do the trick as
# both CPPFLAG and LIBS.
esac
fi
- glib_save_LIBS="$LIBS"
- 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="$add_thread_lib $glib_save_LIBS"
-
- AC_MSG_CHECKING(for sched_get_priority_min$IN)
- AC_TRY_RUN(glib_sched_priority_test,
- glib_result=yes,
- glib_result=no,
- [AC_LINK_IFELSE([AC_LANG_SOURCE(glib_sched_priority_test)],
- glib_result=yes,
- glib_result=no)])
- AC_MSG_RESULT($glib_result)
-
- if test "$glib_result" = "yes" ; then
- 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
- fi
- done
- LIBS="$glib_save_LIBS"
g_threads_impl="POSIX"
AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
CPPFLAGS="$glib_save_CPPFLAGS"
fi
LIBS="$G_THREAD_LIBS $LIBS"
if test x"$have_threads" = xposix; then
- glib_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
- dnl we might grow sizeof(pthread_t) later on, so use a dummy name here
- GLIB_SIZEOF([#include <pthread.h>], pthread_t, system_thread)
- # This is not AC_CHECK_FUNC to also work with function
- # name mangling in header files.
- AC_MSG_CHECKING(for pthread_attr_setstacksize)
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_attr_t t; pthread_attr_setstacksize(&t,0)],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE,1,
- [Have function pthread_attr_setstacksize])],
- [AC_MSG_RESULT(no)])
- AC_MSG_CHECKING(for minimal/maximal thread priority)
- if test x"$posix_priority_min" = x; then
- AC_EGREP_CPP(PX_PRIO_MIN,[#include <pthread.h>
- PX_PRIO_MIN],,[
- posix_priority_min=PX_PRIO_MIN
- posix_priority_max=PX_PRIO_MAX])
- fi
- if test x"$posix_priority_min" = x; then
- # AIX
- AC_EGREP_CPP(PTHREAD_PRIO_MIN,[#include <pthread.h>
- PTHREAD_PRIO_MIN],,[
- posix_priority_min=PTHREAD_PRIO_MIN
- posix_priority_max=PTHREAD_PRIO_MAX])
- fi
- if test x"$posix_priority_min" = x; then
- AC_EGREP_CPP(PRI_OTHER_MIN,[#include <pthread.h>
- PRI_OTHER_MIN],,[
- posix_priority_min=PRI_OTHER_MIN
- posix_priority_max=PRI_OTHER_MAX])
- fi
- if test x"$posix_priority_min" = x; then
- AC_MSG_RESULT(none found)
- AC_MSG_WARN($POSIX_NO_PRIORITIES)
- posix_priority_min=-1
- posix_priority_max=-1
- else
- AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
- AC_MSG_CHECKING(for pthread_setschedparam)
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_t t; pthread_setschedparam(t, 0, NULL)],
- [AC_MSG_RESULT(yes)
- AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min,[Minimum POSIX RT priority])
- AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max,[Maximum POSIX RT priority])],
- [AC_MSG_RESULT(no)
- AC_MSG_WARN($POSIX_NO_PRIORITIES)])
- fi
- posix_yield_func=none
- AC_MSG_CHECKING(for posix yield function)
- for yield_func in sched_yield pthread_yield_np pthread_yield \
- thr_yield; do
- AC_TRY_LINK([#include <pthread.h>],
- [$yield_func()],
- [posix_yield_func="$yield_func"
- break])
- done
- if test x"$posix_yield_func" = xnone; then
- AC_MSG_RESULT(none found)
- AC_MSG_WARN($POSIX_NO_YIELD)
- posix_yield_func="g_usleep(1000)"
- else
- AC_MSG_RESULT($posix_yield_func)
- posix_yield_func="$posix_yield_func()"
- fi
- AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func,[The POSIX RT yield function])
- CPPFLAGS="$glib_save_CPPFLAGS"
-
-elif test x"$have_threads" = xwin32; then
- # It's a pointer to a private struct
- GLIB_SIZEOF(,struct _GThreadData *, system_thread)
+ glib_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
+ # This is not AC_CHECK_FUNC to also work with function
+ # name mangling in header files.
+ AC_MSG_CHECKING(for pthread_attr_setstacksize)
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <pthread.h>],
+ [pthread_attr_t t; pthread_attr_setstacksize(&t,0)])],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE,1,
+ [Have function pthread_attr_setstacksize])],
+ [AC_MSG_RESULT(no)])
+ AC_MSG_CHECKING(for pthread_condattr_setclock)
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <pthread.h>],
+ [pthread_condattr_t a; pthread_condattr_setclock(&a,0)])],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_PTHREAD_CONDATTR_SETCLOCK,1,
+ [Have function pthread_condattr_setclock])],
+ [AC_MSG_RESULT(no)])
+ CPPFLAGS="$glib_save_CPPFLAGS"
fi
LIBS="$glib_save_LIBS"
AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
fi
-if test x"$glib_cv_sizeof_system_thread" = x; then
- # use a pointer as a fallback.
- GLIB_SIZEOF(,void *, system_thread)
-fi
-
#
# Hack to deal with:
#
AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
G_THREAD_LIBS="$G_THREAD_LIBS -lrt"
G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS_FOR_GTHREAD -lrt"
- GLIB_RT_LIBS="-lrt"
])
])
-AC_SUBST(GLIB_RT_LIBS)
dnl ************************
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}"
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 <pcre.h>
- 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
+# 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 <pcre.h>
+ 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)
+ 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
- AM_CONDITIONAL(USE_SYSTEM_PCRE, false])
+ # 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
fi
+AC_SUBST(PCRE_WARN_CFLAGS)
dnl **********************
dnl *** Win32 API libs ***
G_LIBS_EXTRA="-luser32 -lkernel32"
;;
*-*-mingw*)
- G_LIBS_EXTRA="-lws2_32 -lole32"
+ G_LIBS_EXTRA="-lws2_32 -lole32 -lwinmm -lshlwapi"
;;
*)
G_LIBS_EXTRA=""
if test x$GLIB_COMPILE_SCHEMAS = xno; then
AC_MSG_ERROR(Could not find a glib-compile-schemas in your PATH)
fi
+
+ AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources, no)
+ if test x$GLIB_COMPILE_RESOURCES = xno; then
+ AC_MSG_ERROR(Could not find a glib-compile-resources in your PATH)
+ fi
fi
dnl **************************
AC_MSG_ERROR([Could not find genhtml from the LTP package])
fi
- AC_DEFINE(HAVE_GCOV, 1, [Whether you have gcov])
-
dnl Remove all optimization flags from CFLAGS
changequote({,})
CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9]*//g'`
* This is a generated file. Please modify 'configure.ac'
*/
-#ifndef __G_LIBCONFIG_H__
-#define __G_LIBCONFIG_H__
+#ifndef __GLIBCONFIG_H__
+#define __GLIBCONFIG_H__
#include <glib/gmacros.h>
#define G_MODULE_SUFFIX "$g_module_suffix"
-/* A GPid is an abstraction for a process "handle". It is *not* an
- * abstraction for a process identifier in general. GPid is used in
- * GLib only for descendant processes spawned with the g_spawn*
- * functions. On POSIX there is no "process handle" concept as such,
- * but on Windows a GPid is a handle to a process, a kind of pointer,
- * not a process identifier.
- */
typedef $g_pid_type GPid;
#define GLIB_SYSDEF_AF_UNIX $g_af_unix
G_END_DECLS
-#endif /* GLIBCONFIG_H */
+#endif /* __GLIBCONFIG_H__ */
_______EOF
gintptr_modifier='""'
gintptr_format='"i"'
guintptr_format='"u"'
- glib_gpi_cast=''
- glib_gpui_cast=''
+ glib_gpi_cast='(gint)'
+ glib_gpui_cast='(guint)'
;;
$ac_cv_sizeof_long)
glib_intptr_type_define=long
g_threads_impl_def=$g_threads_impl
-g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
-
g_atomic_lock_free="$glib_cv_g_atomic_lock_free"
g_memory_barrier_needed="$glib_memory_barrier_needed"
g_gcc_atomic_ops="$glib_cv_gcc_has_builtin_atomic_operations"
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_ALIGNOF([guint32], [typedef unsigned $gint32 guint32;])
+AC_CHECK_ALIGNOF([guint64], typedef unsigned $gint64 guint64;)
+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
enable_Bsymbolic=no)
LDFLAGS="${SAVED_LDFLAGS}"])
-if test "x${enable_Bsymbolic}" == "xyes"; then
+if test "x${enable_Bsymbolic}" = "xyes"; then
GLIB_LINK_FLAGS=-Wl,-Bsymbolic-functions
fi