SHA256
1
0
forked from jengelh/grpc
grpc/0002-Allow-building-the-python-module-with-system-zlib.patch
Marcus Meissner da1554be0f Accepting request 612114 from home:tbechtold:branches:devel:tools
- build grpc python module for python2 and python3
  * add 0001-Allow-building-the-python-module-with-system-openssl.patch
  * add 0002-Allow-building-the-python-module-with-system-zlib.patch
  * add 0003-Allow-building-the-python-module-with-system-cares.patch

OBS-URL: https://build.opensuse.org/request/show/612114
OBS-URL: https://build.opensuse.org/package/show/devel:tools/grpc?expand=0&rev=26
2018-05-28 17:36:25 +00:00

56 lines
2.2 KiB
Diff

From 3823d9048102bce79e165584c62a1a5b91810aeb Mon Sep 17 00:00:00 2001
From: Thomas Bechtold <tbechtold@suse.com>
Date: Fri, 25 May 2018 06:52:23 +0200
Subject: [PATCH 2/3] Allow building the python module with system zlib
When building the python module and using the new
GRPC_PYTHON_BUILD_SYSTEM_ZLIB env variable, the third party zlib code
is not compiled. Instead, the zlib shared library installed on the
system is used during runtime.
This is useful for distributions who don't want to include code copies
but use shared libraries instead.
---
setup.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/setup.py b/setup.py
index 3a5ed56c64..483d3ac168 100644
--- a/setup.py
+++ b/setup.py
@@ -90,6 +90,12 @@ BUILD_WITH_CYTHON = os.environ.get('GRPC_PYTHON_BUILD_WITH_CYTHON', False)
BUILD_WITH_SYSTEM_OPENSSL = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL',
False)
+# Export this variable to use the system installation of zlib. You need to
+# have the header files installed (in /usr/include/) and during
+# runtime, the shared libary must be installed
+BUILD_WITH_SYSTEM_ZLIB = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_ZLIB',
+ False)
+
# Environment variable to determine whether or not to enable coverage analysis
# in Cython modules.
ENABLE_CYTHON_TRACING = os.environ.get(
@@ -159,6 +165,10 @@ if BUILD_WITH_SYSTEM_OPENSSL:
CORE_C_FILES = filter(lambda x: 'src/boringssl' not in x, CORE_C_FILES)
SSL_INCLUDE = (os.path.join('/usr', 'include', 'openssl'),)
+if BUILD_WITH_SYSTEM_ZLIB:
+ CORE_C_FILES = filter(lambda x: 'third_party/zlib' not in x, CORE_C_FILES)
+ ZLIB_INCLUDE = (os.path.join('/usr', 'include'),)
+
EXTENSION_INCLUDE_DIRECTORIES = (
(PYTHON_STEM,) + CORE_INCLUDE + SSL_INCLUDE + ZLIB_INCLUDE +
CARES_INCLUDE + ADDRESS_SORTING_INCLUDE)
@@ -172,6 +182,8 @@ if "win32" in sys.platform:
EXTENSION_LIBRARIES += ('advapi32', 'ws2_32',)
if BUILD_WITH_SYSTEM_OPENSSL:
EXTENSION_LIBRARIES += ('ssl', 'crypto',)
+if BUILD_WITH_SYSTEM_ZLIB:
+ EXTENSION_LIBRARIES += ('z',)
DEFINE_MACROS = (
('OPENSSL_NO_ASM', 1), ('_WIN32_WINNT', 0x600),
--
2.17.0