Merge pull request #8501 from jtattermusch/run_csharp_aarch64_test
Run csharp aarch64 tests on the CI (with an emulator)
diff --git a/python/setup.py b/python/setup.py
index 696bde2..ff67b89 100755
--- a/python/setup.py
+++ b/python/setup.py
@@ -209,6 +209,18 @@
extra_compile_args = []
+ message_extra_link_args = None
+ api_implementation_link_args = None
+ if "darwin" in sys.platform:
+ if sys.version_info[0] == 2:
+ message_init_symbol = 'init_message'
+ api_implementation_init_symbol = 'init_api_implementation'
+ else:
+ message_init_symbol = 'PyInit__message'
+ api_implementation_init_symbol = 'PyInit__api_implementation'
+ message_extra_link_args = ['-Wl,-exported_symbol,_%s' % message_init_symbol]
+ api_implementation_link_args = ['-Wl,-exported_symbol,_%s' % api_implementation_init_symbol]
+
if sys.platform != 'win32':
extra_compile_args.append('-Wno-write-strings')
extra_compile_args.append('-Wno-invalid-offsetof')
@@ -259,6 +271,7 @@
include_dirs=[".", "../src"],
libraries=libraries,
extra_objects=extra_objects,
+ extra_link_args=message_extra_link_args,
library_dirs=['../src/.libs'],
extra_compile_args=extra_compile_args,
),
@@ -266,6 +279,7 @@
"google.protobuf.internal._api_implementation",
glob.glob('google/protobuf/internal/api_implementation.cc'),
extra_compile_args=extra_compile_args + ['-DPYTHON_PROTO2_CPP_IMPL_V2'],
+ extra_link_args=api_implementation_link_args,
),
])
os.environ['PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION'] = 'cpp'