use efl_fnmatch m4 macro
authorcaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 3 Feb 2010 20:47:48 +0000 (20:47 +0000)
committercaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 3 Feb 2010 20:47:48 +0000 (20:47 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eet@45852 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

configure.ac
eet.pc.in
m4/efl_fnmatch.m4 [new file with mode: 0644]

index 6ddfd2e..dbc0ad5 100644 (file)
@@ -291,10 +291,6 @@ AC_CHECK_HEADER([jpeglib.h],
 
 AC_CHECK_HEADERS(netinet/in.h)
 
-AC_CHECK_HEADER([fnmatch.h],
-   [dummy="yes"],
-   [AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])])
-
 
 ### Checks for types
 
@@ -385,19 +381,7 @@ AC_FUNC_ALLOCA
 
 AC_CHECK_FUNCS(fmemopen open_memstream realpath)
 
-fnmatch_libs=""
-AC_CHECK_FUNCS([fnmatch], [res="yes"], [res="no"])
-if test "x$res" = "xno"; then
-   AC_SEARCH_LIBS([fnmatch],
-      [fnmatch evil iberty],
-      [res="yes"],
-      [res="no"])
-   if test "x$res" = "xno"; then
-      AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
-   fi
-   fnmatch_libs="${ac_cv_search_fnmatch}"
-fi
-AC_SUBST(fnmatch_libs)
+EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
 
 
 AC_SUBST(requirement_eet)
index 20a32a3..df841e2 100644 (file)
--- a/eet.pc.in
+++ b/eet.pc.in
@@ -8,6 +8,6 @@ Description: Library for speedy data storage, retrieval, and compression
 @pkgconfig_requires_private@: @requirement_eet@
 Version: @VERSION@
 Libs: -L${libdir} -leet
-Libs.private: @EET_LIBS@ @fnmatch_libs@ @LIBGCRYPT_LIBS@ -ljpeg -lz -lm
+Libs.private: @EET_LIBS@ @EFL_FNMATCH_LIBS@ @LIBGCRYPT_LIBS@ -ljpeg -lz -lm
 Cflags: -I${includedir}
 Cflags.private: @LIBGCRYPT_CFLAGS@
diff --git a/m4/efl_fnmatch.m4 b/m4/efl_fnmatch.m4
new file mode 100644 (file)
index 0000000..a92ac6b
--- /dev/null
@@ -0,0 +1,31 @@
+dnl Copyright (C) 2010 Vincent Torri <vtorri at univ-evry dot fr>
+dnl That code is public domain and can be freely used or copied.
+
+dnl Macro that check if fnmatch functions are available or not.
+
+dnl Usage: EFL_CHECK_FNMATCH([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl Call AC_SUBST(EFL_FNMATCH_LIBS)
+
+AC_DEFUN([EFL_CHECK_FNMATCH],
+[
+
+AC_CHECK_HEADER([fnmatch.h], [_efl_have_fnmatch="yes"], [_efl_have_fnmatch="no"])
+
+if test "x${_efl_have_fnmatch}" = "xyes" ; then
+   AC_SEARCH_LIBS([fnmatch],
+      [fnmatch evil iberty],
+      [_efl_have_fnmatch="yes"],
+      [_efl_have_fnmatch="no"])
+fi
+
+EFL_FNMATCH_LIBS=""
+
+if (! test "x${ac_cv_search_fnmatch}" = "xnone required") && (! test "x${ac_cv_search_fnmatch}" = "xno") && (! test "x${ac_cv_search_fnmatch}" = "x-levil") ; then
+   EFL_FNMATCH_LIBS=${ac_cv_search_fnmatch}
+fi
+
+AC_SUBST(EFL_FNMATCH_LIBS)
+
+AS_IF([test "x$_efl_have_fnmatch" = "xyes"], [$1], [$2])
+
+])