Force the disabling of the gui building
[lttv.git] / configure.ac
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
20 # -*- Autoconf -*-
21 # Process this file with autoconf to produce a configure script.
22
23 AC_PREREQ(2.57)
24 AC_INIT([lttv], [0.12.38-21032011], [yannick.brosseau@gmail.com])
25 AC_CONFIG_AUX_DIR([config])
26 AC_CONFIG_MACRO_DIR([config])
27 AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip])
28 AM_SILENT_RULES([yes])
29 AC_CONFIG_HEADERS([config.h])
30 LT_INIT
31
32 # If requested, only build the ltt trace reading library
33 AC_ARG_WITH(lttv,
34 AS_HELP_STRING([--with-lttv],
35 [build whole LTTV system, as opposd to only the trace reading library [[default=yes]]]),
36 [with_lttv="$withval"],
37 [with_lttv="yes"])
38
39 # If we've requested the lib only, turn off the lttv-gui building as well
40 AS_IF([test "x$with_lttv" = "xno"], [with_lttv_gui="no"])
41
42 AM_CONDITIONAL([BUILD_LIB_ONLY], [ test "x$with_lttv" = "xno" ])
43
44
45 # If requested, avoid building LTTV part
46 AC_ARG_WITH(lttv-gui,
47 AS_HELP_STRING([--with-lttv-gui],
48 [build LTTV gui, as opposed to only build textmode LTTV [[default=yes]]]),
49 [with_lttv_gui="$withval"],
50 [with_lttv_gui="yes"])
51 #TODO ybrosseau 2012-03-13: Remove this when babeltrace port is complete
52 #Force GUI disabling while we port babeltrace
53 with_lttv_gui="no"
54
55 AM_CONDITIONAL([BUILD_LTTV_GUI], [ test "x$with_lttv_gui" = "xyes" ])
56
57 AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR([glib is required in order to compile LTTV]) , gmodule)
58
59 # GTK is only needed by the GUI
60 AS_IF([test "x$with_lttv_gui" = "xyes"],[
61 AM_PATH_GTK_2_0(2.4.0, , AC_MSG_ERROR([GTK 2 is required in order to compile the LTTV GUI]) , gmodule)
62 ])
63
64 AC_PATH_PROGS(BASH, bash)
65
66 AC_SYS_LARGEFILE
67
68 # Checks for programs.
69 AC_PROG_CC
70
71 # Checks for libraries.
72 AC_CHECK_LIB([popt], [poptGetNextOpt], [],
73 AC_MSG_ERROR([libpopt is required in order to compile LTTV])
74 )
75 AC_CHECK_LIB([m], [round], [],
76 AC_MSG_ERROR([Mathematical libraries are missing.])
77 )
78 AC_CHECK_LIB([util], [forkpty], [],
79 AC_MSG_ERROR([libutil is required in order to compile LTTV])
80 )
81
82 # Trace synchronization feature, which requires libglpk
83 AC_ARG_WITH([trace-sync],
84 AS_HELP_STRING([--with-trace-sync],
85 [support trace synchronization accuracy calculation (needs libglpk) [default=no]]),
86 [with_trace_sync="$withval"],
87 [with_trace_sync="no"])
88
89 AS_IF([test "x$with_trace_sync" = "xyes"],[
90 AC_CHECK_LIB([glpk], [glp_create_prob], [], [
91 AC_MSG_ERROR([The trace synchronization feature requires libglpk, please install it first.])
92 ])
93 AC_DEFINE([HAVE_LIBGLPK], [1], [Define if you have libglpk]),
94 ])
95
96
97 # Checks for header files.
98 AC_HEADER_STDC
99 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/time.h unistd.h pthread.h])
100
101 # Check for JNI header files if requested
102 AC_ARG_WITH(jni-interface,
103 AS_HELP_STRING([--with-jni-interface],
104 [build JNI interface between C and Java. Needs JNI header file. [[default=no]]]),
105 [with_jni_interface="$withval"],
106 [with_jni_interface="no"])
107
108 AS_IF([test "x$with_jni_interface" = "xyes"],[
109 AC_CHECK_HEADERS([jni.h], [], AC_MSG_ERROR([missing jni.h
110 Make sure Sun Java or OpenJDK or GCJ is installed and that this header file exists in the system path.
111 Use CFLAGS=-I/path/ to specify a non-standard path or disable the JNI interface.]))
112 ])
113 AM_CONDITIONAL([BUILD_JNI_INTERFACE], [ test "$with_jni_interface" = "yes" ] )
114
115
116 # If we want the gui, we need additionnal flags for GTK
117 AS_IF([test "x$with_lttv_gui" = "xyes"],[
118 pkg_modules="gtk+-2.0 >= 2.0.0"
119 PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
120 ])
121
122 pkg_modules="gmodule-2.0 >= 2.0.0"
123 PKG_CHECK_MODULES(GMODULE, [$pkg_modules])
124
125 pkg_modules="gobject-2.0 >= 2.0.0"
126 PKG_CHECK_MODULES(GOBJECT, [$pkg_modules])
127
128 # Todo add test for babeltrace pkg-config
129 BABELTRACE_LIBS="-lbabeltrace -lbabeltrace-ctf"
130
131 LIBS="$LIBS $GTK_LIBS $GOBJECT_LIBS $GMODULE_LIBS $BABELTRACE_LIBS"
132 PACKAGE_CFLAGS="$GTK_CFLAGS $GOBJECT_CFLAGS $GMODULE_CFLAGS -Wall -Wformat-security"
133
134 MODULE_CFLAGS="$PACKAGE_CFLAGS -fvisibility=hidden"
135 MODULE_LDFLAGS="-module -avoid-version"
136 AC_SUBST([PACKAGE_CFLAGS])
137 AC_SUBST(PACKAGE_LIBS)
138 AC_SUBST([MODULE_CFLAGS])
139 AC_SUBST([MODULE_LDFLAGS])
140
141 # Checks for typedefs, structures, and compiler characteristics.
142 AC_HEADER_STDBOOL
143 AC_C_CONST
144 AC_C_INLINE
145 AC_TYPE_OFF_T
146 AC_TYPE_SIZE_T
147 AC_HEADER_TIME
148
149 # Checks for library functions.
150 AC_FUNC_ERROR_AT_LINE
151 AC_FUNC_SELECT_ARGTYPES
152 AC_CHECK_FUNCS([select])
153
154 AC_ARG_ENABLE(lttvstatic,
155 AS_HELP_STRING([--enable-lttvstatic],
156 [build a statically linked executable [[default=no]]]),
157 [lttvstatic="$enableval"],
158 [lttvstatic="no"])
159 AM_CONDITIONAL([LTTVSTATIC], [ test "x$lttvstatic" = "xyes" ] )
160
161 lttvlibdir="${libdir}/lttv"
162 lttvplugindir="${lttvlibdir}/plugins"
163 #lttlibdir="${libdir}/ltt"
164 top_lttvdir="\$(top_srcdir)/lttv"
165 top_lttvwindowdir="\$(top_srcdir)/lttv/modules/gui/lttvwindow"
166
167 DEFAULT_INCLUDES="-I\$(top_srcdir) -I\$(top_builddir) -I\$(top_lttvdir) -I\$(top_lttvwindowdir)"
168
169 lttincludedir="${includedir}/ltt"
170 lttvincludedir="${includedir}/lttv"
171 lttvwindowincludedir="${includedir}/lttvwindow"
172 lttctlincludedir="${includedir}/liblttctl"
173
174 AC_SUBST(lttvlibdir)
175 AC_SUBST(lttvplugindir)
176 #AC_SUBST(lttlibdir)
177 AC_SUBST(top_lttvdir)
178 AC_SUBST(top_lttvwindowdir)
179 AC_SUBST(DEFAULT_INCLUDES)
180 AC_SUBST(lttincludedir)
181 AC_SUBST(lttvincludedir)
182 AC_SUBST(lttvwindowincludedir)
183 AC_SUBST(lttctlincludedir)
184
185 AC_CONFIG_FILES([Makefile
186 lttv/Makefile
187 lttv/lttv/Makefile
188 lttv/lttv/sync/Makefile
189 lttv/modules/Makefile
190 lttv/modules/text/Makefile
191 lttv/modules/gui/Makefile
192 lttv/modules/gui/lttvwindow/Makefile
193 lttv/modules/gui/interrupts/Makefile
194 lttv/modules/gui/lttvwindow/lttvwindow/Makefile
195 lttv/modules/gui/lttvwindow/pixmaps/Makefile
196 lttv/modules/gui/controlflow/Makefile
197 lttv/modules/gui/detailedevents/Makefile
198 lttv/modules/gui/statistics/Makefile
199 lttv/modules/gui/histogram/Makefile
200 lttv/modules/gui/filter/Makefile
201 lttv/modules/gui/tracecontrol/Makefile
202 lttv/modules/gui/resourceview/Makefile
203 ltt/Makefile
204 doc/Makefile
205 doc/developer/Makefile
206 doc/developer/developer_guide/Makefile
207 doc/developer/developer_guide/docbook/Makefile
208 doc/developer/developer_guide/html/Makefile
209 doc/user/Makefile
210 doc/user/user_guide/Makefile
211 doc/user/user_guide/docbook/Makefile
212 doc/user/user_guide/html/Makefile])
213
214 AC_OUTPUT
215
216 # Report on what will be built
217 AS_ECHO()
218 AS_ECHO("The following components will be built:")
219 AS_ECHO("LTT trace reading library: Enabled") # It's always enabled!
220
221 AS_ECHO_N("LTTV command line tool: ")
222 AS_IF([test "x$with_lttv" = "xyes"],[AS_ECHO("Enabled")],[AS_ECHO("Disabled")])
223
224 AS_ECHO_N("LTTV graphical interface: ")
225 AS_IF([test "x$with_lttv_gui" = "xyes"],[AS_ECHO("Enabled")],[AS_ECHO("Disabled")])
226
227 AS_ECHO_N("Trace synchronization: ")
228 AS_IF([test "x$with_trace_sync" = "xyes"],[AS_ECHO("Enabled")],[AS_ECHO("Disabled")])
229
230 AS_ECHO_N("Java (JNI) interface: ")
231 AS_IF([test "x$with_jni_interface" = "xyes"],[AS_ECHO("Enabled")],[AS_ECHO("Disabled")])
232
233 AS_ECHO()
234 AS_ECHO_N("Statically linked executable: ")
235 AS_IF([test "x$lttvstatic" = "xyes"],[AS_ECHO("Yes")],[AS_ECHO("No")])
236
237 AS_ECHO()
238 AS_ECHO("Type 'make' to build LTTV.")
239
This page took 0.033366 seconds and 4 git commands to generate.