cygport cross-compiling beta1
JonY
jon_y@users.sourceforge.net
Tue Jul 20 03:50:00 GMT 2010
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 :)
More information about the Cygwin-apps
mailing list