configure fix, again
[monky] / configure.in
1 AC_INIT(conky.c)
2
3 AM_INIT_AUTOMAKE(conky, 1.3)
4 AM_CONFIG_HEADER(config.h)
5
6 uname=`uname`
7
8 case $uname in
9   Linux*)
10     WANT_SYSINFO=yes
11     ;;
12   FreeBSD*)
13     WANT_KVM=yes
14     ;;
15   NetBSD*)
16     WANT_KVM=yes
17     WANT_OSSLIB=yes
18     ;;
19 # Solaris doesn't work at all right now
20
21 #  SunOS*)
22 #    WANT_KSTAT=yes
23 #    ;;
24
25   *)
26     echo "Your operating system $uname isn't supported"
27     echo "Feel free to help. :P"
28     exit 1
29     ;;
30 esac
31
32 AM_CONDITIONAL(BUILD_LINUX, test x$uname = xLinux)
33 AM_CONDITIONAL(BUILD_SOLARIS, test x$uname = xSunOS)
34 AM_CONDITIONAL(BUILD_FREEBSD, test x$uname = xFreeBSD)
35 AM_CONDITIONAL(BUILD_NETBSD, test x$uname = xNetBSD)
36
37 dnl
38 dnl XFT option
39 dnl
40
41 want_xft=no
42 AC_ARG_ENABLE(xft,
43 [  --enable-xft            enable if you want to use Xft [default=no]],
44   [want_xft="$enableval"])
45
46 dnl
47 dnl OWN_WINDOW option
48 dnl
49
50 dah=yes
51 AC_ARG_ENABLE(own_window,
52 [  --enable-own-window     enable if you want support for creating own window [default=yes]],
53   [dah="$enableval"])
54
55 if test $dah != "no"; then
56   AC_DEFINE(OWN_WINDOW, 1, [Define if you want support for window creating])
57 fi
58
59 dnl
60 dnl DOUBLE_BUFFER option
61 dnl
62
63 dah=yes
64 AC_ARG_ENABLE(double_buffer,
65 [  --enable-double-buffer  enable if you want to support flicker-free operation [default=yes]],
66   [dah="$enableval"])
67
68 if test $dah != "no"; then
69   AC_DEFINE(DOUBLE_BUFFER, 1, [Define if you want support for the DBE extension])
70   AC_CHECK_HEADERS([X11/extensions/Xdbe.h], [AC_DEFINE([HAVE_XDBE], 1, [Xdbe])], [XDBE_MISSING=yes])
71   if test "x$XDBE_MISSING" = xyes; then
72       AC_MSG_ERROR([something went wrong when checking for Xdbe (double buffer extension])
73   fi
74 fi
75
76 dnl
77 dnl PROC_UPTIME option
78 dnl
79
80 dah=no
81 AC_ARG_ENABLE(proc_uptime,
82 [  --enable-proc-uptime    enable using /proc/uptime for uptime [default=no]],
83   [dah="$enableval"])
84
85 if test $dah = "yes"; then
86   AC_DEFINE(PROC_UPTIME, 1, [Define if you want to use /proc/uptime for uptime])
87 fi
88
89 dnl
90 dnl Seti@Home
91 dnl
92
93 want_seti=no
94 AC_ARG_ENABLE(seti,
95 [  --enable-seti           enable if you want SETI at Home stats [default=no]],
96   [want_seti="$enableval"])
97
98 AM_CONDITIONAL(BUILD_SETI, test x$want_seti == xyes)
99 if test x$want_seti == xyes; then
100   AC_DEFINE(SETI, 1, [Define if you want SETI at Home stats])
101 fi
102
103 dnl
104 dnl MPD
105 dnl
106
107 want_mpd=no
108 AC_ARG_ENABLE(mpd,
109 [  --enable-mpd           enable if you want MPD support [default=no]],
110   [want_mpd="$enableval"])
111
112 AM_CONDITIONAL(BUILD_MPD, test x$want_mpd == xyes)
113 if test x$want_mpd == xyes; then
114   AC_DEFINE(MPD, 1, [Define if you want MPD support])
115 fi
116
117 dnl
118 dnl Cairo
119 dnl
120
121 want_cairo=no
122 AC_ARG_ENABLE(cairo,
123 [  --enable-cairo           enable if you want Cairo support [default=no]],
124   [want_cairo="$enableval"])
125
126 AM_CONDITIONAL(BUILD_CAIRO, test x$want_cairo == xyes)
127
128
129 if test "$want_cairo" = "yes"; then
130   AC_CHECK_HEADERS([cairo.h cairo-xlib.h], [], [CAIRO_MISSING=yes])
131     if test "x$CAIRO_MISSING" = xyes; then
132       AC_MSG_ERROR([something went wrong when checking for cairo, you're probably missing headers or it's not installed])
133   fi
134   AC_PATH_PROG(CAIROCONFIG, pkg-config)
135   if test x$CAIROCONFIG != x; then
136     dnl TODO: needs more checks
137
138     AC_DEFINE(CAIRO, 1, [Define if you are using Cairo])
139     CFLAGS="$CFLAGS `$CAIROCONFIG --cflags cairo` `$CAIROCONFIG --libs cairo` "
140     CAIRO_LIBS="`$CAIROCONFIG --libs cairo` `$CAIROCONFIG --cflags cairo`"
141   else
142     want_cairo=no
143   fi
144 fi
145
146 dnl metar
147 dnl
148
149 want_metar=no
150 AC_ARG_ENABLE(metar,
151 [  --enable-metar       enable if you want metar stats (weather information) [default=no]],
152   [want_metar="$enableval"])
153
154 AM_CONDITIONAL(BUILD_METAR, test x$want_metar == xyes)
155 if test x$want_metar == xyes; then
156 AC_CHECK_HEADERS([metar.h], [], [METAR_MISSING=yes])
157     if test "x$METAR_MISSING" = xyes; then
158       AC_MSG_ERROR([something went wrong when checking for mdsplib, you're probably missing headers or it's not installed])
159   fi
160   AC_DEFINE(METAR, 1, [Define if you want metar stats (weather information)])
161 fi
162 dnl
163
164
165
166 dnl
167 dnl MLDonkey
168 dnl
169
170 want_mldonkey=no
171 AC_ARG_ENABLE(mldonkey,
172 [  --enable-mldonkey       enable if you want MLDonkey support [default=no]],
173   [want_mldonkey="$enableval"])
174
175 AM_CONDITIONAL(BUILD_MLDONKEY, test x$want_mldonkey == xyes)
176 if test x$want_mldonkey == xyes; then
177   AC_DEFINE(MLDONKEY, 1, [Define if you want MLDonkey support])
178 fi
179
180 dnl
181 dnl C Compiler
182 dnl
183
184 AC_PROG_CC
185
186 dnl
187 dnl X
188 dnl
189
190 want_x11=yes
191 AC_ARG_ENABLE(x11,
192 [  --enable-x11       enable if you want X11 support [default=yes]],
193   [want_x11="$enableval"])
194
195
196 AM_CONDITIONAL(BUILD_X11, test x$want_x11 == xyes)
197 if test x$want_x11 == xyes; then
198 AC_PATH_X
199 AC_CHECK_HEADERS([X11/Xlib.h], [], [X11_MISSING=yes])
200 AC_CHECK_LIB([X11], [XOpenDisplay], [X11_LIBS="-lX11"], [], [[-L$x_libraries]])
201 AC_CHECK_LIB([Xext], [XdbeQueryExtension], [
202    X11_LIBS="$X11_LIBS -lXext"
203    AC_DEFINE(HAVE_LIBXEXT, 1, [Define if you have libXext])
204  ], [], [[-L$x_libraries $X11_LIBS]])
205     if test "x$X11_MISSING" = xyes; then
206       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])
207   fi
208   AC_DEFINE(X11, 1, [Define if you want to use X11])
209   AC_DEFINE(HAVE_X11, 1, [Define if you have X11])
210 fi
211 dnl AC_PATH_X if test $have_x != "yes"; then
212 dnl   echo "Sorry, X is very much needed"
213 dnl   exit 1
214 dnl fi
215 dnl AC_DEFINE(HAVE_X11, 1, [Define if you have X11])
216
217 AC_CHECK_LIB([X11], [XOpenDisplay], [X11_LIBS="-lX11"], [], [[-L$x_libraries]])
218 AC_CHECK_LIB([Xext], [XdbeQueryExtension], [
219    X11_LIBS="$X11_LIBS -lXext"
220    AC_DEFINE(HAVE_LIBXEXT, 1, [Define if you have libXext])
221  ], [], [[-L$x_libraries $X11_LIBS]])
222
223 if test "$x_libraries" != ""; then
224   LDFLAGS="$LDFLAGS -L$x_libraries"
225 fi
226
227 if test "$x_includes" != ""; then
228   CFLAGS="$CFLAGS -Wall -I$x_includes"
229 fi
230
231 dnl
232 dnl Xft
233 dnl
234
235 if test "$want_xft" = "yes"; then
236   AC_PATH_PROG(XFTCONFIG, xft-config)
237   if test x$XFTCONFIG != x; then
238     dnl TODO: needs more checks
239   
240 dnl This won't work for some reason
241 dnl  AC_CHECK_HEADERS([X11/Xft/Xft.h], [], [XFT_MISSING=yes])
242     if test "x$XFT_MISSING" = xyes; then
243       AC_MSG_ERROR([something went wrong when checking for Xft, you're probably missing headers or it's not installed])
244   fi
245
246     AC_DEFINE(XFT, 1, [Define if you are using Xft])
247     CFLAGS="$CFLAGS `$XFTCONFIG --cflags`"
248     XFT_LIBS=`$XFTCONFIG --libs`
249   else
250     want_xft=no
251   fi
252 fi
253
254 dnl
255 dnl KVM
256 dnl
257
258 if test x$WANT_KVM = xyes; then
259   AC_CHECK_LIB(kvm, kvm_open,
260         LIBS="$LIBS -lkvm",
261         AC_MSG_ERROR([Could not find kvm_open in -lkvm.])
262   )
263 fi
264
265 dnl
266 dnl OSSLIB for NetBSD
267 dnl
268
269 if test x$WANT_OSSLIB = xyes; then
270     AC_CHECK_LIB(ossaudio, _oss_ioctl,
271         LIBS="$LIBS -lossaudio",
272         AC_MSG_ERROR([Could not find oss_ioctl in -lossaudio.])
273     )
274 fi
275
276 dnl
277 dnl Some random headers
278 dnl
279
280
281 AC_CHECK_HEADERS([signal.h unistd.h X11/Xlib.h sys/utsname.h sys/stat.h linux/soundcard.h dirent.h])
282 AC_CHECK_HEADERS([sys/statfs.h sys/param.h sys/mount.h])
283 dnl For cairo
284
285 dnl
286 dnl Check help2man
287 dnl
288
289 AC_PATH_PROG(HELP2MAN, help2man)
290 AM_CONDITIONAL(HAVE_HELP2MAN, test x$HELP2MAN != x)
291
292 dnl
293 dnl Check sysinfo()
294 dnl
295
296 if test x$WANT_SYSINFO = xyes; then
297   dah=no
298   AC_MSG_CHECKING(for sysinfo)
299   AC_TRY_COMPILE(
300     [#include <sys/types.h>
301      #include <sys/sysinfo.h>],
302     [struct sysinfo s; sysinfo(&s); (void) s.uptime; ],
303     [AC_MSG_RESULT(yes); dah=yes],
304     [AC_MSG_RESULT(not usable); dah=no])
305
306   if test x$dah = xyes; then
307     AC_DEFINE(HAVE_SYSINFO, 1, [Define if you have sysinfo (Linux)])
308   fi
309 fi
310
311 dnl
312 dnl kstat in Solaris
313 dnl
314
315 if test x$WANT_KSTAT = xyes; then
316   dah=no
317   AC_CHECK_LIB([kstat], [kstat_open], [dah=yes], [])
318
319   if test x$dah = xyes; then
320     AC_DEFINE(HAVE_KSTAT, 1, [Define if you have kstat (Solaris)])
321     LDFLAGS="$LDFLAGS -lkstat"
322   fi
323 fi
324
325 AC_DEFUN([AM_LANGINFO_CODESET],
326 [
327   AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
328     [AC_TRY_LINK([#include <langinfo.h>],
329       [char* cs = nl_langinfo(CODESET);],
330       am_cv_langinfo_codeset=yes,
331       am_cv_langinfo_codeset=no)
332     ])
333   if test $am_cv_langinfo_codeset = yes; then
334     AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
335       [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
336   fi
337 ])
338
339 dnl
340 dnl Check getloadavg
341 dnl
342
343 AC_MSG_CHECKING(for getloadavg)
344 AC_TRY_COMPILE(
345   [#include <stdlib.h>],
346   [double v[3]; getloadavg(v, 3);],
347   [AC_MSG_RESULT(yes)
348    AC_DEFINE(HAVE_GETLOADAVG, 1, [Define if you have getloadavg])],
349   [AC_MSG_RESULT(no)])
350
351 dnl
352 dnl Check popen
353 dnl
354
355 AC_CHECK_FUNCS(popen)
356
357 dnl
358 dnl Da.
359 dnl
360
361 CFLAGS="$CFLAGS -Wall -W"
362
363 AC_SUBST(CFLAGS)
364 AC_SUBST(X11_LIBS)
365 AC_SUBST(XFT_LIBS)
366
367 AC_OUTPUT(Makefile)