You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by di...@apache.org on 2019/07/30 09:38:44 UTC
[rocketmq-ons-cpp] 17/35: Support
This is an automated email from the ASF dual-hosted git repository.
dinglei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-ons-cpp.git
commit afad560872a4bae6a7eb762af8ace5d08a451e77
Author: ShannonDing <li...@163.com>
AuthorDate: Wed Jul 24 20:00:08 2019 +0800
Support
---
CMakeLists.txt | 11 +++++++++++
build.sh | 1 +
src/main/java/org/apache/rocketmq/graalvm/CInterface.java | 9 +++++++++
3 files changed, 21 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6cef86b..49d90cb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,6 +7,17 @@ project(${PROJECT_NAME} VERSION ${CLIENT_VERSION}
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE Debug)
+if (CONAN_LIBCXX STREQUAL "libstdc++11")
+ message("Using -D_GLIBCXX_USE_CXX11_ABI=1")
+ add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)
+elseif (CONAN_LIBCXX STREQUAL "libstdc++")
+ message("Using -D_GLIBCXX_USE_CXX11_ABI=0")
+ add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
+else ()
+ message("As Default -D_GLIBCXX_USE_CXX11_ABI=0, not set.")
+ #add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
+endif ()
+
include(CTest)
option(BUILD_TESTS "Build tests" ON)
diff --git a/build.sh b/build.sh
index 0b23ca1..ae8e4c4 100755
--- a/build.sh
+++ b/build.sh
@@ -11,6 +11,7 @@ native-image --shared -H:Path=./build \
-H:CLibraryPath=./src/main/c/native \
-jar ./target/rocketmq-ons-cpp-full.jar \
-Dio.netty.noUnsafe=true \
+ -DOPEN_DUAL_ABI=false \
--report-unsupported-elements-at-runtime \
--allow-incomplete-classpath \
-H:+ReportExceptionStackTraces \
diff --git a/src/main/java/org/apache/rocketmq/graalvm/CInterface.java b/src/main/java/org/apache/rocketmq/graalvm/CInterface.java
index f93a396..f0a7ca7 100644
--- a/src/main/java/org/apache/rocketmq/graalvm/CInterface.java
+++ b/src/main/java/org/apache/rocketmq/graalvm/CInterface.java
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializeConfig;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -61,6 +62,14 @@ public class CInterface {
*/
return Collections.singletonList("<rocketmq/rocketmq.h>");
}
+
+ public List<String> getMacroDefinitions() {
+ if ("true".equalsIgnoreCase(System.getProperty("OPEN_DUAL_ABI"))) {
+ System.out.println("-D_GLIBCXX_USE_CXX11_ABI=1");
+ return Arrays.asList("-D_GLIBCXX_USE_CXX11_ABI=1");
+ }
+ return Arrays.asList("-D_GLIBCXX_USE_CXX11_ABI=0");
+ }
}
@CStruct("message") interface CMessage extends PointerBase {