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
