Configure: add check for type
[babeltrace.git] / configure.ac
index c9a25e0905f18c575528b94024a2b16684a13e16..1b3c2af272a0ee6046cd3945d18b16b25699a38e 100644 (file)
@@ -1,7 +1,8 @@
 #                                               -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 
-AC_INIT([babeltrace],[1.2.0],[mathieu dot desnoyers at efficios dot com])
+AC_PREREQ([2.50])
+AC_INIT([babeltrace],[1.3.0-pre],[jeremie dot galarneau 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
@@ -17,9 +18,12 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AC_CONFIG_MACRO_DIR([m4])
 
 AC_PROG_MKDIR_P
+AC_PROG_LN_S
 
 AC_CONFIG_HEADERS([config.h])
 
+AC_CHECK_HEADERS([fcntl.h limits.h netdb.h netinet/in.h stddef.h sys/socket.h])
+
 AC_SYS_LARGEFILE
 
 # Checks for programs.
@@ -34,6 +38,10 @@ if test ! -f "$srcdir/formats/ctf/metadata/ctf-parser.h"; 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
@@ -41,6 +49,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
 
 
@@ -50,11 +62,25 @@ AM_PATH_GLIB_2_0(2.22.0, ,AC_MSG_ERROR([glib is required in order to compile Bab
 AC_C_INLINE
 AC_TYPE_PID_T
 AC_TYPE_SIZE_T
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_INT64_T
+AC_TYPE_INT8_T
+AC_TYPE_OFF_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UINT16_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 strtoul])
+AC_CHECK_FUNCS([ \
+       bzero gettimeofday munmap strtoul ftruncate gethostbyname \
+       localtime_r memset mkdir rmdir setenv socket \
+       strchr strdup strerror strndup strrchr strtoull tzset \
+])
 
 # Check for MinGW32.
 MINGW32=no
@@ -119,10 +145,26 @@ AC_ARG_ENABLE([python-bindings],
 
 AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python:-yes}" = xyes])
 
+AC_ARG_ENABLE([python-bindings-doc],
+              [AC_HELP_STRING([--enable-python-bindings-doc],
+                              [generate Python bindings documentation])],
+              [enable_python_bindings_doc=yes], [enable_python_bindings_doc=no])
+
+if test "x${enable_python:-no}" = xno && test "x${enable_python_bindings_doc:-yes}" = xyes; then
+  AC_MSG_ERROR([--enable-python-bindings-doc was specified without --enable-python-bindings])
+fi
+
+AM_CONDITIONAL([BUILD_PYTHON_BINDINGS_DOC], [test "x${enable_python_bindings_doc:-yes}" = xyes])
+
 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([3.0], , [AC_MSG_ERROR(Python3 is not available or is not the default Python interpreter on your system. See the README file to learn how to override your distribution's default Python interpreter.)])
 
+  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"], [
@@ -137,13 +179,19 @@ if test "x${enable_python:-yes}" = xyes; then
     PYTHON_INCLUDE=`$PYTHON_CONFIG --includes`
     AC_MSG_RESULT([$PYTHON_INCLUDE])
   ])
-
 else
     AC_MSG_NOTICE([You may configure with --enable-python-bindings ]dnl
 [if you want Python bindings.])
 
 fi
 
+if test "x${enable_python_bindings_doc:-yes}" = xyes; then
+    AM_CHECK_PYTHON_SPHINX([PYTHON])
+    AS_IF([test "x$PYTHON_SPHINX_EXISTS" = xno],
+      AC_MSG_ERROR([The Sphinx package for Python 3 is required to build Python bindings documentation])
+    )
+fi
+
 pkg_modules="gmodule-2.0 >= 2.0.0"
 PKG_CHECK_MODULES(GMODULE, [$pkg_modules])
 AC_SUBST(PACKAGE_LIBS)
@@ -181,6 +229,8 @@ AC_CONFIG_FILES([
        formats/ctf/ir/Makefile
        converter/Makefile
        doc/Makefile
+       doc/bindings/Makefile
+       doc/bindings/python/Makefile
        lib/Makefile
        lib/prio_heap/Makefile
        include/Makefile
This page took 0.024673 seconds and 4 git commands to generate.