summaryrefslogtreecommitdiff
path: root/source4/build/smb_build/public.m4
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/smb_build/public.m4')
-rw-r--r--source4/build/smb_build/public.m417
1 files changed, 13 insertions, 4 deletions
diff --git a/source4/build/smb_build/public.m4 b/source4/build/smb_build/public.m4
index 74f98b1c15..6ce57b0083 100644
--- a/source4/build/smb_build/public.m4
+++ b/source4/build/smb_build/public.m4
@@ -172,16 +172,25 @@ AC_DEFUN([SMB_EXT_LIB_FROM_PKGCONFIG],
elif $PKG_CONFIG --exists '$2' ; then
AC_MSG_RESULT(yes)
- SMB_EXT_LIB_ENABLE($1, YES)
+
+ $1_CFLAGS="`$PKG_CONFIG --cflags '$2'`"
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $$1_CFLAGS"
+ AC_MSG_CHECKING([that the C compiler can use the $1_CFLAGS])
+ AC_TRY_RUN([#include "${srcdir-.}/build/tests/trivial.c"],
+ SMB_EXT_LIB_ENABLE($1, YES)
+ AC_MSG_RESULT(yes),
+ AC_MSG_RESULT(no),
+ AC_MSG_WARN([cannot run when cross-compiling]))
+
+ CFLAGS="$OLD_CFLAGS"
+
SMB_EXT_LIB($1,
[`$PKG_CONFIG --libs-only-l '$2'`],
[`$PKG_CONFIG --cflags-only-other '$2'`],
[`$PKG_CONFIG --cflags-only-I '$2'`],
[`$PKG_CONFIG --libs-only-other '$2'` `$PKG_CONFIG --libs-only-L '$2'`])
- # FIXME: Dirty hack
- $1_CFLAGS="`$PKG_CONFIG --cflags '$2'`"
- CFLAGS="$CFLAGS $$1_CFLAGS"
else
SMB_EXT_LIB($1)
SMB_EXT_LIB_ENABLE($1, NO)