]> git.ipfire.org Git - thirdparty/pdns.git/blobdiff - configure.ac
Merge pull request #8733 from rgacogne/ddist-openssl-init
[thirdparty/pdns.git] / configure.ac
index 22fdd6a326c459230555781dca8f083b8e190bb9..6020a85cfe5cae65f06effb15acc9c04758ba300 100644 (file)
@@ -18,8 +18,8 @@ AM_SILENT_RULES([yes])
 
 AC_CANONICAL_HOST
 # Add some default CFLAGS and CXXFLAGS, can be appended to using the environment variables
-CFLAGS="-Wall -g -O2 $CFLAGS"
-CXXFLAGS="-Wall -g -O2 $CXXFLAGS"
+CFLAGS="-g -O2 -Wall -Wextra -Wshadow -Wno-unused-parameter $CFLAGS"
+CXXFLAGS="-g -O2 -Wall -Wextra -Wshadow -Wno-unused-parameter $CXXFLAGS"
 
 AC_PROG_CC
 AM_PROG_CC_C_O
@@ -130,7 +130,9 @@ PDNS_CHECK_VIRTUALENV
 PDNS_FROM_GIT
 
 dnl Checks for library functions.
-AC_CHECK_FUNCS_ONCE([strcasestr localtime_r recvmmsg sched_setscheduler getrandom arc4random])
+dnl the *_r functions are in posix so we can use them unconditionally, but the ext/yahttp code is
+dnl using the defines.
+AC_CHECK_FUNCS_ONCE([strcasestr localtime_r gmtime_r recvmmsg sched_setscheduler getrandom arc4random])
 
 AM_CONDITIONAL([HAVE_RECVMMSG], [test "x$ac_cv_func_recvmmsg" = "xyes"])
 
@@ -173,14 +175,10 @@ AS_IF([test x"$dynmodules" = "xno"], [dynmodules=""])
 
 for a in $modules $dynmodules; do
   case "$a" in
-    oracle|goracle)
-      PDNS_WITH_ORACLE
-      needoracle=yes
-      ;;
     godbc)
       PDNS_WITH_UNIXODBC
       ;;
-    mydns|gmysql)
+    gmysql)
       PDNS_WITH_MYSQL
       ;;
     gpgsql)
@@ -193,9 +191,6 @@ for a in $modules $dynmodules; do
       PDNS_CHECK_LDAP
       needldap=yes
       ;;
-    opendbx)
-      PDNS_CHECK_OPENDBX
-      ;;
     remote)
       AS_IF([test "x$enable_unit_tests" = "xyes"],
         [PDNS_CHECK_CURL_PROGRAM]
@@ -203,6 +198,7 @@ for a in $modules $dynmodules; do
       have_remotebackend=yes
       ;;
     tinydns)
+      needcdb=yes
       PDNS_CHECK_CDB
       ;;
     geoip)
@@ -217,6 +213,7 @@ for a in $modules $dynmodules; do
       )
       ;;
     lmdb)
+      needlmdb=yes
       PDNS_CHECK_LMDB
       BOOST_SERIALIZATION
       ;;
@@ -232,13 +229,32 @@ PDNS_WITH_PROTOBUF
 
 PDNS_WITH_LUA_RECORDS
 
-AM_CONDITIONAL([ORACLE], [test "x$needoracle" = "xyes"])
-
 AM_CONDITIONAL([LDAP], [test "x$needldap" = "xyes"])
 
 PDNS_CHECK_SQLITE3
 AM_CONDITIONAL([SQLITE3], [test "x$needsqlite3" = "xyes"])
 
+AM_CONDITIONAL([LMDB], [test "x$needlmdb" != "x"])
+AM_CONDITIONAL([HAVE_LMDB], [test "x$LMDB_LIBS" != "x"])
+
+AS_IF([test "x$needlmdb" = "xyes"], [
+  AS_IF([test "$with_lmdb" = "no"], [
+    AC_MSG_ERROR([--with-lmdb is set to 'no', but lmdb support is required])
+  ])
+  AS_IF([test "x$HAVE_LMDB" != "x1"], [
+    AC_MSG_ERROR([lmdb not found via pkg-config, please install lmdb or set --with-lmdb to your lmdb installation directory])
+  ])
+])
+
+AM_CONDITIONAL([CDB], [test "x$needcdb" != "x"])
+AM_CONDITIONAL([HAVE_CDB], [test "x$CDB_LIBS" != "x"])
+
+AS_IF([test "x$needcdb" = "xyes"], [
+  AS_IF([test "x$HAVE_CDB" != "x1"], [
+    AC_MSG_ERROR([cdb not found via pkg-config, please install cdb])
+  ])
+])
+
 for a in $modules; do
   AC_MSG_CHECKING([whether we can build module "${a}"])
   if [[ -d "$srcdir/modules/${a}backend" ]]; then
@@ -269,6 +285,7 @@ done
 AX_AVAILABLE_SYSTEMD
 AX_CHECK_SYSTEMD_FEATURES
 AM_CONDITIONAL([HAVE_SYSTEMD], [ test x"$systemd" = "xy" ])
+ PDNS_WITH_SERVICE_USER([pdns])
 
 LDFLAGS="$RELRO_LDFLAGS $LDFLAGS"
 
@@ -317,16 +334,11 @@ AC_CONFIG_FILES([
   modules/geoipbackend/Makefile
   modules/gmysqlbackend/Makefile
   modules/godbcbackend/Makefile
-  modules/goraclebackend/Makefile
   modules/gpgsqlbackend/Makefile
   modules/gsqlite3backend/Makefile
   modules/ldapbackend/Makefile
   modules/lmdbbackend/Makefile
-  modules/luabackend/Makefile
   modules/lua2backend/Makefile
-  modules/mydnsbackend/Makefile
-  modules/opendbxbackend/Makefile
-  modules/oraclebackend/Makefile
   modules/pipebackend/Makefile
   modules/randombackend/Makefile
   modules/remotebackend/Makefile