Add pkg-config file generation
[ust.git] / configure.ac
index c7d966b91d1eedea78c5ce143705a30b19757cfc..5d914322b1158df69f6b8f931f91fc80c5936baf 100644 (file)
@@ -1,7 +1,7 @@
 #                                               -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 
-AC_INIT([ust], [0.11], [nils dot carlson at ericsson dot com])
+AC_INIT([ust], [0.13], [nils dot carlson at ericsson dot com])
 AC_CONFIG_AUX_DIR([config])
 AC_CANONICAL_TARGET
 AC_CANONICAL_HOST
@@ -9,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
@@ -52,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.
@@ -61,10 +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 <urcu/list.h>]])
 
 
+
 # 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'
@@ -102,11 +109,38 @@ 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
@@ -130,14 +164,16 @@ AC_CONFIG_FILES([
        tests/tracepoint/Makefile
        tests/tracepoint/benchmark/Makefile
        tests/register_test/Makefile
-       tests/ustcmd_function_tests/Makefile
+       tests/libustctl_function_tests/Makefile
+       tests/exit-fast/Makefile
        libustinstr-malloc/Makefile
        libustfork/Makefile
        libustconsumer/Makefile
        ust-consumerd/Makefile
        ustctl/Makefile
        libustcomm/Makefile
-       libustcmd/Makefile
+       libustctl/Makefile
        snprintf/Makefile
+       ust.pc
 ])
 AC_OUTPUT
This page took 0.02453 seconds and 4 git commands to generate.