diff options
| author | Werner Koch <[email protected]> | 2015-04-13 13:35:06 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2015-04-13 13:35:06 +0000 | 
| commit | 524dacfbb6bb131f05a4ecab3d7bcd91c1b43d33 (patch) | |
| tree | da0190a6d63eb3119d1b720d500e4769714e2867 | |
| parent | Fix potential crash in trace macro. (diff) | |
| download | gpgme-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.am | 12 | 
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) | 
