diff options
authorKaren Arutyunov <>2021-04-02 22:23:45 +0300
committerKaren Arutyunov <>2021-04-05 15:12:58 +0300
commit2d414a30bf7f99f3e2e73b05fdd68abeafbf6482 (patch)
parentf16f6964784b52873ba97e1853290d1816c417b6 (diff)
Drop using redundant libcurl-symbols.expsym file
3 files changed, 8 insertions, 99 deletions
diff --git a/libcurl/README-DEV b/libcurl/README-DEV
index 623a560..d4e099d 100644
--- a/libcurl/README-DEV
+++ b/libcurl/README-DEV
@@ -13,10 +13,6 @@ Some macro values cannot be easily determined at the preprocessing time. We
define them based on the supported platform tests and add libcurl/assert.c,
containing compile-time assertions for the macros in question.
-Copy the upstream's libtool-generated for MacOS libcurl-symbols.expsym file
-and comment out (with #) the _curl_jmpenv symbol in it since it causes the
-'cannot export hidden symbol' linked warning on MacOS.
Note that re-creating libcurl/curl_config.h from scratch every time we upgrade
to a new upstream version would be a real pain. Instead we can only (un)define
the newly introduced macros, comparing the already defined and currently used
diff --git a/libcurl/libcurl/buildfile b/libcurl/libcurl/buildfile
index 2245b83..d44293f 100644
--- a/libcurl/libcurl/buildfile
+++ b/libcurl/libcurl/buildfile
@@ -6,11 +6,6 @@
define vsc: file
vsc{*}: extension = vers
-# Exported symbols.
-define esm: file
-esm{*}: extension = expsym
import imp_libs = libssl%lib{ssl}
import imp_libs += libcrypto%lib{crypto}
import imp_libs += libz%lib{z}
@@ -25,8 +20,7 @@ bsd = ($tclass == 'bsd')
macos = ($tclass == 'macos')
windows = ($tclass == 'windows')
-libs{curl}: vsc{libcurl}: include = ($linux || $bsd ? adhoc : false)
-libs{curl}: esm{libcurl-symbols}: include = ($macos ? adhoc : false)
+libs{curl}: vsc{libcurl}: include = ($linux || $bsd ? adhoc : false)
vsc{libcurl}: lib/in{libcurl}
@@ -95,8 +89,13 @@ switch $tclass, $tsys
case 'macos'
- c.loptions += "-Wl,-exported_symbols_list,$src_base/libcurl-symbols.expsym"
- c.libs += -framework CoreFoundation -framework Security
+ # Note that upstream generates the libcurl-symbols.expsym file on MacOS
+ # and passes it to linker via the -exported_symbols_list option. This
+ # looks redundant, since the __visibility__("default") attribute is also
+ # used for the API function declarations. Thus, we don't bother
+ # generating/passing the exported symbol list file.
+ #
+ c.libs += -framework CoreFoundation -framework Security
case 'windows', 'mingw32'
diff --git a/libcurl/libcurl/libcurl-symbols.expsym b/libcurl/libcurl/libcurl-symbols.expsym
deleted file mode 100644
index 48882de..0000000
--- a/libcurl/libcurl/libcurl-symbols.expsym
+++ /dev/null
@@ -1,86 +0,0 @@