Ensure compilation to Javascript with Emscripten
authorSéverin Lemaignan <severin.lemaignan@epfl.ch>
Tue, 26 Nov 2013 04:53:44 +0000 (05:53 +0100)
committerSéverin Lemaignan <severin.lemaignan@epfl.ch>
Mon, 2 Dec 2013 13:06:24 +0000 (14:06 +0100)
modules/core/include/opencv2/core/cvdef.h
modules/core/src/system.cpp

index c831e80..1942793 100644 (file)
@@ -444,7 +444,7 @@ CV_INLINE int cvIsInf( double value )
    // atomic increment on the linux version of the Intel(tm) compiler
 #  define CV_XADD(addr, delta) (int)_InterlockedExchangeAdd(const_cast<void*>(reinterpret_cast<volatile void*>(addr)), delta)
 #elif defined __GNUC__
-#  if defined __clang__ && __clang_major__ >= 3 && !defined __ANDROID__
+#  if defined __clang__ && __clang_major__ >= 3 && !defined __ANDROID__ && !defined __EMSCRIPTEN__
 #    ifdef __ATOMIC_ACQ_REL
 #      define CV_XADD(addr, delta) __c11_atomic_fetch_add((_Atomic(int)*)(addr), delta, __ATOMIC_ACQ_REL)
 #    else
index 252f277..eee06e2 100644 (file)
@@ -157,7 +157,7 @@ std::wstring GetTempFileNameWinRT(std::wstring prefix)
 
 #include <stdarg.h>
 
-#if defined __linux__ || defined __APPLE__
+#if defined __linux__ || defined __APPLE__ || defined __EMSCRIPTEN__
 #include <unistd.h>
 #include <stdio.h>
 #include <sys/types.h>