embryo: add Exotic support.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 24 Feb 2012 11:16:23 +0000 (11:16 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 24 Feb 2012 11:16:23 +0000 (11:16 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/embryo@68399 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

configure.ac
m4/efl_fnmatch.m4
m4/efl_gettimeofday.m4 [new file with mode: 0644]
src/lib/embryo_amx.c
src/lib/embryo_str.c
src/lib/embryo_time.c

index 61c50b8..14168e2 100644 (file)
@@ -109,6 +109,21 @@ AC_SUBST(EFL_EMBRYO_BUILD)
 # For embryo_cc_prefix.c
 PKG_CHECK_MODULES([EINA], [eina >= 1.1.0])
 
+### Checks for portability layer
+
+PKG_CHECK_MODULES([EXOTIC],
+   [exotic],
+   [enable_exotic="yes"],
+   [enable_exotic="no"])
+
+if test "x${enable_exotic}" = "xyes"; then
+    requirement_eina="exotic ${requirement_eina}"
+    EINA_CFLAGS="${EINA_CFLAGS} ${EXOTIC_CFLAGS}"
+    EINA_LIBS="${EXOTIC_LIBS}"
+
+    AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.])
+fi
+
 ### Checks for header files
 
 AC_CHECK_HEADERS([unistd.h])
@@ -167,7 +182,7 @@ case "$host_os" in
       AC_DEFINE(HAVE_GETTIMEOFDAY, 1, [Defined to 1 (MinGW platform)])
       ;;
    *)
-      AC_CHECK_FUNCS(gettimeofday)
+      EFL_CHECK_GETTIMEOFDAY([], [AC_MSG_ERROR([Cannot find gettimeofday()])])
       ;;
 esac
 
index a92ac6b..c857046 100644 (file)
@@ -13,7 +13,7 @@ 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],
+      [fnmatch evil exotic iberty],
       [_efl_have_fnmatch="yes"],
       [_efl_have_fnmatch="no"])
 fi
diff --git a/m4/efl_gettimeofday.m4 b/m4/efl_gettimeofday.m4
new file mode 100644 (file)
index 0000000..9b767e5
--- /dev/null
@@ -0,0 +1,48 @@
+dnl Copyright (C) 2011 Cedric Bail <cedric.bail@free.fr>
+dnl This code is public domain and can be freely used or copied.
+
+dnl Macro that check for gettimeofday definition
+
+dnl Usage: EFL_CHECK_GETTIMEOFDAY(ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
+dnl Define EFL_HAVE_GETTIMEOFDAY
+
+AC_DEFUN([EFL_CHECK_GETTIMEOFDAY],
+[
+
+_efl_have_gettimeofday="no"
+
+AC_LINK_IFELSE(
+   [AC_LANG_PROGRAM([[
+#include <stdlib.h>
+#include <sys/time.h>
+                   ]],
+                   [[
+int res;
+res = gettimeofday(NULL, NULL);
+                   ]])],
+   [_efl_have_gettimeofday="yes"],
+   [_efl_have_gettimeofday="no"])
+
+if test "x${_efl_have_gettimeofday}" = "xno" -a "x${enable_exotic}" = "xyes"; then
+   SAVE_LIBS="${LIBS}"
+   SAVE_CFLAGS="${CFLAGS}"
+   LIBS="${LIBS} ${EXOTIC_LIBS}"
+   CFLAGS="${CFLAGS} ${EXOTIC_CFLAGS}"
+   AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM([[
+#include <Exotic.h>
+                      ]],
+                      [[
+int res;
+res = gettimeofday(NULL, NULL);
+                      ]])],
+      [_efl_have_gettimeofday="yes"],
+      [_efl_have_gettimeofday="no"])
+fi
+
+if test "x${_efl_have_gettimeofday}" = "xyes"; then
+   AC_DEFINE([EFL_HAVE_GETTIMEOFDAY], [1], [Defined if gettimeofday is available.])
+fi
+
+AS_IF([test "x${_efl_have_gettimeofday}" = "xyes"], [$1], [$2])
+])
index 4fa84c5..7a41111 100644 (file)
 #include <stdio.h>
 #include <string.h>
 
+#ifdef HAVE_EXOTIC
+# include <Exotic.h>
+#endif
+
 #include "Embryo.h"
 #include "embryo_private.h"
 
index 8f2f5ce..0c2faa2 100644 (file)
@@ -28,6 +28,10 @@ void *alloca (size_t);
 # endif
 #endif
 
+#ifdef HAVE_EXOTIC
+# include <Exotic.h>
+#endif
+
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
index 8392ec3..90c14cf 100644 (file)
@@ -2,7 +2,7 @@
 # include "config.h"
 #endif
 
-#ifndef HAVE_GETTIMEOFDAY
+#ifndef EFL_HAVE_GETTIMEOFDAY
 # error "Your platform isn't supported yet"
 #endif
 
 # include <Evil.h>
 #endif
 
+#ifdef HAVE_EXOTIC
+# include <Exotic.h>
+#endif
+
 #include "Embryo.h"
 #include "embryo_private.h"