Update the README file to mark the project as unmaintained
[lttv.git] / configure.ac
index cddfd40fa215a6bd23e9d794f90382776264769d..02ae6853fbbaa198be2df94a5911635a595600df 100644 (file)
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.57)
-AC_INIT([lttv], [0.12.23-18112009], [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(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
-       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_lttv" = "no")
+AC_INIT([lttv], [1.5], [yannick.brosseau@gmail.com])
+AC_CONFIG_AUX_DIR([config])
+AC_CONFIG_MACRO_DIR([config])
+AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip])
+AM_SILENT_RULES([yes])
+AC_CONFIG_HEADERS([config.h])
+LT_INIT
 
+#Always build basic command line modules
+with_lttv="yes"
 
 # 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]]])
+AC_ARG_WITH(lttv-gui,
+       AS_HELP_STRING([--with-lttv-gui],
+       [build LTTV gui, as opposed to only build textmode LTTV [[default=yes]]]),
+       [with_lttv_gui="$withval"],
+       [with_lttv_gui="yes"])
 
-if test -z "$with_lttv_gui"; then
-        with_lttv_gui=${with_lttv_gui_default-yes}
-fi
-AM_CONDITIONAL(BUILD_LTTV_GUI, test "$with_lttv_gui" = "yes")
+AM_CONDITIONAL([BUILD_LTTV_GUI], [ test "x$with_lttv_gui" = "xyes" ])
 
-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)
+AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR([glib is required in order to compile LTTV]) , gmodule)
 
 # GTK is only needed by the GUI
-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
+AS_IF([test "x$with_lttv_gui" = "xyes"],[
+       AM_PATH_GTK_2_0(2.4.0, , AC_MSG_ERROR([GTK 2 is required in order to compile the LTTV GUI]) , gmodule)
+])
 
 AC_PATH_PROGS(BASH, bash)
 
@@ -64,82 +56,72 @@ AC_SYS_LARGEFILE
 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([popt], [poptGetNextOpt], [],
+       AC_MSG_ERROR([libpopt is required in order to compile LTTV])
+)
+AC_CHECK_LIB([m], [round], [],
+       AC_MSG_ERROR([Mathematical libraries are missing.])
+)
+AC_CHECK_LIB([util], [forkpty], [],
+       AC_MSG_ERROR([libutil is required in order to compile LTTV])
+)
+
+# Trace synchronization feature, which requires libglpk
+AC_ARG_WITH([trace-sync],
+       AS_HELP_STRING([--with-trace-sync],
+       [support trace synchronization accuracy calculation (needs libglpk) [default=no]]),
+       [with_trace_sync="$withval"],
+       [with_trace_sync="no"])
+
+AS_IF([test "x$with_trace_sync" = "xyes"],[
+       AC_CHECK_LIB([glpk], [glp_create_prob], [], [
+               AC_MSG_ERROR([The trace synchronization feature requires libglpk, please install it first.])
+       ])
+       AC_DEFINE([HAVE_LIBGLPK], [1], [Define if you have libglpk]),
+])
 
-AC_CHECK_LIB([util], [forkpty], UTIL_LIBS="-lutil", AC_MSG_ERROR([
-libutil is required in order to compile LinuxTraceToolkit]))
-
-
-# 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]))
 
 # Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/time.h unistd.h pthread.h])
 
-# Set compile flags to java include files if given
-AC_ARG_WITH(java_jdk, [  --with-java-jdk=DIR     use java jdk from DIR. Ex : $JAVA_HOME.], JAVA_SDK=$withval,)
-if test $JAVA_SDK; then
-        if test -d $JAVA_SDK; then
-                AC_MSG_RESULT([using java include in $JAVA_SDK])
-                SUBDIRS=`find $JAVA_SDK/include -type d`
-               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
-fi
-
-
-# Check for JNI header files if requested
-AC_ARG_WITH(jni-interface, [  --with-jni-interface    build JNI interface between C and java. Need java include files.
-                         [[default=no]]])
-
-if test -z "$with_jni_interface"; then
-        with_jni_interface=${with_jni_interface_default-no}
-fi
-
-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 "$with_jni_interface" = "yes")
-
-
-AC_ISC_POSIX
-AC_PROG_CC
-AM_PROG_CC_STDC
-AC_HEADER_STDC
 
 # 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
+AS_IF([test "x$with_lttv_gui" = "xyes"],[
+       pkg_modules="gtk+-2.0 >= 2.0.0"
+       PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
+])
+
+pkg_modules="gmodule-2.0 >= 2.0.0"
+PKG_CHECK_MODULES(GMODULE, [$pkg_modules])
 
 pkg_modules="gobject-2.0 >= 2.0.0"
 PKG_CHECK_MODULES(GOBJECT, [$pkg_modules])
 
-LIBS="$LIBS $GTK_LIBS $GOBJECT_LIBS $GMODULE_LIBS"
-PACKAGE_CFLAGS="$GTK_CFLAGS $GOBJECT_CFLAGS $GMODULE_CFLAGS -Wall -Wformat"
+PKG_CHECK_MODULES(BABELTRACE, [babeltrace >= 1.1.0], [], 
+                             [AC_CHECK_LIB([babeltrace], [bt_context_create], [],
+             [AC_MSG_ERROR([Cannot find the babeltrace library.])]
+             )
+
+# Check for libbabeltrace-ctf
+AC_CHECK_LIB([babeltrace-ctf], [bt_ctf_iter_create], [],
+             [AC_MSG_ERROR([Cannot find the babeltrace-ctf library.])]
+             )
+])
+
+AC_CHECK_LIB([babeltrace], [bt_iter_equals_pos], 
+                          [AC_DEFINE([HAVE_BT_ITER_EQUALS_POS],[],[Have equal function])], [])
+
+AC_CHECK_LIB([babeltrace-ctf], [bt_ctf_event_name], 
+                          [], [AC_MSG_ERROR([libbabeltrace-ctf is required in order to compile LTTV])])
+
+LIBS="$LIBS $GTK_LIBS $GOBJECT_LIBS $GMODULE_LIBS $BABELTRACE_LIBS"
+PACKAGE_CFLAGS="$GTK_CFLAGS $GOBJECT_CFLAGS $GMODULE_CFLAGS -Wall -Wformat-security"
+
 MODULE_CFLAGS="$PACKAGE_CFLAGS -fvisibility=hidden"
 MODULE_LDFLAGS="-module -avoid-version"
 AC_SUBST([PACKAGE_CFLAGS])
+AC_SUBST(PACKAGE_LIBS)
 AC_SUBST([MODULE_CFLAGS])
 AC_SUBST([MODULE_LDFLAGS])
 
@@ -153,71 +135,86 @@ AC_HEADER_TIME
 
 # Checks for library functions.
 AC_FUNC_ERROR_AT_LINE
-#AC_FUNC_MALLOC
 AC_FUNC_SELECT_ARGTYPES
 AC_CHECK_FUNCS([select])
 
-#CPPFLAGS="$CPPFLAGS -I"
-
 AC_ARG_ENABLE(lttvstatic,
-       AC_HELP_STRING( [--enable-lttvstatic],
-               [build a statically linked executable @<:@default=no@:>@]),
-               [with_lttvstatic="yes"],
-               [with_lttvstatic="no"])
-AM_CONDITIONAL(LTTVSTATIC, test "x$with_lttvstatic" = "xyes")
+       AS_HELP_STRING([--enable-lttvstatic],
+       [build a statically linked executable [[default=no]]]),
+       [lttvstatic="$enableval"],
+       [lttvstatic="no"])
+AM_CONDITIONAL([LTTVSTATIC], [ test "x$lttvstatic" = "xyes" ] )
+
 lttvlibdir="${libdir}/lttv"
 lttvplugindir="${lttvlibdir}/plugins"
-#lttlibdir="${libdir}/ltt"
 top_lttvdir="\$(top_srcdir)/lttv"
 top_lttvwindowdir="\$(top_srcdir)/lttv/modules/gui/lttvwindow"
 
 DEFAULT_INCLUDES="-I\$(top_srcdir) -I\$(top_builddir) -I\$(top_lttvdir) -I\$(top_lttvwindowdir)"
 
-lttincludedir="${includedir}/ltt"
 lttvincludedir="${includedir}/lttv"
 lttvwindowincludedir="${includedir}/lttvwindow"
 lttctlincludedir="${includedir}/liblttctl"
 
-AC_SUBST([POPT_LIBS])
-AC_SUBST([UTIL_LIBS])
 AC_SUBST(lttvlibdir)
 AC_SUBST(lttvplugindir)
-#AC_SUBST(lttlibdir)
 AC_SUBST(top_lttvdir)
 AC_SUBST(top_lttvwindowdir)
 AC_SUBST(DEFAULT_INCLUDES)
-AC_SUBST(lttincludedir)
 AC_SUBST(lttvincludedir)
 AC_SUBST(lttvwindowincludedir)
 AC_SUBST(lttctlincludedir)
 
-                #lttv/modules/gui/tutorial/Makefile
-                #lttv/modules/gui/diskperformance/Makefile
+#      ltt/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/modules/Makefile
+       lttv/modules/text/Makefile
+       lttv/modules/gui/Makefile
+       lttv/modules/gui/lttvwindow/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/histogram/Makefile
+       lttv/modules/gui/resourceview/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/lttv/sync/Makefile
+#      lttv/modules/gui/interrupts/Makefile
+#      lttv/modules/gui/statistics/Makefile
+#      lttv/modules/gui/filter/Makefile
+#      lttv/modules/gui/tracecontrol/Makefile
+
+
 AC_OUTPUT
+
+# Report on what will be built
+AS_ECHO()
+AS_ECHO("The following components will be built:")
+
+AS_ECHO_N("LTTV command line tool:    ")
+AS_IF([test "x$with_lttv" = "xyes"],[AS_ECHO("Enabled")],[AS_ECHO("Disabled")])
+
+AS_ECHO_N("LTTV graphical interface:  ")
+AS_IF([test "x$with_lttv_gui" = "xyes"],[AS_ECHO("Enabled")],[AS_ECHO("Disabled")])
+
+AS_ECHO_N("Trace synchronization:     ")
+AS_IF([test "x$with_trace_sync" = "xyes"],[AS_ECHO("Enabled")],[AS_ECHO("Disabled")])
+
+AS_ECHO()
+AS_ECHO_N("Statically linked executable: ")
+AS_IF([test "x$lttvstatic" = "xyes"],[AS_ECHO("Yes")],[AS_ECHO("No")])
+
+AS_ECHO()
+AS_ECHO("Type 'make' to build LTTV.")
+
This page took 0.025186 seconds and 4 git commands to generate.