emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building Emacs from a new MinGW environment


From: Dani Moncayo
Subject: Re: Building Emacs from a new MinGW environment
Date: Wed, 18 Sep 2013 18:51:28 +0200

> Questions:
>
>   . Did you install a different version of GCC, as part of your MinGW
>     re-installation?  If so, which GCC version do you have now, and
>     which one did you have before?

I have now the same version of GCC as before: 4.7.2.

>   . Does temacs.exe you produce depend on libgcc_s_dw2-1.dll?  (Use
>     the dependency walker or objdump to find out.)

I don't see that dependency, but FWIW, I'm attaching its dependencies
(as exported by "dependency walker").

> If not, perhaps
>     some libraries that Emacs loads depend on that DLL?

I don't know.  FWIW, I'm building Emacs with the usual libraries:
  giflib-4.1.4-1
  gnutls-3.0.9
  jpeg-6b-4
  libpng-dev_1.4.3-1
  libxml2-2.7.8
  tiff-3.8.2-1
  libXpm-3.5.11

And their dependency libraries:
  zlib-1.2.8-1
  pkg-config_0.26-1
  glib_2.28.8-1
  p11-kit-0.9
  gettext-runtime_0.18.1.1-2
  libiconv-1.14-2

I could try first bootstrapping without libraries and then add the
libraries one by one, to determine which library triggers the problem
(if any).

>   . If you add -shared-libgcc switch to the temacs link command line,
>     does the problem go away?

Yes, it goes away!  :)

I've been able to do a full bootstrap with the patch below applied to
my source code tree.

diff --git a/configure.ac b/configure.ac
index 86a5f30..1af4f16 100644
--- a/configure.ac
+++ b/configure.ac
@@ -443,6 +443,8 @@ case "${srcdir}" in
   *  ) srcdir=`(cd "$srcdir"; pwd)` ;;
 esac

+test "$MSYSTEM" = "MINGW32" && srcdir=`(cd "$srcdir"; pwd -W | sed -e
's,^\([[A-Za-z]]\):,/\1,')`
+
 ### Canonicalize the configuration name.

 AC_CANONICAL_HOST
diff --git a/src/Makefile.in b/src/Makefile.in
index 254aa17..ff5ee20 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -106,7 +106,7 @@ address@hidden@
 address@hidden@

 ## Flags to pass to ld only for temacs.
-TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS)
+TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS) -shared-libgcc

 ## If available, the full path to the paxctl program.
 ## On grsecurity/PaX systems, unexec will fail due to a gap between




-- 
Dani Moncayo

Attachment: temacs-dependencies.zip
Description: Zip archive


reply via email to

[Prev in Thread] Current Thread [Next in Thread]