What the software does not technically disallow and what the software license 
allows are two different things.

IANAL, but the license appears to only allow it to run on a physical machine, 
not a virtual one.

Kevin
________________________________________
From: gtk-devel-list [gtk-devel-list-boun...@gnome.org] On Behalf Of 
tarn...@tarnyko.net [tarn...@tarnyko.net]
Sent: Wednesday, April 10, 2013 5:10 AM
To: gtk-devel-list@gnome.org
Subject: Re: GTK+3 win32/64 build environment

Colin,

>> First, please note that we don't have to buy a Windows license. There is a
>> *free* (as in free beer) edition of Windows named "Hyper-V Server". It's
>> stripped-down in terms of GUI, but works well for this purpose.
>>
>> Here is a link to licensing stuff :
>>
>> http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/db3f
>> c7d7-1772-41fb-b878-4574b3c39703/
>
> Hmmm...but it looks to me like this edition is only designed for
> physical deployments, whereas I think we'd really want it virtualized
> (both for developers running Linux on their laptops who want to test,
> and inside the GNOME infrastructure).  Or does it run in a VM ok?
>
>
> At least for GNOME servers it'd likely be worth paying for an actually
> supported version of Windows so it gets security updates, even if it is
> completely firewalled off from the world.
>

It runs in a VM. You have to allocate 2 Gb of RAM to it during install time,
but can decrease that later.
It can get security updates automatically, or manually via pre-downloaded
packages, too.
But you won't be able to use some software on it (MSVC e.g.). So if it's
wanted, yes a mainstream version of Windows would be better in this case.e,

>> MinGW under Linux is mostly installed via a package manager ("yum install
>> mingw32-gcc-c++" on Fedora e.g.). You don't get to choose which version of
>> the compiler you install. Same thing for the dependencies (libtool, expat,
>> perl, python...). These versions are likely to change regarding the distro
>> your are using, and you cannot copy their files from one computer to another
>> because binaries are compiled dynamically (= depend on this particular box'
>> libc a.s.o).
>
> There are hybrid approaches here - the most realistic to me is to reuse
> a current distribution cross toolchain (e.g. we're not building
> mingw-gcc in GNOME), but if we need to update some other dependency, we
> could do so.
>
> I guess you're right though, the full "SDK" case does kind of explode
> due to the perl/python dependencies.
>

Yes, Python and Perl are the worst problems. Doing this right on the long
run with a cross-compile env would require some effort.

>> A solution would be to have a standalone MinGW install for Linux. I've
>> googled for one without success. If one doesn't exist, the ultimate solution
>> whould be to create one by recompiling MinGW statically myself, that means
>> recompiling the compiler : I don't know anything about that, it will take
>> lots of time.
>
> That doesn't help us though even if it existed due to the Perl/Python
> deps among others.
>

Correct, didn't even realize that.

>>  - GTK+3 build process sometimes needs to run the binaries it has just
>> generated.
>
> Now an important part - gobject-introspection as used by the bindings at
> the moment requires doing this.  But see:
> https://bugzilla.gnome.org/show_bug.cgi?id=592311
>

Ouch. Will see your link.

>> For instance, it runs "glib-compile-schemas" on its XML files to create the
>> "schemas.compiled" catalog. Without it, GTK+ programs won't run.
>
> The way this is solved for the e.g. GNU/Linux cross case is it's assumed
> you have glib-genmarshal on the host.  See:
> https://git.gnome.org/browse/glib/tree/configure.ac#n2630
>
> We can definitely do some of this for Windows, but we have to be careful
> about files that are architecture dependent.  For glib-compile-schemas
> in particular, variants are host endianness by default.

Didn't know about that, thanks, will take a look.

>>  - You won't be able to test and Q/A the binaries you just produced.
>
> That's where virtualization comes in.
>
>> Wine cannot be used because it's not reliable with GTK+3 ; last time I tried
>> under Debian, fonts were disproportional and pictures sometimes stripped.
>> You have to run them on a native Windows OS.
>
> Wine admittedly is an insane monstrosity, but some of that is likely
> fixable.
>
>
> So at a high level...there's quite a bit to figure out.  The SDK problem
> is just hard =/
>
>

Yes, that's why the native build option is easier, works around this problem
and lots of others too.

PS : Don't forget that I'm alone doing this work now. I'm documenting
everything as time goes on, but choosing difficult options will make my work
more difficult too ;-).

Regards,
Tarnyko
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to