-if test "x$with_librdkafka" = "xyes"
-then
- BUILD_WITH_LIBRDKAFKA_CPPFLAGS="$with_librdkafka_cppflags"
- BUILD_WITH_LIBRDKAFKA_LDFLAGS="$with_librdkafka_ldflags"
- if test "x$with_librdkafka_rpath" != "x"
- then
- BUILD_WITH_LIBRDKAFKA_LIBS="-Wl,-rpath,$with_librdkafka_rpath -lrdkafka"
- else
- BUILD_WITH_LIBRDKAFKA_LIBS="-lrdkafka"
- fi
- AC_SUBST(BUILD_WITH_LIBRDKAFKA_CPPFLAGS)
- AC_SUBST(BUILD_WITH_LIBRDKAFKA_LDFLAGS)
- AC_SUBST(BUILD_WITH_LIBRDKAFKA_LIBS)
- AC_DEFINE(HAVE_LIBRDKAFKA, 1, [Define if librdkafka is present and usable.])
- if test "x$with_librdkafka_log_cb" = "xyes"
- then
- AC_DEFINE(HAVE_LIBRDKAFKA_LOG_CB, 1, [Define if librdkafka log facility is present and usable.])
- fi
- if test "x$with_librdkafka_logger" = "xyes"
- then
- AC_DEFINE(HAVE_LIBRDKAFKA_LOGGER, 1, [Define if librdkafka log facility is present and usable.])
+
+if test "x$with_librabbitmq" = "xyes"; then
+ SAVE_CPPFLAGS="$CPPFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
+ SAVE_LIBS="$LIBS"
+ CPPFLAGS="$CPPFLAGS $with_librabbitmq_cppflags"
+ LDFLAGS="$LDFLAGS $with_librabbitmq_ldflags"
+ LIBS="-lrabbitmq"
+
+ AC_CHECK_HEADERS([amqp_tcp_socket.h amqp_socket.h])
+ AC_CHECK_FUNC([amqp_tcp_socket_new],
+ [
+ AC_DEFINE([HAVE_AMQP_TCP_SOCKET], [1],
+ [Define if librabbitmq provides the new TCP socket interface.])
+ ]
+ )
+
+ AC_CHECK_DECLS([amqp_socket_close],
+ [],
+ [],
+ [[
+ #include <amqp.h>
+ #ifdef HAVE_AMQP_TCP_SOCKET_H
+ # include <amqp_tcp_socket.h>
+ #endif
+ #ifdef HAVE_AMQP_SOCKET_H
+ # include <amqp_socket.h>
+ #endif
+ ]]
+ )
+
+ CPPFLAGS="$SAVE_CPPFLAGS"
+ LDFLAGS="$SAVE_LDFLAGS"
+ LIBS="$SAVE_LIBS"
+fi
+
+if test "x$with_librabbitmq" = "xyes"; then
+ BUILD_WITH_LIBRABBITMQ_CPPFLAGS="$with_librabbitmq_cppflags"
+ BUILD_WITH_LIBRABBITMQ_LDFLAGS="$with_librabbitmq_ldflags"
+ BUILD_WITH_LIBRABBITMQ_LIBS="-lrabbitmq"
+fi
+
+AC_SUBST(BUILD_WITH_LIBRABBITMQ_CPPFLAGS)
+AC_SUBST(BUILD_WITH_LIBRABBITMQ_LDFLAGS)
+AC_SUBST(BUILD_WITH_LIBRABBITMQ_LIBS)
+
+# }}}
+
+# --with-librdkafka {{{
+AC_ARG_WITH([librdkafka],
+ [AS_HELP_STRING([--with-librdkafka@<:@=PREFIX@:>@], [Path to librdkafka.])],
+ [
+ if test "x$withval" != "xno" && test "x$withval" != "xyes"; then
+ with_librdkafka_cppflags="-I$withval/include"
+ with_librdkafka_ldflags="-L$withval/lib"
+ with_librdkafka_rpath="$withval/lib"
+ with_librdkafka="yes"
+ else
+ with_librdkafka="$withval"
+ fi
+ ],
+ [with_librdkafka="yes"]
+)
+
+if test "x$with_librdkafka" = "xyes"; then
+ SAVE_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $with_librdkafka_cppflags"
+
+ AC_CHECK_HEADERS([librdkafka/rdkafka.h],
+ [with_librdkafka="yes"],
+ [with_librdkafka="no (librdkafka/rdkafka.h not found)"]
+ )
+
+ CPPFLAGS="$SAVE_CPPFLAGS"
+fi
+
+if test "x$with_librdkafka" = "xyes"; then
+ SAVE_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $with_librdkafka_ldflags"
+
+ AC_CHECK_LIB([rdkafka], [rd_kafka_new],
+ [with_librdkafka="yes"],
+ [with_librdkafka="no (Symbol 'rd_kafka_new' not found)"])
+
+ AC_CHECK_LIB([rdkafka], [rd_kafka_conf_set_log_cb],
+ [with_librdkafka_log_cb="yes"],
+ [with_librdkafka_log_cb="no"])
+
+ AC_CHECK_LIB([rdkafka], [rd_kafka_set_logger],
+ [with_librdkafka_logger="yes"],
+ [with_librdkafka_logger="no"]
+ )
+
+ LDFLAGS="$SAVE_LDFLAGS"
+fi
+
+if test "x$with_librdkafka" = "xyes"; then
+ BUILD_WITH_LIBRDKAFKA_CPPFLAGS="$with_librdkafka_cppflags"
+ BUILD_WITH_LIBRDKAFKA_LDFLAGS="$with_librdkafka_ldflags"
+
+ if test "x$with_librdkafka_rpath" != "x"; then
+ BUILD_WITH_LIBRDKAFKA_LIBS="-Wl,-rpath,$with_librdkafka_rpath -lrdkafka"
+ else
+ BUILD_WITH_LIBRDKAFKA_LIBS="-lrdkafka"