configure.ac

Thu, 10 Jan 2019 16:33:42 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 10 Jan 2019 16:33:42 +0100
changeset 569
9c69d43bfb06
parent 567
6f2f8a940291
child 571
6f8eda55ec2c
permissions
-rw-r--r--

Version 0.9.0. Implemented DCMD via mqtt to set stage, mode, setpoint low and high. Implemeted DCMD via mqtt to set heater, cooler, fan and light state. Implemented DCMD via mqtt to set product code and name. Set the PID's in fridge mode without idle range offset, that was an old leftover setting that was obsolete.

dnl Process this file with autoconf to produce a configure script.

AC_INIT(thermferm/thermferm.c)
AM_CONFIG_HEADER(config.h)
SUBDIRS="thermferm brewpanel tools"
AC_SUBST(SUBDIRS)

dnl General settings
dnl After changeing the version number, run autoconf!
PACKAGE="mbsePi-apps"
VERSION="0.9.0"
COPYRIGHT="Copyright (C) 2014-2019 Michiel Broek, All Rights Reserved"
CYEARS="2014-2019"
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(COPYRIGHT)
AC_SUBST(CYEARS)
AC_PREFIX_DEFAULT(/usr/local)
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_DEFINE_UNQUOTED(COPYRIGHT, "$COPYRIGHT")
TARGET="$target"


dnl Checks for programs.
AC_PROG_CC
AC_PROG_RANLIB
dnl Try to find GNU install
AC_CHECK_PROG(INSTALL, ginstall, ginstall)
AC_CHECK_PROG(INSTALL, install, install)
AC_CHECK_PROG(TAR, tar, tar)

#
# Libraries for mbsePi-apps
#
AC_CHECK_LIB(mosquitto,mosquitto_lib_init,result=yes,result=no)
if test "$result" = "yes"; then
  AC_CHECK_HEADERS(mosquitto.h)
  LIBS="$LIBS -lmosquitto"
else
  AC_MSG_ERROR(mosquitto not found)
fi

WIRINGPI=No
AC_CHECK_LIB(wiringPi,wiringPiSetup,result=yes,result=no)
if test "$result" = "yes"; then
  LIBS="$LIBS -lwiringPi -lwiringPiDev"
  AC_CHECK_HEADERS(wiringPi.h,WIRINGPI=Yes,WIRINGPI=No)
fi

AC_CHECK_LIB(json-c,json_object_iter_init_default,result=yes,result=no)
if test "$result" = "yes"; then
  LIBS="$LIBS -ljson-c"
  AC_CHECK_HEADERS(json-c/json.h)
else
  AC_MSG_ERROR(json-c not found)
fi

#
# Additional commandline switches
#
AC_ARG_ENABLE(experiment,  [  --enable-experiment     Compile experimental code],     [ experiment=$enableval ], [ experiment=no ])
if test "$experiment" = "yes"; then
  AC_DEFINE(USE_EXPERIMENT)
fi

SIMULATOR=No
AC_ARG_ENABLE(simulator,  [  --enable-simulator      Compile simulator code], [ simulator=$enableval ], [ simulator=no ])
if test "$simulator" = "yes"; then
  AC_DEFINE(USE_SIMULATOR)
  SIMULATOR=Yes
fi

AC_ARG_ENABLE(debugging,   [  --enable-debugging      Compile for debugging], [ debugging=$enableval ], [ debugging=no ])
if test "$debugging" = "yes"; then
  CFLAGS="-O -g -Wall -Wshadow -Wwrite-strings -Wstrict-prototypes -Winline"    
else
  CFLAGS="-g -O2 -fomit-frame-pointer -fno-strict-aliasing -Wall -Wshadow -Wwrite-strings -Wstrict-prototypes -Winline"
fi
LIBS="$LIBS -lm"


AC_CHECK_LIB(xml2,xmlParseFile,result=yes,result=no)
if test "$result" = "yes"; then
  LIBS="$LIBS -lxml2"
  CFLAGS="$CFLAGS $(xml2-config --cflags)"
  AC_CHECK_HEADERS(libxml/xmlmemory.h)
else
  AC_MSG_ERROR(libxml2 not found)
fi

AC_CHECK_LIB(uuid,uuid_generate,result=yes,result=no)
if test "$result" = "yes"; then
  LIBS="$LIBS $(pkg-config --libs uuid)"
  CFLAGS="$CFLAGS $(pkg-config --cflags uuid)"
  AC_CHECK_HEADERS(uuid/uuid.h)
else
  AC_MSG_ERROR(libuuid not found)
fi

# Check for SDL
SDL_CFLAGS=""
SDL_LIBS=""
SDL="No"
AC_MSG_CHECKING(SDL library)
pkg-config --exists sdl
if test "$?" = "0"; then
  AC_MSG_RESULT(yes)
  AC_MSG_CHECKING(sdl library v1.2.0 or newer)
  pkg-config --atleast-version=1.2.0 sdl
  if test "$?" = "0"; then
    AC_MSG_RESULT(found)
  else
    AC_MSG_ERROR(not found)
  fi
  SDL_CFLAGS="$(pkg-config --cflags sdl)"
  SDL_LIBS="$(pkg-config --libs sdl)"
  AC_CHECK_HEADERS(SDL/SDL.h)
  SDL="Yes"
else
  AC_MSG_RESULT(no)
fi

# Check for SDL_ttf
AC_MSG_CHECKING(SDL_ttf library)
pkg-config --exists SDL_ttf
if test "$?" = "0"; then
  AC_MSG_RESULT(yes)
  AC_MSG_CHECKING(sdl library v2.0.0 or newer)
  pkg-config --atleast-version=2.0.0 SDL_ttf
  if test "$?" = "0"; then
    AC_MSG_RESULT(found)
  else
    AC_MSG_ERROR(not found)
  fi
  # Override flags
  SDL_CFLAGS="$(pkg-config --cflags SDL_ttf)"
  SDL_LIBS="$(pkg-config --libs SDL_ttf)"
else
  AC_MSG_RESULT(no)
fi

dnl Checks for header files.
AC_HEADER_STDC

AC_SUBST(SDL_CFLAGS)
AC_SUBST(SDL_LIBS)


AC_OUTPUT(
    Makefile.global
)

AC_MSG_RESULT([
-=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=-

  Configuration summary :

    Version : ............ ${VERSION}
    Main directory : ..... ${prefix}
    WiringPi : ........... ${WIRINGPI}
    SDL library : ........ ${SDL}
    Simulator : .......... ${SIMULATOR}

  Now type 'make' and 'sudo make install'
])

mercurial