Hi,

On Sat, Nov 22, 2014, K. Frank wrote:
> Hello Lists!
> 
> Should I use Mingw-builds or Win-builds to build Wt?

First of all, both should work.

I am the lead dev of win-builds so obviously I'm not an expert in
mingw-builds.

NB: everything below applies to the new 1.5 release which is imminent
(there should only be some documentation left to do).

By design it focuses on stability and maintainability. It also has very
few patches which are all absolutely necessary.
For the 1.4 release, there have been security updates too even though
that didn't play out too well due to a few poor choices which are now
solved. In other words, it will be possible to install 1.5 and have
security-only updates for a while.


The best way to understand the other differences is probably to look at
how the toolchains are built:
- mingw-builds builds on Windows inside MSYS2 
- win-builds cross-compiles from Linux (including a native toolchain and
  the corresponding tools [even the
  awfully-difficult-to-build-qmake.exe])

The reasons win-builds is done that way are numerous. The explanation
below is a bit long but the question is getting more common and it's a
good occasion to provide a full picture.

Linux is fully posix; not almost-posix like cygwin or a mixture of
almost-posix and win32 like msys*; this avoid the translation and
interpretation layers of cygwin and msys and makes the whole system
therefore cleaner.

It gives more trust in the binaries: the whole chain is free software
and without antivirus software (or virus) that sometimes (read "often")
change the contents of files (especially for compilers and
interpreters).
Everyone can rebuild and check no malicious content has been injected.
There is no software cost in doing so and it's _fast_ (a couple hours
for a full rebuild on an inexpensive machine from 2009 for the 1.5
version; half of the time is caused by Qt). From-scratch rebuilds are
routinely done to make sure that everything stays reproductible and that
if something builds, it's not only sheer luck and astral alignement.

The ability to easily rebuild also makes it easy to customize the build,
add or remove dependencies and change versions.

Rebuilding the whole package archive from scratch is fully working on
Slackware -current and Debian Jessie with no change.
On Debian stable (the one before Jessie), Ubuntu 12.04, Ubuntu 14.04,
there are a few small caveats which are all in the documentation and all
of which are caused by the host systems (outdated versions of autotools
being the main issue).
Tests under Arch Linux and MSYS are currently in-progress and looking
good so far.
This compatibility is a goal of the win-builds project, not just
something that happens to work.

The whole project can be used from Linux or from Windows just the same:
the tool and library packages are the same across operating systems and
the package manager has been built to handle both from the ground-up.
This is especially important for people who mainly work on Linux and
happen to build for Windows or for mixed teams (some on Windows, some on
Linux).

All of the above also has had the consequence that WB is quite agnostic
to where and how it can be used: it assumes very little about the
usecase and therefore works everywhere.

> I am going to attempt to build Wt natively on 64-bit windows using
> mingw-w64.  I am encouraged by Wim's comment in an earlier thread
> that it ought to be possible:
> 
>    http://permalink.gmane.org/gmane.comp.web.witty.general/9973
> 
> Before doing so I intend to upgrade to a recent mingw-w64.
> 
> Will I be more likely to be successful using the Mingw-builds or the
> Win-builds version of the toolchain?  All else being equal, I would
> probably go with Mingw-builds because it appears to offer gcc 4.9.0.

As I said at the beginning of this message, both should work.

About the GCC version though: 4.9.0 was quite heavily bugged and while
4.9.1 was much better it still had its issues. I don't know about GCC
4.9.2; I haven't read many complaints about it but it came after the WB
version freeze so it hasn't been studied for inclusion.
In any case, you should probably avoid 4.9.0 and 4.9.1.

> Win-builds does offer a number of pre-built packages, but according
> to the Wt wiki:
> 
>    http://redmine.webtoolkit.eu/projects/wt/wiki/Installing_Wt_on_MinGW
> Wt's only dependency is boost, so the Win-builds packages don't look
> relevant to my Wt project.

Boost isn't currently packaged since there had been no demand so far.
The relevant entry in the bug tracker was opened a couple weeks ago and
is at http://win-builds.org/bugs/index.php?do=details&task_id=86 . It is
scheduled for 1.6 and should therefore be packaged in roughly 4 to 6
weeks (or earlier if someone else does it of course :) ).


Regards,
Adrien Nader

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to