Porting Cygwin

David Feustel dfeustel@mindspring.com
Sat Jan 6 10:03:00 GMT 2001


> >WinCE 2.11 has a console window.  I am using it in my ports of Teco and
> >Snobol4 to my Jornada 820.  Teco is essentially done.  Snobol4 runs but
> >needs work.  I have a Windows 2000 version running from essentially the
> >same codebase which is helping me figure out what should be happening
> >with Snobol on my Jornada.
> 
> That may be but I'm pretty certain that actual console I/O is not supported
> by WinCE, e.g., AFAIK, you can't open CONIN$.

stdin, stdout and std error are supported. printf() works. File i/o works.
getch() (used by teco) is not implemented but I have a work around.

> Besides the console operations, there are also other primitives that are
> missing in Windows CE which Cygwin relies on.

I'm not shy about stubbing stuff out, breakpointing the routines so that I
know if they get called and then adding (equivalent) functionality as necessary.
Of course, the better the os support, the less of this is needed.

> Then, of course, there is the amount of memory that Cygwin will use.  Memory
> is precious on hand helds.  Even if you got cygwin ported, I'm not sure how
> much additional memory would be available for the application.

My 820 has 32 meg ram and (right now) 32 meg compact flash. Enough to
run programs but not any where near enough for a toolchain. On the other hand,
if it were possible to get the toolchain ported, a 1GB IBM microdrive is only
$500. I also have ethernet download so big programs are not a problem.
Phil Budne's CSnobol4 is 450 KB (with symbol table). Takes 10 sec max..

> Btw, I neglected to respond to this:
> 
> >>>>Now, am I correct in my assumption that porting the cygwin dll to WinCE
> >>>>will let me compile, GCC source and the link/run it using the EVT c
> >>>>compiler with not a whole lot of editing?
> 
> I don't know what EVT c might be, but building Cygwin requires a recent
> gcc compiler.  It's possible that you can use another compiler/linker to
> use cygwin header files and libraries for building an application but
> I wouldn't be surprised if there are problems there too.

EVT is Visual Studio 6 customized to generate c/c++/asm code for all versions
of WinCE from 2.01 on and for all hardware that WinCE runs on (SH3, MIPS, 
(Strong)Arm, x86, PPC). The biggest problem I have run into so far re C++ stdio 
is that  It does not support Try-Throw-Catch and hence the standard C++ library
is not compilable/usable on the WinCE platform.

I also bought 4 books by Stallman on porting GCC since I am a complete newbie
wrt GCC, GDB, etc although I have a lot of experience with Unix commandline utilities.



--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list