[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OOC Garbage Collector Proposal



> [...] rewriting the libraries for native Win32 support should be an
> interesting task. Can we split the Unix-specific aspects of the C
> backend and libs into their own subdirectories, so I have a better
> idea of how much I need to port?

Most of the stuff isn't exactly Unix-specific.  The libraries use some
ANSI and POSIX functions, plus a BSD extension or two.   Most of them
should be available under Win32, too.

As for splitting: The interface to the C library is well marked
already.  Just take a look at the library files accompanied by a piece
of C code.

/tmp$ cd oo2c_32-1.3.1/lib/
/tmp/oo2c_32-1.3.1/lib$ ls *.c
Exception.c       Locales.c         Signal.c          __Descr.c
Files.c           OakFiles.c        SysClock.c        __oo2c.c
Kernel.c          PosixFileDescr.c  Termination.c
LocStrings.c      Rts.c             Types.c

In the source distrib they are located in ooc/backend/ansi-c/lib.

The only other system-dependent part is file name handling.  File name
manipulation is currently done by module Filenames.Mod, it probably
needs to be adjusted to the different naming conventions.  This module
is marked as "obsolete", but until someone comes up with a more
flexible mechanism to deal with file names it's all we got.

-- mva