Blame m4/check-libheader.m4

Packit 29ef81
dnl
Packit 29ef81
dnl CHECK-LIBHEADER(FEATURE-NAME, LIB-NAME, LIB-FUNCTION, HEADER-NAME,
Packit 29ef81
dnl                 ACTION-IF-FOUND, ACTION-IF-NOT-FOUND,
Packit 29ef81
dnl                 EXTRA-LDFLAGS, EXTRA-CPPFLAGS)
Packit 29ef81
dnl
Packit 29ef81
dnl FEATURE-NAME        - feature name; library and header files are treated
Packit 29ef81
dnl                       as feature, which we look for
Packit 29ef81
dnl LIB-NAME            - library name as in AC_CHECK_LIB macro
Packit 29ef81
dnl LIB-FUNCTION        - library symbol as in AC_CHECK_LIB macro
Packit 29ef81
dnl HEADER-NAME         - header file name as in AC_CHECK_HEADER
Packit 29ef81
dnl ACTION-IF-FOUND     - when feature is found then execute given action
Packit 29ef81
dnl ACTION-IF-NOT-FOUND - when feature is not found then execute given action
Packit 29ef81
dnl EXTRA-LDFLAGS       - extra linker flags (-L or -l)
Packit 29ef81
dnl EXTRA-CPPFLAGS      - extra C preprocessor flags, i.e. -I/usr/X11R6/include
Packit 29ef81
dnl
Packit 29ef81
dnl Based on GST_CHECK_LIBHEADER from gstreamer plugins 0.3.1.
Packit 29ef81
dnl
Packit 29ef81
AC_DEFUN([CHECK_LIBHEADER],
Packit 29ef81
[
Packit 29ef81
  AC_CHECK_LIB([$2], [$3], HAVE_[$1]=yes, HAVE_[$1]=no, [$7])
Packit 29ef81
  check_libheader_feature_name=translit([$1], A-Z, a-z)
Packit 29ef81
Packit 29ef81
  if test "x$HAVE_[$1]" = "xyes"; then
Packit 29ef81
    check_libheader_save_CPPFLAGS=$CPPFLAGS
Packit 29ef81
    CPPFLAGS="[$8] $CPPFLAGS"
Packit 29ef81
    AC_CHECK_HEADER([$4], :, HAVE_[$1]=no)
Packit 29ef81
    CPPFLAGS=$check_libheader_save_CPPFLAGS
Packit 29ef81
  fi
Packit 29ef81
Packit 29ef81
  if test "x$HAVE_[$1]" = "xyes"; then
Packit 29ef81
    ifelse([$5], , :, [$5])
Packit 29ef81
    AC_MSG_NOTICE($check_libheader_feature_name was found)
Packit 29ef81
  else
Packit 29ef81
    ifelse([$6], , :, [$6])
Packit 29ef81
    AC_MSG_WARN($check_libheader_feature_name not found)
Packit 29ef81
  fi
Packit 29ef81
  AC_SUBST(HAVE_[$1])
Packit 29ef81
]
Packit 29ef81
)