# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
AC_SUBST([BABELTRACE_LIBRARY_VERSION], bt_version_major[:]bt_version_minor[:]bt_version_patch)
-AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_HEADERS([include/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 tar-ustar])
+AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-ustar nostdinc])
AM_MAINTAINER_MODE([enable])
# Enable silent rules if available (Introduced in AM 1.11)
# Checks for programs.
AC_PROG_MAKE_SET
LT_INIT(win32-dll)
-AC_PROG_YACC
-AC_PROG_LEX
AC_PROG_MKDIR_P
AC_PROG_LN_S
[AC_MSG_ERROR([The compiler does not support __attribute__ extensions])])
AX_PTHREAD(,[AC_MSG_ERROR([Could not configure pthreads support])])
-LIBS="$PTHREAD_LIBS $LIBS"
-CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-CC="$PTHREAD_CC"
# Check linker option
AX_APPEND_LINK_FLAGS([-Wl,--no-as-needed], [LD_NO_AS_NEEDED])
AC_CHECK_HEADERS([ \
fcntl.h \
float.h \
+ ftw.h \
libintl.h \
limits.h \
malloc.h \
sys/socket.h \
])
-if test ! -f "$srcdir/plugins/ctf/common/metadata/parser.h"; then
- if test x"$(basename "$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
+# set $IN_GIT_REPO if we're in the Git repository; the `bootstrap` file
+# is not distributed in tarballs
+AS_IF([test -f "$srcdir/bootstrap"], [in_git_repo=yes], [in_git_repo=no])
+AM_CONDITIONAL([IN_GIT_REPO], [test "x$in_git_repo" = "xyes"])
-if test ! -f "$srcdir/plugins/ctf/common/metadata/lexer.c"; then
- if test x"$LEX" != "xflex"; 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
+# check for bison
+AC_PROG_YACC
+AX_PROG_BISON_VERSION([2.4], [have_bison=yes])
+
+AS_IF([test "x$have_bison" != "xyes"], [
+ AS_IF([test "x$in_git_repo" = "xyes"], [
+ AC_MSG_FAILURE([
+Bison >= 2.4 is required when building from the Git repository. You can
+set the YACC variable to override automatic detection.
+ ])
+ ], [
+ AC_MSG_WARN([
+Missing Bison >= 2.4. Note that the parser files are already built in
+this distribution tarball, so Bison is only needed if you intend to
+modify their sources. You can set the YACC variable to override automatic
+detection.
+ ])
+ ])
+])
+AM_CONDITIONAL([HAVE_BISON], [test "x$have_bison" = "xyes"])
+
+# check for flex
+AC_PROG_LEX
+AX_PROG_FLEX_VERSION([2.5.35], [have_flex=yes])
+
+AS_IF([test "x$have_flex" != "xyes"], [
+ AS_IF([test "x$in_git_repo" = "xyes"], [
+ AC_MSG_FAILURE([
+Flex >= 2.5.35 is required when building from the Git repository. You can
+set the LEX variable to override automatic detection.
+ ])
+ ], [
+ AC_MSG_WARN([
+Missing Flex >= 2.5.35. Note that the lexer files are already built in
+this distribution tarball, so Flex is only needed if you intend to
+modify their sources. You can set the LEX variable to override automatic
+detection.
+ ])
+ ])
+])
+AM_CONDITIONAL([HAVE_FLEX], [test "x$have_flex" = "xyes"])
AM_PATH_GLIB_2_0(2.22.0, ,AC_MSG_ERROR([glib is required in order to compile BabelTrace - download it from ftp://ftp.gtk.org/pub/gtk]) , gmodule-no-export)
# Checks for library functions.
AC_FUNC_ALLOCA
AC_FUNC_FORK
-AC_FUNC_MALLOC
AC_FUNC_MKTIME
AC_FUNC_MMAP
-AC_FUNC_REALLOC
AC_FUNC_STRERROR_R
AC_CHECK_FUNCS([ \
atexit \
- dirfd \
dup2 \
ftruncate \
gethostbyname \
uname \
])
+# AC_FUNC_MALLOC causes problems when cross-compiling.
+#AC_FUNC_MALLOC
+#AC_FUNC_REALLOC
+
MINGW32=no
DEFAULT_ENABLE_DEBUG_INFO=yes
LT_NO_UNDEFINED=""
[
DEFAULT_ENABLE_DEBUG_INFO=no
],
+ [cygwin*],
+ [
+ DEFAULT_ENABLE_DEBUG_INFO=no
+ LT_NO_UNDEFINED="-no-undefined"
+ ],
[mingw*],
[
MINGW32=yes
AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"])
AC_SUBST(LT_NO_UNDEFINED)
-# Check for uuid in system libs
+# First, check for uuid in system libs
+AH_TEMPLATE([BABELTRACE_HAVE_LIBUUID], [Define if you have libuuid support])
AC_CHECK_FUNCS([uuid_generate],
-[
- AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
- link_with_libuuid=no
-],
-[
- # First, check the pkg-config module is available, otherwise explicitly check
- # for libuuid, or uuid support in the C-library.
- PKG_CHECK_MODULES([UUID], [uuid],
[
- LIBS="${UUID_LIBS} ${LIBS}"
- CFLAGS="${CFLAGS} ${UUID_CFLAGS}"
- AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
- link_with_libuuid=yes
+ AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1])
+ UUID_LIBS=""
],
[
- # Check for libuuid
- AC_CHECK_LIB([uuid], [uuid_generate],
- [
- AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
- link_with_libuuid=yes
- ],
- [
- # libuuid not found, check for uuid_create in libc.
- AC_CHECK_LIB([c], [uuid_create],
+ # Then, check if the pkg-config module is available, otherwise explicitly check
+ # for libuuid, or uuid support in the C-library.
+ PKG_CHECK_MODULES([UUID], [uuid],
[
- AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.])
- link_with_libc_uuid=yes
+ AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1])
+ dnl PKG_CHECK_MODULES defines UUID_LIBS
],
[
- # for MinGW32 we have our own internal implementation of uuid using Windows functions.
- if test "x$MINGW32" = xno; then
- AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.])
- fi
- ])
- ])
- ])
-])
-
-AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBUUID], [test "x$link_with_libuuid" = "xyes"])
-AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBC_UUID], [test "x$link_with_libc_uuid" = "xyes"])
+ AC_MSG_WARN([pkg-config was unable to find a valid .pc for libuuid. Set PKG_CONFIG_PATH to specify the pkgconfig configuration file location])
+ AC_MSG_WARN([Finding libuuid without pkg-config.])
+ AC_CHECK_LIB([uuid], [uuid_generate],
+ [
+ AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1])
+ UUID_LIBS="-luuid"
+ ],
+ [
+ # libuuid not found, check for uuid_create in libc.
+ AC_CHECK_LIB([c], [uuid_create],
+ [
+ AC_DEFINE([BABELTRACE_HAVE_LIBUUID], [1])
+ UUID_LIBS="-lc"
+ ],
+ [
+ # for MinGW32 we have our own internal implementation of uuid using Windows functions.
+ if test "x$MINGW32" = xno; then
+ AC_MSG_FAILURE([Cannot find libuuid uuid_generate nor libc uuid_create. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location])
+ fi
+ ]
+ )
+ ]
+ )
+ ]
+ )
+ ]
+)
+AC_SUBST(UUID_LIBS)
# Check for fmemopen
AC_CHECK_LIB([c], [fmemopen],
]
)
-# Check for faccessat
-AC_CHECK_LIB([c], [faccessat],
-[
- AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_FACCESSAT], 1, [Has faccessat support.])
-]
-)
-
-AC_CHECK_LIB([popt], [poptGetContext], [],
- [AC_MSG_ERROR([Cannot find popt.])]
+# Check libpopt
+PKG_CHECK_MODULES([POPT], [popt],
+ [
+ dnl PKG_CHECK_MODULES defines POPT_LIBS
+ ],
+ [
+ AC_MSG_WARN([pkg-config was unable to find a valid .pc for libpopt. Set PKG_CONFIG_PATH to specify the pkgconfig configuration file location])
+ AC_MSG_WARN([Finding libpopt without pkg-config.])
+ AC_CHECK_LIB([popt],
+ [poptGetContext],
+ [POPT_LIBS="-lpopt"],
+ [
+ AC_MSG_FAILURE([Cannot find libpopt. Either set PKG_CONFIG_PATH to the configuration file location or use LDFLAGS=-Ldir to specify the library location])
+ ]
+ )
+ ]
)
+AC_SUBST(POPT_LIBS)
# Plugins
AC_ARG_VAR([PLUGINSDIR], [built-in plugins install directory [LIBDIR/babeltrace/plugins]])
])
AC_DEFINE_UNQUOTED([BT_LOG_LEVEL], [BT_LOG_$BABELTRACE_MINIMAL_LOG_LEVEL], [Minimal log level])
-LIBS="$LIBS $GMODULE_LIBS"
-PACKAGE_CFLAGS="$GMODULE_CFLAGS -Wall -Wformat"
-AC_SUBST(PACKAGE_CFLAGS)
+AM_CFLAGS="-Wall -Wformat $PTHREAD_CFLAGS $GLIB_CFLAGS"
+AC_SUBST(AM_CFLAGS)
+
+AM_CPPFLAGS="-I\$(top_builddir)/include -I\$(top_srcdir)/include -include config.h"
+AC_SUBST(AM_CPPFLAGS)
-DEFAULT_INCLUDES="-I\$(top_srcdir) -I\$(top_builddir) -I\$(top_builddir)/include -include config.h"
-AC_SUBST(DEFAULT_INCLUDES)
+LIBS="$GLIB_LIBS"
babeltraceincludedir="${includedir}/babeltrace"
AC_SUBST(babeltraceincludedir)
babeltracegraphincludedir="${includedir}/babeltrace/graph"
AC_SUBST(babeltracegraphincludedir)
-program_transform_name="s&babeltrace\.bin&babeltrace&;$program_transform_name"
+program_transform_name="s&babeltrace\.bin&babeltrace&;s&babeltrace-log\.bin&babeltrace-log&;$program_transform_name"
AC_SUBST(program_transform_name)
# check for Doxygen
plugins/ctf/fs-sink/Makefile
plugins/ctf/lttng-live/Makefile
plugins/text/Makefile
+ plugins/text/dmesg/Makefile
plugins/text/pretty/Makefile
plugins/utils/Makefile
plugins/utils/dummy/Makefile
+ plugins/utils/counter/Makefile
plugins/utils/trimmer/Makefile
plugins/utils/muxer/Makefile
python-plugin-provider/Makefile