X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=configure.ac;h=1b3c2af272a0ee6046cd3945d18b16b25699a38e;hp=16679b84ae09dd7527b17cac343d1b7f4c8c1ad5;hb=31510f02a9aa06fde317e56838979c31d5a0e4c0;hpb=ccde9b25397f3e74c60bfbcb9f77008299a44cc9 diff --git a/configure.ac b/configure.ac index 16679b84..1b3c2af2 100644 --- a/configure.ac +++ b/configure.ac @@ -1,19 +1,29 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_INIT([babeltrace],[1.1.1],[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 +AC_SUBST([BABELTRACE_LIBRARY_VERSION], [1:0:0]) + AC_CONFIG_AUX_DIR([config]) AC_CANONICAL_TARGET AC_CANONICAL_HOST AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip]) +AM_MAINTAINER_MODE([enable]) 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. @@ -28,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 @@ -35,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 @@ -44,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 @@ -106,20 +138,33 @@ AC_CHECK_LIB([popt], [poptGetContext], [], # SWIG version needed or newer: swig_version=2.0.0 -AC_ARG_ENABLE([python], - [AC_HELP_STRING([--disable-python], - [do not compile Python bindings])], - [], [enable_python=yes]) +AC_ARG_ENABLE([python-bindings], + [AC_HELP_STRING([--enable-python-bindings], + [generate Python bindings])], + [enable_python=yes], [enable_python=no]) AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python:-yes}" = xyes]) -if test "x${enable_python:-yes}" = xyes; then - AC_MSG_NOTICE([You may configure with --disable-python ]dnl -[if you do not want Python bindings.]) +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"], [ @@ -128,12 +173,23 @@ if test "x${enable_python:-yes}" = xyes; then [python$PYTHON_VERSION-config python-config], [no], [`dirname $PYTHON`]) - AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON.])]) + AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON. Do you have python-dev installed?])]) ]) AC_MSG_CHECKING([python include flags]) 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" @@ -150,6 +206,12 @@ AC_SUBST(babeltraceincludedir) babeltracectfincludedir="${includedir}/babeltrace/ctf" AC_SUBST(babeltracectfincludedir) +babeltracectfwriterincludedir="${includedir}/babeltrace/ctf-writer" +AC_SUBST(babeltracectfwriterincludedir) + +babeltracectfirincludedir="${includedir}/babeltrace/ctf-ir" +AC_SUBST(babeltracectfirincludedir) + AC_CONFIG_FILES([ Makefile types/Makefile @@ -161,9 +223,14 @@ 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 + formats/ctf/ir/Makefile converter/Makefile doc/Makefile + doc/bindings/Makefile + doc/bindings/python/Makefile lib/Makefile lib/prio_heap/Makefile include/Makefile