]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - API/JSBase.h
JavaScriptCore-576.tar.gz
[apple/javascriptcore.git] / API / JSBase.h
index f44d4ad88345f4901a267fe746cdb228ae9f089f..2e16720cebb18a822179b9ae3fded3d069161315 100644 (file)
@@ -65,14 +65,16 @@ typedef struct OpaqueJSValue* JSObjectRef;
 /* JavaScript symbol exports */
 
 #undef JS_EXPORT
-#if defined(__GNUC__)
-    #define JS_EXPORT __attribute__((visibility("default")))
-#elif defined(WIN32) || defined(_WIN32)
-    /*
-     * TODO: Export symbols with JS_EXPORT when using MSVC.
-     * See http://bugs.webkit.org/show_bug.cgi?id=16227
-     */
+#if defined(JS_NO_EXPORT)
     #define JS_EXPORT
+#elif defined(__GNUC__) && !defined(__CC_ARM) && !defined(__ARMCC__)
+    #define JS_EXPORT __attribute__((visibility("default")))
+#elif defined(WIN32) || defined(_WIN32) || defined(_WIN32_WCE)
+    #if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF)
+        #define JS_EXPORT __declspec(dllexport)
+    #else
+        #define JS_EXPORT __declspec(dllimport)
+    #endif
 #else
     #define JS_EXPORT
 #endif