Port: cleanup and portability fix to configure.ac
[babeltrace.git] / configure.ac
index 1b927ff08ac134fcba155846ea47162a69ad506d..3ab6b497a7b87f0f5d09f5411c69fd8056f88ef5 100644 (file)
@@ -1,33 +1,52 @@
-#                                               -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
+AC_PREREQ([2.50])
+AC_INIT([babeltrace],[1.2.4],[mathieu dot desnoyers at efficios dot com])
 
-AC_INIT([babeltrace],[1.1.1],[mathieu dot desnoyers at efficios dot com])
+# Following the numbering scheme proposed by libtool for the library version
+# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+AC_SUBST([BABELTRACE_LIBRARY_VERSION], [1:0:0])
+
+AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR([config])
+AC_CONFIG_MACRO_DIR([m4])
+
 AC_CANONICAL_TARGET
 AC_CANONICAL_HOST
-AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip])
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
-AC_CONFIG_MACRO_DIR([m4])
 
-AC_PROG_MKDIR_P
+AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip])
+AM_MAINTAINER_MODE([enable])
 
-AC_CONFIG_HEADERS([config.h])
+# Enable silent rules if available (Introduced in AM 1.11)
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+# Checks for C compiler
+AC_USE_SYSTEM_EXTENSIONS
 AC_SYS_LARGEFILE
+AC_PROG_CC
+AC_PROG_CC_STDC
 
 # Checks for programs.
-AC_PROG_CC_STDC
 AC_PROG_MAKE_SET
 LT_INIT
 AC_PROG_YACC
 AC_PROG_LEX
+AC_PROG_MKDIR_P
+AC_PROG_LN_S
+
+# Check linker option
+AX_APPEND_LINK_FLAGS([-Wl,--no-as-needed], [LD_NO_AS_NEEDED])
+AC_SUBST([LD_NO_AS_NEEDED])
+
+AC_CHECK_HEADERS([fcntl.h limits.h netdb.h netinet/in.h stddef.h sys/socket.h])
 
 if test ! -f "$srcdir/formats/ctf/metadata/ctf-parser.h"; then
         if test x"$YACC" != "xbison -y"; then
                 AC_MSG_ERROR([[bison not found and is required when building from git.
                 Please install bison]])
         fi
+        AC_PATH_PROG([BISON],[bison])
+        AX_PROG_BISON_VERSION([2.4], [],[
+                AC_MSG_ERROR([[Bison >= 2.4 is required when building from git]])
+        ])
 fi
 
 if test ! -f "$srcdir/formats/ctf/metadata/ctf-lexer.c"; then
@@ -35,6 +54,10 @@ if test ! -f "$srcdir/formats/ctf/metadata/ctf-lexer.c"; then
                 AC_MSG_ERROR([[flex not found and is required when building from git.
                 Please install flex]])
         fi
+        AC_PATH_PROG([FLEX],[flex])
+        AX_PROG_FLEX_VERSION([2.5.35], [],[
+                AC_MSG_ERROR([[Flex >= 2.5.35 is required when building from git]])
+        ])
 fi
 
 
@@ -48,7 +71,7 @@ AC_TYPE_SIZE_T
 # Checks for library functions.
 AC_FUNC_MALLOC
 AC_FUNC_MMAP
-AC_CHECK_FUNCS([bzero gettimeofday munmap strtoul])
+AC_CHECK_FUNCS([gettimeofday munmap strtoul])
 
 # Check for MinGW32.
 MINGW32=no
@@ -59,6 +82,9 @@ esac
 
 AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"])
 
+# Check what libraries are required on this platform to link sockets programs.
+AX_LIB_SOCKET_NSL
+
 # Check for libuuid
 AC_CHECK_LIB([uuid], [uuid_generate],
 [
@@ -117,6 +143,11 @@ if test "x${enable_python:-yes}" = xyes; then
   AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ])
   AM_PATH_PYTHON
 
+  AM_PATH_PYTHON_MODULES([PYTHON])
+  # pythondir is the path where extra modules are to be installed
+  pythondir=$PYTHON_PREFIX/$PYTHON_MODULES_PATH
+  # pyexecdir is the path that contains shared objects used by the extra modules
+  pyexecdir=$PYTHON_EXEC_PREFIX/$PYTHON_MODULES_PATH
   AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for python, bypassing python-config])
   AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config])
   AS_IF([test -z "$PYTHON_INCLUDE"], [
@@ -166,6 +197,7 @@ AC_CONFIG_FILES([
        formats/ctf-text/types/Makefile
        formats/ctf-metadata/Makefile
        formats/bt-dummy/Makefile
+       formats/lttng-live/Makefile
        formats/ctf/metadata/Makefile
        formats/ctf/writer/Makefile
        converter/Makefile
This page took 0.02498 seconds and 4 git commands to generate.