Define V8_EXPORT to nothing for clients of v8.
authoryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 18 May 2012 09:52:09 +0000 (09:52 +0000)
committeryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 18 May 2012 09:52:09 +0000 (09:52 +0000)
This is to make sure that inline functions are only exported by
libv8.so and not also by all clients. This is the v8 version of
https://chromiumcodereview.appspot.com/10386108/

This CL depends on http://codereview.chromium.org/10310156/ landing
first.

BUG=chromium:90078

Review URL: https://chromiumcodereview.appspot.com/10399036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

include/v8.h

index 9024531..d31ef54 100644 (file)
 
 #else  // _WIN32
 
-// Setup for Linux shared library export. There is no need to distinguish
-// between building or using the V8 shared library, but we should not
-// export symbols when we are building a static library.
+// Setup for Linux shared library export.
 #if defined(__GNUC__) && (__GNUC__ >= 4) && defined(V8_SHARED)
+#ifdef BUILDING_V8_SHARED
 #define V8EXPORT __attribute__ ((visibility("default")))
+#else
+#define V8EXPORT
+#endif
 #else  // defined(__GNUC__) && (__GNUC__ >= 4)
 #define V8EXPORT
 #endif  // defined(__GNUC__) && (__GNUC__ >= 4)