Evas: Remove lazy ifdef WIN32 and check for siglongjmp and sigaction availability
authorYouness Alaoui <kakaroto@kakaroto.homelinux.net>
Sun, 18 Sep 2011 21:57:17 +0000 (21:57 +0000)
committerYouness Alaoui <kakaroto@kakaroto.homelinux.net>
Sun, 18 Sep 2011 21:57:17 +0000 (21:57 +0000)
SVN revision: 63463

legacy/evas/configure.ac
legacy/evas/src/lib/engines/common/evas_cpu.c

index 692bafd..4cb4775 100644 (file)
@@ -423,11 +423,12 @@ fi
 ### Checks for header files
 AC_HEADER_STDC
 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h netinet/in.h])
-
 EFL_CHECK_PATH_MAX
 
 
 ### Checks for types
+AC_CHECK_TYPES([struct sigaction], [], [],
+               [[#include <signal.h>]])
 
 
 ### Checks for structures
@@ -473,6 +474,7 @@ AC_SUBST(lt_enable_auto_import)
 ### Checks for library functions
 
 AC_ISC_POSIX
+AC_CHECK_FUNCS([siglongjmp])
 
 # alloca
 AC_FUNC_ALLOCA
index 674e904..f9aef68 100644 (file)
@@ -3,7 +3,7 @@
 #include "evas_mmx.h"
 #endif
 
-#ifndef _WIN32
+#if defined (HAVE_STRUCT_SIGACTION) && defined (HAVE_SIGLONGJMP)
 #include <signal.h>
 #include <setjmp.h>
 #include <errno.h>
@@ -13,7 +13,7 @@ static sigjmp_buf detect_buf;
 
 static int cpu_feature_mask = 0;
 
-#ifndef _WIN32
+#if defined (HAVE_STRUCT_SIGACTION) && defined (HAVE_SIGLONGJMP)
 static void evas_common_cpu_catch_ill(int sig);
 static void evas_common_cpu_catch_segv(int sig);
 
@@ -99,7 +99,7 @@ evas_common_cpu_vis_test(void)
 int
 evas_common_cpu_feature_test(void (*feature)(void))
 {
-#ifndef _WIN32
+#if defined (HAVE_STRUCT_SIGACTION) && defined (HAVE_SIGLONGJMP)
    int enabled = 1;
    struct sigaction act, oact, oact2;