X-Git-Url: https://git.liburcu.org/?p=ust.git;a=blobdiff_plain;f=configure.ac;h=5d914322b1158df69f6b8f931f91fc80c5936baf;hp=19ec6a7a809503ae2792b677fdedb988779aa46a;hb=4cf459a783b914dfd2942b93c8ddbff11a025739;hpb=d99cad3d410921d1778a9e12dd746a862a9401d3 diff --git a/configure.ac b/configure.ac index 19ec6a7..5d91432 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,7 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -#AC_PREREQ([2.63]) -AC_INIT([ust], [0.7], [pierre-marc dot fournier at polymtl dot ca]) +AC_INIT([ust], [0.13], [nils dot carlson at ericsson dot com]) AC_CONFIG_AUX_DIR([config]) AC_CANONICAL_TARGET AC_CANONICAL_HOST @@ -10,7 +9,8 @@ AC_CONFIG_MACRO_DIR([config]) AM_INIT_AUTOMAKE([foreign]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_SRCDIR([ustctl/ustctl.c]) -AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_HEADERS([config.h include/ust/config.h]) +AH_TEMPLATE([HAVE_EFFICIENT_UNALIGNED_ACCESS], [Use efficient unaligned access.]) # Checks for programs. AC_PROG_CC @@ -53,6 +53,8 @@ AC_C_INLINE AC_FUNC_MALLOC AC_CHECK_FUNCS([gettimeofday munmap socket strerror strtol]) +CFLAGS="-Wall $CFLAGS" + # URCU # urcu - check if we just find the headers it out of the box. @@ -62,6 +64,14 @@ This error can also occur when the liburcu package's configure script has not be # urcu - check that URCU lib is available to compilation AC_CHECK_LIB([urcu-bp], [synchronize_rcu], [], [AC_MSG_ERROR([Cannot find liburcu-bp lib. Use [LDFLAGS]=-Ldir to specify its location.])]) +# urcu - check that URCU lib is at least version 0.5.4 +AC_CHECK_LIB([urcu-bp], [rcu_bp_before_fork], [], [AC_MSG_ERROR([liburcu 0.5.4 or newer is needed, please update your version or use [LDFLAGS]=-Ldir to specify the right location.])]) + +# urcu - check that URCU lib is at least version 0.5 +AC_CHECK_DECL([cds_list_add(0, 0)], [], [AC_MSG_ERROR([liburcu 0.5 or newer is needed, please update your version or use [LDFLAGS]=-Ldir to specify the right location.])], [[#include ]]) + + + # Check for various supplementary host information (beyond the # triplet) which might affect the library format choices. E.g., we # can be building with `i686-unknown-linux-gnu-gcc -m64' @@ -99,14 +109,43 @@ changequote([,])dnl ppc64) LIBFORMAT="elf64-powerpc" ;; s390) LIBFORMAT="elf32-s390" ;; s390x) LIBFORMAT="elf64-s390" ;; + armv5) LIBFORMAT="elf32-littlearm"; NO_UNALIGNED_ACCESS=1 ;; + arm) LIBFORMAT="elf32-littlearm" ;; + mips*) LIBFORMAT="" ;; *) AC_MSG_ERROR([unable to detect library format (unsupported architecture ($host_cpu)?)]) ;; esac AC_SUBST(LIBFORMAT) AC_MSG_RESULT($LIBFORMAT) +if test "x$host_cpu" = "xarm" ; then +AC_MSG_CHECKING([checking for armv5]) +AC_TRY_COMPILE( +[ +], +[ +#ifndef __ARM_ARCH_5TEJ__ +#error "no arm5 here" +#endif +], +[ + AC_MSG_RESULT([yes]) + NO_UNALIGNED_ACCESS=1 +] +, +[ + AC_MSG_RESULT([no]) +] +) +fi +if test x$NO_UNALIGNED_ACCESS = x ; then +AC_DEFINE([HAVE_EFFICIENT_UNALIGNED_ACCESS], [1]) +fi + AC_CONFIG_FILES([ Makefile doc/Makefile + doc/man/Makefile + doc/info/Makefile include/Makefile libust/Makefile tests/Makefile @@ -121,13 +160,20 @@ AC_CONFIG_FILES([ tests/test-libustinstr-malloc/Makefile tests/dlopen/Makefile tests/same_line_marker/Makefile + tests/trace_event/Makefile + tests/tracepoint/Makefile + tests/tracepoint/benchmark/Makefile + tests/register_test/Makefile + tests/libustctl_function_tests/Makefile + tests/exit-fast/Makefile libustinstr-malloc/Makefile libustfork/Makefile - libustd/Makefile - ustd/Makefile + libustconsumer/Makefile + ust-consumerd/Makefile ustctl/Makefile libustcomm/Makefile - libustcmd/Makefile + libustctl/Makefile snprintf/Makefile + ust.pc ]) AC_OUTPUT