1AC_PREREQ(2.60) 2AC_INIT(linknx, 0.0.1.32, linknx@ouaye.net) 3AM_INIT_AUTOMAKE 4AC_CONFIG_SRCDIR([src/linknx.cpp]) 5AC_CONFIG_HEADER([config.h]) 6 7PKG_CONFIG=`which pkg-config` 8 9# Checks for programs. 10AC_PROG_CXX 11AC_PROG_CC 12AC_PROG_RANLIB 13AC_CHECK_PTHSEM(2.0.4,yes,yes,no) 14AC_CHECK_HEADER(argp.h,,[AC_MSG_ERROR([argp_parse not found])]) 15AC_SEARCH_LIBS(argp_parse,argp,,[AC_MSG_ERROR([argp_parse not found])]) 16 17dnl Check for CPPUnit 18ifdef([AM_PATH_CPPUNIT], [AM_PATH_CPPUNIT(1.9.6, [AM_CONDITIONAL(CPPUNIT, true)], [AM_CONDITIONAL(CPPUNIT, false)])], 19 [AM_CONDITIONAL(CPPUNIT, false)]) 20 21# Checks for libraries. 22LIBCURL_CHECK_CONFIG([yes], [7.14.0]) 23 24# Checks for header files. 25AC_HEADER_STDC 26AC_CHECK_HEADERS([fcntl.h stddef.h stdlib.h unistd.h]) 27 28AC_CHECK_MEMBER(struct tm.tm_gmtoff, 29 [member_struct_tm_tm_gmtoff=yes], 30 [member_struct_tm_tm_gmtoff=no], 31 [#include <time.h>]) 32if test "$member_struct_tm_tm_gmtoff" = yes; then 33 AC_DEFINE(HAVE_TM_GMTOFF,1, 34 [Define if the tm_gmtoff member is present in struct tm.]) 35else 36 AC_CHECK_MEMBER(struct tm.__tm_gmtoff, 37 [member_struct_tm___tm_gmtoff=yes], 38 [member_struct_tm___tm_gmtoff=no], 39 [#include <time.h>]) 40 if test "$member_struct_tm___tm_gmtoff" = yes; then 41 AC_DEFINE(HAVE___TM_GMTOFF,1, 42 [Define if the __tm_gmtoff member is present in struct tm.]) 43 fi 44fi 45 46WITH_MYSQL() 47 48dnl ######################################################################### 49dnl Check if using libesmtp 50dnl ######################################################################### 51 52AC_ARG_ENABLE([smtp], 53 AC_HELP_STRING([--enable-smtp], [build with libesmtp email support (default=auto)]), 54 , 55 enable_smtp=auto) 56 57if test x"$enable_smtp" != xno ; then 58 AC_CHECK_HEADER([libesmtp.h], 59 if test x"$enable_smtp" = xstatic ; then 60 enable_smtp=static 61 else 62 enable_smtp=yes 63 fi, 64 if test x"$enable_smtp" = xyes -o x"$enable_smtp" = xstatic ; then 65 AC_MSG_ERROR([Cannot find libesmtp.]) 66 else 67 enable_smtp=no 68 fi 69 ) 70fi 71 72AC_MSG_CHECKING(whether to use libesmtp) 73if test x"$enable_smtp" != xno ; then 74 ESMTP_CFLAGS="`libesmtp-config --cflags`" 75 ESMTP_LIBS="`libesmtp-config --libs`" 76 if test x"`libesmtp-config --libs | grep pthread`" != x ; then 77 AC_MSG_WARN([libesmtp is compiled with pthread support. This can conflict with pth. If you observe segmentation faults at startup, try to recompile with libesmtp support disabled]) 78 AC_DEFINE([HAVE_LIBESMTP_PTHREAD], [1], [libesmtp is compiled with pthread support.]) 79 fi 80 CFLAGS="$ESMTP_CFLAGS $CFLAGS" 81 if test x"$enable_smtp" = xstatic ; then 82 83 LIBS=`echo $ESMTP_LIBS $LIBS | sed 's/-lesmtp/-Xlinker -Bstatic -lesmtp -Xlinker -Bdynamic/'` 84 else 85 LIBS="$ESMTP_LIBS $LIBS" 86 fi 87 AC_DEFINE([HAVE_LIBESMTP], [1], [Build with libesmtp email support.]) 88 AC_MSG_RESULT([yes]) 89else 90 AC_MSG_RESULT([no]) 91fi 92 93dnl ######################################################################### 94dnl Check if using log4cpp 95dnl ######################################################################### 96 97AC_PATH_PROG(LOG4CPP_CONFIG,log4cpp-config) 98AC_ARG_WITH(log4cpp, AC_HELP_STRING([--with-log4cpp],[Advanced logging with Log4cpp]), 99[WITH_LOG4CPP=$withval],[WITH_LOG4CPP=auto]) 100 101if test x"$WITH_LOG4CPP" != xno; then 102 # try pkgconfig 103 if test x"$WITH_LOG4CPP" = xyes ; then 104 LOG4CPPPC=log4cpp 105 elif test x"$WITH_LOG4CPP" = xauto ; then 106 LOG4CPPPC=log4cpp 107 else 108 LOG4CPPPC=$WITH_LOG4CPP 109 fi 110 111 if test x"$WITH_LOG4CPP" = xauto ; then 112 PKG_CHECK_MODULES(LOG4CPP, $LOG4CPPPC >= 1.0, [ 113 AC_DEFINE([HAVE_LOG4CPP], [1], [liblog4cpp]) 114 AC_SUBST(LOG4CPP_CFLAGS) 115 AC_SUBST(LOG4CPP_LIBS) 116 ],[ 117 AC_MSG_RESULT([no]) 118 ]) 119 else 120 PKG_CHECK_MODULES(LOG4CPP, $LOG4CPPPC >= 1.0, [ 121 AC_DEFINE([HAVE_LOG4CPP], [1], [liblog4cpp]) 122 AC_SUBST(LOG4CPP_CFLAGS) 123 AC_SUBST(LOG4CPP_LIBS) 124 ]) 125 fi 126fi 127 128dnl ######################################################################### 129dnl Check if using lua 130dnl ######################################################################### 131 132AC_ARG_WITH(lua, AC_HELP_STRING([--with-lua],[Enable lua scripting engine]), 133[WITH_LUA=$withval],[WITH_LUA=auto]) 134 135if test x"$WITH_LUA" != xno ; then 136 # try pkgconfig 137 if test x"$WITH_LUA" = xyes ; then 138 LUAPC=lua- 139 elif test x"$WITH_LUA" = xauto ; then 140 LUAPC=lua- 141 else 142 LUAPC=$WITH_LUA 143 fi 144 145 if test x"$WITH_LUA" = xauto; then 146 PKG_CHECK_MODULES(LUA, lua >= 5.1, [ 147 AC_DEFINE([HAVE_LUA], [1], [liblua]) 148 AC_DEFINE([HAVE_LUA_H], [1], [lua.h]) 149 AC_SUBST(LUA_CFLAGS) 150 AC_SUBST(LUA_LIBS) 151 ],[ 152 AC_MSG_RESULT([no]) 153 PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1, [ 154 AC_DEFINE([HAVE_LUA], [1], [liblua]) 155 AC_DEFINE([HAVE_LUA_H], [1], [lua.h]) 156 AC_SUBST(LUA_CFLAGS) 157 AC_SUBST(LUA_LIBS) 158 ],[ 159 AC_MSG_RESULT([no]) 160 ]) 161 ]) 162 else 163 PKG_CHECK_MODULES(LUA, $LUAPC >= 5.1, [ 164 AC_DEFINE([HAVE_LUA], [1], [liblua]) 165 AC_DEFINE([HAVE_LUA_H], [1], [lua.h]) 166 AC_SUBST(LUA_CFLAGS) 167 AC_SUBST(LUA_LIBS) 168 ],[ 169 AC_MSG_RESULT([no]) 170 PKG_CHECK_MODULES(LUA, "$LUAPC"5.1 >= 5.1, [ 171 AC_DEFINE([HAVE_LUA], [1], [liblua]) 172 AC_DEFINE([HAVE_LUA_H], [1], [lua.h]) 173 AC_SUBST(LUA_CFLAGS) 174 AC_SUBST(LUA_LIBS) 175 ]) 176 ]) 177 fi 178fi 179 180# Checks for typedefs, structures, and compiler characteristics. 181AC_HEADER_STDBOOL 182AC_C_CONST 183AC_C_INLINE 184AC_TYPE_INT16_T 185AC_TYPE_INT64_T 186AC_TYPE_SIZE_T 187AC_TYPE_UINT16_T 188AC_TYPE_UINT8_T 189AC_CHECK_TYPES([ptrdiff_t]) 190 191# Checks for library functions. 192AC_FUNC_FORK 193AC_TYPE_SIGNAL 194AC_FUNC_VPRINTF 195AC_CHECK_FUNCS([dup2 memmove memset strchr]) 196 197AC_DEFINE(TIXML_USE_TICPP, [1], [Use TICPP interface]) 198 199AC_LANG_SAVE 200AC_LANG_CPLUSPLUS 201AC_TRY_COMPILE([#include <sstream> 202#include <stdint.h>], 203[int64_t value; std::istringstream val("1234"); val >> value;], 204AC_DEFINE(STL_STREAM_SUPPORT_INT64, [1], [STL streams has support for 64 bit integer]),) 205AC_LANG_RESTORE 206 207 208AC_CONFIG_FILES([Makefile 209 src/Makefile 210 ticpp/Makefile 211 include/Makefile 212 test/Makefile 213 conf/Makefile]) 214AC_OUTPUT 215