summaryrefslogtreecommitdiff
path: root/chromium/v8/include/v8-testing.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/include/v8-testing.h')
-rw-r--r--chromium/v8/include/v8-testing.h34
1 files changed, 32 insertions, 2 deletions
diff --git a/chromium/v8/include/v8-testing.h b/chromium/v8/include/v8-testing.h
index 97b467a91b1..59eebf9db47 100644
--- a/chromium/v8/include/v8-testing.h
+++ b/chromium/v8/include/v8-testing.h
@@ -30,12 +30,42 @@
#include "v8.h"
+#ifdef _WIN32
+// Setup for Windows DLL export/import. See v8.h in this directory for
+// information on how to build/use V8 as a DLL.
+#if defined(BUILDING_V8_SHARED) && defined(USING_V8_SHARED)
+#error both BUILDING_V8_SHARED and USING_V8_SHARED are set - please check the\
+ build configuration to ensure that at most one of these is set
+#endif
+
+#ifdef BUILDING_V8_SHARED
+#define V8EXPORT __declspec(dllexport)
+#elif USING_V8_SHARED
+#define V8EXPORT __declspec(dllimport)
+#else
+#define V8EXPORT
+#endif
+
+#else // _WIN32
+
+// Setup for Linux shared library export. See v8.h in this directory for
+// information on how to build/use V8 as shared library.
+#if defined(__GNUC__) && ((__GNUC__ >= 4) || \
+ (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(V8_SHARED)
+#define V8EXPORT __attribute__ ((visibility("default")))
+#else
+#define V8EXPORT
+#endif
+
+#endif // _WIN32
+
+
/**
* Testing support for the V8 JavaScript engine.
*/
namespace v8 {
-class V8_EXPORT Testing {
+class V8EXPORT Testing {
public:
enum StressType {
kStressTypeOpt,
@@ -69,7 +99,7 @@ class V8_EXPORT Testing {
} // namespace v8
-#undef V8_EXPORT
+#undef V8EXPORT
#endif // V8_V8_TEST_H_