On Mon, 2011-04-04 at 14:23 +0100, Jon TURNEY wrote:
> This is awesome, thank you!

This does seem to be popular, but I never did get that gold star Corinna 
awarded.

> I tried jhbuilding the entire X.Org stack using these, and while there are
> several issues with cross-compiling that source which need fixing,

Here's what I'm aware of, having built RPMs for the X.Org libraries:

1) src/util/makekeys in libX11 is a build-native noinst tool used in the
buildsystem to create a file.  Building it on Linux when cross-compiling
for Cygwin required overriding X11_CFLAGS (which would get Cygwin's
system headers instead of glibc's), EXEEXT, and LIBTOOL to
use /usr/bin/libtool (native) instead of $(top_builddir)/libtool
(cross).

2) Ditto for util/makestrs in libXt.

3) As we discussed elsewhere, Mesa is clearly not intended for
cross-compiling.  mklib needs a patch to use cross-ar and cross-ranlib,
and it still needs to be told what system to build for.

What else have you encountered?

> I also hit a couple of snags with the tool-chain:
> 
> 1) i686-pc-cygwin-pkg-config appears to be implemented as a script which
> ultimately executes a macro from /etc/rpm/macros.cygwin, which sets
> PKG_CONFIG_LIBDIR to the sysroot and unsets PKG_CONFIG_PATH and invokes the
> native pkg-config.
> 
> Unfortunately, this seems to make it impossible to build package A and then
> build package B which uses pkg-config to depend on A, without installing A
> into your sysroot.
> 
> It looks like I'm not the only one to have tripped across this problem, see
> e.g. [1],[2].

As I commented in RH bug 668171, it should be safe to allow
PKG_CONFIG_PATH in the macro used by $host-pkg-config for cases such as
this, while continuing to unset it in %_cygwin_env when building RPM
packages.  I've uploaded cygwin-filesystem-4-1 with this change (among
others); please let me know if that works for you.

> 2) Some X.Org components don't build with unresolved symbols at link time.
> The link line generated by the cross-tools contains fewer libraries to that
> generated by cygwin native tools, I think because the Fedora native pkg-config
> wasn't configured with --enable-indirect-deps, which doesn't seem to have an
> equivalent runtime flag.

That sounds plausible.  I didn't encounter this with the libraries, but
you built the apps as well.  I would say that any apps with inadequate
deps should be fixed in the PKG_CHECK_MODULES call in configure.ac.

Let me know if there's any way I can help.


Yaakov



------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Cygwin-ports-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cygwin-ports-general

Reply via email to