switched from wpitchoune@gmail.com to jeanfi@gmail.com (my usual email)
[psensor.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ([2.64])
5 AC_INIT([psensor], [0.6.2.8],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor])
6
7 AM_INIT_AUTOMAKE([-Wall -Werror gnu])
8
9 AC_CONFIG_SRCDIR([src/compat.h])
10 AC_CONFIG_HEADERS([config.h])
11
12 # Checks for programs.
13 AC_PROG_CC
14 AM_PROG_CC_C_O
15
16 # Checks lib build
17 AC_PROG_RANLIB
18
19 # Checks for header files.
20 AC_PATH_X
21 AC_CHECK_HEADERS([arpa/inet.h netinet/in.h stdint.h stdlib.h string.h sys/socket.h sys/time.h unistd.h getopt.h])
22
23 # Checks for typedefs, structures, and compiler characteristics.
24 AC_TYPE_SIZE_T
25 AC_TYPE_SSIZE_T
26
27 # Checks for library functions.
28 AC_FUNC_MALLOC
29 AC_FUNC_REALLOC
30 AC_CHECK_FUNCS([gettimeofday memmove socket strdup strtol])
31
32 AM_GNU_GETTEXT_VERSION([0.16])
33 AM_GNU_GETTEXT([external])
34
35 ############### common 
36
37 # Checks sensors, required by psensor and psensor-server
38 AC_CHECK_LIB(sensors, sensors_init)
39 AC_CHECK_HEADERS([sensors/sensors.h sensors/errors.h])
40 SENSORS_LIBS=-lsensors
41 AC_SUBST(SENSORS_LIBS)
42
43 ############### psensor 
44
45 ### Required
46
47 PKG_CHECK_MODULES(X11, x11)
48 AC_SUBST(X11_CFLAGS)
49 AC_SUBST(X11_LIBS)
50
51 PKG_CHECK_MODULES(XEXT, xext)
52 AC_SUBST(XEXT_CFLAGS)
53 AC_SUBST(XEXT_LIBS)
54
55 # Checks GTK 
56 PKG_CHECK_MODULES(GTK, gtk+-2.0 )
57 AC_SUBST(GTK_CFLAGS)
58 AC_SUBST(GTK_LIBS)
59
60 # Check GCONF
61 PKG_CHECK_MODULES(GCONF, gconf-2.0)
62 AC_SUBST(GCONF_CFLAGS)
63 AC_SUBST(GCONF_LIBS)
64
65 ### Optional
66
67 # Check libnotify
68 LIBNOTIFY_LIBS=
69 PKG_CHECK_MODULES(LIBNOTIFY, 
70   libnotify, 
71   [AC_DEFINE([HAVE_LIBNOTIFY],[1],[Use desktop notification])], 
72   [AC_MSG_WARN("Desktop notification disabled")])
73 AM_CONDITIONAL(LIBNOTIFY, test -n "$LIBNOTIFY_LIBS")
74 AC_SUBST(LIBNOTIFY_CFLAGS)
75 AC_SUBST(LIBNOTIFY_LIBS)
76
77 # Checks AppIndicator 
78 APPINDICATOR_LIBS=
79 PKG_CHECK_MODULES(APPINDICATOR, 
80      appindicator-0.1 = 0.2.9 , 
81      [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator 0.2.9])
82       AC_DEFINE([HAVE_APPINDICATOR_029],[1],[Use AppIndicator 0.2.9])
83      ],
84      [AC_MSG_WARN(AppIndicator 0.2.9 not present")])
85
86 if test "$APPINDICATOR_LIBS" == ""; then
87    PKG_CHECK_MODULES(APPINDICATOR, 
88      appindicator-0.1 > 0.2.9, 
89      [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator > 0.2.9])], 
90      [AC_MSG_WARN("AppIndicator > 0.2.9 not present")])
91 fi
92 AM_CONDITIONAL(APPINDICATOR, test -n "$APPINDICATOR_LIBS")
93 AC_SUBST(APPINDICATOR_CFLAGS)
94 AC_SUBST(APPINDICATOR_LIBS)
95
96 # Check CURL, needed for remote monitoring
97 CURL_LIBS=
98 PKG_CHECK_MODULES(CURL, 
99   libcurl, 
100   [AC_DEFINE([HAVE_CURL],[1],[Use CURL])], 
101   [AC_MSG_WARN("Remote monitoring disabled, curl missing")])
102 AM_CONDITIONAL(CURL, test -n "$CURL_LIBS")
103 AC_SUBST(CURL_CFLAGS)
104 AC_SUBST(CURL_LIBS)
105
106 # Check JSON, needed for remote monitoring
107 JSON_LIBS=
108 PKG_CHECK_MODULES(JSON, 
109   json, 
110   [AC_DEFINE([HAVE_JSON],[1],[Use JSON])], 
111   [AC_MSG_WARN("Remote monitoring disabled, json missing")])
112 AM_CONDITIONAL(JSON, test -n "$JSON_LIBS")
113 AC_SUBST(JSON_CFLAGS)
114 AC_SUBST(JSON_LIBS)
115
116 # Enables remote monitoring if JSON and CURL is present
117 if test -n "$JSON_LIBS"; then
118    if test -n "$CURL_LIBS"; then
119    AC_DEFINE([HAVE_REMOTE_SUPPORT],[1],[Remote monitoring enabled])
120    fi
121 fi
122
123 # Checks NVIDIA
124 # following code from sensors-applet
125 # sensors-applet.sourceforge.net/
126 AC_CHECK_HEADERS(NVCtrl/NVCtrl.h NVCtrl/NVCtrlLib.h, 
127                  [ HAVE_NVIDIA=true ], [], 
128                  [ 
129                   #include <X11/Xlib.h>
130                  ])
131 if test -n "${X11_LIBS}"; then
132 LIBS="${LIBS} -lX11 -lXext"
133
134 if test "${HAVE_NVIDIA}" = "true"; then
135   AC_CHECK_LIB(XNVCtrl,XNVCTRLQueryExtension, 
136                  [NVIDIA_LIBS="-lXNVCtrl -lX11 -lXext" 
137                   AC_DEFINE(HAVE_NVIDIA,1,[NVidia support enabled])
138                  ])                     
139 fi
140 fi
141 AM_CONDITIONAL(NVIDIA, test -n "$NVIDIA_LIBS")
142 AC_SUBST(NVIDIA_CFLAGS)
143 AC_SUBST(NVIDIA_LIBS)
144
145 # Checks Unity
146 PKG_CHECK_MODULES(UNITY, 
147                   unity >= 3.4.2,
148                   [AC_DEFINE([HAVE_UNITY],[1],[Use Unity])], 
149                   [AC_MSG_WARN(Unity not present)])
150 AC_SUBST(UNITY_CFLAGS)
151 AC_SUBST(UNITY_LIBS)
152 AM_CONDITIONAL(UNITY, test -n "$UNITY_LIBS")
153
154 ############### psensor-server
155
156 # Checks Lua 5.1 
157 LUA_LIBS=
158 PKG_CHECK_MODULES(LUA, 
159   lua, 
160   [AC_DEFINE([HAVE_LUA],[1],[Use Lua])], 
161   [AC_MSG_WARN(Lua not present, checks Lua5.1)])
162
163 # Ubuntu pkg module is lua5.1 not lua
164 if test "$LUA_LIBS" == ""; then
165    PKG_CHECK_MODULES(LUA, 
166      lua5.1, 
167      [AC_DEFINE([HAVE_LUA],[1],[Use Lua5.1])], 
168      [AC_MSG_WARN(Lua5.1 not present, psensor-server will NOT be built")])
169 fi
170 AM_CONDITIONAL(LUA, test -n "$LUA_LIBS")
171 AC_SUBST(LUA_CFLAGS)
172 AC_SUBST(LUA_LIBS)
173
174 # libmicrohttpd, mandatory for psensor-server
175 LIBMICROHTTPD_LIBS=
176 PKG_CHECK_MODULES(LIBMICROHTTPD, 
177   libmicrohttpd, 
178   [AC_DEFINE([HAVE_LIBMICROHTTPD],[1],[Use libmicrohttpd])], 
179   [AC_MSG_WARN("libmicrohttpd not present, psensor-server will NOT be built")])
180 AM_CONDITIONAL(LIBMICROHTTPD, test -n "$LIBMICROHTTPD_LIBS")
181 AC_SUBST(LIBMICROHTTPD_CFLAGS)
182 AC_SUBST(LIBMICROHTTPD_LIBS)
183
184 # GTop, optional
185
186 AC_ARG_WITH(gtop,
187 [  --with-gtop[=yes|no]   use gtop],[
188         with_gtop=$withval],[
189         with_gtop="yes"
190 ])
191
192 GTOP_LIBS=
193 if test "$with_gtop" = "yes"; then
194 PKG_CHECK_MODULES(GTOP, 
195   libgtop-2.0, 
196   [AC_DEFINE([HAVE_GTOP],[1],[Use GTOP])], 
197   [AC_MSG_WARN("gtop not present, CPU/Memory information will NOT be available")])
198 fi
199 AM_CONDITIONAL(GTOP, test -n "$GTOP_LIBS")
200 AC_SUBST(GTOP_CFLAGS)
201 AC_SUBST(GTOP_LIBS)
202
203 AC_CONFIG_FILES([
204  Makefile
205  src/Makefile
206  src/glade/Makefile
207  src/plib/Makefile
208  src/lib/Makefile
209  src/unity/Makefile
210  src/libpsensor_json/Makefile
211  src/server/Makefile
212  pixmaps/scalable/Makefile
213  pixmaps/48x48/Makefile
214  www/Makefile
215  po/Makefile.in
216  tests/Makefile
217 ])
218
219 AC_CHECK_PROGS([HELP2MAN], [help2man])
220
221 AC_OUTPUT