This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cygport cross-compiling beta1


On 7/20/2010 09:49, Yaakov (Cygwin/X) wrote:
4. NLS.  I think the cross toolchains should be compiled with
    --disable-nls, if we can't figure out how to install and use the
    correct .mo files associated with each compiler.  Otherwise, all such
    cross compilers must be at exactly the same version as the native
    one, because they will all share the native compiler's .mo files. I
    don't think this situation (all compilers using same version) is
    very likely.

With NLS you will still have at least partial translations, which is better than nothing, no?


How about setting up --with-localedir to somewhere version or target specific?


However, given the dependency structure of the gcc3 packages, this means
you pretty much have to also remove, using setup,
	gcc-core
	gcc-g++
	gcc-java
	gcc-objc

Note that this conflict means that the current gcc-mingw* packages (and,
thus, the gcc 3.x packages) conflict with the new mingw-gcc-* and
mingw-binutils-* packages.  Also, this may have implications for the
upgrade process, when the "real" mingw32-gcc cross toolchain is
released.  Even if we mark the gcc (3) packages obsolete, we probably
have to repackage them and their gcc-mingw* friends to fix this upgrade
problem, and perhaps relieve the conflict. Somehow?

We can just remove the gcc-mingw* deps from gcc3*. But the bigger question is, do we still *need* gcc3 in the distro?


iirc its used a bit in the cygnus tree to compile the cygwin1 dll and strace.


The following flags are used in the official mingw compiler, but not here:
	--enable-libstdcxx-debug

Reading the description, I'm not so sure we need (or want) this.


	--enable-shared (but that's okay, as it is default)
	--enable-libgomp

AFAIK --enable-shared and --enable-libgomp are the defaults.


--disable-win32-registry

Yes, we definitely want this.


(also, --disable-werror, and language Ada)

Just hadn't bothered with Ada, that's all.



Cygwin gcc needs to be bumped to around 4.5.0 to build it. Its stated somewhere in the GCC docs that you'll need the same version of gcc to build cross ADA.


The following flags are used here, but not in the official mingw compiler:
	--disable-multilib
	--enable-lto

AFAIK these are actually the defaults.


I believe --enable-fully-dynamic-strings is correct, but apparently the
official mingw.org 4.5.0 release does not use it.

Because 'mingw-runtime' is an existing package, and the current version
is 3.18-1, this new version should be -2.

Oops, missed that one. But the mingw-runtime maintainer should take care of that when we're up to pushing this.


Careful, this option causes ABI change.


Is it usual to build linux compilers with --enable-fully-dynamic-strings?

Apparently not, thanks for catching that.


Had to install libelf0 and libelf0-devel packages, in order to build.

Right, as LTO uses libelf on ELF targets.



just to clarify, win32 targeting GCC do not use libelf even when lto is enabled. A special coff lto module is used instead. Apparently elf readers don't work on coff :)



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]