configure.ac

changeset 0
033898178630
child 2
282e7d2bb28a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/configure.ac	Sat Aug 04 21:19:15 2018 +0200
@@ -0,0 +1,114 @@
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(bmsd/bms.c)
+AM_CONFIG_HEADER(config.h)
+SUBDIRS="bmsd doc tools"
+AC_SUBST(SUBDIRS)
+
+dnl General settings
+dnl After changeing the version number, run autoconf!
+PACKAGE="bms"
+VERSION="0.0.2"
+COPYRIGHT="Copyright (C) 2016-2018 Michiel Broek, All Rights Reserved"
+CYEARS="2016-2018"
+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)
+
+
+#
+# Additional commandline switches
+#
+
+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"
+
+
+#
+# Libraries for bms
+#
+AC_CHECK_LIB(mosquitto,mosquitto_lib_init,result=yes,result=no)
+if test "$result" = "yes"; then
+  LIBS="$LIBS -lmosquitto"
+  AC_CHECK_HEADERS(mosquitto.h)
+else
+  AC_MSG_ERROR(mosquitto not found)
+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
+
+AC_CHECK_LIB(mysqlclient,mysql_server_init,result=yes,result=no)
+if test "$result" = "yes"; then
+  LIBS="$LIBS -lmysqlclient"
+  AC_CHECK_HEADERS(mysql/mysql.h)
+else
+  AC_MSG_ERROR(mysqlclient not found)
+fi
+
+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
+
+
+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}
+
+
+  Now type 'make' and 'sudo make install'
+])
+

mercurial