Reimplemented build option into new repo.
authorWilliam Bourque <william@ewilbou.dyn.lmc.ericsson.se>
Thu, 17 Sep 2009 15:39:56 +0000 (11:39 -0400)
committerWilliam Bourque <william@ewilbou.dyn.lmc.ericsson.se>
Thu, 17 Sep 2009 15:39:56 +0000 (11:39 -0400)
Makefile.am
configure.ac
ltt/Makefile.am
lttv/lttv/Makefile.am
lttv/modules/Makefile.am

index 48869279c30fda4dcc4bf95be20c00e51f914adf..9f817965b9c72ba56a81961e788ba708fba30d7e 100644 (file)
@@ -1,6 +1,10 @@
 # WARNING : ltt must come before lttv, so that the traceread library is
 # up to date
 
+if BUILD_LIB_ONLY
+SUBDIRS = ltt doc
+else
 SUBDIRS = ltt lttv doc
+endif
 
 EXTRA_DIST = LTTngManual.html
index 67da0ca478ca02e28f91993b01e966cc88af7a3f..c232c2eb697321ecbaa5cd0785393c270ead9b64 100644 (file)
@@ -27,9 +27,32 @@ AM_INIT_AUTOMAKE(lttv,0.12.17-01072009)
 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}
+else
+        # Requesting lib-only turn off the lttv-gui building as well
+        enable_lttv_gui="no"
+fi
+AM_CONDITIONAL(BUILD_LIB_ONLY, test "$with_liblttvtraceread_only" = "yes")
+
+
+# If requested, avoid building LLTv part
+AC_ARG_ENABLE(lttv-gui,
+[  --disable-lttv-gui      Do not build LTTv gui, only build textmode LTTv])
+
+if test -z "$enable_lttv_gui"; then
+        enable_lttv_gui=${enable_lttv_gui_default-yes}
+fi
+AM_CONDITIONAL(BUILD_LTTV_GUI, test "$enable_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)
 
-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)
+# GTK is only needed by the GUI
+if test "$enable_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_PATH_PROGS(BASH, bash)
 
@@ -42,7 +65,8 @@ AC_PROG_CC
 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([util], [forkpty], UTIL_LIBS="-lutil", AC_MSG_ERROR([
+libutil is required in order to compile LinuxTraceToolkit]))
 
 
 # pthread for gdb with dlopen().
@@ -52,19 +76,59 @@ AC_CHECK_LIB(pthread, pthread_join, [], AC_MSG_ERROR([LinuxThreads is required i
 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`
+                CPPFLAGS+=`for x in $SUBDIRS; do echo -n "-I$x "; done`
+        else
+                AC_MSG_ERROR(Unable to find java include file in $JAVA_JDK)
+        fi
+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. ])
+
+if test -z "$enable_jni_interface"; then
+        enable_jni_interface=${enable_jni_interface_default-no}
+fi
+
+if test "$enable_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")
+
+
 AC_ISC_POSIX
 AC_PROG_CC
 AM_PROG_CC_STDC
 AC_HEADER_STDC
 
-pkg_modules="gtk+-2.0 >= 2.0.0"
-PKG_CHECK_MODULES(GTK, [$pkg_modules])
+if test "$enable_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)
+fi
 
 pkg_modules="gobject-2.0 >= 2.0.0"
 PKG_CHECK_MODULES(GOBJECT, [$pkg_modules])
 
-LIBS="$LIBS $GTK_LIBS $GOBJECT_LIBS"
-PACKAGE_CFLAGS="$GTK_CFLAGS $GOBJECT_CFLAGS -Wall -Wformat"
+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
 MODULE_CFLAGS="$PACKAGE_CFLAGS -fvisibility=hidden"
 MODULE_LDFLAGS="-module -avoid-version"
 AC_SUBST([PACKAGE_CFLAGS])
index 2850f4d2e868d063545415732c00178a6f0add8f..f503e633975c5a048181cda2eff64b009b66d542 100644 (file)
@@ -9,7 +9,13 @@
 AM_CFLAGS = $(PACKAGE_CFLAGS)
 
 lib_LTLIBRARIES = liblttvtraceread.la
+
+if BUILD_JNI_INTERFACE
+liblttvtraceread_la_SOURCES = jni_interface.c tracefile.c marker.c event.c
+else
 liblttvtraceread_la_SOURCES = tracefile.c marker.c event.c
+endif
+
 noinst_HEADERS = ltt-private.h
 
 lttinclude_HEADERS = \
index b0bc52f4c1d0ed2ccd78ad4e289fbf82b520f2b5..e63f4d7f66e309af74dce57dae472396f9cb3eaf 100644 (file)
@@ -3,9 +3,19 @@ LDADD = $(POPT_LIBS) ${top_builddir}/ltt/liblttvtraceread.la
 
 bin_PROGRAMS = lttv.real
 
+if BUILD_LTTV_GUI
 bin_SCRIPTS = lttv lttv-gui
+else
+bin_SCRIPTS = lttv
+endif
+
 CLEANFILES = $(bin_SCRIPTS)
+
+if BUILD_LTTV_GUI
 EXTRA_DIST = lttv.sh lttv-gui.sh
+else
+EXTRA_DIST = lttv.sh
+endif
 
 lttv: lttv.sh
        rm -f lttv
index 14a47143769bace16056a85d72e0fa28e38af260..ce977e5e6dbf445f56bfa1f1b0004dc8f98e196e 100644 (file)
 #
 
 # the gui subdir comes first : dependency
+
+if BUILD_LTTV_GUI
 SUBDIRS = text gui
+else
+SUBDIRS = text
+endif
 
This page took 0.026371 seconds and 4 git commands to generate.