[PATCH][W32] W32 and MSys compatibility

LRN lrn1986 at gmail.com
Mon Aug 20 06:05:07 PDT 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 20.08.2012 16:39, Dan Nicholson wrote:
> On Sun, Jun 3, 2012 at 7:06 AM, Dan Nicholson <dbn.lists at gmail.com>
> wrote:
>> On Thu, May 31, 2012 at 9:18 AM, LRN <lrn1986 at gmail.com> wrote:
>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>> 
>>> On 21.05.2012 16:37, Dan Nicholson wrote:
>>>> On Sat, May 19, 2012 at 4:09 PM, LRN <lrn1986 at gmail.com>
>>>> wrote:
>>>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>>>> 
>>>>> That said, when compiled with internal glib, pkg-config 
>>>>> unexplainably crashes on gthread-win32.c:343
>>>> 
>>>> Hmm, so it seems avoiding libintl needs some surgery and
>>>> you're hitting a crash in the threading code. Do they seem
>>>> related? Have you tried --with-internal-glib leaving the
>>>> gettext/libintl code alone? Can you get a backtrace?
>>> 
>>> gdb log is attached.
>> 
>> Hmm, that crash seems pretty independent of pkg-config unless
>> we're initializing glib wrong or something. I wonder if you can
>> try either to use pkg-config with the a full glib-2.32 version or
>> just to write a stupid test program that just uses
>> g_build_filename against the internal glib.
> 
> I tracked this down over the past few days. It turns out libglib 
> wasn't initializing correctly when built as a static library on 
> windows. I added a fix plus removed the gettext dependency as we 
> discussed. I briefly tried things in a windows vm and "make check" 
> passed. Can you try out git master and see if --with-internal-glib 
> works for you? I _think_ it should be working out of the box for 
> mingw/msys.

It totally works.

The only problem is that i configure pkg-config with --enable-shared,
which gets passed to internal glib configure, overriding LT_INIT()
default arguments you've patched in. shared becomes enabled, along
with static, and it dies with "Can not build both shared and static at
the same time on Windows.".

Solved with the attached hack. Passes `make check'.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJQMjYDAAoJEOs4Jb6SI2CwzcoH/RtAuxrDZbJKGQ0F5aS9apTA
DPQ7VWy0/N2fHs7/9kBJ/jtE0mQD5eyd5rIEcKqmPgRPweNnami5te6T1TBningH
LlmZzKP1zn4BLpq7fbh/zYmUX1+azyuw1FNjz+eFZp5GHLO8pHHLlVOnozuVTor2
Qi5znT+a018q9N7SLHlLcyrdC9ypG49K47hCkt5eW+d5pbWY50HR/bboMtcrBjog
hhMmpfuq7dq+22kPIil6QuoxsVyluY/AywRop6Ye02XEYU8wfNd4RFdZjzlqId7U
Noh0IpAhiHLCnMlPLucCVpB4nbHQlyKPR18llTRYWvnbtBV/ebj2QdL8RBGMRfk=
=nFku
-----END PGP SIGNATURE-----
-------------- next part --------------
From c9c36b47aa705b04eb5424aba321b4d58c605bb0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1=D1?=
 =?UTF-8?q?=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= <lrn1986 at gmail.com>
Date: Mon, 20 Aug 2012 16:55:47 +0400
Subject: [PATCH] Force static glib on W32

---
 glib/configure.ac |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/glib/configure.ac b/glib/configure.ac
index 8ac9631..6ce96fb 100644
--- a/glib/configure.ac
+++ b/glib/configure.ac
@@ -500,6 +500,8 @@ if test "x$GCC" = "xyes"; then
 fi
 
 if test "$glib_native_win32" = "yes"; then
+  enable_shared=no
+  enable_static=yes
   if test x$enable_static = xyes -a x$enable_shared = xyes; then
     AC_MSG_ERROR([Can not build both shared and static at the same time on Windows.])
   fi
-- 
1.7.4


More information about the pkg-config mailing list