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
This commit is contained in:
Daniel Dragan 2018-03-14 20:11:51 -04:00 committed by Steve Hay
parent 3d50648cc4
commit 1b8087669a
3 changed files with 4 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -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)