This is the mail archive of the cygwin-developers 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: crossbuild cygwin-1.7.6-1 on linux x64


On Tue, Aug 24, 2010 at 2:29 AM, Alexandre Girao <alexgirao@gmail.com> wrote:
> Hi,
>
> Â Â Â ÂAfter a great struggle (and lots of googling around) i finally
> compiled cygwin1.dll on
> Â Â Â Âlinux and tested in a win32 environment, the process wasn't
> straightforward but it worked.
>

I am very glad to hear that someone else on the planet is also
interested in this area.

I have not read you mail thorougly.

Basically,  if you try to cross build cygwin1.dll, you will face a
chicken-egg problem. Because the Cygwin DLL configure & build
procedure require that you have a working cygwin1.dll and its headers,
libs, and a working compiler.   The configure scripts try to generate
executable to verify that the comipler works, but this is impossible
for an cross build.

But if  you cross build MinGW toolchain and its headers, libs, this
problem will disappear. This is because  cross building  MinGW-runtime
and Win32API does not require a fully working toolchain.

Last year, I also tried to build cross toolchain for Cygwin in Linux,
I hacked the configure scritps and Makefile.ins in source of Cygwin
DLL to get rid of uncessary component. At last, I got a cygwin1.dll,
But I could not  build remaining part of gcc, the reason is unknown.

If you have interests, you can study the build procedure of MinGW
cross toolchain.

Last year, when I tried to cross build Cygwin DLL and glibc of Linux,
I suspect that, the difficulty of cross building of them is
intentional.   Red Hat seems to have no ideas of cross build in mind.
They seems to have fear if someone can cross build system library and
OS kernel in an platform other than Linux.






-- 
Chiheng Xu
Wuhan,China


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