From 13a74582ffd7f81dbd66a7296fc76007718e9d4d Mon Sep 17 00:00:00 2001
From: Andreas Mueller <schnitzeltony@gmx.de>
Date: Mon, 1 Aug 2011 17:16:29 +0200

Upstream-Status: Inappropriate [embedded specific]

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>

---
 configure.ac | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/configure.ac b/configure.ac
index 0de5ceb..3f92d1b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -143,22 +143,24 @@ AC_FUNC_MMAP()
 dnl ***************************************
 dnl *** Check for strftime() extensions ***
 dnl ***************************************
-AC_TRY_RUN([
-  #include <string.h>
-  #include <time.h>
-  int
-  main (int argc, char **argv)
-  {
-    struct tm tm;
-    char      buffer[16];
-    tm.tm_year = 81;
-    if (strftime (buffer, 16, "%EY", &tm) == 4 && strcmp (buffer, "1981") == 0)
-      return 0;
-    return 1;
-  }
-], [
-  AC_DEFINE([HAVE_STRFTIME_EXTENSION], 1, [Define if strftime supports %E and %O modifiers.])
-])
+dnl grrrr...  this doesn't work for cross compiling, define it for OE
+AC_DEFINE([HAVE_STRFTIME_EXTENSION], 1, [Define if strftime supports %E and %O modifiers.])
+dnl AC_TRY_RUN([
+dnl   #include <string.h>
+dnl   #include <time.h>
+dnl   int
+dnl   main (int argc, char **argv)
+dnl   {
+dnl     struct tm tm;
+dnl     char      buffer[16];
+dnl     tm.tm_year = 81;
+dnl     if (strftime (buffer, 16, "%EY", &tm) == 4 && strcmp (buffer, "1981") == 0)
+dnl       return 0;
+dnl     return 1;
+dnl   }
+dnl ], [
+dnl   AC_DEFINE([HAVE_STRFTIME_EXTENSION], 1, [Define if strftime supports %E and %O modifiers.])
+dnl ])
 
 dnl ******************************
 dnl *** Check for i18n support ***
