win32: only use dllexport when building DLL
authorDaniel Verkamp <daniel@drv.nu>
Thu, 22 Oct 2015 00:24:41 +0000 (17:24 -0700)
committerRalph Giles <giles@mozilla.com>
Wed, 20 Apr 2016 17:36:00 +0000 (10:36 -0700)
commit6e9617371f7cf3f669a60d9540723a01f1128fc8
tree1effbde8a3ffe06b5791ec47ad9ee1441db7dbb0
parent787eee29b87f06390fb3a2f615a525205a84d1f4
win32: only use dllexport when building DLL

If building a static library, marking symbols as dllexport causes them
to be exported from the final executable. For example, run
objdump -x opus_demo.exe on a --disabled-shared build and look for the
export table; there should not be one in a normal Win32 .exe file, but
when linking static libopus, the exe exports all of the opus_* public
functions.

Use the libtool-defined DLL_EXPORT flag to determine whether we are
building a DLL and only specify __declspec(dllexport) in that case.
include/opus_defines.h