X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=configure.ac;h=897112ef97192f7ffa847b3fc7b4ad2c842ecd8e;hp=baf1137b530197b1689be9106ff4f9751b70377b;hb=a248a2d506d3caf06d3cf5284231df6fc583087e;hpb=f8809a7d245d9147bba60d907dd11a398941d868 diff --git a/configure.ac b/configure.ac index baf1137..897112e 100644 --- a/configure.ac +++ b/configure.ac @@ -33,6 +33,12 @@ AC_INIT([System DataBase],[m4_esyscmd(./version-gen.sh)], PACKAGE_MAINTAINER="Sebastian 'tokkee' Harl " AC_DEFINE_UNQUOTED([PACKAGE_MAINTAINER], ["$PACKAGE_MAINTAINER"], [Define to the name of the maintainer of this package.]) +if test "x$PACKAGE_URL" = "x"; then + PACKAGE_URL="https://sysdb.io/" + AC_DEFINE_UNQUOTED([PACKAGE_URL], ["$PACKAGE_URL"], + [Define to the home page for this package.]) +fi + AC_CONFIG_SRCDIR([src/sysdb.c]) AC_CONFIG_HEADERS([src/config.h]) AC_PREFIX_DEFAULT([/opt/sysdb]) @@ -341,6 +347,66 @@ fi AC_SUBST([PROFILING_CFLAGS]) AC_SUBST([PROFILING_LDFLAGS]) +ieee754_layout="unknown" +AC_MSG_CHECKING([the memory layout of double precision values]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[ +double d = 3.141592653e130; +char c[8]; +if (sizeof(d) != 8) + return 2; +memcpy(&c, &d, 8); +if (c[0] == '\x04' && c[1] == '\x10' && c[2] == '\x1E' && c[3] == '\x66' && + c[4] == '\x40' && c[5] == '\xA9' && c[6] == '\x06' && c[7] == '\x5B') + return 0; +else + return 1; + ]] + )], + [ieee754_layout="little-endian"], [ieee754_layout="unknown"]) +if test "x$ieee754_layout" = "xunknown"; then + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[ +double d = 3.141592653e130; +char c[8]; +if (sizeof(d) != 8) + return 2; +memcpy(&c, &d, 8); +if (c[7] == '\x04' && c[6] == '\x10' && c[5] == '\x1E' && c[4] == '\x66' && + c[3] == '\x40' && c[2] == '\xA9' && c[1] == '\x06' && c[0] == '\x5B') + return 0; +else + return 1; + ]] + )], + [ieee754_layout="big-endian"], [ieee754_layout="unknown"]) +fi +AC_MSG_RESULT([IEEE-754 $ieee754_layout]) + +AC_DEFINE([IEEE754_DOUBLE_LITTLE_ENDIAN], 1234, + [Identifier for IEEE-754 little-endian encoding of double precision values]) +AC_DEFINE([IEEE754_DOUBLE_BIG_ENDIAN], 4321, + [Identifier for IEEE-754 big-endian encoding of double precision values]) +if test "x$ieee754_layout" = "xlittle-endian"; then + AC_DEFINE([IEEE754_DOUBLE_BYTE_ORDER], 1234, + [Define to 1 if double precision values use IEEE-754 little-endian encoding]) +else if test "x$ieee754_layout" = "xbig-endian"; then + AC_DEFINE([IEEE754_DOUBLE_BYTE_ORDER], 4321, + [Define to 1 if double precision values use IEEE-754 little-endian encoding]) +else + AC_MSG_ERROR([Unknown memory layout of double precision values]) +fi; fi + m4_divert_once([HELP_ENABLE], [ Build dependencies:]) @@ -423,6 +489,12 @@ if test "x$have_fopencookie" = "xyes"; then AC_DEFINE([HAVE_FOPENCOOKIE], 1) fi +dnl OpenSSL support +PKG_CHECK_MODULES([OPENSSL], [openssl], [have_openssl="yes"], [have_openssl="no"]) +if test "x$have_openssl" != "xyes"; then + AC_MSG_ERROR([OpenSSL not found]) +fi + dnl readline support AC_ARG_WITH([readline], [AS_HELP_STRING([--with-readline], @@ -612,6 +684,13 @@ Time-series fetchers:]) AC_SDB_PLUGIN([timeseries-rrdtool], [$rrdtool_default], [fetch time-series data from RRD files]) +m4_divert_once([HELP_ENABLE], [ +Store implementations:]) +AC_SDB_PLUGIN([store-memory], [yes], + [store objects in a volatile, in-memory database (read/write)]) +AC_SDB_PLUGIN([store-network], [yes], + [send stored objects to a remote instance (write only)]) + m4_divert_once([HELP_ENABLE], [ Plugins:]) @@ -629,6 +708,32 @@ AC_OUTPUT BUILD_DATE="`date --utc '+%F %T'` (UTC)" +asciidoc_info="$have_asciidoc" +if test "x$have_asciidoc" = "xyes"; then + asciidoc_info="`$ASCIIDOC --version`" +fi +xmlto_info="$have_xmlto" +if test "x$have_xmlto" = "xyes"; then + xmlto_info="`$XMLTO --version`" +fi + +if test "x$unit_tests" = "xyes"; then + unit_tests="yes (check `$PKG_CONFIG --modversion check`)" +fi + +openssl_info="$have_openssl" +if test "x$have_openssl" = "xyes"; then + openssl_info="yes (version `$PKG_CONFIG --modversion openssl`)" +fi +libedit_info="$have_libedit" +if test "x$have_libedit" = "xyes"; then + libedit_info="yes (version `$PKG_CONFIG --modversion libedit`)" +fi +librrd_info="$have_librrd" +if test "x$have_librrd" = "xyes"; then + librrd_info="yes (version `$PKG_CONFIG --modversion librrd`)" +fi + AC_MSG_RESULT() AC_MSG_RESULT([$PACKAGE_NAME has been configured successfully.]) AC_MSG_RESULT() @@ -641,8 +746,8 @@ AC_MSG_RESULT([ package version: $PACKAGE_VERSION]) AC_MSG_RESULT([ build date: $BUILD_DATE]) AC_MSG_RESULT() AC_MSG_RESULT([ Tools:]) -AC_MSG_RESULT([ AsciiDoc: . . . . . . . . . $have_asciidoc]) -AC_MSG_RESULT([ xmlto: . . . . . . . . . . $have_xmlto]) +AC_MSG_RESULT([ AsciiDoc: . . . . . . . . . $asciidoc_info]) +AC_MSG_RESULT([ xmlto: . . . . . . . . . . $xmlto_info]) AC_MSG_RESULT() AC_MSG_RESULT([ Features:]) AC_MSG_RESULT([ documentation: . . . . . . $build_documentation]) @@ -654,9 +759,10 @@ AC_MSG_RESULT([ profiling: . . . . . . . . $enable_gprof]) AC_MSG_RESULT() AC_MSG_RESULT([ Libraries:]) AC_MSG_RESULT([ libdbi: . . . . . . . . . . $with_libdbi]) -AC_MSG_RESULT([ libedit: . . . . . . . . . $have_libedit]) +AC_MSG_RESULT([ libedit: . . . . . . . . . $libedit_info]) +AC_MSG_RESULT([ libopenssl: . . . . . . . . $openssl_info]) AC_MSG_RESULT([ libreadline: . . . . . . . $have_libreadline]) -AC_MSG_RESULT([ librrd: . . . . . . . . . . $have_librrd]) +AC_MSG_RESULT([ librrd: . . . . . . . . . . $librrd_info]) AC_MSG_RESULT() AC_MSG_RESULT([ Backends:]) AC_MSG_RESULT([ collectd::unixsock: . . . . $enable_collectd_unixsock]) @@ -667,6 +773,10 @@ AC_MSG_RESULT() AC_MSG_RESULT([ Time-series fetchers:]) AC_MSG_RESULT([ rrdtool: . . . . . . . . . $enable_timeseries_rrdtool]) AC_MSG_RESULT() +AC_MSG_RESULT([ Store implementations:]) +AC_MSG_RESULT([ memory: . . . . . . . . . . $enable_store_memory]) +AC_MSG_RESULT([ network (writer): . . . . . $enable_store_network]) +AC_MSG_RESULT() AC_MSG_RESULT([ Plugins:]) AC_MSG_RESULT([ cname::dns: . . . . . . . . $enable_cname_dns]) AC_MSG_RESULT([ syslog: . . . . . . . . . . $enable_syslog])