Re: Compiling for Windows [Was: argv revisited]

2016-05-06 Thread tito-wolit



On 05/06/2016 09:27 PM, Andrew Robinson wrote:

I'm sorry for that. One of my biggest flaws in human relations is detecting
when someone is being ironic, sarcastic, or is just joking around, and when
they are being serious.

I would think both list would be interested in knowing what is required of
their projects by the lawyers at GTK. This is an extremely discouraging thing
to consider in whether to use GTK or something else. I think if open source
wanted to be truly open, they would get rid of the lawyers and the lawyer
talk. It is either free to use without fine print, or it is not.


Rights are always coupled with obligations.
You want to take only the sweet without the bitter spots in life?

Ciao,
Tito
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[5]: Compiling for Windows [Was: argv revisited]

2016-05-06 Thread Andrew Robinson
I'm sorry for that. One of my biggest flaws in human relations is detecting
when someone is being ironic, sarcastic, or is just joking around, and when
they are being serious.

I would think both list would be interested in knowing what is required of
their projects by the lawyers at GTK. This is an extremely discouraging thing
to consider in whether to use GTK or something else. I think if open source
wanted to be truly open, they would get rid of the lawyers and the lawyer
talk. It is either free to use without fine print, or it is not.

On 5/6/2016 at 10:01 AM, Lucas Levrel  wrote:
>OK. I understand your mileage is very different from mine. Remember, I'm 
>just a GTK user (this is GTK *app devel* list, not GTK devel list).
>
>Just a few remarks before I answer your other mail:
>
>Le 5 mai 2016, Andrew Robinson a écrit :
>> 1) Because there are between 40 to 120Mb worth of libraries or their
>> dependencies I would have to post on my website.
>
>It's not clear to me whether one has to distribute GTK if it's linked 
>statically, because one doesn't distribute the libs themselves. But I'm no 
>lawyer and didn't investigate the question (I don't distribute publicly my 
>small app).
>
>> 3) If I do compile GTK myself, I will have to maintain all that huge amount
of
>> source code on my website, per the licensing agreement.
>
>I use GTK2, it's stable :-)
>
 I must tell grandma and grandpa to get their own copy of MSYS2 and MXE,
>>> (not Msys2, MXE will do all the needed download)
 and provide make their own copy of GTK+ for Win32. Wouldn't that be easy
 and fun?
>>>
>>> All the more as they would have to install Linux beforehand!
>>
>> That attitude is one of the reasons I chose to abandon Windows ...
>
>You didn't understand me: I was continuing on your irony, of course having 
>them install Linux would be even more uneasy and unfun!
>
>-- 
>Lucas Levrel
>___
>gtk-app-devel-list mailing list
>gtk-app-devel-list@gnome.org
>https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-06 Thread Florian Pelz
On 05/06/2016 07:01 PM, Lucas Levrel wrote:
> Le 5 mai 2016, Andrew Robinson a écrit :
>> 1) Because there are between 40 to 120Mb worth of libraries or their
>> dependencies I would have to post on my website.
> 
> It's not clear to me whether one has to distribute GTK if it's linked
> statically, because one doesn't distribute the libs themselves. But I'm
> no lawyer and didn't investigate the question (I don't distribute
> publicly my small app).
> 

I'm not a lawyer, but:

Part of the idea of the LGPL is, as I understand it, that the user can
relink with a modified version of the library. Imagine party A gives an
LGPL library only to party B who then distributes an app linking with
the library to C. If B refuses C's request for the library's source
code, C has no way to link to a modified version of the library.
Therefore I believe you have to distribute the source code of the
library version you used at least upon request.

In particular, when linking statically, you also have to provide
linkable object files or source code for _your_ application.

I.e. you have to be able to provide source code for all LGPL portions no
matter if you use MSYS2, MXE, Fedora packages or compile the
dependencies yourself. There's no way around it.
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[4]: Compiling for Windows [Was: argv revisited]

2016-05-06 Thread Lucas Levrel
OK. I understand your mileage is very different from mine. Remember, I'm 
just a GTK user (this is GTK *app devel* list, not GTK devel list).


Just a few remarks before I answer your other mail:

Le 5 mai 2016, Andrew Robinson a écrit :

1) Because there are between 40 to 120Mb worth of libraries or their
dependencies I would have to post on my website.


It's not clear to me whether one has to distribute GTK if it's linked 
statically, because one doesn't distribute the libs themselves. But I'm no 
lawyer and didn't investigate the question (I don't distribute publicly my 
small app).



3) If I do compile GTK myself, I will have to maintain all that huge amount of
source code on my website, per the licensing agreement.


I use GTK2, it's stable :-)


I must tell grandma and grandpa to get their own copy of MSYS2 and MXE,

(not Msys2, MXE will do all the needed download)

and provide make their own copy of GTK+ for Win32. Wouldn't that be easy
and fun?


All the more as they would have to install Linux beforehand!


That attitude is one of the reasons I chose to abandon Windows ...


You didn't understand me: I was continuing on your irony, of course having 
them install Linux would be even more uneasy and unfun!


--
Lucas Levrel
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[2]: Re[4]: Compiling for Windows [Was: argv revisited]

2016-05-05 Thread Andrew Robinson
That's weird! I've never heard of a Linux distribution that also has
precompiled packages for Win32. I will check it out at my earliest
convenience. You mentioned GTK2, but I am hoping it also has (or has switched
over to) GTK3.
 I hope this isn't too good to be true. I will be too busy to check for the
next few hours.

Andrew


On 5/5/2016 at 11:42 AM, Dov Grobgeld  wrote: 
Note that if you are using fedora (and possibly other Linux distributions) it
comes with lots of win32 packages precompiled. E.g. all you need to do to get
gtk2 and its dependencies is to do:


   dnf install mingw32-gtk2


You can then compile your gtk programs for windows through cross compilation
and generate a windows install file for your application through nsis. All
your grandma then needs to do on windows is to run the installer.


I have been doing this for several applications for several years, and the
process is so smooth and reliable that I only do the testing on Linux before
compiling and distributing for Windows.


Regards,

Dov



On Thu, May 5, 2016 at 8:30 PM, Andrew Robinson  wrote:

On 5/5/2016 at 10:23 AM, Lucas Levrel  wrote:
>Le 5 mai 2016, Andrew Robinson a écrit :
>
>> So if I don't want to make my on copy of the GTK+ libraries,
>
>Why wouldn't you want to build your static libs for future inclusion in
>your software? Where "build" is for "let the Makefile of MXE do all the
>work needed to build".

1) Because there are between 40 to 120Mb worth of libraries or their
dependencies I would have to post on my website.

2) You could get under 40Mb, if you are only going to use one function from
one or two libraries, and you don't want the user to have any features like
skinning.

(I am going to reference Allegro here, only just for comparison sake)

3) If I do compile GTK myself, I will have to maintain all that huge amount of
source code on my website, per the licensing agreement. If I use Allegro, I do
nothing else unless I customize the source code, only then will I have to post
source code.

4) Furthermore, I would have to answer questions on why users couldn't compile
the source code for making GTK+ for Win32 on Windows7 (or 8 or 10 or XP),
something the GTK community has been unwilling to do itself. With Allegro, I
literally simply download DevC++ for Windows7, select DevPak to download
Allegro, compile, and you are done! Compare that to GTK: Downgrade your Visual
Studio to version 2013, install GIT if you don't already have it, clone the
GTK repository, install a minimalistic Linux environment like MSYS2, install
MinGW, spend a few days trying to get to know these things, try compiling a
Win32 version of GTK+ using half-arse written instructions, if that doesn't
work try installing and using MXE, if that doesn't work follow the terse
instructions posted on an almost hidden website at Nachos blog, if you are
still having problems, go to the GTK developer forum where they won't give you
any help, ... etc

The setting up the development environment for GTK relies on lots and lots of
esoteric command line parameters, and it seems like no two computers use the
same exact parameters. Developing on Windows for Windows is super easy and
user friendly, whereas developing on Windows for GTK is not. Windows forums
are not really friendly either, but they are much more friendly than the Linux
forums are, and anyways I can avoid the forums because there is so much code
and advice posted on the Internet for Windows, that it is hard not to find
what you are looking for, no matter how esoteric your needs are.

>> I must tell grandma and grandpa to get their own copy of MSYS2 and MXE,
>(not Msys2, MXE will do all the needed download)
>> and provide make their own copy of GTK+ for Win32. Wouldn't that be easy
>> and fun?
>
>All the more as they would have to install Linux beforehand!

That attitude is one of the reasons I chose to abandon Windows ... you sound
just like Satya Nadella trying to pawn Windows 10 off to the world. If Linux
was so great, people would already be using it in droves, instead of barely
mustering 3% of the entire market.


___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Re: Re[4]: Compiling for Windows [Was: argv revisited]

2016-05-05 Thread Dov Grobgeld
Note that if you are using fedora (and possibly other Linux distributions)
it comes with lots of win32 packages precompiled. E.g. all you need to do
to get gtk2 and its dependencies is to do:

   dnf install mingw32-gtk2

You can then compile your gtk programs for windows through cross
compilation and generate a windows install file for your application
through nsis. All your grandma then needs to do on windows is to run the
installer.

I have been doing this for several applications for several years, and the
process is so smooth and reliable that I only do the testing on Linux
before compiling and distributing for Windows.

Regards,
Dov

On Thu, May 5, 2016 at 8:30 PM, Andrew Robinson  wrote:

> On 5/5/2016 at 10:23 AM, Lucas Levrel  wrote:
> >Le 5 mai 2016, Andrew Robinson a écrit :
> >
> >> So if I don't want to make my on copy of the GTK+ libraries,
> >
> >Why wouldn't you want to build your static libs for future inclusion in
> >your software? Where "build" is for "let the Makefile of MXE do all the
> >work needed to build".
>
> 1) Because there are between 40 to 120Mb worth of libraries or their
> dependencies I would have to post on my website.
>
> 2) You could get under 40Mb, if you are only going to use one function from
> one or two libraries, and you don't want the user to have any features like
> skinning.
>
> (I am going to reference Allegro here, only just for comparison sake)
>
> 3) If I do compile GTK myself, I will have to maintain all that huge
> amount of
> source code on my website, per the licensing agreement. If I use Allegro,
> I do
> nothing else unless I customize the source code, only then will I have to
> post
> source code.
>
> 4) Furthermore, I would have to answer questions on why users couldn't
> compile
> the source code for making GTK+ for Win32 on Windows7 (or 8 or 10 or XP),
> something the GTK community has been unwilling to do itself. With Allegro,
> I
> literally simply download DevC++ for Windows7, select DevPak to download
> Allegro, compile, and you are done! Compare that to GTK: Downgrade your
> Visual
> Studio to version 2013, install GIT if you don't already have it, clone the
> GTK repository, install a minimalistic Linux environment like MSYS2,
> install
> MinGW, spend a few days trying to get to know these things, try compiling a
> Win32 version of GTK+ using half-arse written instructions, if that doesn't
> work try installing and using MXE, if that doesn't work follow the terse
> instructions posted on an almost hidden website at Nachos blog, if you are
> still having problems, go to the GTK developer forum where they won't give
> you
> any help, ... etc
>
> The setting up the development environment for GTK relies on lots and lots
> of
> esoteric command line parameters, and it seems like no two computers use
> the
> same exact parameters. Developing on Windows for Windows is super easy and
> user friendly, whereas developing on Windows for GTK is not. Windows forums
> are not really friendly either, but they are much more friendly than the
> Linux
> forums are, and anyways I can avoid the forums because there is so much
> code
> and advice posted on the Internet for Windows, that it is hard not to find
> what you are looking for, no matter how esoteric your needs are.
>
> >> I must tell grandma and grandpa to get their own copy of MSYS2 and MXE,
> >(not Msys2, MXE will do all the needed download)
> >> and provide make their own copy of GTK+ for Win32. Wouldn't that be easy
> >> and fun?
> >
> >All the more as they would have to install Linux beforehand!
>
> That attitude is one of the reasons I chose to abandon Windows ... you
> sound
> just like Satya Nadella trying to pawn Windows 10 off to the world. If
> Linux
> was so great, people would already be using it in droves, instead of barely
> mustering 3% of the entire market.
>
> ___
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
>
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Re[4]: Compiling for Windows [Was: argv revisited]

2016-05-05 Thread Andrew Robinson
On 5/5/2016 at 10:23 AM, Lucas Levrel  wrote:
>Le 5 mai 2016, Andrew Robinson a écrit :
>
>> So if I don't want to make my on copy of the GTK+ libraries,
>
>Why wouldn't you want to build your static libs for future inclusion in 
>your software? Where "build" is for "let the Makefile of MXE do all the 
>work needed to build".

1) Because there are between 40 to 120Mb worth of libraries or their
dependencies I would have to post on my website.

2) You could get under 40Mb, if you are only going to use one function from
one or two libraries, and you don't want the user to have any features like
skinning.

(I am going to reference Allegro here, only just for comparison sake)

3) If I do compile GTK myself, I will have to maintain all that huge amount of
source code on my website, per the licensing agreement. If I use Allegro, I do
nothing else unless I customize the source code, only then will I have to post
source code.

4) Furthermore, I would have to answer questions on why users couldn't compile
the source code for making GTK+ for Win32 on Windows7 (or 8 or 10 or XP),
something the GTK community has been unwilling to do itself. With Allegro, I
literally simply download DevC++ for Windows7, select DevPak to download
Allegro, compile, and you are done! Compare that to GTK: Downgrade your Visual
Studio to version 2013, install GIT if you don't already have it, clone the
GTK repository, install a minimalistic Linux environment like MSYS2, install
MinGW, spend a few days trying to get to know these things, try compiling a
Win32 version of GTK+ using half-arse written instructions, if that doesn't
work try installing and using MXE, if that doesn't work follow the terse
instructions posted on an almost hidden website at Nachos blog, if you are
still having problems, go to the GTK developer forum where they won't give you
any help, ... etc

The setting up the development environment for GTK relies on lots and lots of
esoteric command line parameters, and it seems like no two computers use the
same exact parameters. Developing on Windows for Windows is super easy and
user friendly, whereas developing on Windows for GTK is not. Windows forums
are not really friendly either, but they are much more friendly than the Linux
forums are, and anyways I can avoid the forums because there is so much code
and advice posted on the Internet for Windows, that it is hard not to find
what you are looking for, no matter how esoteric your needs are.

>> I must tell grandma and grandpa to get their own copy of MSYS2 and MXE,
>(not Msys2, MXE will do all the needed download)
>> and provide make their own copy of GTK+ for Win32. Wouldn't that be easy 
>> and fun?
>
>All the more as they would have to install Linux beforehand!

That attitude is one of the reasons I chose to abandon Windows ... you sound
just like Satya Nadella trying to pawn Windows 10 off to the world. If Linux
was so great, people would already be using it in droves, instead of barely
mustering 3% of the entire market.

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[3]: Compiling for Windows [Was: argv revisited]

2016-05-05 Thread Lucas Levrel

Le 5 mai 2016, Andrew Robinson a écrit :


Actually, MXE isn't a compiler, but a Makefile that compiles a cross compiler.


OK.


So if I don't want to make my on copy of the GTK+ libraries,


Why wouldn't you want to build your static libs for future inclusion in 
your software? Where "build" is for "let the Makefile of MXE do all the 
work needed to build".



I must tell grandma and grandpa to get their own copy of MSYS2 and MXE,

(not Msys2, MXE will do all the needed download)
and provide make their own copy of GTK+ for Win32. Wouldn't that be easy 
and fun?


All the more as they would have to install Linux beforehand!

--
Lucas Levrel
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[3]: Compiling for Windows [Was: argv revisited]

2016-05-05 Thread Andrew Robinson
Actually, MXE isn't a compiler, but a Makefile that compiles a cross compiler.

So if I don't want to make my on copy of the GTK+ libraries, I must tell
grandma and grandpa to get their own copy of MSYS2 and MXE, and provide make
their own copy of GTK+ for Win32. Wouldn't that be easy and fun?

On 5/5/2016 at 1:04 AM, Lucas Levrel  wrote:
>Le 3 mai 2016, Andrew Robinson a écrit :
>
 Is it really necessary for every Windows application bundle to ship its
 own copy of GTK+?
>>
>>> By default MXE links statically. So you don't have any dll to bundle with
>>> your app. In such circumstances, what does LGPL say? Do you still have to
>>> provide the GTK source code (given that you don't distribute GTK libs)?
>>
>> Well I can't ship MSYS2 and MXE with my application, and I most certainly
>> can't sell any application to grandma and grandpa, if it requires
instructions
>> on how to install MSYS2 and MXE just so you can run my application.
>
>I really don't understand why you say this. As its name says, MXE is a 
>compiling environment. Would you ship your assembler with your executable?
>
>
>-- 
>Lucas Levrel
>___
>gtk-app-devel-list mailing list
>gtk-app-devel-list@gnome.org
>https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-05 Thread Lucas Levrel

Le 3 mai 2016, Andrew Robinson a écrit :


Is it really necessary for every Windows application bundle to ship its
own copy of GTK+?



By default MXE links statically. So you don't have any dll to bundle with
your app. In such circumstances, what does LGPL say? Do you still have to
provide the GTK source code (given that you don't distribute GTK libs)?


Well I can't ship MSYS2 and MXE with my application, and I most certainly
can't sell any application to grandma and grandpa, if it requires instructions
on how to install MSYS2 and MXE just so you can run my application.


I really don't understand why you say this. As its name says, MXE is a 
compiling environment. Would you ship your assembler with your executable?



--
Lucas Levrel
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-04 Thread Matthew A. Postiff
Try this package:

$ pacman -Ss mingw-w64-i686-gtk3
mingw32/mingw-w64-i686-gtk3 3.18.6-1 [installed]
GObject-based multi-platform GUI toolkit (v3) (mingw-w64)


On 5/4/2016 3:51 PM, Andrew Robinson wrote:
> Yeah, I see that, but that only downloads 64-bit binaries. I need the Win-32
> binaries. 
>
> On 5/4/2016 at 12:20 PM, Florian Pelz  wrote:
>> On 05/04/2016 03:59 PM, Andrew Robinson wrote:
>>> No, there are no Win32 binaries in MSYS2. Where are you getting your
>>> information?
>>>
>> MSYS2 contains pacman. `pacman -Syu mingw-w64-x86_64-gtk3` downloads
>> GTK+ binaries for x86_64 and puts them in the C:\msys64\mingw64
>> directory (by default). This directory is what you want to ship with
>> your application later on. Try it.
>>
>>
>> ___
>> gtk-app-devel-list mailing list
>> gtk-app-devel-list@gnome.org
>> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
> ___
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
>

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-04 Thread Andrew Robinson
Yeah, I see that, but that only downloads 64-bit binaries. I need the Win-32
binaries. 

On 5/4/2016 at 12:20 PM, Florian Pelz  wrote:
>On 05/04/2016 03:59 PM, Andrew Robinson wrote:
>> No, there are no Win32 binaries in MSYS2. Where are you getting your
>> information?
>> 
>
>MSYS2 contains pacman. `pacman -Syu mingw-w64-x86_64-gtk3` downloads
>GTK+ binaries for x86_64 and puts them in the C:\msys64\mingw64
>directory (by default). This directory is what you want to ship with
>your application later on. Try it.
>
>
>___
>gtk-app-devel-list mailing list
>gtk-app-devel-list@gnome.org
>https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-04 Thread Florian Pelz
On 05/04/2016 03:59 PM, Andrew Robinson wrote:
> No, there are no Win32 binaries in MSYS2. Where are you getting your
> information?
> 

MSYS2 contains pacman. `pacman -Syu mingw-w64-x86_64-gtk3` downloads
GTK+ binaries for x86_64 and puts them in the C:\msys64\mingw64
directory (by default). This directory is what you want to ship with
your application later on. Try it.


___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-04 Thread Andrew Robinson
No, there are no Win32 binaries in MSYS2. Where are you getting your
information?

On 5/4/2016 at 12:29 AM, Florian Pelz  wrote:
>On 05/04/2016 02:22 AM, Andrew Robinson wrote:
>> I have an idea! Why doesn't someone just compile all the binaries for Win32
>> and Win64 and make them available on the Internet, that way none of us will
>> have to go through all this stupid BS just to get some binaries? Just two
>> packages, one for Win32 and one for Win64, using only just the command line
>> options that
>>
https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/
>> tell us to use.
>
>All the binaries are available and maintained in MSYS2. No need to
>duplicate work.
>
>If you want a newer Glib, you can try modifying the PKGBUILD and see if
>it still works [1]. The version already seems right though.
>
>You can also just download gedit for Windows, remove gedit.exe and put
>in your .exe. You won't need some of the libraries and it's not very
>clean and maintainable, but it's a quick hack to get a working GTK+.
>
>And yes, Windows support could be a little cleaner and better
>documented. It's not that bad though, people are working on it, and I'm
>sure they'd appreciate help.
>
>However, it seems many just ignore the LGPL when it comes to source code
>distribution? Of course when using an unmodified version of glibc/GTK+/…
>you can just find the library version you used and fetch the source code
>from the upstream website when needed, but that may mean more work in
>the future.
>
>[1] https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-glib2
>
>___
>gtk-app-devel-list mailing list
>gtk-app-devel-list@gnome.org
>https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[3]: Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-04 Thread Andrew Robinson
On 5/3/2016 at 5:42 PM, Allin Cottrell  wrote:
>On Tue, 3 May 2016, Andrew Robinson wrote:
>
>> I have never seen a cross-compiled version of Fedora. Is it related to the
>> mythical Chimera?
>
>Read for comprehension. Fedora is strictly Linux (of course), but 
>offers a set of packages that enable you to cross-compile with ease 
>for MS Windows.

That isn't what he said but I get it now.

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-04 Thread Florian Pelz
On 05/04/2016 02:22 AM, Andrew Robinson wrote:
> I have an idea! Why doesn't someone just compile all the binaries for Win32
> and Win64 and make them available on the Internet, that way none of us will
> have to go through all this stupid BS just to get some binaries? Just two
> packages, one for Win32 and one for Win64, using only just the command line
> options that
> https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/
> tell us to use.

All the binaries are available and maintained in MSYS2. No need to
duplicate work.

If you want a newer Glib, you can try modifying the PKGBUILD and see if
it still works [1]. The version already seems right though.

You can also just download gedit for Windows, remove gedit.exe and put
in your .exe. You won't need some of the libraries and it's not very
clean and maintainable, but it's a quick hack to get a working GTK+.

And yes, Windows support could be a little cleaner and better
documented. It's not that bad though, people are working on it, and I'm
sure they'd appreciate help.

However, it seems many just ignore the LGPL when it comes to source code
distribution? Of course when using an unmodified version of glibc/GTK+/…
you can just find the library version you used and fetch the source code
from the upstream website when needed, but that may mean more work in
the future.

[1] https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-glib2

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[2]: Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Allin Cottrell

On Tue, 3 May 2016, Andrew Robinson wrote:


I have never seen a cross-compiled version of Fedora. Is it related to the
mythical Chimera?


Read for comprehension. Fedora is strictly Linux (of course), but 
offers a set of packages that enable you to cross-compile with ease 
for MS Windows.


Allin Cottrell
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[2]: Re[2]: Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Andrew Robinson
I just found the link to MSVC 2013 on Microsoft's site. Visual Studio is not
free, Visual Studio Express or Community is free. It will still require me to
uninstall my current version of MSVC in order to run this older version,
because different versions of MSVC on the same computer do not play well
togther, and this is not a trivial thing to do but it is doable. Sure would be
nice though, if GTK supported the Windows community by having a MSVC 2015/2016
or Code::Blocks or GCC version of this.

So all I had to do to find the instructions to fetch the compiled Win32
binaries for GTK+, is go to Google and do a search for "Nachos blog" -- why
didn't I think of that from the very beginning? Are there any other off the
beaten path blogs that say the same thing, or is this the only one? And the
instructions aren't really complete. It isn't as simple as "go to the MSYS2
site, download, and run it". Some of the packages that you need to download to
MSYS2, will either not install or will not work properly if your path contains
spaces or UNICODE (it's that ugly Windows UTF-16 thing again). And the GTK
dlls it creates are outdated, notably the libglib.dll. And by the way, don't
worry about all that extra junk that pacman puts on your computer, it's there
for a reason. I also really enjoy all that talk about forking the compiler
source code, you know, in case the main branch doesn't work. That will
certainly make the project all the more maintainable (not). I would have to
research each and every line of those instructions from
https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/
to make sure I knew how to do it, and what each command line option means, if
the instructions still work, so if I ran into problems (like the UTF-16
thing), I would know what went wrong and how to fix it, otherwise it most
definitely is not complete because of all the "gotchas".

I have an idea! Why doesn't someone just compile all the binaries for Win32
and Win64 and make them available on the Internet, that way none of us will
have to go through all this stupid BS just to get some binaries? Just two
packages, one for Win32 and one for Win64, using only just the command line
options that
https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/
tell us to use.

On 5/3/2016 at 3:29 PM, Paolo Borelli  wrote: 


On Tue, May 3, 2016 at 11:52 PM, Andrew Robinson  wrote:

The website, https://github.com/wingtk/gtk-win32, looks really good at first
glance, until you read the fine print where it says, "Any version of VS apart
from 2013 is not supported". What if I don't have VS 2013, what then? You
can't download it from Microsoft's website although you can buy it for $400+
from Amazon.


MSVC Community Edition if free (free as in beer, not free software) and works
just fine.



Mingw doesn't have any binaries for GTK+, it is a compiler and you have to
download 27 sub-projects that the GTK+ toolkit is comprised of, then compile
them all with the (hopefully) proper command line switches to get binaries. It
is a laborious and a very, very poorly documented process. Again, no thank
you.




Not really. It is a matter of running a couple of commands and you fetch the
compiled binaries for gtk.
This old blog post is still valid
https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/



I have never seen a cross-compiled version of Fedora. Is it related to the
mythical Chimera?




Not sure because I do not do cross compiling (we use both the above methods in
production to distribute windows applications). As far as I know it is just a
matter of "dnf installl gtk3-mingw64" or something similar.




Paolo
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Re[2]: Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Paolo Borelli
On Tue, May 3, 2016 at 11:52 PM, Andrew Robinson 
wrote:

> The website, https://github.com/wingtk/gtk-win32, looks really good at
> first
> glance, until you read the fine print where it says, "Any version of VS
> apart
> from 2013 is not supported". What if I don't have VS 2013, what then? You
> can't download it from Microsoft's website although you can buy it for
> $400+
> from Amazon.


MSVC Community Edition if free (free as in beer, not free software) and
works just fine.

Mingw doesn't have any binaries for GTK+, it is a compiler and you have to
> download 27 sub-projects that the GTK+ toolkit is comprised of, then
> compile
> them all with the (hopefully) proper command line switches to get
> binaries. It
> is a laborious and a very, very poorly documented process. Again, no thank
> you.
>
>
Not really. It is a matter of running a couple of commands and you fetch
the compiled binaries for gtk.
This old blog post is still valid
https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/


I have never seen a cross-compiled version of Fedora. Is it related to the
> mythical Chimera?
>
>
Not sure because I do not do cross compiling (we use both the above methods
in production to distribute windows applications). As far as I know it is
just a matter of "dnf installl gtk3-mingw64" or something similar.


Paolo
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[2]: Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Andrew Robinson
There are many ways to have good gtk3 binaries for Windows:


- if you are using mingw you can fetch updated gtk3 binaries from msys2
(https://github.com/Alexpux/MSYS2-packages)

- if you are cross compling Fedora and other distros provide mingw binaries

- if you are using MSVC, there are no pre-built binaries, but
https://github.com/wingtk/gtk-win32 provides a script to build them easily

We decided to not distribute binaries from gtk.org/gnome.org anymore since we
do not have the resources to do that for all the possible platforms and
toolchain combinations. Other projects like msys2 are much better equipped to
provide binaries (and this is the same on linux where binaries are provided by
distros).

The website, https://github.com/wingtk/gtk-win32, looks really good at first
glance, until you read the fine print where it says, "Any version of VS apart
from 2013 is not supported". What if I don't have VS 2013, what then? You
can't download it from Microsoft's website although you can buy it for $400+
from Amazon. If I bought it, I would either have to have another computer to
install it on, or uninstall the current version I have so I could install the
2013 version and be sure it was "bug free". No thank you.

Mingw doesn't have any binaries for GTK+, it is a compiler and you have to
download 27 sub-projects that the GTK+ toolkit is comprised of, then compile
them all with the (hopefully) proper command line switches to get binaries. It
is a laborious and a very, very poorly documented process. Again, no thank
you.

I have never seen a cross-compiled version of Fedora. Is it related to the
mythical Chimera?

PS -- The only help the GTK+ Project has ever offered the Windows community
for obtaining GTK+ for Windows is their weblink instructing you to download
MSYS2 ... the end! No mention of which of the 27+ sub-projects are required to
compile the entire GTK+ toolkit suite, or what developer tools are required,
or how to do any of it. So if something were to go wrong during the compile, I
would not expect the GTK+ Project to be there to offer any help. Even if GTK+
had listed https://github.com/wingtk/gtk-win32 for instructions, I would have
been impressed -- disappointed -- but still impressed.
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Paolo Borelli
On Tue, May 3, 2016 at 9:32 PM, Andrew Robinson  wrote:

> Been there, done that. The latest version of GTK+ that GNOME has is 2.24,
> i.e.
> -- there are no 3.x binaries.
>
>
There are many ways to have good gtk3 binaries for Windows:

- if you are using mingw you can fetch updated gtk3 binaries from msys2 (
https://github.com/Alexpux/MSYS2-packages)
- if you are cross compling Fedora and other distros provide mingw binaries
- if you are using MSVC, there are no pre-built binaries, but
https://github.com/wingtk/gtk-win32 provides a script to build them easily


We decided to not distribute binaries from gtk.org/gnome.org anymore since
we do not have the resources to do that for all the possible platforms and
toolchain combinations. Other projects like msys2 are much better equipped
to provide binaries (and this is the same on linux where binaries are
provided by distros).

Paolo


___
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
>
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re[2]: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Andrew Robinson
On 5/3/2016 at 11:34 AM, Dov Grobgeld  wrote:
>Another equivalent scons-based way of compiling for windows with gcc is
>shown in my program giv.
>
>See: https://github.com/dov/giv/blob/master/SConstruct
>
>SCons uses the Sconstruct files to do the cross-compilation and also calls
>out to nsis to create a windows installer.
>
>The complete gtk run time is only about 20MB in size (at least for gtk2)
>which with todays hard disk sizes really is negligable, so I agree that
>there is no reason to try to create a common gtk runtime.
>
>I still remember the frustration back in the days when there was a common
>run environment and installing glade would make inkscape or gimp fail, or
>vice verse. Individual run time environments is really the way to go!
>
>For a peak into the bad old days, see e.g. the following thread:
>http://comments.gmane.org/gmane.comp.gnome.gtk%2B.general/16828

Been there, done that. The latest version of GTK+ that GNOME has is 2.24, i.e.
-- there are no 3.x binaries.

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Florian Pelz
On 05/03/2016 08:34 PM, Dov Grobgeld wrote:
> The complete gtk run time is only about 20MB in size (at least for gtk2)
> which with todays hard disk sizes really is negligable, so I agree that
> there is no reason to try to create a common gtk runtime.
> 
> I still remember the frustration back in the days when there was a common
> run environment and installing glade would make inkscape or gimp fail, or
> vice verse. Individual run time environments is really the way to go!
> 
> For a peak into the bad old days, see e.g. the following thread:
> http://comments.gmane.org/gmane.comp.gnome.gtk%2B.general/16828
> 
> 
> Regards,
> Dov
> 

This is convincing. Thank you.

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Dov Grobgeld
Another equivalent scons-based way of compiling for windows with gcc is
shown in my program giv.

See: https://github.com/dov/giv/blob/master/SConstruct

SCons uses the Sconstruct files to do the cross-compilation and also calls
out to nsis to create a windows installer.

The complete gtk run time is only about 20MB in size (at least for gtk2)
which with todays hard disk sizes really is negligable, so I agree that
there is no reason to try to create a common gtk runtime.

I still remember the frustration back in the days when there was a common
run environment and installing glade would make inkscape or gimp fail, or
vice verse. Individual run time environments is really the way to go!

For a peak into the bad old days, see e.g. the following thread:
http://comments.gmane.org/gmane.comp.gnome.gtk%2B.general/16828


Regards,
Dov

On Tue, May 3, 2016 at 7:44 PM, Allin Cottrell  wrote:

> On Tue, 3 May 2016, Dave Howorth wrote:
>
> On 2016-05-03 16:57, Florian Pelz wrote:
>>
>>> I'd like to have one standard GTK+ installer for the GTK+ DLLs etc. that
>>> can be downloaded and installed from other installers, so there is just
>>> one GTK+ installed on Windows instead of one copy of perhaps different
>>> versions of GTK+ for each application.
>>>
>>
>> That's been a longstanding desire of many people. The other side of the
>> argument of course is that all the applications have to be compatible with
>> that particular version of the libraries, which has sometimes proven to be
>> problematic even when the libraries ship with Windows. Expecting every
>> application to be updated every time there is a library update is not
>> realistic. It's not like a linux distro where the distro can update and
>> recompile all the dependencies itself.
>>
>
> Yep, Florian's desire is a "natural" one from the point of view of anyone
> used to Linux but unfortunately it's totally impractical on MS Windows.
> It's a real No-No for any third-party package to install DLLs into system
> directories on Windows; this would likely break all sorts of things.
>
> It may seem like a terrible waste of disk space to install multiple
> per-application copies of GTK, but you just have to get over it. Basically
> the same on Mac OS X.
>
> (I might note: even on Linux, GTK updates are not necessarily harmless.
> For example, updating from GTK 3.18 to 3.20 breaks emacs and gnumeric; they
> still run, but they're damaged.)
>
> Allin Cottrell
>
> ___
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
>
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Allin Cottrell

On Tue, 3 May 2016, Dave Howorth wrote:


On 2016-05-03 16:57, Florian Pelz wrote:

I'd like to have one standard GTK+ installer for the GTK+ DLLs etc. that
can be downloaded and installed from other installers, so there is just
one GTK+ installed on Windows instead of one copy of perhaps different
versions of GTK+ for each application.


That's been a longstanding desire of many people. The other side of the 
argument of course is that all the applications have to be compatible with 
that particular version of the libraries, which has sometimes proven to be 
problematic even when the libraries ship with Windows. Expecting every 
application to be updated every time there is a library update is not 
realistic. It's not like a linux distro where the distro can update and 
recompile all the dependencies itself.


Yep, Florian's desire is a "natural" one from the point of view of 
anyone used to Linux but unfortunately it's totally impractical on 
MS Windows. It's a real No-No for any third-party package to install 
DLLs into system directories on Windows; this would likely break all 
sorts of things.


It may seem like a terrible waste of disk space to install multiple 
per-application copies of GTK, but you just have to get over it. 
Basically the same on Mac OS X.


(I might note: even on Linux, GTK updates are not necessarily 
harmless. For example, updating from GTK 3.18 to 3.20 breaks emacs 
and gnumeric; they still run, but they're damaged.)


Allin Cottrell
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Florian Pelz
On 05/03/2016 06:12 PM, Dave Howorth wrote:
> On 2016-05-03 16:57, Florian Pelz wrote:
>> I'd like to have one standard GTK+ installer for the GTK+ DLLs etc. that
>> can be downloaded and installed from other installers, so there is just
>> one GTK+ installed on Windows instead of one copy of perhaps different
>> versions of GTK+ for each application.
> 
> That's been a longstanding desire of many people. The other side of the
> argument of course is that all the applications have to be compatible
> with that particular version of the libraries, which has sometimes
> proven to be problematic even when the libraries ship with Windows.
> Expecting every application to be updated every time there is a library
> update is not realistic. It's not like a linux distro where the distro
> can update and recompile all the dependencies itself.
>

That's a good argument, but those who don't want to risk breakage due to
incompatibilities could still bundle it the old-fashioned way. Of
course, maybe it's too much effort and most people prefer stability on
Windows. I'm not going to take the time, so thank you for explaining the
reasons.

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Dave Howorth

On 2016-05-03 16:57, Florian Pelz wrote:

I'd like to have one standard GTK+ installer for the GTK+ DLLs etc. that
can be downloaded and installed from other installers, so there is just
one GTK+ installed on Windows instead of one copy of perhaps different
versions of GTK+ for each application.


That's been a longstanding desire of many people. The other side of the 
argument of course is that all the applications have to be compatible 
with that particular version of the libraries, which has sometimes 
proven to be problematic even when the libraries ship with Windows. 
Expecting every application to be updated every time there is a library 
update is not realistic. It's not like a linux distro where the distro 
can update and recompile all the dependencies itself.

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Florian Pelz
On 05/03/2016 04:57 PM, Andrew Robinson wrote:
> Well I can't ship MSYS2 and MXE with my application, and I most certainly
> can't sell any application to grandma and grandpa, if it requires instructions
> on how to install MSYS2 and MXE just so you can run my application.
> 

For MSYS2, you create a package for installing your application in
MSYS2. Then you use a clean MSYS2 installation with which you install
your application package and all dependencies. You can then copy the
installed directories and contents and use them as a bundle. You still
have to ship the GTK+ source code you used though.

Look at gedit for an example:

https://git.gnome.org/browse/gedit/tree/win32/make-gedit-installer

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-03 Thread Lucas Levrel

Le 2 mai 2016, Florian Pelz a écrit :


On 05/02/2016 12:36 PM, Lucas Levrel wrote:

Then I found MinGW Cross Env, now called MXE (http://mxe.cc/). It
compiled my project with no effort at all.


This is interesting. May I hijack this thread?

I did not know about MXE. What is their relationship with MSYS2?


I don't know. I'm a mere user and haven't even subscribed to their ML.


Distributing the GTK+ source code with bundles for LGPL compliance seems
easier with MXE. How do others handle source code distribution? This is
not an issue for GNOME projects and I can't find examples.

Is it really necessary for every Windows application bundle to ship its
own copy of GTK+?


By default MXE links statically. So you don't have any dll to bundle with 
your app. In such circumstances, what does LGPL say? Do you still have to 
provide the GTK source code (given that you don't distribute GTK libs)?


--
Lucas Levrel
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-02 Thread Andrew Robinson
Thank you Lucas, for submitting this post. MXE seems very interesting and I
feel compelled to do some more research into it.

On 5/2/2016 at 3:36 AM, Lucas Levrel  wrote:
>(copy to OP in case he's already unsubscribed, apologies for duplication 
>if he's not)
>
>Le 30 avril 2016, Andrew Robinson a écrit :
>> Now my new problem I had was either locating a Win32 version of GTK+
greater
>> than v3.18 or locating a version of libglib.dll greater than v2.40. It
isn't
>> going to happen. The GTK+ project itself does not support Win32 or Win64,
>> expecting the developer to install MSYS2 and then ... nothing. The GTK+
>> project gives no further instructions on what to do next. Getting the Linux
>> binaries for GTK+ in MSYS2 seems easy, but I don't want the Linux binaries,
I
>> want the Windows binaries. I would compile my own binaries for Windows but
>> there is little reliable and complete information out there on how to do it
>> and what is there isn't credible. From what I understand, compiling
binaries
>> for Win32 is a very time consuming and tedious project, so I knew if I had
any
>> problems compiling it, I would not receive any help from the GTK+ (or
probably
>> even the GNOME) community in resolving them.
>
>I'm not an expert programmer and when I wanted to compile for Windows the 
>software I developped in Linux, I couldn't achieve a satisfactory result 
>(using the -mwin32 or -mwindows flag gave either a clumsy additional 
>command window, or yielded an antivirus alert!).
>
>Then I found MinGW Cross Env, now called MXE (http://mxe.cc/). It compiled 
>my project with no effort at all. When you install it, it compiles the 
>cross-compiler and the libs you want, so this takes quite long, but with 
>no user intervention. Then all you have to do is add such lines in your 
>Linux-ready Makefile:
>
># prepend all binaries with a later-defined prefix
>PKG_CONFIG=$(CROSS)pkg-config
>CXX=$(CROSS)g++
>LD=$(CROSS)ld
>AR=$(CROSS)ar
>STRIP=$(CROSS)strip
>..
># define the prefix in the rules targeting Windows
>myrule : CROSS=/path/to/bin/i686-pc-mingw32-
>myrule : ...
>
>HTH
>
>-- 
>Lucas Levrel

___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


Re: Compiling for Windows [Was: argv revisited]

2016-05-02 Thread Florian Pelz
On 05/02/2016 12:36 PM, Lucas Levrel wrote:
> […]
> 
> I'm not an expert programmer and when I wanted to compile for Windows
> the software I developped in Linux, I couldn't achieve a satisfactory
> result (using the -mwin32 or -mwindows flag gave either a clumsy
> additional command window, or yielded an antivirus alert!).
> 
> Then I found MinGW Cross Env, now called MXE (http://mxe.cc/). It
> compiled my project with no effort at all. When you install it, it
> compiles the cross-compiler and the libs you want, so this takes quite
> long, but with no user intervention. Then all you have to do is add such
> lines in your Linux-ready Makefile:
> 
> # prepend all binaries with a later-defined prefix
> PKG_CONFIG=$(CROSS)pkg-config
> CXX=$(CROSS)g++
> LD=$(CROSS)ld
> AR=$(CROSS)ar
> STRIP=$(CROSS)strip
> ...
> # define the prefix in the rules targeting Windows
> myrule : CROSS=/path/to/bin/i686-pc-mingw32-
> myrule : ...
> 
> HTH
> 

This is interesting. May I hijack this thread?

I did not know about MXE. What is their relationship with MSYS2?

Distributing the GTK+ source code with bundles for LGPL compliance seems
easier with MXE. How do others handle source code distribution? This is
not an issue for GNOME projects and I can't find examples.

Is it really necessary for every Windows application bundle to ship its
own copy of GTK+?

Regards,
Florian
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Compiling for Windows [Was: argv revisited]

2016-05-02 Thread Lucas Levrel
(copy to OP in case he's already unsubscribed, apologies for duplication 
if he's not)


Le 30 avril 2016, Andrew Robinson a écrit :

Now my new problem I had was either locating a Win32 version of GTK+ greater
than v3.18 or locating a version of libglib.dll greater than v2.40. It isn't
going to happen. The GTK+ project itself does not support Win32 or Win64,
expecting the developer to install MSYS2 and then ... nothing. The GTK+
project gives no further instructions on what to do next. Getting the Linux
binaries for GTK+ in MSYS2 seems easy, but I don't want the Linux binaries, I
want the Windows binaries. I would compile my own binaries for Windows but
there is little reliable and complete information out there on how to do it
and what is there isn't credible. From what I understand, compiling binaries
for Win32 is a very time consuming and tedious project, so I knew if I had any
problems compiling it, I would not receive any help from the GTK+ (or probably
even the GNOME) community in resolving them.


I'm not an expert programmer and when I wanted to compile for Windows the 
software I developped in Linux, I couldn't achieve a satisfactory result 
(using the -mwin32 or -mwindows flag gave either a clumsy additional 
command window, or yielded an antivirus alert!).


Then I found MinGW Cross Env, now called MXE (http://mxe.cc/). It compiled 
my project with no effort at all. When you install it, it compiles the 
cross-compiler and the libs you want, so this takes quite long, but with 
no user intervention. Then all you have to do is add such lines in your 
Linux-ready Makefile:


# prepend all binaries with a later-defined prefix
PKG_CONFIG=$(CROSS)pkg-config
CXX=$(CROSS)g++
LD=$(CROSS)ld
AR=$(CROSS)ar
STRIP=$(CROSS)strip
...
# define the prefix in the rules targeting Windows
myrule : CROSS=/path/to/bin/i686-pc-mingw32-
myrule : ...

HTH

--
Lucas Levrel
___
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list