summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch')
-rw-r--r--app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch117
1 files changed, 117 insertions, 0 deletions
diff --git a/app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch b/app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch
new file mode 100644
index 00000000000..7ff132eaa59
--- /dev/null
+++ b/app-i18n/mozc/files/mozc-2.26.4220-system_jsoncpp.patch
@@ -0,0 +1,117 @@
+https://github.com/google/mozc/issues/490
+
+--- /src/gyp/defines.gypi
++++ /src/gyp/defines.gypi
+@@ -71,6 +71,10 @@
+ # use_system_gtest represents if system version or bundled version
+ # of gtest library is used.
+ 'use_system_gtest%': '0',
++
++ # use_system_jsoncpp represents if system version or bundled version
++ # of jsoncpp library is used.
++ 'use_system_jsoncpp%': '0',
+ },
+ 'target_defaults': {
+ 'defines': [
+--- /src/net/jsoncpp.gyp
++++ /src/net/jsoncpp.gyp
+@@ -31,32 +31,60 @@
+ 'targets': [
+ {
+ 'target_name': 'jsoncpp',
+- 'type': 'static_library',
+- 'variables': {
+- 'jsoncpp_root': '<(third_party_dir)/jsoncpp',
+- 'jsoncpp_srcs': [
+- '<(jsoncpp_root)/src/lib_json/json_reader.cpp',
+- '<(jsoncpp_root)/src/lib_json/json_value.cpp',
+- '<(jsoncpp_root)/src/lib_json/json_writer.cpp',
+- ],
+- 'jsoncpp_include_dirs': ['<(jsoncpp_root)/include'],
+- 'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'],
+- },
+- 'defines': [
+- '<@(jsoncpp_additional_macros)',
++ 'conditions': [
++ ['use_system_jsoncpp==1', {
++ 'type': 'none',
++ 'variables': {
++ 'jsoncpp_additional_macros': [
++ 'JSON_USE_EXCEPTION=0',
++ 'MOZC_USE_SYSTEM_JSONCPP',
++ ],
++ },
++ 'all_dependent_settings': {
++ 'defines': [
++ '<@(jsoncpp_additional_macros)',
++ ],
++ 'cflags': [
++ '<!@(pkg-config --cflags jsoncpp)',
++ ],
++ 'link_settings': {
++ 'libraries': [
++ '<!@(pkg-config --libs-only-l jsoncpp)',
++ ],
++ 'ldflags': [
++ '<!@(pkg-config --libs-only-L jsoncpp)',
++ ],
++ }
++ },
++ }, {
++ 'type': 'static_library',
++ 'variables': {
++ 'jsoncpp_root': '<(third_party_dir)/jsoncpp',
++ 'jsoncpp_srcs': [
++ '<(jsoncpp_root)/src/lib_json/json_reader.cpp',
++ '<(jsoncpp_root)/src/lib_json/json_value.cpp',
++ '<(jsoncpp_root)/src/lib_json/json_writer.cpp',
++ ],
++ 'jsoncpp_include_dirs': ['<(jsoncpp_root)/include'],
++ 'jsoncpp_additional_macros': ['JSON_USE_EXCEPTION=0'],
++ },
++ 'defines': [
++ '<@(jsoncpp_additional_macros)',
++ ],
++ 'sources': [
++ '<@(jsoncpp_srcs)',
++ 'jsoncpp.h',
++ ],
++ 'include_dirs': [
++ '<@(jsoncpp_include_dirs)',
++ ],
++ 'all_dependent_settings': {
++ 'defines': [
++ '<@(jsoncpp_additional_macros)',
++ ],
++ },
++ }],
+ ],
+- 'sources': [
+- '<@(jsoncpp_srcs)',
+- 'jsoncpp.h',
+- ],
+- 'include_dirs': [
+- '<@(jsoncpp_include_dirs)',
+- ],
+- 'all_dependent_settings': {
+- 'defines': [
+- '<@(jsoncpp_additional_macros)',
+- ],
+- },
+ },
+ ],
+ }
+--- /src/net/jsoncpp.h
++++ /src/net/jsoncpp.h
+@@ -35,7 +35,11 @@
+ // Mozc basically disables C++ exception.
+ #define JSON_USE_EXCEPTION 0
+ #endif // !JSON_USE_EXCEPTION
++#ifdef MOZC_USE_SYSTEM_JSONCPP
++#include <json/json.h>
++#else
+ #include "third_party/jsoncpp/include/json/json.h"
++#endif
+ #define MOZC_JSONCPP_JSON_H_INCLUDED
+ #endif // !MOZC_JSONCPP_JSON_H_INCLUDED
+