Re: GTK+3 win32/64 build environment



Hi tarnyko

On Tue, Apr 9, 2013 at 10:33 PM, <tarnyko tarnyko net> wrote:
>
> Hi folks,
> As you may know, I'm currently working on a GTK+3 Win32/64 bundle.

Sorry, I failed to reply on the threads before..

> The build environments are currently based on MinGW, running on Win32 host (Win64 for the 64-bit builds). They are browsable online here :
> http://www.tarnyko.net/repo/gtk3_build_system/

It would be better if you could check in your scripts in a repository, so one could more easily study and eventually contribute to your effort. All the binaries should be fetched or build from the source (and verified). It should be easy and safe to reproduce and modify the build, by anyone at anytime. .bat scripts are quite poor, even for a build system. Makefile or python, powershell are probably more suited for the task.

There are tons of build systems, but for targetting native windows build [1], I would really suggest looking at cerbero (http://cgit.freedesktop.org/gstreamer-sdk/cerbero/). It is backing the gstreamer-sdk, which has some professional support, which is a real plus. Furthermore, it can do native and cross compilation, not only for Windows, but for Android and MacOS (and already includes gtk+ builds) The installation steps for cerbero can be a bit tedious, although with chocolatey it could be automated.

> It has been said that in order to be officially supported, Windows binaries should be compiled on a GNOME-owned machine. That is to say, in order to use my build environment, GNOME should own a Windows machine ^^.
> Is it the case now ? (no trolling intended, serious question).

Have you investigated using a cloud windows server, such as EC2 or rackspace to host the windows machine? Imho, the windows SDK and DDK should be avoided. Only the headers should be required to compile, since we can cross-compile with mingw-headers, I would try to stick to that, probably avoiding any extra license fee or legal problems (I exclude the possibility of using VC completely, as very few projects actually can build with it afaik)

> It it's the case, then we could keep the buildenv "as is". Or we could try to adapt it to a GCC cross-compile install under Linux, but I'd like to avoid that for reasons that I will explain further.
> If it's not the case, I will obviously need to adapt the buildenv to a GCC cross-compile install under Linux ; same thing, I'd like to avoid that, but I need to know.

I believe some work is needed to be able to reuse cross-compiled projects under Windows. For example, the .pc file path will need to be adjusted etc.


[1]  I am very much a cross-build only guy, because Windows is not my work environment, cross-building is ridiculously easy thanks to projects like mingw-fedora, and scripts&compilers tend to be slower and break more on Windows because they are not tested as often.

However, I came to the conclusion that there is no reason to have "official" gtk cross-built binaries. Each build system (MXE, OBS, fedora-mingw etc.) comes with its own set of packages, distribution, build infrastructure, community etc. It's actually better this way, just not that visible. Choose what you see fits best. But for native build, you don't have anything like that. So this is where this effort should aim. Eventually NuGet integration too. The number of people interested is probably larger in total than people doing cross-compilation.

--
Marc-André Lureau


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