X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=configure.ac;h=ce24a1a24a67c03d2d6439887955e908883430bf;hb=b35d179d7be2ab0cb4a9c698b86d78928089fc39;hp=8a3974ff65cc953b8e00650b01b0dd7be9e73201;hpb=cacb7fbe9c619d776254b469c8f807e8695d4a95;p=lttng-ust.git diff --git a/configure.ac b/configure.ac index 8a3974ff..ce24a1a2 100644 --- a/configure.ac +++ b/configure.ac @@ -1,15 +1,24 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -#AC_PREREQ([2.63]) -AC_INIT([ust], [0.0], [pierre-marc dot fournier at polymtl dot ca]) +AC_INIT([ust], [1.9.0], [mathieu dot desnoyers at efficios dot com]) AC_CONFIG_AUX_DIR([config]) AC_CANONICAL_TARGET AC_CANONICAL_HOST -AC_CONFIG_MACRO_DIR([m4]) -AM_INIT_AUTOMAKE([0.0 foreign dist-bzip2 no-dist-gzip]) -AC_CONFIG_SRCDIR([ustctl/ustctl.c]) -AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_MACRO_DIR([config]) +AM_INIT_AUTOMAKE([foreign]) +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +AC_CONFIG_SRCDIR([include/ust/tracepoint.h]) +AC_CONFIG_HEADERS([config.h include/ust/config.h]) +AH_TEMPLATE([HAVE_EFFICIENT_UNALIGNED_ACCESS], [Use efficient unaligned access.]) +# Compute minor/major version numbers +major_version=`echo AC_PACKAGE_VERSION | sed 's/\..*//'` +minor_version=`echo AC_PACKAGE_VERSION | sed 's/.*\.//' | sed 's/^0//'` +AC_SUBST([MAJOR_VERSION], [$major_version]) +AC_SUBST([MINOR_VERSION], [$minor_version]) +AC_DEFINE_UNQUOTED([VERSION_MAJOR], $major_version, [UST major version number]) +AC_DEFINE_UNQUOTED([VERSION_MINOR], $minor_version, [UST minor version number]) + # Checks for programs. AC_PROG_CC @@ -17,18 +26,8 @@ AC_PROG_MAKE_SET AC_PROG_LIBTOOL ## Checks for libraries. -## FIXME: Replace `main' with a function in `-ldl': -#AC_CHECK_LIB([dl], [main]) -## FIXME: Replace `main' with a function in `-lmarkers': -#AC_CHECK_LIB([markers], [main]) -## FIXME: Replace `main' with a function in `-lpthread': -#AC_CHECK_LIB([pthread], [main]) -## FIXME: Replace `main' with a function in `-ltracectl': -#AC_CHECK_LIB([tracectl], [main]) -## FIXME: Replace `main' with a function in `-ltracing': -#AC_CHECK_LIB([tracing], [main]) -## FIXME: Replace `main' with a function in `-lurcu': -#AC_CHECK_LIB([urcu], [main]) +AC_CHECK_LIB([dl], [dlopen]) +AC_CHECK_LIB([pthread], [pthread_create]) # Checks for header files. #AC_CHECK_HEADERS([fcntl.h stdint.h stdlib.h string.h sys/socket.h sys/time.h unistd.h]) @@ -52,6 +51,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. @@ -59,11 +60,11 @@ AC_CHECK_HEADERS([urcu-bp.h], [], [AC_MSG_ERROR([Cannot find [URCU] headers (urc This error can also occur when the liburcu package's configure script has not been run.])]) # 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.])]) +AC_CHECK_LIB([urcu-bp], [synchronize_rcu_bp], [], [AC_MSG_ERROR([Cannot find liburcu-bp lib. Use [LDFLAGS]=-Ldir to specify its location.])]) -# kcompat +# urcu - check that URCU lib is at least version 0.6 +AC_CHECK_LIB([urcu-bp], [call_rcu_bp], [], [AC_MSG_ERROR([liburcu 0.6 or newer is needed, please update your version or use [LDFLAGS]=-Ldir to specify the right location.])]) -AC_CHECK_HEADERS([kcompat.h], [], [AC_MSG_ERROR([Cannot find kcompat headers (kcompat.h). Use [CFLAGS]=-Idir to specify their location.])]) # Check for various supplementary host information (beyond the # triplet) which might affect the library format choices. E.g., we @@ -98,18 +99,50 @@ changequote([,])dnl fi ;; x86_64) LIBFORMAT="elf64-x86-64" ;; - ppc) LIBFORMAT="elf32-powerpc" ;; + powerpc) LIBFORMAT="elf32-powerpc" ;; ppc64) LIBFORMAT="elf64-powerpc" ;; s390) LIBFORMAT="elf32-s390" ;; s390x) LIBFORMAT="elf64-s390" ;; - *) AC_MSG_ERROR([unable to detect library format (unsupported architecture?)]) ;; + 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 + liblttng-ust-comm/Makefile + libringbuffer/Makefile libust/Makefile tests/Makefile tests/hello/Makefile @@ -118,9 +151,21 @@ AC_CONFIG_FILES([ tests/basic_long/Makefile tests/fork/Makefile tests/simple_include/Makefile - libmallocwrap/Makefile - libinterfork/Makefile - ustd/Makefile - ustctl/Makefile + tests/snprintf/Makefile + tests/test-nevents/Makefile + 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 + snprintf/Makefile + ust.pc + include/ust/version.h ]) AC_OUTPUT