Blame libsmi.m4

Packit 022b05
# Configure paths for libsmi.
Packit 022b05
Packit 022b05
dnl AM_PATH_LIBSMI()
Packit 022b05
dnl Test for libsmi and defines the symbol LIBSMI if the test is
Packit 022b05
dnl successful. Also defines HAVE_LIBSMI_H and adds -llibsmi to the 
Packit 022b05
dnl LIBS variable.
Packit 022b05
dnl 
Packit 022b05
AC_DEFUN([AM_PATH_LIBSMI],
Packit 022b05
[
Packit 022b05
  AC_CHECK_HEADERS(smi.h)
Packit 022b05
  AC_CHECK_LIB(smi, smiInit)
Packit 022b05
  AC_MSG_CHECKING([whether to enable libsmi])
Packit 022b05
  AC_TRY_RUN([ /* libsmi available check */
Packit 022b05
#include <smi.h>
Packit 022b05
main()
Packit 022b05
{
Packit 022b05
  int current, revision, age, n;
Packit 022b05
  const int required = 2;
Packit 022b05
  if (smiInit(""))
Packit 022b05
    exit(1);
Packit 022b05
  if (strcmp(SMI_LIBRARY_VERSION, smi_library_version))
Packit 022b05
    exit(2);
Packit 022b05
  n = sscanf(smi_library_version, "%d:%d:%d", &current, &revision, &age;;
Packit 022b05
  if (n != 3)
Packit 022b05
    exit(3);
Packit 022b05
  if (required < current - age || required > current)
Packit 022b05
    exit(4);
Packit 022b05
  exit(0);
Packit 022b05
}
Packit 022b05
],
Packit 022b05
  [ AC_MSG_RESULT(yes)
Packit 022b05
    libsmi=yes],
Packit 022b05
  [ AC_MSG_RESULT(no)
Packit 022b05
    libsmi=no],
Packit 022b05
  [ AC_MSG_RESULT(not when cross-compiling)
Packit 022b05
    libsmi=no]
Packit 022b05
  )
Packit 022b05
])