Use SP_API prefix for functions in libserialport.h.
commit0838c979ccbf88bbad6598250237c248da790029
authorMartin Ling <martin-git@earth.li>
Mon, 20 Jan 2020 05:02:27 +0000 (20 05:02 +0000)
committerMartin Ling <martin-git@earth.li>
Thu, 23 Jan 2020 03:35:47 +0000 (23 03:35 +0000)
treef6388d5f59dedee805f890193f8e2bad8955dff3
parentf6e32b2dfa322aa4bd4a279a46d588e0e73ea238
Use SP_API prefix for functions in libserialport.h.

For MSVC, we need to set the __declspec() for public symbols to
dllexport or dllimport, depending if we are building or using the
library. So, detect MSVC and define SP_API appropriately if found.
We use the LIBSERIALPORT_MSBUILD define to distinguish between
building and using the library, which will need to be set in the
project configuration when building the library using MS tools.

For normal client use of the header on other systems, we need to
define SP_API to nothing to avoid it being undefined, but we need
to avoid doing this in the case where we are including the header
whilst building the library with autotools and SP_API is already
set by autoconf. So define LIBSERIALPORT_ATBUILD in AM_CFLAGS,
and don't touch SP_API in the header if that's set.
Doxyfile
Makefile.am
libserialport.h