X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=configure.ac;h=57e696d01a3dc5407f24b3d297e3acf4ef921062;hp=38e39e1115a0c71983d4f57c529ae8eec1325583;hb=1b3874915095deab4aa9be0f33423e992e571bb7;hpb=6bbcdc421d5614038a1dc8c5645c334372762087 diff --git a/configure.ac b/configure.ac index 38e39e1..57e696d 100644 --- a/configure.ac +++ b/configure.ac @@ -13,6 +13,7 @@ AC_CONFIG_MACRO_DIR([config]) AC_CANONICAL_TARGET AC_CANONICAL_HOST AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip]) +AM_MAINTAINER_MODE([enable]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) m4_include([config/ax_tls.m4]) @@ -52,11 +53,20 @@ LT_INIT AC_C_INLINE AC_TYPE_PID_T AC_TYPE_SIZE_T +AC_TYPE_INT32_T +AC_TYPE_UINT32_T +AC_TYPE_UINT64_T +AC_TYPE_UINT8_T # Checks for library functions. AC_FUNC_MALLOC AC_FUNC_MMAP -AC_CHECK_FUNCS([bzero gettimeofday munmap sched_getcpu strtoul sysconf gettid]) +AC_CHECK_FUNCS( + [bzero gettimeofday munmap sched_getcpu strtoul sysconf gettid memeset strerror] +) + +# Check for headers +AC_CHECK_HEADERS([limits.h stddef.h sys/time.h]) # Find arch type AS_CASE([$host_cpu], @@ -69,6 +79,7 @@ AS_CASE([$host_cpu], [powerpc], [ARCHTYPE="ppc"], [ppc64], [ARCHTYPE="ppc"], [powerpc64], [ARCHTYPE="ppc"], + [powerpc64le], [ARCHTYPE="gcc"], [ppc], [ARCHTYPE="ppc"], [s390], [ARCHTYPE="s390"], [s390x], [ARCHTYPE="s390"], @@ -77,8 +88,10 @@ AS_CASE([$host_cpu], [alpha*], [ARCHTYPE="alpha"], [ia64], [ARCHTYPE="gcc"], [arm*], [ARCHTYPE="arm"], + [aarch64], [ARCHTYPE="gcc"], [mips*], [ARCHTYPE="mips"], [tile*], [ARCHTYPE="gcc"], + [hppa*], [ARCHTYPE="hppa"], [ARCHTYPE="unknown"] ) @@ -140,7 +153,10 @@ AS_IF([test "x$ARCHTYPE" = "xx86"],[ #For now, using lock; addl compatibility mode even for i686, because the #Pentium III is seen as a i686, but lacks mfence instruction. #Only using fence for x86_64. - AS_IF([test "x$host_cpu" != "xi386" -a "x$host_cpu" != "xi486" -a "x$host_cpu" != "xi586" -a "x$host_cpu" != "xi686"],[ + # + #k1om is the name for the Intel MIC family (Xeon Phi). It is an x86_64 + #variant but lacks fence instructions. + AS_IF([test "x$host_cpu" != "xi386" -a "x$host_cpu" != "xi486" -a "x$host_cpu" != "xi586" -a "x$host_cpu" != "xi686" -a "x$host_vendor" != "xk1om"],[ AC_MSG_RESULT([yes]) AC_DEFINE([CONFIG_RCU_HAVE_FENCE], [1]) ],[ @@ -165,6 +181,15 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ compat_futex_test=1 ]) +# Check for pthread +AC_CHECK_LIB([pthread], [pthread_create], + [AM_CONDITIONAL(LIBC_INCLUDES_PTHREAD, false)], + [AC_CHECK_LIB([c], [pthread_create], + [AM_CONDITIONAL(LIBC_INCLUDES_PTHREAD, true)], + [AC_MSG_ERROR([Cannot find libpthread. Use [LDFLAGS]=-Ldir to specify its location.])] + )] +) + AM_CONDITIONAL([COMPAT_FUTEX], [test "x$compat_futex_test" = "x1"]) AM_CONDITIONAL([COMPAT_ARCH], [test "x$SUBARCHTYPE" = "xx86compat"]) AM_CONDITIONAL([NO_SHARED], [test "x$enable_shared" = "xno"]) @@ -302,6 +327,7 @@ AC_CONFIG_FILES([ tests/unit/Makefile tests/benchmark/Makefile tests/regression/Makefile + tests/utils/Makefile liburcu.pc liburcu-bp.pc liburcu-cds.pc