# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57)
-AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
-#AC_WITH_LTDL # not needed ?
-AM_INIT_AUTOMAKE(lttv,0.12.17-01072009)
+AC_INIT([lttv], [0.12.25-16122009], [ltt-dev@lists.casi.polymtl.ca])
+AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(config.h)
AM_PROG_LIBTOOL
# If requested, only build LTT library part
-AC_ARG_WITH(liblttvtraceread-only, [ --with-liblttvtraceread-only Do not build any LTT ui, only compile the trace reading library])
-if test -z "$with_liblttvtraceread_only"; then
- with_liblttvtraceread_only=${with_liblttvtraceread_only_default-no}
+AC_ARG_WITH(lttv, [ --with-lttv build whole LTTV system, as opposd to only the trace reading library
+ [[default=yes]]])
+if test -z "$with_lttv"; then
+ with_lttv=${with_lttv_default-yes}
else
- # Requesting lib-only turn off the lttv-gui building as well
- enable_lttv_gui="no"
+ if test "$with_lttv" = "no"; then
+ # Requesting lib-only turn off the lttv-gui building as well
+ with_lttv_gui="no"
+ fi
fi
-AM_CONDITIONAL(BUILD_LIB_ONLY, test "$with_liblttvtraceread_only" = "yes")
+AM_CONDITIONAL(BUILD_LIB_ONLY, test "$with_lttv" = "no")
-# If requested, avoid building LLTv part
-AC_ARG_ENABLE(lttv-gui,
-[ --disable-lttv-gui Do not build LTTv gui, only build textmode LTTv])
+# If requested, avoid building LTTV part
+AC_ARG_WITH(lttv-gui, [ --with-lttv-gui build LTTV gui, as opposed to only build textmode LTTV
+ [[default=yes]]])
-if test -z "$enable_lttv_gui"; then
- enable_lttv_gui=${enable_lttv_gui_default-yes}
+if test -z "$with_lttv_gui"; then
+ with_lttv_gui=${with_lttv_gui_default-yes}
fi
-AM_CONDITIONAL(BUILD_LTTV_GUI, test "$enable_lttv_gui" = "yes")
+AM_CONDITIONAL(BUILD_LTTV_GUI, test "$with_lttv_gui" = "yes")
AM_PATH_GLIB_2_0(2.4.0, ,AC_MSG_ERROR([glib is required in order to compile LinuxTraceToolkit - download it from ftp://ftp.gtk.org/pub/gtk]) , gmodule)
# GTK is only needed by the GUI
-if test "$enable_lttv_gui" = "yes" ; then
+if test "$with_lttv_gui" = "yes" ; then
AM_PATH_GTK_2_0(2.4.0, ,AC_MSG_ERROR([gtk is required in order to compile GUI - download it from ftp://ftp.gtk.org/pub/gtk]) , gmodule)
fi
AC_PROG_CC
# Checks for libraries.
-AC_CHECK_LIB([popt], [poptGetNextOpt], POPT_LIBS="-lpopt",AC_MSG_ERROR([libpopt is required in order to compile LinuxTraceToolkit]) )
-#AC_CHECK_LIB([m], [round], M_LIBS="-lm",AC_MSG_ERROR([Mathematical libraries are missing.]) )
-
-AC_CHECK_LIB([util], [forkpty], UTIL_LIBS="-lutil", AC_MSG_ERROR([
-libutil is required in order to compile LinuxTraceToolkit]))
-
+AC_CHECK_LIB([popt], [poptGetNextOpt], POPT_LIBS="-lpopt",
+ AC_MSG_ERROR([libpopt is required in order to compile LinuxTraceToolkit]))
+AC_CHECK_LIB([m], [round], M_LIBS="-lm",
+ AC_MSG_ERROR([Mathematical libraries are missing.]))
+AC_CHECK_LIB([util], [forkpty], UTIL_LIBS="-lutil",
+ AC_MSG_ERROR([libutil is required in order to compile LinuxTraceToolkit]))
+
+AC_ARG_WITH([glpk],
+ [AS_HELP_STRING([--with-glpk@<:@=DIR@:>@],
+ [support trace synchronization accuracy calculation (needs glpk)
+ @<:@default=check@:>@])],
+ [],
+ [with_glpk=check])
+
+GLPK_LIBS=
+ AS_IF([test "x$with_glpk" != xno],
+ [if test "x$with_glpk" != xyes -a -d "$with_glpk"; then
+ LDFLAGS="$LDFLAGS -L$with_glpk"
+ fi
+ AC_CHECK_LIB([glpk], [glp_create_prob],
+ [AC_SUBST([GLPK_LIBS], ["-lglpk"])
+ AC_DEFINE([HAVE_LIBGLPK], [1], [Define if you have libglpk])],
+ [if test "x$with_glpk" != xcheck; then
+ AC_MSG_FAILURE(
+ [--with-glpk was given, but test for glpk failed])
+ fi],
+ -lm)])
# pthread for gdb with dlopen().
AC_CHECK_LIB(pthread, pthread_join, [], AC_MSG_ERROR([LinuxThreads is required in order to make sure gdb works fine with lttv-gui]))
if test -d $JAVA_SDK; then
AC_MSG_RESULT([using java include in $JAVA_SDK])
SUBDIRS=`find $JAVA_SDK/include -type d`
- CPPFLAGS+=`for x in $SUBDIRS; do echo -n "-I$x "; done`
+ CFLAGS+=" "
+ CFLAGS+=`for x in $SUBDIRS; do echo -n "-I$x "; done`
+ CFLAGS+=" "
else
AC_MSG_ERROR(Unable to find java include file in $JAVA_JDK)
fi
# Check for JNI header files if requested
-AC_ARG_ENABLE(jni-interface,
-[ --enable-jni-interface build JNI interface between C and java. Need java include files. ])
+AC_ARG_WITH(jni-interface, [ --with-jni-interface build JNI interface between C and java. Need java include files.
+ [[default=no]]])
-if test -z "$enable_jni_interface"; then
- enable_jni_interface=${enable_jni_interface_default-no}
+if test -z "$with_jni_interface"; then
+ with_jni_interface=${with_jni_interface_default-no}
fi
-if test "$enable_jni_interface" = "yes"; then
+if test "$with_jni_interface" = "yes"; then
AC_CHECK_HEADERS([jni.h],,AC_MSG_ERROR([
missing jni.h
Make sure Sun Java or GJC is installed and that this header file exists in the system path.
Use --with-java-jdk=DIR flag to point to your java include files or desactivate the JNI interface.]))
fi
-AM_CONDITIONAL(BUILD_JNI_INTERFACE, test "$enable_jni_interface" = "yes")
+AM_CONDITIONAL(BUILD_JNI_INTERFACE, test "$with_jni_interface" = "yes")
AC_ISC_POSIX
AM_PROG_CC_STDC
AC_HEADER_STDC
-if test "$enable_lttv_gui" = "yes" ; then
+# If we want the gui, we need additionnal flags for GTK
+if test "$with_lttv_gui" = "yes" ; then
pkg_modules="gtk+-2.0 >= 2.0.0"
PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
PACKAGE_CFLAGS="-Wall -Wformat"
AC_SUBST(PACKAGE_CFLAGS)
AC_SUBST(PACKAGE_LIBS)
+# Else, we still have a dependency on gmodule
+# We will add flags for gmodule alone
+else
+ pkg_modules="gmodule-2.0 >= 2.0.0"
+ PKG_CHECK_MODULES(GMODULE, [$pkg_modules])
+ PACKAGE_CFLAGS="-Wall -Wformat"
+ AC_SUBST(PACKAGE_CFLAGS)
+ AC_SUBST(PACKAGE_LIBS)
fi
pkg_modules="gobject-2.0 >= 2.0.0"
PKG_CHECK_MODULES(GOBJECT, [$pkg_modules])
-if test "$enable_lttv_gui" = "yes" ; then
- LIBS="$LIBS $GTK_LIBS $GOBJECT_LIBS"
- PACKAGE_CFLAGS="$GTK_CFLAGS $GOBJECT_CFLAGS -Wall -Wformat"
-else
- LIBS="$LIBS $GOBJECT_LIBS"
- PACKAGE_CFLAGS="$GOBJECT_CFLAGS -Wall -Wformat"
-fi
+LIBS="$LIBS $GTK_LIBS $GOBJECT_LIBS $GMODULE_LIBS"
+PACKAGE_CFLAGS="$GTK_CFLAGS $GOBJECT_CFLAGS $GMODULE_CFLAGS -Wall -Wformat"
MODULE_CFLAGS="$PACKAGE_CFLAGS -fvisibility=hidden"
MODULE_LDFLAGS="-module -avoid-version"
AC_SUBST([PACKAGE_CFLAGS])
AC_ARG_ENABLE(lttvstatic,
AC_HELP_STRING( [--enable-lttvstatic],
- [Build a statically linked executable @<:@default=no@:>@]),
+ [build a statically linked executable @<:@default=no@:>@]),
[with_lttvstatic="yes"],
[with_lttvstatic="no"])
AM_CONDITIONAL(LTTVSTATIC, test "x$with_lttvstatic" = "xyes")
#lttv/modules/gui/tutorial/Makefile
#lttv/modules/gui/diskperformance/Makefile
AC_CONFIG_FILES([Makefile
- lttv/Makefile
- lttv/lttv/Makefile
- lttv/modules/Makefile
- lttv/modules/text/Makefile
- lttv/modules/gui/Makefile
- lttv/modules/gui/lttvwindow/Makefile
- lttv/modules/gui/interrupts/Makefile
- lttv/modules/gui/lttvwindow/lttvwindow/Makefile
- lttv/modules/gui/lttvwindow/pixmaps/Makefile
- lttv/modules/gui/controlflow/Makefile
- lttv/modules/gui/detailedevents/Makefile
- lttv/modules/gui/statistics/Makefile
- lttv/modules/gui/histogram/Makefile
- lttv/modules/gui/filter/Makefile
- lttv/modules/gui/tracecontrol/Makefile
- lttv/modules/gui/resourceview/Makefile
- ltt/Makefile
- doc/Makefile
- doc/developer/Makefile
- doc/developer/developer_guide/Makefile
- doc/developer/developer_guide/docbook/Makefile
- doc/developer/developer_guide/html/Makefile
- doc/user/Makefile
- doc/user/user_guide/Makefile
- doc/user/user_guide/docbook/Makefile
- doc/user/user_guide/html/Makefile])
+ lttv/Makefile
+ lttv/lttv/Makefile
+ lttv/lttv/sync/Makefile
+ lttv/modules/Makefile
+ lttv/modules/text/Makefile
+ lttv/modules/gui/Makefile
+ lttv/modules/gui/lttvwindow/Makefile
+ lttv/modules/gui/interrupts/Makefile
+ lttv/modules/gui/lttvwindow/lttvwindow/Makefile
+ lttv/modules/gui/lttvwindow/pixmaps/Makefile
+ lttv/modules/gui/controlflow/Makefile
+ lttv/modules/gui/detailedevents/Makefile
+ lttv/modules/gui/statistics/Makefile
+ lttv/modules/gui/histogram/Makefile
+ lttv/modules/gui/filter/Makefile
+ lttv/modules/gui/tracecontrol/Makefile
+ lttv/modules/gui/resourceview/Makefile
+ ltt/Makefile
+ doc/Makefile
+ doc/developer/Makefile
+ doc/developer/developer_guide/Makefile
+ doc/developer/developer_guide/docbook/Makefile
+ doc/developer/developer_guide/html/Makefile
+ doc/user/Makefile
+ doc/user/user_guide/Makefile
+ doc/user/user_guide/docbook/Makefile
+ doc/user/user_guide/html/Makefile])
AC_OUTPUT