diff options
author | Glenn Strauss <gstrauss@gluelogic.com> | 2023-02-23 09:38:12 -0500 |
---|---|---|
committer | Glenn Strauss <gstrauss@gluelogic.com> | 2023-05-03 23:11:35 -0400 |
commit | eae1bbac182f9966ec652cce954f65c9046463a0 (patch) | |
tree | 5234fba7c935fe58bf4e522ab303a7a8af793403 /src/http-header-glue.c | |
parent | 350fda32ef3230e0ccbbec44a0894bb319292309 (diff) | |
download | lighttpd-git-eae1bbac182f9966ec652cce954f65c9046463a0.tar.gz |
[build] _WIN32 shared dll build (autotools, cmake)
There are likely better and cleaner ways to do this; patches welcome.
_WIN32 symbol imports and exports
MS Visual Studio (_MSC_VER) does not appear to export global data
symbols even when exporting all functions.
Annotating any symbols with __declspec(dllexport) in any translation
unit appears to change default dll symbol implict export behavior.
Currently, src/Makefile.am and CMakeLists.txt take different approaches
(implib versus linking against executable which has exported symbols)
x-ref:
(improved solutions might possibly be constructed using these docs)
https://sourceware.org/binutils/docs/ld/WIN32.html
https://cmake.org/cmake/help/latest/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html
https://stackoverflow.com/questions/225432/export-all-symbols-when-creating-a-dll
Diffstat (limited to 'src/http-header-glue.c')
-rw-r--r-- | src/http-header-glue.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/http-header-glue.c b/src/http-header-glue.c index 3c36e1d0..e2a19c5f 100644 --- a/src/http-header-glue.c +++ b/src/http-header-glue.c @@ -13,10 +13,14 @@ #include "http_date.h" #include "http_etag.h" #include "http_header.h" -#include "response.h" #include "sock_addr.h" #include "stat_cache.h" +#undef __declspec_dllimport__ +#define __declspec_dllimport__ __declspec_dllexport__ + +#include "response.h" + #include <stdlib.h> #include <string.h> #include <errno.h> @@ -31,6 +35,7 @@ #define MAX_HTTP_RESPONSE_FIELD_SIZE 65535 /* http_dispatch instance here to be defined in shared object (see base.h)*/ +__declspec_dllexport__ struct http_dispatch http_dispatch[4]; |