mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Provide DLLEXPORT markers for C functions via PG_FUNCTION_INFO_V1 macro.
Second try at the change originally made in commit 8518583cd; this time with contrib updates so that manual extern declarations are also marked with PGDLLEXPORT. The release notes should point this out as a significant source-code change for extension authors, since they'll have to make similar additions to avoid trouble on Windows. Laurenz Albe, doc change by me Patch: <A737B7A37273E048B164557ADEF4A58B53962ED8@ntex2010a.host.magwien.gv.at>
This commit is contained in:
@ -350,12 +350,11 @@ typedef const Pg_finfo_record *(*PGFInfoFunction) (void);
|
||||
*
|
||||
* On Windows, the function and info function must be exported. Our normal
|
||||
* build processes take care of that via .DEF files or --export-all-symbols.
|
||||
* Module authors using a different build process might need to manually
|
||||
* declare the function PGDLLEXPORT. We do that automatically here for the
|
||||
* info function, since authors shouldn't need to be explicitly aware of it.
|
||||
* Module authors using a different build process might do it differently,
|
||||
* so we declare these functions PGDLLEXPORT for their convenience.
|
||||
*/
|
||||
#define PG_FUNCTION_INFO_V1(funcname) \
|
||||
extern Datum funcname(PG_FUNCTION_ARGS); \
|
||||
extern PGDLLEXPORT Datum funcname(PG_FUNCTION_ARGS); \
|
||||
extern PGDLLEXPORT const Pg_finfo_record * CppConcat(pg_finfo_,funcname)(void); \
|
||||
const Pg_finfo_record * \
|
||||
CppConcat(pg_finfo_,funcname) (void) \
|
||||
|
Reference in New Issue
Block a user