reorganized xmms-related items
[monky] / configure.in
1 AC_INIT([Conky],[1.3.6_CVS_20060107],[brenden1@users.sourceforge.net])
2
3 AM_INIT_AUTOMAKE(conky, 1.3.6_CVS_20060107)
4 AM_CONFIG_HEADER(src/config.h)
5 AC_PROG_LIBTOOL
6
7
8 AC_CONFIG_FILES(
9         Makefile
10         doc/Makefile
11         src/Makefile
12         )
13
14 uname=`uname`
15
16 case $uname in
17   Linux*)
18     WANT_SYSINFO=yes
19     ;;
20   FreeBSD*)
21     WANT_KVM=yes
22     WANT_DEVSTAT=yes
23     ;;
24 #  NetBSD*)
25 #    WANT_KVM=yes
26 #    WANT_OSSLIB=yes
27 #    ;;
28
29 # Solaris doesn't work at all right now
30 #  SunOS*)
31 #    WANT_KSTAT=yes
32 #    ;;
33
34   *)
35     echo "Your operating system $uname isn't supported"
36     echo "Feel free to help. :P"
37     exit 1
38     ;;
39 esac
40
41 AM_CONDITIONAL(BUILD_LINUX, test x$uname = xLinux)
42 AM_CONDITIONAL(BUILD_SOLARIS, test x$uname = xSunOS)
43 AM_CONDITIONAL(BUILD_FREEBSD, test x$uname = xFreeBSD)
44 AM_CONDITIONAL(BUILD_NETBSD, test x$uname = xNetBSD)
45
46 PKG_PROG_PKG_CONFIG([0.17.2])
47
48 dnl
49 dnl XFT option
50 dnl
51
52 want_xft=yes
53 AC_ARG_ENABLE(xft,
54 [  --enable-xft            enable if you want to use Xft [[default=yes]]],
55   [want_xft="$enableval"])
56
57 dnl
58 dnl OWN_WINDOW option
59 dnl
60
61 dah=yes
62 AC_ARG_ENABLE(own_window,
63 [  --enable-own-window     enable if you want support for creating own window [[default=yes]]],
64   [dah="$enableval"])
65
66 if test $dah != "no"; then
67   AC_DEFINE(OWN_WINDOW, 1, [Define if you want support for window creating])
68 fi
69
70 dnl
71 dnl PROC_UPTIME option
72 dnl
73
74 dah=yes
75 AC_ARG_ENABLE(proc_uptime,
76 [  --enable-proc-uptime    enable using /proc/uptime for uptime [[default=yes]]],
77   [dah="$enableval"])
78
79 if test $dah = "yes"; then
80   AC_DEFINE(PROC_UPTIME, 1, [Define if you want to use /proc/uptime for uptime])
81 fi
82
83 dnl
84 dnl XMMS_SUPPORT
85 dnl
86
87 xmms_support=no
88 AC_ARG_ENABLE(xmms-support,
89    [  --enable-xmms-support[[=project]] 
90         Specify the XMMS-related Project: 
91               none:      none [[default]]
92               xmms:      XMMS (version 1) Support
93               bmp:       Beep Media Player (not BMPx) Support 
94               audacious: Audacious (version >= 0.1) Media Player Support
95               infopipe:  XMMS/BMP InfoPipe (version 1.3) Plugin Support ],
96    [xmms_support="$enableval"])
97
98 case x$xmms_support in
99     xnone)
100         ;;
101     xxmms)
102         AC_DEFINE(XMMS, 1, [Define for XMMS support])
103         echo "Sorry, xmms isn't supported yet"
104         exit -1
105         ;;
106     xbmp)
107         PKG_CHECK_MODULES([BMP], [bmp], [])
108         CFLAGS="$CFLAGS $BMP_CFLAGS"
109         LIBS="$LIBS $BMP_LIBS"
110         AC_DEFINE(BMP, 1, [Define for BMP support])
111         ;;
112     xaudacious)
113         PKG_CHECK_MODULES([AUDACIOUS], [audacious >= 0.1])
114         CFLAGS="$CFLAGS $AUDACIOUS_CFLAGS"
115         LIBS="$LIBS $AUDACIOUS_LIBS"
116         AC_DEFINE(AUDACIOUS, 1, [Define for Audacious support])
117         ;;
118     xinfopipe)
119         AC_DEFINE(INFOPIPE, 1, [Define for XMMS/BMP InfoPipe support])
120         ;;
121     *)
122         echo "Error: invalid xmms-status specified: $xmms_support"
123         exit -1
124         ;;
125 esac
126 AM_CONDITIONAL(BUILD_XMMS, test x$xmms_support = xxmms)
127 AM_CONDITIONAL(BUILD_BMP, test x$xmms_support = xbmp)
128 AM_CONDITIONAL(BUILD_AUDACIOUS, test x$xmms_support = xaudacious)
129 AM_CONDITIONAL(BUILD_INFOPIPE, test x$xmms_support = xinfopipe)
130
131 dnl
132 dnl BMPx
133 dnl
134
135 want_bmpx=no
136 AC_ARG_ENABLE(bmpx,
137               [  --enable-bmpx           enable if you want BMPx support [[default=no]]],
138               [want_bmpx="$enableval"])
139
140 AM_CONDITIONAL(BUILD_BMPX, test x$want_bmpx = xyes)
141 if test x$want_bmpx = xyes; then
142         PKG_CHECK_MODULES([DBUS], [dbus-1 >= 0.35 dbus-glib-1 >= 0.35])
143         CFLAGS="$CFLAGS $DBUS_CFLAGS"
144         LIBS="$LIBS $DBUS_LIBS"
145         AC_CHECK_HEADERS([bmpx/dbus.h], [], [BMPX_MISSING=yes])
146         if test "x$BMPX_MISSING" = xyes; then
147                 AC_MSG_ERROR([bmpx doesn't seem to be installed, or the headers aren't available])
148         fi
149         AC_DEFINE(BMPX, 1, [Define if you want BMPx support])
150 fi
151
152 dnl
153 dnl Seti@Home
154 dnl
155
156 want_seti=yes
157 AC_ARG_ENABLE(seti,
158 [  --enable-seti           enable if you want SETI at Home stats [[default=yes]]],
159   [want_seti="$enableval"])
160
161 AM_CONDITIONAL(BUILD_SETI, test x$want_seti = xyes)
162 if test x$want_seti = xyes; then
163   AC_DEFINE(SETI, 1, [Define if you want SETI at Home stats])
164 fi
165
166 dnl
167 dnl MPD
168 dnl
169
170 want_mpd=yes
171 AC_ARG_ENABLE(mpd,
172 [  --enable-mpd            enable if you want MPD support [[default=yes]]],
173   [want_mpd="$enableval"])
174
175 AM_CONDITIONAL(BUILD_MPD, test x$want_mpd = xyes)
176 if test x$want_mpd = xyes; then
177   AC_DEFINE(MPD, 1, [Define if you want MPD support])
178 fi
179
180 dnl
181 dnl PORT_MONITORS
182 dnl
183
184 want_portmon=yes
185 AC_ARG_ENABLE(portmon,
186 [  --enable-portmon        enable if you want tcp (ip4) port monitoring [[default=yes]]],
187   [want_portmon="$enableval"])
188
189 AM_CONDITIONAL(BUILD_PORT_MONITORS, test x$want_portmon = xyes)
190 if test x$want_portmon = xyes; then
191   AC_CHECK_HEADERS([netdb.h netinet/in.h netinet/tcp.h sys/socket.h arpa/inet.h], [], [PORT_MONITORS_MISSING=yes])
192   if test "x$PORT_MONITORS_MISSING" = xyes; then
193          AC_MSG_ERROR([missing a needed network header for port monitoring])
194   fi
195   AC_DEFINE(TCP_PORT_MONITOR, 1, [Define if you want tcp port monitoring support])
196 fi
197
198 dnl
199 dnl Cairo
200 dnl
201
202 dnl
203 dnl MLDonkey
204 dnl
205
206 want_mldonkey=no
207 AC_ARG_ENABLE(mldonkey,
208 [  --enable-mldonkey       enable if you want MLDonkey support [[default=no]]],
209   [want_mldonkey="$enableval"])
210
211 AM_CONDITIONAL(BUILD_MLDONKEY, test x$want_mldonkey = xyes)
212 if test x$want_mldonkey = xyes; then
213   AC_DEFINE(MLDONKEY, 1, [Define if you want MLDonkey support])
214 fi
215
216 dnl
217 dnl C Compiler
218 dnl
219
220 AC_PROG_CC
221
222 dnl
223 dnl X
224 dnl
225
226 dah=yes
227 AC_ARG_ENABLE(double_buffer,
228 [  --enable-double-buffer  enable if you want to support flicker-free operation [[default=yes]]],
229   [dah="$enableval"])
230
231 want_x11=yes
232 AC_ARG_ENABLE(x11,
233 [  --enable-x11            enable if you want X11 support [[default=yes]]],
234  [want_x11="$enableval"])
235
236
237 if test "x$want_x11" = "xyes"; then
238         AC_PATH_X
239         AC_PATH_XTRA
240         CFLAGS="$CFLAGS $X_CFLAGS"
241         LIBS="$LIBS $X_LIBS $X11_LIBS"
242         LDFLAGS="$LDFLAGS $LIBS $X_PRE_LIBS"
243         if test "x$X_DISPLAY_MISSING" = xyes; then
244                 AC_MSG_ERROR([something went wrong when checking for X11, you're probably missing headers or it's not installed, either re-run configure with --disable-x11, or fix this])
245         fi
246         AC_DEFINE(X11, 1, [Define if you want to use X11])
247         AC_DEFINE(HAVE_X11, 1, [Define if you have X11])
248         AM_CONDITIONAL(BUILD_X11, true)
249         if test $dah != "no"; then
250                 AC_DEFINE(DOUBLE_BUFFER, 1, [Define if you want support for the DBE extension])
251                 AC_CHECK_LIB(Xext, XdbeQueryExtension, [AC_DEFINE([HAVE_XDBE], 1, [Xdbe]) LIBS="$LIBS -lXext"],
252                      [AC_MSG_ERROR([something went wrong when checking for Xdbe (double buffer extension)])])
253         fi
254 else
255         AM_CONDITIONAL(BUILD_X11, false)
256 fi
257
258 dnl
259 dnl Xft
260 dnl
261
262 if test x$want_xft && test x$want_x11; then
263   AC_PATH_PROG(XFTCONFIG, xft-config)
264   if test x$XFTCONFIG != x; then
265     dnl TODO: needs more checks
266   
267 dnl This won't work for some reason
268 dnl  AC_CHECK_HEADERS([X11/Xft/Xft.h], [], [XFT_MISSING=yes])
269     if test "x$XFT_MISSING" = xyes; then
270       AC_MSG_ERROR([something went wrong when checking for Xft, you're probably missing headers or it's not installed])
271   fi
272
273     AC_DEFINE(XFT, 1, [Define if you are using Xft])
274     CFLAGS="$CFLAGS `$XFTCONFIG --cflags`"
275     XFT_LIBS=`$XFTCONFIG --libs`
276   else
277     want_xft=no
278   fi
279 fi
280
281 dnl
282 dnl KVM
283 dnl
284
285 if test x$WANT_KVM = xyes; then
286   AC_CHECK_LIB(kvm, kvm_open,
287         LIBS="$LIBS -lkvm",
288         AC_MSG_ERROR([Could not find kvm_open in -lkvm.])
289   )
290 fi
291
292 dnl
293 dnl devstat
294 dnl
295
296 if test x$WANT_DEVSTAT = xyes; then
297         AC_CHECK_LIB(devstat, devstat_getversion,
298                      LIBS="$LIBS -ldevstat",
299                      AC_MSG_ERROR([Cound not find devstat_getversion in -ldevstat.])
300         )
301 fi
302
303 dnl
304 dnl OSSLIB for NetBSD
305 dnl
306
307 if test x$WANT_OSSLIB = xyes; then
308     AC_CHECK_LIB(ossaudio, _oss_ioctl,
309         LIBS="$LIBS -lossaudio",
310         AC_MSG_ERROR([Could not find oss_ioctl in -lossaudio.])
311     )
312 fi
313
314 dnl
315 dnl Some random headers
316 dnl
317
318
319 AC_CHECK_HEADERS([signal.h unistd.h sys/utsname.h sys/stat.h linux/soundcard.h dirent.h mcheck.h])
320 AC_CHECK_HEADERS([sys/statfs.h sys/param.h])
321 AC_CHECK_HEADERS([sys/mount.h], [], [],
322                  [#ifdef HAVE_SYS_PARAM_H
323                   #include <sys/param.h>
324                   #endif
325 ])
326
327 dnl
328 dnl Check doc stuff
329 dnl
330
331 AC_CHECK_PROGS(db2x_xsltproc_cmd, db2x_xsltproc)
332 AC_CHECK_PROGS(db2x_manxml_cmd, db2x_manxml)
333 AC_CHECK_PROGS(xsltproc_cmd, xsltproc)
334 if test x$db2x_xsltproc_cmd = "x" -o x$xsltproc_cmd = "x"; then
335         AM_CONDITIONAL(HAVE_DOCSTUFF, false)
336 else
337         AM_CONDITIONAL(HAVE_DOCSTUFF, true)
338 fi
339
340 dnl
341 dnl Check sysinfo()
342 dnl
343
344 if test x$WANT_SYSINFO = xyes; then
345   dah=no
346   AC_MSG_CHECKING(for sysinfo)
347   AC_TRY_COMPILE(
348     [#include <sys/types.h>
349      #include <sys/sysinfo.h>],
350     [struct sysinfo s; sysinfo(&s); (void) s.uptime; ],
351     [AC_MSG_RESULT(yes); dah=yes],
352     [AC_MSG_RESULT(not usable); dah=no])
353
354   if test x$dah = xyes; then
355     AC_DEFINE(HAVE_SYSINFO, 1, [Define if you have sysinfo (Linux)])
356   fi
357 fi
358
359 dnl
360 dnl kstat in Solaris
361 dnl
362
363 if test x$WANT_KSTAT = xyes; then
364   dah=no
365   AC_CHECK_LIB([kstat], [kstat_open], [dah=yes], [])
366
367   if test x$dah = xyes; then
368     AC_DEFINE(HAVE_KSTAT, 1, [Define if you have kstat (Solaris)])
369     LDFLAGS="$LDFLAGS -lkstat"
370   fi
371 fi
372
373 AC_DEFUN([AM_LANGINFO_CODESET],
374 [
375   AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
376     [AC_TRY_LINK([#include <langinfo.h>],
377       [char* cs = nl_langinfo(CODESET);],
378       am_cv_langinfo_codeset=yes,
379       am_cv_langinfo_codeset=no)
380     ])
381   if test $am_cv_langinfo_codeset = yes; then
382     AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
383       [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
384   fi
385 ])
386
387 dnl
388 dnl Check getloadavg
389 dnl
390
391 AC_MSG_CHECKING(for getloadavg)
392 AC_TRY_COMPILE(
393   [#include <stdlib.h>],
394   [double v[3]; getloadavg(v, 3);],
395   [AC_MSG_RESULT(yes)
396    AC_DEFINE(HAVE_GETLOADAVG, 1, [Define if you have getloadavg])],
397   [AC_MSG_RESULT(no)])
398
399 dnl
400 dnl Check popen
401 dnl
402
403 AC_CHECK_FUNCS(popen)
404
405 dnl
406 dnl Da.
407 dnl
408
409 CFLAGS="$CFLAGS -Wall -W"
410
411 AC_SUBST(CFLAGS)
412 AC_SUBST(X11_LIBS)
413 AC_SUBST(XFT_LIBS)
414
415 AC_OUTPUT