aboutsummaryrefslogtreecommitdiff
path: root/m4/check-libheader.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/check-libheader.m4')
-rw-r--r--m4/check-libheader.m440
1 files changed, 40 insertions, 0 deletions
diff --git a/m4/check-libheader.m4 b/m4/check-libheader.m4
new file mode 100644
index 000000000..1e24d8a97
--- /dev/null
+++ b/m4/check-libheader.m4
@@ -0,0 +1,40 @@
1dnl
2dnl CHECK-LIBHEADER(FEATURE-NAME, LIB-NAME, LIB-FUNCTION, HEADER-NAME,
3dnl ACTION-IF-FOUND, ACTION-IF-NOT-FOUND,
4dnl EXTRA-LDFLAGS, EXTRA-CPPFLAGS)
5dnl
6dnl FEATURE-NAME - feature name; library and header files are treated
7dnl as feature, which we look for
8dnl LIB-NAME - library name as in AC_CHECK_LIB macro
9dnl LIB-FUNCTION - library symbol as in AC_CHECK_LIB macro
10dnl HEADER-NAME - header file name as in AC_CHECK_HEADER
11dnl ACTION-IF-FOUND - when feature is found then execute given action
12dnl ACTION-IF-NOT-FOUND - when feature is not found then execute given action
13dnl EXTRA-LDFLAGS - extra linker flags (-L or -l)
14dnl EXTRA-CPPFLAGS - extra C preprocessor flags, i.e. -I/usr/X11R6/include
15dnl
16dnl Based on GST_CHECK_LIBHEADER from gstreamer plugins 0.3.1.
17dnl
18AC_DEFUN([CHECK_LIBHEADER],
19[
20 AC_CHECK_LIB([$2], [$3], HAVE_[$1]=yes, HAVE_[$1]=no, [$7])
21 check_libheader_feature_name=translit([$1], A-Z, a-z)
22
23 if test "x$HAVE_[$1]" = "xyes"; then
24 check_libheader_save_CPPFLAGS=$CPPFLAGS
25 CPPFLAGS="[$8] $CPPFLAGS"
26 AC_CHECK_HEADER([$4], :, HAVE_[$1]=no)
27 CPPFLAGS=$check_libheader_save_CPPFLAGS
28 fi
29
30 if test "x$HAVE_[$1]" = "xyes"; then
31 ifelse([$5], , :, [$5])
32 AC_MSG_NOTICE($check_libheader_feature_name was found)
33 else
34 ifelse([$6], , :, [$6])
35 AC_MSG_WARN($check_libheader_feature_name not found)
36 fi
37 AC_SUBST(HAVE_[$1])
38]
39)
40