浏览代码

Merge pull request #1005 from oon3m0oo/emscripten

Adds support for building protobuf with emscripten
Feng Xiao 10 年之前
父节点
当前提交
d8b6452e37
共有 2 个文件被更改,包括 5 次插入1 次删除
  1. 3 1
      src/google/protobuf/map.h
  2. 2 0
      src/google/protobuf/stubs/platform_macros.h

+ 3 - 1
src/google/protobuf/map.h

@@ -546,7 +546,9 @@ class Map {
     }
 
 #if __cplusplus >= 201103L && !defined(GOOGLE_PROTOBUF_OS_APPLE) && \
-    !defined(GOOGLE_PROTOBUF_OS_NACL) && !defined(GOOGLE_PROTOBUF_OS_ANDROID)
+    !defined(GOOGLE_PROTOBUF_OS_NACL) &&                            \
+    !defined(GOOGLE_PROTOBUF_OS_ANDROID) &&                         \
+    !defined(GOOGLE_PROTOBUF_OS_EMSCRIPTEN)
     template<class NodeType, class... Args>
     void construct(NodeType* p, Args&&... args) {
       new (static_cast<void*>(p)) NodeType(std::forward<Args>(args)...);

+ 2 - 0
src/google/protobuf/stubs/platform_macros.h

@@ -97,6 +97,8 @@ GOOGLE_PROTOBUF_PLATFORM_ERROR
 #if TARGET_OS_IPHONE
 #define GOOGLE_PROTOBUF_OS_IPHONE
 #endif
+#elif defined(__EMSCRIPTEN__)
+#define GOOGLE_PROTOBUF_OS_EMSCRIPTEN
 #elif defined(__native_client__)
 #define GOOGLE_PROTOBUF_OS_NACL
 #elif defined(sun)