Review Board 1.7.22

Updates to external-declarations for the C++ APIs for mingw32 compiler support

Review Request #523 - Created March 23, 2011 and updated

Ted Ross
aconway, shuston
This patch changes the way that classes and methods are declared external (for exposure in shared-libs and DLLs).

Instead of the singular <MODULE>_EXTERN macro, this change divides the macros into three macros:

<MODULE>_EXTERN          - for public class methods
<MODULE>_INLINE_EXTERN   - for public inline methods
<MODULE>_CLASS_EXTERN    - for public classes

This division allows better granularity in meeting the needs of various compilers.  The driving requirement for this change was desired support for the mingw32 cross-compiler for Windows.  The mingw32 compiler has different and conflicting requirements from the Microsoft Visual Studio compiler.

Review request changed
Updated (April 1, 2011, 6:25 p.m.)
This diff shows a implementation of Alan's suggested improvement.  It only shows the common and the messaging headers to illustrate the new structure.  If accepted, I will update the other directory-specific headers to match the messaging header.
Ship it!
Posted (April 1, 2011, 7:01 p.m.)


  1. I like it. Nice work.