|
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", ¤t, &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 |
])
|