aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2015-04-13 13:35:06 +0000
committerWerner Koch <[email protected]>2015-04-13 13:35:06 +0000
commit524dacfbb6bb131f05a4ecab3d7bcd91c1b43d33 (patch)
treeda0190a6d63eb3119d1b720d500e4769714e2867
parentFix potential crash in trace macro. (diff)
downloadgpgme-524dacfbb6bb131f05a4ecab3d7bcd91c1b43d33.tar.gz
gpgme-524dacfbb6bb131f05a4ecab3d7bcd91c1b43d33.zip
w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.
* src/Makefile.am (extra_ltoptions): New. (libgpgme_la_LDFLAGS): Use it. (libgpgme_pthread_la_LDFLAGS): Ditto. (libgpgme_glib_la_LDFLAGS): Ditto. -- Since gcc 4.8 there is a regression in Mingw64 in that plain C programs may link to libgcc_s.a which has a dependency on libgcc_s_sjlj.dll. This is for example triggered by using long long arithmetic on a 32 bit Windows (e.g symbol __udivdi3). Note that we don't use this patch for the Qt version which, as C++ programs, actually requires that DLL, Signed-off-by: Werner Koch <[email protected]>
-rw-r--r--src/Makefile.am12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index b7ddbc13..58922f90 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -153,6 +153,7 @@ SUFFIXES = .rc .lo
gpgme_res = versioninfo.lo
no_undefined = -no-undefined
export_symbols = -export-symbols $(srcdir)/gpgme.def
+extra_ltoptions = -XCClinker -static-libgcc
install-def-file:
-$(INSTALL) -d $(DESTDIR)$(libdir)
@@ -167,20 +168,22 @@ else
gpgme_res =
no_undefined =
export_symbols =
+extra_ltoptions =
install-def-file:
uninstall-def-file:
gpgme_deps =
endif
-libgpgme_la_LDFLAGS = $(no_undefined) $(export_symbols) \
+libgpgme_la_LDFLAGS = $(no_undefined) $(export_symbols) $(extra_ltoptions) \
$(libgpgme_version_script_cmd) -version-info \
@LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
libgpgme_la_DEPENDENCIES = @LTLIBOBJS@ $(srcdir)/libgpgme.vers $(gpgme_deps)
libgpgme_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
@GPG_ERROR_LIBS@
-libgpgme_pthread_la_LDFLAGS = $(no_undefined) $(export_symbols) \
+libgpgme_pthread_la_LDFLAGS = \
+ $(no_undefined) $(export_symbols) $(extra_ltoptions) \
$(libgpgme_version_script_cmd) -version-info \
@LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
libgpgme_pthread_la_DEPENDENCIES = @LTLIBOBJS@ $(srcdir)/libgpgme.vers
@@ -188,8 +191,9 @@ libgpgme_pthread_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
-lpthread @GPG_ERROR_LIBS@
if BUILD_W32_GLIB
-libgpgme_glib_la_LDFLAGS = $(no_undefined) \
- $(export_symbols) $(libgpgme_version_script_cmd) -version-info \
+libgpgme_glib_la_LDFLAGS = \
+ $(no_undefined) $(export_symbols) $(extra_ltoptions) \
+ $(libgpgme_version_script_cmd) -version-info \
@LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
libgpgme_glib_la_DEPENDENCIES = @LTLIBOBJS@ \
$(srcdir)/libgpgme.vers $(gpgme_deps)