> Full cygwin development tree install.

Please avoid Cygwin if you are building native Windows software.
Cygwin is nice if you build Cygwin software, but presumably that is
not what you are wanting to do, if you want to build plug-ins that
work with the "native" Windows GIMP.

(Yes, I do know that there are some software packages where the way to
build for Windows (no Cygwin used at run-time) uses Cygwin. I know of
OpenOffice.org and Mono. But for packages that use "normal" GNU
autofoo and libtool, like GIMP, Cygwin should usually be avoided if
what one wants is to build non-Cygwin "native" Windows code. It's way
too easy to confuse things and mix Cygwin libraries with non-Cygwin

Use the mingw toolchain instead, and MSYS to run configure scripts and
as interactive shell. Or use the cross-compiling mingw on Linux.

> I had to spend around a day and a half messing about to do something that
> should have taken around half an hour.

"should have taken" in an ideal world.

> It should not be particularly difficult to enhance your build system to
> build natively on
> Windows. I suggest looking at the Mozilla build system for an example of
> how to do this properly.

Are you volunteering?

> One example. This pkgconfig thingy.  In every module, I needed to edit each
> .pc file so that :
> prefix=[local path to module]

If you use the native Windows pkg-config, you don't need to edit .pc
files (at least not for the libraries whose Windows development
packages are distributed on ftp.gnome.org).

> ... now, what's this all about ?

> You can figure out this path implicitly from the location of the .pc file !

Yes, and that is what pkg-config does on Windows (*not* Cygwin, which
from software point of view is just a variant of Unix, even if
actually running on top of Windows). Read the manual page. The prefix
entry in the .pc file is not used on Windows.

IMHO pkg-config could well have been designed/defined to work this way
on Unix, also, but I don't think it can be changed at this stage, in
case there really are some packages out there where the location of
the .pc file is not $prefix/{lib,share}/pkconfig.

The prefix line is present in the .pc files o (at least "my") Windows
packages just because it would require more work to edit out the
prefix line from .pc files when building a library for Windows. In the
Windows packages I build, the prefix used at build-time on my machines
on purpose contain a string of hex digits (an md5 hash value actually)
as a hint that it is more or less a dummy string that is not expected
to exist on the user machine.

> GIMP itself is an excellent cross plaform app. The build system however
> looks like it needs a little work.

Sure. Again, are you volunteering?

Gimp-developer mailing list

Reply via email to