Fix default config files of lxpanel.
[lxde/lxpanel.git] / configure.ac
CommitLineData
a52c2257 1AC_PREREQ(2.53)
f02dee85 2AC_INIT(lxpanel, 0.3.5.2, 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=
22242ed4 148plugin_xkb=
199c3ea8
JH
149
150AC_MSG_CHECKING([which plugins should be built dynamically])
151AC_ARG_WITH(plugins,
152[ --with-plugins=<list> compile dynamic plugins in <list> ]
153[ plugins may be comma separated ]
154[ 'all' builds all plugins (default), 'none' builds none ]
155[ Possible plugins are: ]
22242ed4 156[ netstatus, netstat, volume, volumealsa, cpu, deskno, batt, xkb], plugins="$withval",[plugins="all"])
199c3ea8
JH
157
158if test x"$plugins" != xall -a x"$plugins" != xnone; then
24053345
HJYP
159 if test x"$plugins_loading" = xno; then
160 AC_MSG_ERROR(
161 [--disable-plugins-loading and --with-plugins conflict each other.])
162 fi
199c3ea8
JH
163fi
164
22242ed4 165ALL_PLUGINS_LIST="netstatus netstat volume volumealsa cpu deskno batt xkb"
24053345
HJYP
166AC_SUBST(ALL_PLUGINS_LIST)
167
199c3ea8 168if test x"$plugins" = xall; then
24053345
HJYP
169dnl for name in $ALL_PLUGINS
170dnl do
171dnl export plugin_$name="$name"
172dnl done
173
174 plugin_netstatus=netstatus
175 plugin_netstat=netstat
176 plugin_volume=volume
177 plugin_volumealsa=volumealsa
178 plugin_cpu=cpu
179 plugin_deskno=deskno
180 plugin_batt=batt
9088628c 181 plugin_xkb=
24053345
HJYP
182
183 AC_MSG_RESULT(all)
199c3ea8 184else
24053345
HJYP
185 if test "$plugins" != "none"; then
186 plugins=`echo $plugins | sed 's/,/ /g'`
187 for plugin in $plugins
188 do
189 case "$plugin" in
190 netstatus)
191 plugin_netstatus=netstatus
192 ;;
193 netstat)
194 plugin_netstat=netstat
195 ;;
196 volume)
197 plugin_volume=volume
198 ;;
199 volumealsa)
200 plugin_volumealsa=volumealsa
201 ;;
202 cpu)
203 plugin_cpu=cpu
204 ;;
205 deskno)
206 plugin_deskno=deskno
207 ;;
208 batt)
22242ed4
HJYP
209 plugin_batt=batt
210 ;;
211 xkb)
212 plugin_xkb=xkb
24053345
HJYP
213 ;;
214 *)
215 echo "Unknown plugin $plugin."
216 exit 1
217 ;;
218 esac
219 done
220 AC_MSG_RESULT($plugins)
221 fi
199c3ea8
JH
222fi
223
c044bccf
JH
224dnl FIXME: OSS/ALSA checking
225if test x"$compile_alsa" = "xno"; then
24053345
HJYP
226 if test ! -z $plugin_volumealsa; then
227 AC_MSG_RESULT([no ALSA headers/libraries found!])
228 plugin_volumealsa=
229 fi
c044bccf 230else
24053345
HJYP
231 dnl force OSS plugin to <null>
232 plugin_volume=
c044bccf 233fi
e64c0317
JH
234if test x"$compile_libiw" = "xno"; then
235 if test ! -z $plugin_netstat; then
236 AC_MSG_RESULT([no libiw headers/libraries found!])
237 fi
238 plugin_netstat=
239fi
22242ed4
HJYP
240PLUGINS_LIST="\
241 $plugin_netstatus \
242 $plugin_netstat \
243 $plugin_volume \
244 $plugin_volumealsa \
245 $plugin_cpu \
246 $plugin_deskno \
247 $plugin_batt \
248 $plugin_xkb"
249
199c3ea8
JH
250AC_SUBST(PLUGINS_LIST)
251
1141e22a 252
a52c2257
HJYP
253# Checks for header files.
254AC_PATH_X
255AC_HEADER_STDC
256AC_HEADER_SYS_WAIT
257AC_CHECK_HEADERS([locale.h stdlib.h string.h sys/time.h unistd.h])
258
259# Checks for typedefs, structures, and compiler characteristics.
260AC_C_CONST
261AC_C_INLINE
262AC_STRUCT_TM
263
264# Checks for library functions.
265AC_FUNC_MALLOC
266AC_FUNC_MEMCMP
267AC_TYPE_SIGNAL
268AC_FUNC_STAT
269AC_FUNC_STRFTIME
270AC_CHECK_FUNCS([bzero memset mkdir setlocale strchr])
271
272
273GETTEXT_PACKAGE=lxpanel
42fe8c5f 274#AM_GNU_GETTEXT([external])
a52c2257
HJYP
275AM_GNU_GETTEXT_VERSION(0.14.1)
276AC_SUBST(GETTEXT_PACKAGE)
277AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
278
a134326c
FC
279#ALL_LINGUAS="zh_TW ko hu sk pl fr pt_BR"
280ALL_LINGUAS="zh_TW ko hu sk pl fr"
a52c2257
HJYP
281AM_GLIB_GNU_GETTEXT
282
283AC_CONFIG_FILES([
24053345
HJYP
284 Makefile
285 src/Makefile
286 src/plugins/Makefile
287 src/plugins/netstatus/Makefile
288 src/plugins/netstat/Makefile
289 src/plugins/volume/Makefile
290 src/plugins/volumealsa/Makefile
291 src/plugins/cpu/Makefile
292 src/plugins/deskno/Makefile
293 src/plugins/batt/Makefile
22242ed4 294 src/plugins/xkb/Makefile
24053345
HJYP
295 po/Makefile.in
296 data/Makefile
cf701cb7 297 data/default/panels/panel
70344206 298 man/Makefile
a52c2257
HJYP
299])
300AC_OUTPUT
199c3ea8 301
24053345 302echo
ce728cd9 303echo lxpanel ......................... : Version $VERSION
199c3ea8
JH
304echo
305echo Prefix........................... : $prefix
306if test x$plugins_loading = xyes; then
307echo Building dynamic plugins:
24053345
HJYP
308 if test x"$plugin_netstatus" != x; then
309 AC_MSG_RESULT([ netstatus - Monitor networking status])
310 fi
311 if test x"$plugin_netstat" != x; then
312 AC_MSG_RESULT([ netstat - Monitor networking status (Linux Only)])
313 fi
314 if test x"$plugin_volume" != x; then
315 AC_MSG_RESULT([ volume - Display and adjust volume of sound card])
316 fi
317 if test x"$plugin_volumealsa" != x; then
318 AC_MSG_RESULT([ volumealsa - Display and adjust volume of sound card for ALSA])
319 fi
320 if test x"$plugin_cpu" != x; then
321 AC_MSG_RESULT([ cpu - Display CPU loading])
322 fi
323 if test x"$plugin_deskno" != x; then
324 AC_MSG_RESULT([ deskno - Display desktop number])
325 fi
326 if test x"$plugin_batt" != x; then
327 AC_MSG_RESULT([ batt - Monitor battery status])
328 fi
22242ed4
HJYP
329 if test x"$plugin_xkb" != x; then
330 AC_MSG_RESULT([ xkb - Keyboard layout switcher])
331 fi
199c3ea8
JH
332else
333echo Dynamic loader for plugins....... : disabled.
334fi