Re: non-Linux OSes

2013-10-23 Thread Marc-André Lureau
Hi

On Tue, Oct 22, 2013 at 4:45 PM,  fanc...@yahoo.com.tw wrote:
 Also, just wondering whether there are any people using GLib with Windows XP
 64-bit edition or Windows Server 2003 x64, or does GLib (built as x64
 binaries) even work on these platforms?  The thing is, if there isn't really

I have been successfully building and testing virt-viewer (a Gtk2
application, but using quite recent GLib) on xp  2003 x64.

 need for such setups, I guess it might be good for me to move the MSVC x64
 builds to not include support XP/Server 2003 first in this cycle.  So any
 thoughts on this?

It would be nice if we can keep XP compatibility for a few more years
(why would we need to drop it now?). XP support could be limited to
mingw64, if it's complicated to keep MSVC support?

-- 
Marc-André Lureau
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: gtk+ with latest mingw and gcc 4.8

2013-05-06 Thread Marc-André Lureau
See also bug https://bugzilla.gnome.org/show_bug.cgi?id=699673


On Mon, May 6, 2013 at 11:07 AM, Aleksander Morgado aleksan...@gnu.orgwrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1


  compiling gtk+-3.6.4 with latest mingw and gcc 4.8 leads to lots of
  errors like this one:
 
 
 
 /usr/local/mingw64-2.8/32/lib/gcc/i686-w64-mingw32/4.8.0/../../../../i686-w64-mingw32/lib/../lib/libuuid.a(lib32_libuuid_a-uuid.o):uuid.c:(.rdata+0x5f0):
  multiple definition of `FOLDERID_CommonPrograms'
  win32/.libs/libgdk-win32.a(gdkdnd-win32.o):gdkdnd-win32.c:
 
  The root cause is that in gdk/win32/gdkdnd-win32.c #define INITGUID  is
  defined.
  which leads in
  i686-w64-mingw32/include/knownfolders.h
  that these known Folders are deifined again. But the are alread defined
  in libuuid.
 
  From my point of view the error is in gtk+ you should not define
 INITGUID.
 
  how can this be fixed properly?
 
  I just deleted the define for me.
 
  This define is still defined in HEAD revision, too.
 

 For reference, that is what Fedora is already doing in its mingw-gtk
 packaging:


 http://pkgs.fedoraproject.org/cgit/mingw-gtk2.git/tree/gtk-dont-define-initguid.patch

 - --
 Aleksander
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.13 (GNU/Linux)
 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

 iEYEARECAAYFAlGHcuYACgkQgxIgkKLogl7EqgCgwyaxi0DR8yqg/z3m9T4iOQxK
 jT4An2QjRfNT8PRIaQ3LX0obbpkVgPEo
 =09Q0
 -END PGP SIGNATURE-
 ___
 gtk-devel-list mailing list
 gtk-devel-list@gnome.org
 https://mail.gnome.org/mailman/listinfo/gtk-devel-list




-- 
Marc-André Lureau
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+3 win32/64 build environment

2013-04-10 Thread Marc-André Lureau
Hi tarnyko

On Tue, Apr 9, 2013 at 10:33 PM, tarn...@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 scriptscompilers 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
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+3 win32/64 build environment

2013-04-10 Thread Marc-André Lureau
Hi

On Wed, Apr 10, 2013 at 11:05 AM, tarn...@tarnyko.net wrote:

 There are tons of build systems, but for targetting native windows build
 [1], I would really suggest looking at cerbero


 I prefer keep using vanilla MinGW, either on Windows or under Linux. Using
 a very particular and complex buildenv, possibly tied to lots of
 prerequisites, won't help in a long time. Plus it would mean maintenance
 for GNOME folks, too.


Their build requirements is similar to yours or anyone:
http://docs.gstreamer.com/display/GstSDK/Building+from+source+using+Cerbero.
We are building the same set of packages after all. Building only gtk+ is
really not enough in many cases. It's not going to fly if each project
distribute its own set of binaries.

Maintenance of a shared and proven project can be easier than a new
standalone one. Many people who have experience with distro and windows
build contributed to it. Also I think cerbero isn't that complicated, it
looks quite elegant and powerful for what it does.

-- 
Marc-André Lureau
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+3 win32/64 build environment

2013-04-10 Thread Marc-André Lureau
On Wed, Apr 10, 2013 at 11:11 AM, Dieter Verfaillie 
diet...@optionexplicit.be wrote:

 I you mean the paths stated inside .pc files, then pkg-config on
 windows should be able to automatically deduce the correct value for
 ${prefix} based on the location where said package is installed [1]
 and ignore whatever is stated as ${prefix} inside the .pc file.
 No adjustments should be needed.

 This was made so by tml way back, when he used to ./configure
 and make install each package into a separate prefix, stringing
 things together (both for build and runtime usage) as needed
 using PATH, PKG_CONFIG_PATH, ACLOCAL_FLAGS and other env vars.
 Quite elegant, one can test (build and/or use) different versions
 of packages fast, without having to go and build a complete
 bundled distribution for each test (unless there's ABI breaks off
 course).


Interesting, I didn't know (and I wouldn't try, I am cross-compiling guy :)
However, this isn't going to be enough, there are many variables in .pc
which may contain path. Also projects not using pkg-config have the same
problems. Doing a grep under fedora-mingw sys-root reveals that there are
many binaries that refer to hardcoded path too. In general, it's not going
to work if I try to reuse those cross-builds for doing native build.
Fortunately, by now, most of the runtime is working natively, but there are
still corner-cases (this is still one of the first thing you need to fix
when porting a lib/app)


-- 
Marc-André Lureau
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+3 win32/64 build environment

2013-04-10 Thread Marc-André Lureau
On Wed, Apr 10, 2013 at 7:18 PM, Paul Davis p...@linuxaudiosystems.comwrote:

 to be relocatable, your app should *fall back* on -DPKGDATADIR but should
 first try checking for an environment variable and then a path relative to
 the executable.


Or just rely on g_get_system_data_dirs(), that's what I usually do.
https://developer.gnome.org/glib/stable/glib-Miscellaneous-Utility-Functions.html#g-get-system-data-dirs


-- 
Marc-André Lureau
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: GTK+3 win32/64 build environment

2013-04-10 Thread Marc-André Lureau
On Wed, Apr 10, 2013 at 8:08 PM, Paul Davis p...@linuxaudiosystems.comwrote:

 i assume you mean as the fallback?


You said, should first try checking for an environment variable and then a
path relative to the executable., what environment variable? PKGDATADIR?
Who set it? Is it only for the developper? If you have a good case for that
extra environment variable, I would suggest to submit a patch to
g_get_system_data_dirs(), It does the later, giving you a list of where to
look for the data. So it could easily be tweaked to look for more locations.


-- 
Marc-André Lureau
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list