[Mapguide-trac] [mapguide-trac] #2781: Find a way to not leak ACE/xerces headers/definitions in MapGuide common headers
MapGuide Open Source
trac_mapguide at osgeo.org
Sat Jun 2 08:49:47 PDT 2018
#2781: Find a way to not leak ACE/xerces headers/definitions in MapGuide common
headers
--------------------------+----------------------
Reporter: jng | Owner: jng
Type: defect | Status: closed
Priority: high | Milestone: 3.3
Component: Build System | Version: 3.1.0
Severity: trivial | Resolution: fixed
Keywords: | External ID:
--------------------------+----------------------
Changes (by jng):
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"9393" 9393]:
{{{
#!CommitTicketReference repository="" revision="9393"
Introduce a new preprocessor symbol SWIG_PUBLIC_API
With this symbol, we #ifdef out and forward-declare as much of ACE and
xerces types and headers in our MapGuide common headers. The only ACE
header that is leaked out now is the header for ACE_Recursive_Thread_Mutex
as that is present as member of several classes in the public MapGuide API
surface.
In our SWIG binding projects, SWIG_PUBLIC_API is defined. All other
consuming projects do not define this symbol so they see the original set
of ACE and xerces headers.
This change slightly breaks the SWIG C++ glue code for .net (which used
un-qualified list), so our internal copy of SWIG is updated to use fully
qualified list (std::list) and our various SWIG parameter files include
the <list> header.
This change eliminates the need for us to maintain a patched copy of
TSRM/readdir.h for PHP, so that is removed.
Fixes #2781
}}}
--
Ticket URL: <https://trac.osgeo.org/mapguide/ticket/2781#comment:3>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals
More information about the mapguide-trac
mailing list