Allow the build files to override OPUS_EXPORT.
authorRalph Giles <giles@mozilla.com>
Thu, 29 Nov 2012 19:01:27 +0000 (11:01 -0800)
committerRalph Giles <giles@mozilla.com>
Thu, 29 Nov 2012 19:26:38 +0000 (11:26 -0800)
commit265b6b11a3bdac5356f137d361123f05a6d3b827
tree963009a22e0557db9a646574e9bee99a9991eacb
parent83f8012ca57251b270847490b5e5e0f534644b8a
Allow the build files to override OPUS_EXPORT.

OPUS_EXPORT was conditionalized on OPUS_BUILD, so that symbols
are export based on public header declarations when building
opus as a library, but not when those headers are included in
other programmes. This doesn't address the case when the opus
source and its caller are both included in the same monolithic
build.

In that case we want to define OPUS_BUILD, to indicate that we
are compiling the codec source, but not export the symbols. To
support this, only define OPUS_EXPORT if it is not already defined.
This allows build scripts to -DOPUS_EXPORT and override the
platform-specific attribute decortation in opus_defines.h.

Based on a patch by Sergey Ulanov.
http://git.chromium.org/gitweb/?p=chromium/deps/opus.git;a=commitdiff;h=6304b9628cb7244e3cc78f740aeb6659562f1857
include/opus_defines.h