Changed the same of some flags to use "--with" for all of them.
[lttv.git] / configure.ac
CommitLineData
ce0214a6 1# This file is part of the Linux Trace Toolkit viewer
2# Copyright (C) 2003-2004 Mathieu Desnoyers
3#
4# This program is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License Version 2 as
6# published by the Free Software Foundation;
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program; if not, write to the Free Software
15# Foundation, Inc., 59 Temple Place - Suite 330, Boston,
16# MA 02111-1307, USA.
17
18
19
9f14a497 20# -*- Autoconf -*-
21# Process this file with autoconf to produce a configure script.
22
23AC_PREREQ(2.57)
7b84cb1c
PMF
24AC_INIT([lttv], [0.12.17-01072009], [ltt-dev@lists.casi.polymtl.ca])
25AM_INIT_AUTOMAKE
b445142a 26AM_CONFIG_HEADER(config.h)
39407106 27AM_PROG_LIBTOOL
b00eda44 28
68d52dcc 29# If requested, only build LTT library part
04d4798d
WB
30AC_ARG_WITH(lttv, [ --with-lttv Build whole LTTv system, as opposd to only the trace reading library])
31if test -z "$with_lttv"; then
32 with_lttv=${with_lttv_default-yes}
68d52dcc 33else
04d4798d
WB
34 if test "$with_lttv" = "no"; then
35 # Requesting lib-only turn off the lttv-gui building as well
36 with_lttv_gui="no"
37 fi
68d52dcc 38fi
04d4798d 39AM_CONDITIONAL(BUILD_LIB_ONLY, test "$with_lttv" = "no")
68d52dcc
WB
40
41
7b84cb1c 42# If requested, avoid building LTTV part
04d4798d 43AC_ARG_WITH(lttv-gui, [ --with-lttv-gui Do not build LTTV gui, only build textmode LTTV])
68d52dcc 44
04d4798d
WB
45if test -z "$with_lttv_gui"; then
46 with_lttv_gui=${with_lttv_gui_default-yes}
68d52dcc 47fi
04d4798d 48AM_CONDITIONAL(BUILD_LTTV_GUI, test "$with_lttv_gui" = "yes")
68d52dcc 49
b37f012b 50AM_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)
9f14a497 51
68d52dcc 52# GTK is only needed by the GUI
04d4798d 53if test "$with_lttv_gui" = "yes" ; then
68d52dcc
WB
54 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)
55fi
442137a6 56
065f8f41 57AC_PATH_PROGS(BASH, bash)
58
ddd2aaff 59AC_SYS_LARGEFILE
60
9f14a497 61# Checks for programs.
62AC_PROG_CC
63
64# Checks for libraries.
6591c2c3 65AC_CHECK_LIB([popt], [poptGetNextOpt], POPT_LIBS="-lpopt",AC_MSG_ERROR([libpopt is required in order to compile LinuxTraceToolkit]) )
21ff84a0 66#AC_CHECK_LIB([m], [round], M_LIBS="-lm",AC_MSG_ERROR([Mathematical libraries are missing.]) )
0b74aa83 67
68d52dcc
WB
68AC_CHECK_LIB([util], [forkpty], UTIL_LIBS="-lutil", AC_MSG_ERROR([
69libutil is required in order to compile LinuxTraceToolkit]))
9f14a497 70
36ea7706 71
750eb11a 72# pthread for gdb with dlopen().
3d55af6e 73AC_CHECK_LIB(pthread, pthread_join, [], AC_MSG_ERROR([LinuxThreads is required in order to make sure gdb works fine with lttv-gui]))
36ea7706 74
9f14a497 75# Checks for header files.
76AC_HEADER_STDC
36ea7706 77AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/time.h unistd.h pthread.h])
9f14a497 78
68d52dcc
WB
79# Set compile flags to java include files if given
80AC_ARG_WITH(java_jdk, [ --with-java-jdk=DIR use java jdk from DIR. Ex : $JAVA_HOME.], JAVA_SDK=$withval,)
81if test $JAVA_SDK; then
82 if test -d $JAVA_SDK; then
83 AC_MSG_RESULT([using java include in $JAVA_SDK])
84 SUBDIRS=`find $JAVA_SDK/include -type d`
a97fddd2 85 CFLAGS+=" "
78608bce 86 CFLAGS+=`for x in $SUBDIRS; do echo -n "-I$x "; done`
a97fddd2 87 CFLAGS+=" "
68d52dcc
WB
88 else
89 AC_MSG_ERROR(Unable to find java include file in $JAVA_JDK)
90 fi
91fi
92
93
94# Check for JNI header files if requested
04d4798d 95AC_ARG_WITH(jni-interface, [ --with-jni-interface build JNI interface between C and java. Need java include files. ])
68d52dcc 96
04d4798d
WB
97if test -z "$with_jni_interface"; then
98 with_jni_interface=${with_jni_interface_default-no}
68d52dcc
WB
99fi
100
04d4798d 101if test "$with_jni_interface" = "yes"; then
68d52dcc
WB
102 AC_CHECK_HEADERS([jni.h],,AC_MSG_ERROR([
103missing jni.h
104Make sure Sun Java or GJC is installed and that this header file exists in the system path.
105Use --with-java-jdk=DIR flag to point to your java include files or desactivate the JNI interface.]))
106fi
04d4798d 107AM_CONDITIONAL(BUILD_JNI_INTERFACE, test "$with_jni_interface" = "yes")
68d52dcc
WB
108
109
c8faea22 110AC_ISC_POSIX
111AC_PROG_CC
112AM_PROG_CC_STDC
113AC_HEADER_STDC
114
78608bce 115# If we want the gui, we need additionnal flags for GTK
04d4798d 116if test "$with_lttv_gui" = "yes" ; then
68d52dcc
WB
117 pkg_modules="gtk+-2.0 >= 2.0.0"
118 PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
119 PACKAGE_CFLAGS="-Wall -Wformat"
120 AC_SUBST(PACKAGE_CFLAGS)
121 AC_SUBST(PACKAGE_LIBS)
78608bce
WB
122# Else, we still have a dependency on gmodule
123# We will add flags for gmodule alone
124else
125 pkg_modules="gmodule-2.0 >= 2.0.0"
126 PKG_CHECK_MODULES(GMODULE, [$pkg_modules])
127 PACKAGE_CFLAGS="-Wall -Wformat"
128 AC_SUBST(PACKAGE_CFLAGS)
129 AC_SUBST(PACKAGE_LIBS)
68d52dcc 130fi
104325ef 131
3d55af6e
BP
132pkg_modules="gobject-2.0 >= 2.0.0"
133PKG_CHECK_MODULES(GOBJECT, [$pkg_modules])
134
78608bce
WB
135LIBS="$LIBS $GTK_LIBS $GOBJECT_LIBS $GMODULE_LIBS"
136PACKAGE_CFLAGS="$GTK_CFLAGS $GOBJECT_CFLAGS $GMODULE_CFLAGS -Wall -Wformat"
104325ef
BP
137MODULE_CFLAGS="$PACKAGE_CFLAGS -fvisibility=hidden"
138MODULE_LDFLAGS="-module -avoid-version"
139AC_SUBST([PACKAGE_CFLAGS])
140AC_SUBST([MODULE_CFLAGS])
141AC_SUBST([MODULE_LDFLAGS])
388a40e9 142
9f14a497 143# Checks for typedefs, structures, and compiler characteristics.
144AC_HEADER_STDBOOL
145AC_C_CONST
146AC_C_INLINE
147AC_TYPE_OFF_T
148AC_TYPE_SIZE_T
149AC_HEADER_TIME
150
151# Checks for library functions.
152AC_FUNC_ERROR_AT_LINE
f5eafc51 153#AC_FUNC_MALLOC
9f14a497 154AC_FUNC_SELECT_ARGTYPES
155AC_CHECK_FUNCS([select])
156
157#CPPFLAGS="$CPPFLAGS -I"
158
7d3dcbe0
BP
159AC_ARG_ENABLE(lttvstatic,
160 AC_HELP_STRING( [--enable-lttvstatic],
161 [Build a statically linked executable @<:@default=no@:>@]),
162 [with_lttvstatic="yes"],
163 [with_lttvstatic="no"])
164AM_CONDITIONAL(LTTVSTATIC, test "x$with_lttvstatic" = "xyes")
25fba836 165lttvlibdir="${libdir}/lttv"
96cbee09 166lttvplugindir="${lttvlibdir}/plugins"
6da3640c 167#lttlibdir="${libdir}/ltt"
0c56e138 168top_lttvdir="\$(top_srcdir)/lttv"
13f86ce2 169top_lttvwindowdir="\$(top_srcdir)/lttv/modules/gui/lttvwindow"
fc17f7eb 170
f0d243f7 171DEFAULT_INCLUDES="-I\$(top_srcdir) -I\$(top_builddir) -I\$(top_lttvdir) -I\$(top_lttvwindowdir)"
273475ce 172
d8f124de 173lttincludedir="${includedir}/ltt"
940dc6d6 174lttvincludedir="${includedir}/lttv"
13f86ce2 175lttvwindowincludedir="${includedir}/lttvwindow"
5cec0a15 176lttctlincludedir="${includedir}/liblttctl"
6591c2c3 177
3d55af6e
BP
178AC_SUBST([POPT_LIBS])
179AC_SUBST([UTIL_LIBS])
25fba836 180AC_SUBST(lttvlibdir)
6591c2c3 181AC_SUBST(lttvplugindir)
6da3640c 182#AC_SUBST(lttlibdir)
6591c2c3 183AC_SUBST(top_lttvdir)
184AC_SUBST(top_lttvwindowdir)
185AC_SUBST(DEFAULT_INCLUDES)
186AC_SUBST(lttincludedir)
187AC_SUBST(lttvincludedir)
13f86ce2 188AC_SUBST(lttvwindowincludedir)
5cec0a15 189AC_SUBST(lttctlincludedir)
940dc6d6 190
c17abb87 191 #lttv/modules/gui/tutorial/Makefile
192 #lttv/modules/gui/diskperformance/Makefile
9f14a497 193AC_CONFIG_FILES([Makefile
a100e2b7 194 lttv/Makefile
d8f124de 195 lttv/lttv/Makefile
830eba15 196 lttv/modules/Makefile
0e9ba239 197 lttv/modules/text/Makefile
6ebfde5e 198 lttv/modules/gui/Makefile
2864f4c5 199 lttv/modules/gui/lttvwindow/Makefile
a246c5e3 200 lttv/modules/gui/interrupts/Makefile
13f86ce2 201 lttv/modules/gui/lttvwindow/lttvwindow/Makefile
2864f4c5 202 lttv/modules/gui/lttvwindow/pixmaps/Makefile
88feb618 203 lttv/modules/gui/controlflow/Makefile
204 lttv/modules/gui/detailedevents/Makefile
205 lttv/modules/gui/statistics/Makefile
1684ba2e 206 lttv/modules/gui/histogram/Makefile
fcc08e1e 207 lttv/modules/gui/filter/Makefile
208 lttv/modules/gui/tracecontrol/Makefile
c4e6f4dc 209 lttv/modules/gui/resourceview/Makefile
d7b45e73 210 ltt/Makefile
b1053af5 211 doc/Makefile
212 doc/developer/Makefile
213 doc/developer/developer_guide/Makefile
214 doc/developer/developer_guide/docbook/Makefile
215 doc/developer/developer_guide/html/Makefile
216 doc/user/Makefile
217 doc/user/user_guide/Makefile
218 doc/user/user_guide/docbook/Makefile
2c0d8f76 219 doc/user/user_guide/html/Makefile])
9f14a497 220AC_OUTPUT
This page took 0.071602 seconds and 4 git commands to generate.