Blame m4/libevent.m4

Packit e9ba0d
#
Packit e9ba0d
# lldp_CHECK_LIBEVENT
Packit e9ba0d
#
Packit e9ba0d
Packit e9ba0d
AC_DEFUN([lldp_CHECK_LIBEVENT], [
Packit e9ba0d
  # Do we require embedded libevent?
Packit e9ba0d
  AC_ARG_WITH([embedded-libevent],
Packit e9ba0d
    AS_HELP_STRING(
Packit e9ba0d
      [--with-embedded-libevent],
Packit e9ba0d
      [Use embedded libevent @<:@default=auto@:>@]
Packit e9ba0d
  ), [], [with_embedded_libevent=auto])
Packit e9ba0d
  if test x"$with_embedded_libevent" = x"yes"; then
Packit e9ba0d
     LIBEVENT_EMBEDDED=1
Packit e9ba0d
  else
Packit e9ba0d
    # If not forced, check first with pkg-config
Packit e9ba0d
    PKG_CHECK_MODULES([LIBEVENT], [libevent >= 2.0.5], [
Packit e9ba0d
       # Check if we have a working libevent
Packit e9ba0d
       AC_MSG_CHECKING([if system libevent works as expected])
Packit e9ba0d
       _save_CFLAGS="$CFLAGS"
Packit e9ba0d
       _save_LIBS="$LIBS"
Packit e9ba0d
       CFLAGS="$CFLAGS $LIBEVENT_CFLAGS"
Packit e9ba0d
       LIBS="$LIBS $LIBEVENT_LIBS"
Packit e9ba0d
       AC_TRY_LINK([
Packit e9ba0d
@%:@include <sys/time.h>
Packit e9ba0d
@%:@include <sys/types.h>
Packit e9ba0d
@%:@include <event2/event.h>], [ struct event_base *base = event_base_new(); event_new(base, -1, 0, NULL, NULL); ],
Packit e9ba0d
       [
Packit e9ba0d
         AC_MSG_RESULT([yes])
Packit e9ba0d
       ], [
Packit e9ba0d
         if test x"$with_embedded_libevent" = x"auto"; then
Packit e9ba0d
           AC_MSG_RESULT([no, using shipped libevent])
Packit e9ba0d
           LIBEVENT_EMBEDDED=1
Packit e9ba0d
         else
Packit e9ba0d
           AC_MSG_ERROR([*** unusable system libevent])
Packit e9ba0d
         fi
Packit e9ba0d
       ])
Packit e9ba0d
       CFLAGS="$_save_CFLAGS"
Packit e9ba0d
       LIBS="$_save_LIBS"
Packit e9ba0d
    ], [
Packit e9ba0d
      # No appropriate version, let's use the shipped copy if possible
Packit e9ba0d
      if test x"$with_embedded_libevent" = x"auto"; then
Packit e9ba0d
        AC_MSG_NOTICE([using shipped libevent])
Packit e9ba0d
        LIBEVENT_EMBEDDED=1
Packit e9ba0d
      else
Packit e9ba0d
        AC_MSG_ERROR([*** libevent not found])
Packit e9ba0d
      fi
Packit e9ba0d
    ])
Packit e9ba0d
  fi
Packit e9ba0d
Packit e9ba0d
  if test x"$LIBEVENT_EMBEDDED" != x; then
Packit e9ba0d
    unset LIBEVENT_LIBS
Packit e9ba0d
    LIBEVENT_CFLAGS="-I\$(top_srcdir)/libevent/include -I\$(top_builddir)/libevent/include"
Packit e9ba0d
    LIBEVENT_LDFLAGS="\$(top_builddir)/libevent/libevent.la"
Packit e9ba0d
  fi
Packit e9ba0d
Packit e9ba0d
  # Call ./configure in libevent. Need it for make dist...
Packit e9ba0d
  libevent_configure_args="$libevent_configure_args --disable-libevent-regress"
Packit e9ba0d
  libevent_configure_args="$libevent_configure_args --disable-thread-support"
Packit e9ba0d
  libevent_configure_args="$libevent_configure_args --disable-openssl"
Packit e9ba0d
  libevent_configure_args="$libevent_configure_args --disable-malloc-replacement"
Packit e9ba0d
  libevent_configure_args="$libevent_configure_args --disable-debug-mode"
Packit e9ba0d
  libevent_configure_args="$libevent_configure_args --enable-function-sections"
Packit e9ba0d
  libevent_configure_args="$libevent_configure_args --disable-shared"
Packit e9ba0d
  libevent_configure_args="$libevent_configure_args --with-pic"
Packit e9ba0d
  libevent_configure_args="$libevent_configure_args --enable-static"
Packit e9ba0d
  lldp_CONFIG_SUBDIRS([libevent], [$libevent_configure_args])
Packit e9ba0d
Packit e9ba0d
  AM_CONDITIONAL([LIBEVENT_EMBEDDED], [test x"$LIBEVENT_EMBEDDED" != x])
Packit e9ba0d
  AC_SUBST([LIBEVENT_LIBS])
Packit e9ba0d
  AC_SUBST([LIBEVENT_CFLAGS])
Packit e9ba0d
  AC_SUBST([LIBEVENT_LDFLAGS])
Packit e9ba0d
])