aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorW. Mark Kubacki <wmark@hurrikane.de>2017-11-30 00:43:38 +0100
committerDaniel Stenberg <daniel@haxx.se>2017-12-01 10:32:28 +0100
commit4b414249107a782dca26926caa2947b9820d5255 (patch)
tree38056d0c82537645936fff5973dba4a7a1846780
parent9194a9959bedeeb54d935ddf9d49361ead5f922a (diff)
lib: don't export all symbols, just everything curl_*
Absent any 'symbol map' or script to limit what gets exported, static linking of libraries previously resulted in a libcurl with curl's and those other symbols being (re-)exported. This did not happen if 'versioned symbols' were enabled (which is not the default) because then a version script is employed. This limits exports to everything starting in 'curl_*'., which is what "libcurl.vers" exports. This avoids strange side-effects such as with mixing methods from system libraries and those erroneously offered by libcurl. Closes #2127
-rw-r--r--lib/Makefile.am2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 151c2615e..87c64f3a8 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -106,6 +106,8 @@ endif
if CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS
libcurl_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers
+else
+libcurl_la_LDFLAGS_EXTRA += -export-symbols-regex '^curl_.*'
endif
if USE_CPPFLAG_CURL_STATICLIB