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