fix some memory leak.
[lxde/lxpanel.git] / configure.ac
CommitLineData
a52c2257 1AC_PREREQ(2.53)
4542c20d 2AC_INIT(lxpanel, 0.2.9.0, http://lxde.sourceforge.net/)
42fe8c5f 3AM_INIT_AUTOMAKE
a52c2257
HJYP
4AC_CONFIG_SRCDIR([src/bg.c])
5AC_CONFIG_HEADER([config.h])
6
86db742c
JH
7# Force to dynamic
8AC_DISABLE_STATIC
9
a52c2257
HJYP
10# Checks for programs.
11AC_PROG_CC
12AC_PROG_INSTALL
13AC_PROG_LN_S
1141e22a 14AC_PROG_LIBTOOL
a52c2257
HJYP
15AC_PROG_INTLTOOL(, [no-xml])
16
17# Checks for libraries.
18pkg_modules="gtk+-2.0 >= 2.6.0 \
fb20a9b5
HJYP
19 gthread-2.0"
20# libstartup-notification-1.0"
a52c2257
HJYP
21PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
22AC_SUBST(PACKAGE_CFLAGS)
23AC_SUBST(PACKAGE_LIBS)
24
535ac098 25AC_ARG_ENABLE([cast-checks],
24053345
HJYP
26 AS_HELP_STRING([--enable-cast-checks],
27 [enable Glib casting checks (default: disable)]),
28 cast_checks=$enableval, cast_checks="no")
535ac098
JH
29G_CAST_CHECKS=""
30if test x"$cast_checks" = "xno"; then
24053345 31 G_CAST_CHECKS="-DG_DISABLE_CAST_CHECKS"
535ac098
JH
32fi
33AC_SUBST(G_CAST_CHECKS)
34
cc0c9990
JH
35dnl linker tweaking
36# The function of the link flag --as-needed is to prevent unnecesary linking.
37# Example: A -> B -> C
20b3e401
JH
38# Normally, A would link to B and also depend on C, this is of cource
39# unnecesary. In this situation, however we do need to link to C, so this
cc0c9990
JH
40# must be done explicitly. This flag comes in handy when a library ABI
41# is changed, minimizing the amount of recompilations needed.
42AC_MSG_CHECKING([whether $LD accepts --as-needed])
43case `$LD --as-needed -v 2>&1 </dev/null` in
44*GNU* | *'with BFD'*)
20b3e401
JH
45 LDFLAGS="$LDFLAGS -Wl,--as-needed"
46 AC_MSG_RESULT([yes])
47 ;;
cc0c9990 48*)
20b3e401
JH
49 AC_MSG_RESULT([no])
50 ;;
cc0c9990
JH
51esac
52
cae18977
JH
53dnl linker optimizations
54AC_MSG_CHECKING([whether $LD accepts -O1])
55case `$LD -O1 -v 2>&1 </dev/null` in
56*GNU* | *'with BFD'*)
57 LDFLAGS="$LDFLAGS -Wl,-O1"
58 AC_MSG_RESULT([yes])
59 ;;
60*)
61 AC_MSG_RESULT([no])
62 ;;
63esac
64AC_MSG_CHECKING([whether $LD accepts -Bsymbolic-functions])
65case `$LD -Bsymbolic-functions -v 2>&1 </dev/null` in
66*GNU* | *'with BFD'*)
67 LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions"
68 AC_MSG_RESULT([yes])
69 ;;
70*)
71 AC_MSG_RESULT([no])
72 ;;
73esac
85026f6c
JH
74AC_MSG_CHECKING([whether $LD accepts --sort-common])
75case `$LD --sort-common -v 2>&1 </dev/null` in
76*GNU* | *'with BFD'*)
77 LDFLAGS="$LDFLAGS -Wl,--sort-common"
78 AC_MSG_RESULT([yes])
79 ;;
80*)
81 AC_MSG_RESULT([no])
82 ;;
83esac
cae18977 84
cc0c9990
JH
85dnl FIXME: filter for undefined symbols in plugins
86# when passing "-z defs" to linker, we would better to make sure
87# there are no undefined references. However, we intend not to
88# fix at the moment since we don't have spin-off libraray containing
89# the necessary functions.
90if test ! -z "$LDFLAGS"; then
20b3e401 91 LDFLAGS=`echo "$LDFLAGS" | sed -e 's/-Wl,-z,defs//'`
cc0c9990
JH
92fi
93
94LXPANEL_MODULE="-avoid-version \
95-rpath \$(libdir)/lxpanel/plugins \
96-no-undefined "'-export-symbols-regex "^[[^_]].*"'
97AC_SUBST(LXPANEL_MODULE)
98
c044bccf 99AC_ARG_ENABLE([alsa],
24053345
HJYP
100 AS_HELP_STRING([--disable-alsa],
101 [compile ALSA providers (default: enable)]),
102 compile_alsa=$enableval, compile_alsa="yes")
c044bccf 103if test x"$compile_alsa" = "xyes"; then
24053345
HJYP
104 AC_CHECK_HEADERS([alsa/asoundlib.h],
105 [AC_CHECK_LIB([asound],
106 [snd_seq_open],
107 compile_alsa=yes,compile_alsa=no)],
c044bccf
JH
108 compile_alsa=no)
109fi
110AM_CONDITIONAL(BUILD_ALSA_PLUGINS, test x$compile_alsa = xyes)
111dnl FIXME: check OSS existence
112AM_CONDITIONAL(BUILD_OSS_PLUGINS, test x$compile_alsa = xno)
113
e64c0317
JH
114# check libiw for netstat plugin
115AC_ARG_ENABLE([libiw],
116 AS_HELP_STRING([--disable-libiw],
117 [compile libiw-based netstat plugin (default: enable)]),
118 compile_libiw=$enableval, compile_libiw="yes")
119if test x"$compile_libiw" = "xyes"; then
120 AC_CHECK_HEADERS(iwlib.h,
121 [AC_CHECK_LIB(iw,
122 iw_sockets_open,
123 compile_libiw=yes,
124 compile_libiw=no)],
125 compile_libiw=no)
126fi
127AM_CONDITIONAL(BUILD_LIBIW_PLUGINS, test x$compile_libiw = xyes)
128
2d29cc96 129AC_ARG_ENABLE([plugins-loading],
24053345
HJYP
130 AS_HELP_STRING([--disable-plugins-loading],
131 [disable plugin loading (default: enable)]),
132 plugins_loading=$enableval, plugins_loading="yes")
2d29cc96 133
31b80004
JH
134AM_CONDITIONAL(BUILD_PLUGIN_LOADER, test x$plugins_loading = xyes)
135
535ac098 136if test x"$plugins_loading" = "xno"; then
24053345 137 AC_DEFINE(DISABLE_PLUGINS_LOADING, [1], [Disable plugin loading])
2d29cc96
JH
138fi
139
199c3ea8
JH
140dnl Here are plugin listing.
141plugin_netstatus=
19348802 142plugin_netstat=
199c3ea8 143plugin_volume=
15556f61 144plugin_volumealsa=
199c3ea8 145plugin_cpu=
ce728cd9 146plugin_deskno=
8f11d5f8 147plugin_batt=
199c3ea8
JH
148
149AC_MSG_CHECKING([which plugins should be built dynamically])
150AC_ARG_WITH(plugins,
151[ --with-plugins=<list> compile dynamic plugins in <list> ]
152[ plugins may be comma separated ]
153[ 'all' builds all plugins (default), 'none' builds none ]
154[ Possible plugins are: ]
19348802 155[ netstatus, netstat, volume, volumealsa, cpu, deskno, batt], plugins="$withval",[plugins="all"])
199c3ea8
JH
156
157if test x"$plugins" != xall -a x"$plugins" != xnone; then
24053345
HJYP
158 if test x"$plugins_loading" = xno; then
159 AC_MSG_ERROR(
160 [--disable-plugins-loading and --with-plugins conflict each other.])
161 fi
199c3ea8
JH
162fi
163
24053345
HJYP
164ALL_PLUGINS_LIST="netstatus netstat volume volumealsa cpu deskno batt"
165AC_SUBST(ALL_PLUGINS_LIST)
166
199c3ea8 167if test x"$plugins" = xall; then
24053345
HJYP
168dnl for name in $ALL_PLUGINS
169dnl do
170dnl export plugin_$name="$name"
171dnl done
172
173 plugin_netstatus=netstatus
174 plugin_netstat=netstat
175 plugin_volume=volume
176 plugin_volumealsa=volumealsa
177 plugin_cpu=cpu
178 plugin_deskno=deskno
179 plugin_batt=batt
180
181 AC_MSG_RESULT(all)
199c3ea8 182else
24053345
HJYP
183 if test "$plugins" != "none"; then
184 plugins=`echo $plugins | sed 's/,/ /g'`
185 for plugin in $plugins
186 do
187 case "$plugin" in
188 netstatus)
189 plugin_netstatus=netstatus
190 ;;
191 netstat)
192 plugin_netstat=netstat
193 ;;
194 volume)
195 plugin_volume=volume
196 ;;
197 volumealsa)
198 plugin_volumealsa=volumealsa
199 ;;
200 cpu)
201 plugin_cpu=cpu
202 ;;
203 deskno)
204 plugin_deskno=deskno
205 ;;
206 batt)
207 plugin_deskno=batt
208 ;;
209 *)
210 echo "Unknown plugin $plugin."
211 exit 1
212 ;;
213 esac
214 done
215 AC_MSG_RESULT($plugins)
216 fi
199c3ea8
JH
217fi
218
c044bccf
JH
219dnl FIXME: OSS/ALSA checking
220if test x"$compile_alsa" = "xno"; then
24053345
HJYP
221 if test ! -z $plugin_volumealsa; then
222 AC_MSG_RESULT([no ALSA headers/libraries found!])
223 plugin_volumealsa=
224 fi
c044bccf 225else
24053345
HJYP
226 dnl force OSS plugin to <null>
227 plugin_volume=
c044bccf 228fi
e64c0317
JH
229if test x"$compile_libiw" = "xno"; then
230 if test ! -z $plugin_netstat; then
231 AC_MSG_RESULT([no libiw headers/libraries found!])
232 fi
233 plugin_netstat=
234fi
19348802 235PLUGINS_LIST="$plugin_netstatus $plugin_netstat $plugin_volume $plugin_volumealsa $plugin_cpu $plugin_deskno $plugin_batt"
199c3ea8
JH
236AC_SUBST(PLUGINS_LIST)
237
1141e22a 238
a52c2257
HJYP
239# Checks for header files.
240AC_PATH_X
241AC_HEADER_STDC
242AC_HEADER_SYS_WAIT
243AC_CHECK_HEADERS([locale.h stdlib.h string.h sys/time.h unistd.h])
244
245# Checks for typedefs, structures, and compiler characteristics.
246AC_C_CONST
247AC_C_INLINE
248AC_STRUCT_TM
249
250# Checks for library functions.
251AC_FUNC_MALLOC
252AC_FUNC_MEMCMP
253AC_TYPE_SIGNAL
254AC_FUNC_STAT
255AC_FUNC_STRFTIME
256AC_CHECK_FUNCS([bzero memset mkdir setlocale strchr])
257
258
259GETTEXT_PACKAGE=lxpanel
42fe8c5f 260#AM_GNU_GETTEXT([external])
a52c2257
HJYP
261AM_GNU_GETTEXT_VERSION(0.14.1)
262AC_SUBST(GETTEXT_PACKAGE)
263AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
264
a134326c
FC
265#ALL_LINGUAS="zh_TW ko hu sk pl fr pt_BR"
266ALL_LINGUAS="zh_TW ko hu sk pl fr"
a52c2257
HJYP
267AM_GLIB_GNU_GETTEXT
268
269AC_CONFIG_FILES([
24053345
HJYP
270 Makefile
271 src/Makefile
272 src/plugins/Makefile
273 src/plugins/netstatus/Makefile
274 src/plugins/netstat/Makefile
275 src/plugins/volume/Makefile
276 src/plugins/volumealsa/Makefile
277 src/plugins/cpu/Makefile
278 src/plugins/deskno/Makefile
279 src/plugins/batt/Makefile
280 po/Makefile.in
281 data/Makefile
282 data/default/config
70344206 283 man/Makefile
a52c2257
HJYP
284])
285AC_OUTPUT
199c3ea8 286
24053345 287echo
ce728cd9 288echo lxpanel ......................... : Version $VERSION
199c3ea8
JH
289echo
290echo Prefix........................... : $prefix
291if test x$plugins_loading = xyes; then
292echo Building dynamic plugins:
24053345
HJYP
293 if test x"$plugin_netstatus" != x; then
294 AC_MSG_RESULT([ netstatus - Monitor networking status])
295 fi
296 if test x"$plugin_netstat" != x; then
297 AC_MSG_RESULT([ netstat - Monitor networking status (Linux Only)])
298 fi
299 if test x"$plugin_volume" != x; then
300 AC_MSG_RESULT([ volume - Display and adjust volume of sound card])
301 fi
302 if test x"$plugin_volumealsa" != x; then
303 AC_MSG_RESULT([ volumealsa - Display and adjust volume of sound card for ALSA])
304 fi
305 if test x"$plugin_cpu" != x; then
306 AC_MSG_RESULT([ cpu - Display CPU loading])
307 fi
308 if test x"$plugin_deskno" != x; then
309 AC_MSG_RESULT([ deskno - Display desktop number])
310 fi
311 if test x"$plugin_batt" != x; then
312 AC_MSG_RESULT([ batt - Monitor battery status])
313 fi
199c3ea8
JH
314else
315echo Dynamic loader for plugins....... : disabled.
316fi