Re: Provisioning a mingw native compile environment



On Sun, Oct 30, 2011 at 8:59 AM, Maarten Bosmans <mkbosmans gmail com> wrote:
> 2011/10/29 Sam Thursfield <ssssam gmail com>:
>> Hi everyone,
>>
>> I guess it's about time to christen this mailing list.
>
> Indeed. Let's get going.
>
>> I'm looking at the best way of collating and providing a native mingw
>> compile environment. I'm thinking up to and including jhbuild
>> (everything beneath the Gnome platform, to put it another way). Since
>> the situation with mingw.org, mingw-w64, msys etc. has got pretty
>> confusing at the moment I think it's worth bundling all this together
>> for people who want to do their own Windows builds.
>
> If I understand all the latest developments correctly, I think there
> is a convergence to two different approaches: Compiling everything
> with some version of MSVC (on Window, obviously) and cross-compiling
> the whole stack from Linux using mingw (mostly with the w64 variant, I
> think). The former approach caters to Window developers that want to
> build an app using free software libraries and the latter is better
> suited for free software developers that want to publish binaries for
> Windows.
>
> In this landscape, I don't exactly see where msys/mingw on Windows
> fits in. I've struggled with that setup in the past (possibly the
> situation has improved somewhat in the meantime), and find that
> cross-compiling is far easier. Can you explain what advantages this
> approach brings over the other two?

There are two real advantages of native gcc-based compile:
1. gcc is a much more modern compiler than MSVC, which fails to
support various bits of C99 (I'd imagine it's one of the least capable
compilers that GLib/GTK+ still supports)
2. cross-compiling is great when it works, but sometimes you need to
run compile-time tools that can't easily be run under Wine, fix
configure scripts, etc. I need to compile .IDL files in this instance,
which requires either running MIDL.EXE + the MSVC preprocessor under
Wine, or just doing the build on Windows.

Also, if you're doing actual development/bug-fixing, having your build
environment and test environment on the same machine/virtual machine
makes things easier.

>> A separate goal which I'm not going to attempt now (I know Dieter has
>> plans here too :) is to provide mingw-get packages for things *inside*
>> the platform - I'm hoping that one day we will be able to say
>> "download this compile environment, mingw-get install the Gnome
>> platform libraries that you need, and build your app for Windows".
>
> May I suggest (I know, I've suggested it in the past, but I guess I'm
> just genuinly enthousiastic about it) to use the OpenSuSE Build
> Service for this? Then you have a automated build environment (not
> tied to anyones personal machine) and we can share the burden of
> package maintainance. A first attempt at a download script can be
> found at [1]. Obviously there's much to improve, both in the script
> and in the software packaging, but you can already easily download
> whole cross-compiled applications with all dependencies.

I'm excited about OBS too. Your script could be a much simpler
alternative to trying to set up our own mingw-get repo for Gnome
packages - a useful thinking point

Sam


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