Imported Upstream version 1.1.5
[psensor-pkg-ubuntu.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ([2.69])
5 AC_INIT([psensor], [1.1.5],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor])
6
7 AM_INIT_AUTOMAKE([-Wall gnu])
8
9 AC_CONFIG_SRCDIR([src/ui.c])
10 AC_CONFIG_HEADERS([config.h])
11
12 # m4
13 AC_CONFIG_MACRO_DIR([m4])
14
15 # Checks for programs.
16 AC_PROG_CC
17 AM_PROG_CC_C_O
18
19 AC_SYS_LARGEFILE
20
21 # Checks lib build
22 AC_PROG_RANLIB
23 AM_PROG_AR
24
25 # Checks for header files.
26 AC_PATH_X
27 AC_CHECK_HEADERS([stdbool.h])
28
29 AM_GNU_GETTEXT_VERSION([0.16])
30 AM_GNU_GETTEXT([external])
31
32 # Gsettings
33 GLIB_GSETTINGS
34
35 ############### common 
36
37 # Checks pthread
38 AC_CHECK_LIB(pthread, pthread_create)
39 PTHREAD_LIBS=-pthread
40 AC_SUBST(PTHREAD_LIBS)
41
42 # Checks sensors, required by psensor and psensor-server
43 AC_CHECK_LIB(sensors, sensors_init)
44 AC_CHECK_HEADERS([sensors/sensors.h sensors/error.h])
45 SENSORS_LIBS=-lsensors
46 AC_SUBST(SENSORS_LIBS)
47
48 ############### psensor 
49
50 ### Required
51
52 PKG_CHECK_MODULES(X11, x11,,[AC_MSG_WARN("x11 missing psensor will not be built")])
53 AM_CONDITIONAL(X11, test -n "$X11_LIBS")
54 AC_SUBST(X11_CFLAGS)
55 AC_SUBST(X11_LIBS)
56
57 PKG_CHECK_MODULES(XEXT, xext,,[AC_MSG_WARN("xext missing psensor will not be built")])
58 AM_CONDITIONAL(XEXT, test -n "$XEXT_LIBS")
59 AC_SUBST(XEXT_CFLAGS)
60 AC_SUBST(XEXT_LIBS)
61
62 # Check GTK+ 3.0
63 PKG_CHECK_MODULES(GTK,
64                   [gtk+-3.0 >= 3.4],,
65                   [AC_MSG_WARN("gtk missing psensor will not be built")])
66 AM_CONDITIONAL(GTK, test -n "$GTK_LIBS")
67 # ensure that only allowed headers are included
68 GTK_CFLAGS+=" -DGTK_DISABLE_SINGLE_INCLUDES "
69 # ensure that no gtk/dk deprecated symbols are used
70 GTK_CFLAGS+=" -DGDK_DISABLE_DEPRECATED "
71 # do not enable flag because GtkStatusIcon is deprecated
72 #GTK_CFLAGS+=" -DGTK_DISABLE_DEPRECATED "
73 # ensure use of accessors
74 GTK_CFLAGS+=" -DGSEAL_ENABLE "
75 AC_SUBST(GTK_CFLAGS)
76 AC_SUBST(GTK_LIBS)
77
78 # Check udisks2
79 PKG_CHECK_MODULES(LIBUDISKS2,
80                   udisks2,
81                   [AC_DEFINE([HAVE_LIBUDISKS2],[1],[Use libudisks])],
82                   [AC_MSG_WARN("Library udisks2 not present")])
83 AM_CONDITIONAL(LIBUDISKS2, test -n "$LIBUDISKS2_LIBS")
84 AC_SUBST(LIBUDISKS2_CFLAGS)
85 AC_SUBST(LIBUDISKS2_LIBS)
86
87 # Check libatasmart
88 PKG_CHECK_MODULES(ATASMART, libatasmart,
89                   [AC_DEFINE([HAVE_ATASMART],[1],[Use libatasmart])],
90                   [AC_MSG_WARN("Library atasmart not present")])
91
92 AM_CONDITIONAL(ATASMART, test -n "$ATASMART_LIBS")
93 AC_SUBST(ATASMART_CFLAGS)
94 AC_SUBST(ATASMART_LIBS)
95
96 # Check libnotify
97 LIBNOTIFY_LIBS=
98 PKG_CHECK_MODULES(LIBNOTIFY, 
99   libnotify, 
100   [AC_DEFINE([HAVE_LIBNOTIFY],[1],[Use desktop notification])], 
101   [AC_MSG_WARN("Desktop notification disabled")])
102 AM_CONDITIONAL(LIBNOTIFY, test -n "$LIBNOTIFY_LIBS")
103 AC_SUBST(LIBNOTIFY_CFLAGS)
104 AC_SUBST(LIBNOTIFY_LIBS)
105
106 # Checks AppIndicator 
107 APPINDICATOR_LIBS=
108
109 PKG_CHECK_MODULES(APPINDICATOR, appindicator3-0.1,
110      [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator3-0.1])],
111      [AC_MSG_WARN(AppIndicator 3-0.1 not present")])
112
113 if test "$APPINDICATOR_LIBS" == ""; then
114    PKG_CHECK_MODULES(APPINDICATOR, 
115      appindicator-0.1 <= 0.2.9 , 
116      [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator 0.2.9])
117       AC_DEFINE([HAVE_APPINDICATOR_029],[1],[Use AppIndicator 0.2.9])
118      ],
119      [AC_MSG_WARN(AppIndicator 0.2.9 not present")])
120 fi
121
122 if test "$APPINDICATOR_LIBS" == ""; then
123    PKG_CHECK_MODULES(APPINDICATOR, 
124      appindicator-0.1 > 0.2.9, 
125      [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator > 0.2.9])], 
126      [AC_MSG_WARN("AppIndicator > 0.2.9 not present")])
127 fi
128 AM_CONDITIONAL(APPINDICATOR, test -n "$APPINDICATOR_LIBS")
129 AC_SUBST(APPINDICATOR_CFLAGS)
130 AC_SUBST(APPINDICATOR_LIBS)
131
132 # Check CURL, needed for remote monitoring
133 CURL_LIBS=
134 PKG_CHECK_MODULES(CURL, 
135   libcurl, 
136   [AC_DEFINE([HAVE_CURL],[1],[Use CURL])], 
137   [AC_MSG_WARN("Remote monitoring disabled, curl missing")])
138 AM_CONDITIONAL(CURL, test -n "$CURL_LIBS")
139 AC_SUBST(CURL_CFLAGS)
140 AC_SUBST(CURL_LIBS)
141
142 # Check JSON, needed for remote monitoring
143 JSON_LIBS=
144 PKG_CHECK_MODULES(JSON, 
145                   json-c >= 0.11.99,
146                   [AC_DEFINE([HAVE_JSON],[1],[Use JSON])], 
147                   [AC_MSG_WARN("json-c missing")])
148
149 if test "$JSON_LIBS" == ""; then
150 PKG_CHECK_MODULES(JSON, 
151                   json >= 0.11.99,
152                   [AC_DEFINE([HAVE_JSON],[1],[Use JSON])
153                    AC_DEFINE([HAVE_JSON_0],[1],[Use JSON0])], 
154                   [AC_MSG_WARN("json0 missing")])
155 fi
156
157 AM_CONDITIONAL(JSON, test -n "$JSON_LIBS")
158 AC_SUBST(JSON_CFLAGS)
159 AC_SUBST(JSON_LIBS)
160
161 # Enables remote monitoring if JSON and CURL is present
162 if test -n "$JSON_LIBS"; then
163    if test -n "$CURL_LIBS"; then
164    AC_DEFINE([HAVE_REMOTE_SUPPORT],[1],[Remote monitoring enabled])
165    fi
166 fi
167
168 # Checks NVIDIA
169 # following code from sensors-applet
170 # sensors-applet.sourceforge.net/
171 AC_CHECK_HEADERS(NVCtrl/NVCtrl.h NVCtrl/NVCtrlLib.h, 
172                  [ HAVE_NVIDIA=true ], [], 
173                  [ 
174                   #include <X11/Xlib.h>
175                  ])
176 if test -n "${X11_LIBS}"; then
177 LIBS="${LIBS} -lX11 -lXext"
178
179 if test "${HAVE_NVIDIA}" = "true"; then
180   AC_CHECK_LIB(XNVCtrl,XNVCTRLQueryExtension, 
181                  [NVIDIA_LIBS="-lXNVCtrl -lX11 -lXext" 
182                   AC_DEFINE(HAVE_NVIDIA,1,[NVidia support enabled])
183                  ])                     
184 fi
185 fi
186 AM_CONDITIONAL(NVIDIA, test -n "$NVIDIA_LIBS")
187 AC_SUBST(NVIDIA_CFLAGS)
188 AC_SUBST(NVIDIA_LIBS)
189
190 # Checks Unity
191 PKG_CHECK_MODULES(UNITY, 
192                   unity >= 3.4.2,
193                   [AC_DEFINE([HAVE_UNITY],[1],[Use Unity])], 
194                   [AC_MSG_WARN(Unity not present)])
195 AC_SUBST(UNITY_CFLAGS)
196 AC_SUBST(UNITY_LIBS)
197 AM_CONDITIONAL(UNITY, test -n "$UNITY_LIBS")
198
199 # Check libatiadl
200 AC_ARG_WITH(libatiadl,
201 [  --with-libatiadl[=DIR]   use libatiadlxx in DIR],[
202                    ATIADL_DIR=${withval}
203                    CPPFLAGS="${CPPFLAGS} -I${ATIADL_DIR}/include"
204                    LIBS="$LIBS -L/usr/lib/fglrx -L/usr/lib64/fglrx -L/usr/lib/catalyst -L/usr/lib64/catalyst"
205                   ]
206 )
207
208 AC_CHECK_HEADERS(adl_defines.h,
209         AC_CHECK_LIB(atiadlxx,ADL_Main_Control_Refresh,
210                 [
211                         AC_DEFINE(HAVE_LIBATIADL,1,[libatiadl is available])
212                         LIBATIADL_CFLAGS="-I${ATIADL_DIR}/include"
213                         LIBATIADL_LIBS="-L/usr/lib/fglrx -L/usr/lib64/fglrx -L/usr/lib/catalyst -L/usr/lib64/catalyst -latiadlxx -ldl"
214                 ]))
215
216 AM_CONDITIONAL(LIBATIADL, test -n "$LIBATIADL_LIBS")
217 AC_SUBST(LIBATIADL_CFLAGS)
218 AC_SUBST(LIBATIADL_LIBS)
219
220 ############### psensor-server
221
222 # Check libmicrohttpd, mandatory for psensor-server
223 LIBMICROHTTPD_LIBS=
224 PKG_CHECK_MODULES(LIBMICROHTTPD, 
225   libmicrohttpd, 
226   [AC_DEFINE([HAVE_LIBMICROHTTPD],[1],[Use libmicrohttpd])], 
227   [AC_MSG_WARN("libmicrohttpd not present, psensor-server will NOT be built")])
228 AM_CONDITIONAL(LIBMICROHTTPD, test -n "$LIBMICROHTTPD_LIBS")
229 AC_SUBST(LIBMICROHTTPD_CFLAGS)
230 AC_SUBST(LIBMICROHTTPD_LIBS)
231
232 # Check gtop2, optional
233 AC_ARG_WITH(gtop,
234 [  --with-gtop[=yes|no]   use gtop],[
235         with_gtop=$withval],[
236         with_gtop="yes"
237 ])
238
239 GTOP_LIBS=
240 if test "$with_gtop" = "yes"; then
241 PKG_CHECK_MODULES(GTOP, 
242   libgtop-2.0, 
243   [AC_DEFINE([HAVE_GTOP],[1],[Use GTOP])], 
244   [AC_MSG_WARN("gtop not present, CPU/Memory information will NOT be available")])
245 fi
246 AM_CONDITIONAL(GTOP, test -n "$GTOP_LIBS")
247 AC_SUBST(GTOP_CFLAGS)
248 AC_SUBST(GTOP_LIBS)
249
250 AC_CONFIG_FILES([
251  Makefile
252  doc/Makefile
253  src/Makefile
254  src/glade/Makefile
255  src/lib/Makefile
256  src/server/Makefile
257  icons/hicolor/scalable/Makefile
258  icons/hicolor/14x14/Makefile
259  icons/hicolor/16x16/Makefile
260  icons/hicolor/22x22/Makefile
261  icons/hicolor/24x24/Makefile
262  icons/hicolor/32x32/Makefile
263  icons/hicolor/48x48/Makefile
264  icons/hicolor/64x64/Makefile
265  icons/ubuntu-mono-dark/status/22/Makefile
266  icons/ubuntu-mono-light/status/22/Makefile
267  icons/ubuntu-mono-dark/apps/22/Makefile
268  www/Makefile
269  po/Makefile.in
270  tests/Makefile
271 ])
272
273 AC_CHECK_PROGS([HELP2MAN], [help2man])
274
275 AC_CHECK_PROG([ASCIIDOC], [asciidoc], yes)
276 AM_CONDITIONAL(ASCIIDOC, test -n "$ASCIIDOC")
277
278 AC_CHECK_PROG(HAVE_CPPCHECK, cppcheck, yes)
279 AM_CONDITIONAL(CPPCHECK, test -n "$HAVE_CPPCHECK")
280
281 AC_OUTPUT