summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2018-03-14 20:11:51 -0400
committerSteve Hay <steve.m.hay@googlemail.com>2018-07-24 20:27:15 +0100
commit1b8087669a629fe6609ffdb013f803caba73bf6a (patch)
treefe5423bea591e26964639977c223061091e3b2bc
parent3d50648cc4f452d51a0564164a214e51dd6aad95 (diff)
downloadperl-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.h2
-rw-r--r--INTERN.h3
-rw-r--r--win32/win32.h2
3 files changed, 4 insertions, 3 deletions
diff --git a/EXTERN.h b/EXTERN.h
index b8c4512d37..558f762a3f 100644
--- a/EXTERN.h
+++ b/EXTERN.h
@@ -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
diff --git a/INTERN.h b/INTERN.h
index eaaf6b2c64..35bb4ee5cb 100644
--- a/INTERN.h
+++ b/INTERN.h
@@ -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)