release 0.8.0.6
[psensor.git] / configure.ac
index d9bd449..fc28ac0 100644 (file)
@@ -1,24 +1,30 @@
 #                                               -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 
-AC_PREREQ([2.64])
-AC_INIT([psensor], [0.6.2.12],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor])
+AC_PREREQ([2.69])
+AC_INIT([psensor], [0.8.0.6],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor])
 
 AM_INIT_AUTOMAKE([-Wall -Werror gnu])
 
-AC_CONFIG_SRCDIR([src/compat.h])
+AC_CONFIG_SRCDIR([src/ui.c])
 AC_CONFIG_HEADERS([config.h])
 
+# m4
+AC_CONFIG_MACRO_DIR([m4])
+
 # Checks for programs.
 AC_PROG_CC
 AM_PROG_CC_C_O
 
+AC_SYS_LARGEFILE
+
 # Checks lib build
 AC_PROG_RANLIB
+AM_PROG_AR
 
 # Checks for header files.
 AC_PATH_X
-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])
+AC_CHECK_HEADERS([stdbool.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_TYPE_SIZE_T
@@ -32,8 +38,17 @@ AC_CHECK_FUNCS([gettimeofday memmove socket strdup strtol])
 AM_GNU_GETTEXT_VERSION([0.16])
 AM_GNU_GETTEXT([external])
 
+# Gconf
+AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
+AM_GCONF_SOURCE_2
+
 ############### common 
 
+# Checks pthread
+AC_CHECK_LIB(pthread, pthread_create)
+PTHREAD_LIBS=-pthread
+AC_SUBST(PTHREAD_LIBS)
+
 # Checks sensors, required by psensor and psensor-server
 AC_CHECK_LIB(sensors, sensors_init)
 AC_CHECK_HEADERS([sensors/sensors.h sensors/errors.h])
@@ -44,26 +59,48 @@ AC_SUBST(SENSORS_LIBS)
 
 ### Required
 
-PKG_CHECK_MODULES(X11, x11)
+PKG_CHECK_MODULES(X11, x11,,[AC_MSG_WARN("x11 missing psensor will not be built")])
+AM_CONDITIONAL(X11, test -n "$X11_LIBS")
 AC_SUBST(X11_CFLAGS)
 AC_SUBST(X11_LIBS)
 
-PKG_CHECK_MODULES(XEXT, xext)
+PKG_CHECK_MODULES(XEXT, xext,,[AC_MSG_WARN("xext missing psensor will not be built")])
+AM_CONDITIONAL(XEXT, test -n "$XEXT_LIBS")
 AC_SUBST(XEXT_CFLAGS)
 AC_SUBST(XEXT_LIBS)
 
-# Checks GTK 
-PKG_CHECK_MODULES(GTK, gtk+-2.0 )
+# Checks GTK+ 3.0
+PKG_CHECK_MODULES(GTK, gtk+-3.0,,[AC_MSG_WARN("gtk missing psensor will not be built")])
+AM_CONDITIONAL(GTK, test -n "$GTK_LIBS")
+# ensure that only allowed headers are included
+GTK_CFLAGS+=" -DGTK_DISABLE_SINGLE_INCLUDES "
+# ensure that no gtk deprecated symbols are used
+GTK_CFLAGS+=" -DGDK_DISABLE_DEPRECATED "
+GTK_CFLAGS+=" -DGTK_DISABLE_DEPRECATED "
+# ensure use of accessors
+GTK_CFLAGS+=" -DGSEAL_ENABLE "
 AC_SUBST(GTK_CFLAGS)
 AC_SUBST(GTK_LIBS)
 
 # Check GCONF
-PKG_CHECK_MODULES(GCONF, gconf-2.0)
+PKG_CHECK_MODULES(GCONF, gconf-2.0,
+                 [AC_DEFINE([HAVE_GCONF2],[1],[Use gconf2])],
+                 [AC_MSG_WARN("gconf2 missing psensor will not be built")])
+AM_CONDITIONAL(GCONF, test -n "$GCONF_LIBS")
 AC_SUBST(GCONF_CFLAGS)
 AC_SUBST(GCONF_LIBS)
 
 ### Optional
 
+# check libatasmart
+PKG_CHECK_MODULES(ATASMART, libatasmart,
+                 [AC_DEFINE([HAVE_ATASMART],[1],[Use libatasmart])],
+                         [AC_MSG_WARN("Library atasmart not present")])
+
+AM_CONDITIONAL(ATASMART, test -n "$ATASMART_LIBS")
+AC_SUBST(ATASMART_CFLAGS)
+AC_SUBST(ATASMART_LIBS)
+
 # Check libnotify
 LIBNOTIFY_LIBS=
 PKG_CHECK_MODULES(LIBNOTIFY, 
@@ -76,12 +113,19 @@ AC_SUBST(LIBNOTIFY_LIBS)
 
 # Checks AppIndicator 
 APPINDICATOR_LIBS=
-PKG_CHECK_MODULES(APPINDICATOR, 
+
+PKG_CHECK_MODULES(APPINDICATOR, appindicator3-0.1,
+     [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator3-0.1])],
+     [AC_MSG_WARN(AppIndicator 3-0.1 not present")])
+
+if test "$APPINDICATOR_LIBS" == ""; then
+   PKG_CHECK_MODULES(APPINDICATOR, 
      appindicator-0.1 <= 0.2.9 , 
      [AC_DEFINE([HAVE_APPINDICATOR],[1],[Use AppIndicator 0.2.9])
       AC_DEFINE([HAVE_APPINDICATOR_029],[1],[Use AppIndicator 0.2.9])
      ],
      [AC_MSG_WARN(AppIndicator 0.2.9 not present")])
+fi
 
 if test "$APPINDICATOR_LIBS" == ""; then
    PKG_CHECK_MODULES(APPINDICATOR, 
@@ -106,9 +150,18 @@ AC_SUBST(CURL_LIBS)
 # Check JSON, needed for remote monitoring
 JSON_LIBS=
 PKG_CHECK_MODULES(JSON, 
-  json, 
-  [AC_DEFINE([HAVE_JSON],[1],[Use JSON])], 
-  [AC_MSG_WARN("Remote monitoring disabled, json missing")])
+                 json-c, 
+                 [AC_DEFINE([HAVE_JSON],[1],[Use JSON])], 
+                 [AC_MSG_WARN("json-c missing")])
+
+if test "$JSON_LIBS" == ""; then
+PKG_CHECK_MODULES(JSON, 
+                 json, 
+                 [AC_DEFINE([HAVE_JSON],[1],[Use JSON])
+                  AC_DEFINE([HAVE_JSON_0],[1],[Use JSON0])], 
+                 [AC_MSG_WARN("json0 missing")])
+fi
+
 AM_CONDITIONAL(JSON, test -n "$JSON_LIBS")
 AC_SUBST(JSON_CFLAGS)
 AC_SUBST(JSON_LIBS)
@@ -156,7 +209,7 @@ AC_ARG_WITH(libatiadl,
 [  --with-libatiadl[=DIR]   use libatiadlxx in DIR],[
                   ATIADL_DIR=${withval}
                   CPPFLAGS="${CPPFLAGS} -I${ATIADL_DIR}/include"
-                  LIBS="$LIBS -L/usr/lib/fglrx"
+                  LIBS="$LIBS -L/usr/lib/fglrx -L/usr/lib64/fglrx -L/usr/lib/catalyst -L/usr/lib64/catalyst"
                  ]
 )
 
@@ -165,7 +218,7 @@ AC_CHECK_HEADERS(adl_defines.h,
                [
                        AC_DEFINE(HAVE_LIBATIADL,1,[libatiadl is available])
                        LIBATIADL_CFLAGS="-I${ATIADL_DIR}/include"
-                       LIBATIADL_LIBS="-L/usr/lib/fglrx -latiadlxx"
+                       LIBATIADL_LIBS="-L/usr/lib/fglrx -L/usr/lib64/fglrx -L/usr/lib/catalyst -L/usr/lib64/catalyst -latiadlxx -ldl"
                ]))
 
 AM_CONDITIONAL(LIBATIADL, test -n "$LIBATIADL_LIBS")
@@ -205,12 +258,10 @@ AC_SUBST(GTOP_LIBS)
 
 AC_CONFIG_FILES([
  Makefile
+ doc/Makefile
  src/Makefile
  src/glade/Makefile
- src/plib/Makefile
  src/lib/Makefile
- src/unity/Makefile
- src/libpsensor_json/Makefile
  src/server/Makefile
  icons/hicolor/scalable/Makefile
  icons/hicolor/14x14/Makefile
@@ -230,4 +281,7 @@ AC_CONFIG_FILES([
 
 AC_CHECK_PROGS([HELP2MAN], [help2man])
 
+AC_CHECK_PROG(HAVE_CPPCHECK, cppcheck, yes)
+AM_CONDITIONAL(CPPCHECK, test -n "$HAVE_CPPCHECK")
+
 AC_OUTPUT