From: Gregory P. Smith Date: Thu, 18 Oct 2018 01:10:46 +0000 (-0700) Subject: bpo-35011: Restore use of pyexpatns.h in libexpat (GH-9939) X-Git-Tag: v3.8.0a1~756 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9d4712bc8f26bf1d7e626b53ab092fe030bcd68d;p=thirdparty%2FPython%2Fcpython.git bpo-35011: Restore use of pyexpatns.h in libexpat (GH-9939) Restores the use of pyexpatns.h to isolate our embedded copy of the expat C library so that its symbols do not conflict at link or dynamic loading time with an embedding application or other extension modules with their own version of libexpat. https://github.com/python/cpython/commit/5dc3f23b5fb0b510926012cb3732dae63cddea60#diff-3afaf7274c90ce1b7405f75ad825f545 inadvertently removed it when upgrading expat. --- diff --git a/Misc/NEWS.d/next/Build/2018-10-17-17-38-57.bpo-35011.GgoPIC.rst b/Misc/NEWS.d/next/Build/2018-10-17-17-38-57.bpo-35011.GgoPIC.rst new file mode 100644 index 000000000000..4411ffea45ce --- /dev/null +++ b/Misc/NEWS.d/next/Build/2018-10-17-17-38-57.bpo-35011.GgoPIC.rst @@ -0,0 +1,4 @@ +Restores the use of pyexpatns.h to isolate our embedded copy of the expat C +library so that its symbols do not conflict at link or dynamic loading time +with an embedding application or other extension modules with their own +version of libexpat. diff --git a/Modules/expat/expat_external.h b/Modules/expat/expat_external.h index 629483a91b27..2d96b4f41ad7 100644 --- a/Modules/expat/expat_external.h +++ b/Modules/expat/expat_external.h @@ -35,6 +35,10 @@ /* External API definitions */ +/* Namespace external symbols to allow multiple libexpat version to + co-exist. */ +#include "pyexpatns.h" + #if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) # define XML_USE_MSC_EXTENSIONS 1 #endif