diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2018-03-14 20:11:51 -0400 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2018-07-24 20:27:15 +0100 |
commit | 1b8087669a629fe6609ffdb013f803caba73bf6a (patch) | |
tree | fe5423bea591e26964639977c223061091e3b2bc | |
parent | 3d50648cc4f452d51a0564164a214e51dd6aad95 (diff) | |
download | perl-1b8087669a629fe6609ffdb013f803caba73bf6a.tar.gz |
remove all exported symbols from GCC win32 miniperl
Similar to commit a19baa613 and same reasoning. Makes binary smaller/more
chances for optimization but mingw linker is still much less smart than
the VC linker.
Remaining problems are that GCC miniperl.exe still links to WS2_32.dll
(winsock library) yet the win32_* socket functions have nothing calling
them.
GCC 4.9.2 i686-w64-mingw32
miniperl.exe 1660KB before this no exports commit
miniperl.exe 1584KB after this no exports commit
-rw-r--r-- | EXTERN.h | 2 | ||||
-rw-r--r-- | INTERN.h | 3 | ||||
-rw-r--r-- | win32/win32.h | 2 |
3 files changed, 4 insertions, 3 deletions
@@ -21,7 +21,7 @@ # if (defined(WIN32) || defined(__SYMBIAN32__)) && !defined(PERL_STATIC_SYMS) /* miniperl should not export anything */ -# if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE) && defined(_MSC_VER) +# if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE) # define EXT extern # define dEXT # define EXTCONST extern const @@ -19,7 +19,8 @@ #undef EXTCONST #undef dEXTCONST -# if (defined(WIN32) && defined(__MINGW32__)) || defined(__SYMBIAN32__) +# if (defined(WIN32) && defined(__MINGW32__) && ! defined(PERL_IS_MINIPERL)) \ + || defined(__SYMBIAN32__) # ifdef __cplusplus # define EXT __declspec(dllexport) # define dEXT diff --git a/win32/win32.h b/win32/win32.h index 26c3ac254f..ee1d889851 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -85,7 +85,7 @@ /* now even GCC supports __declspec() */ /* miniperl has no reason to export anything */ -#if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE) && defined(_MSC_VER) +#if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE) # define DllExport #else # if defined(PERLDLL) |