Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2003-01

Porting the compiler to a generic Unix platform

1 message · 1 person ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

KJK::Hyperion

Hi all

A short premise: I've decided to start a port of FreePascal out of desperation. I'm writing an Unix from the ground up, and I've discovered that 99% of the software written in C sucks. C runtimes suck. GNU software, without exception, sucks. The Microsoft Visual C++ Runtime sucks. There's certainly more than this, but I've had enough of it. Autoconf and automakes are lies. The ISO C standard is a pathetic lie. Everyone's idea of "portability" is "it runs on Linux, and since I've used vaguely POSIXish stuff, maybe also on Unix, but I didn't bother checking, and everyone that doesn't suck uses Linux anyway". Microsoft's runtime, though free from byzantine build systems, is horribly patched-together. There's no place for a pedantically X/Open-conforming Unix like mine aims to be. I've seen, so far, no C software that is *portable*, just *widely ported*

But I need something to test-run my syscalls (I forgot to mention that I don't need a kernel - I will use Windows NT's). And if it isn't going to be a C runtime, let it be a Pascal runtime, then. So, here I am

The scenario, technically, is:
- no C runtime. This is the sole reason I'm here. If you have a lot of code that depends on a C runtime, please tell me. I don't want any more surprises
- potentially, all of the system calls defined by the Single Unix Specification. I'm making a non-portable statement here, since the SUS doesn't make any distinction between library and system calls. But some functions (open, kill, etc.) are undoubtably system calls, and I'm referring to those
- PE executable format, since all of this is going to run under Windows. If you're aware of any limitation of PE as opposed to ELF that could cause trouble, please let me know

And what I want to know is:
- exactly, what do I need to compile the compiler. I have GCC and binutils, both Win32 and Cygwin, installed. I have a Bourne shell (both MinGW and Cygwin), and bash. If I need something else, *anything else*, tell me. I'm on dialup and I don't like remaining inactive for a whole afternoon just because I miss a single tool that I won't be able to download in ten hours. "Whooops, and *of course* you need that, but you probably already know it". No. I'm ignorant and I'm asking
- exactly, what functions should a System unit implement that aren't already implemented in the Unix template (yes, I've tried a port before)
- if there's already an Unix port exclusively based on system calls (I recall something like that existed), and what's its current status, and if I can talk to the maintainer
- what version should I get so that you'll accept my patches, should I choose to release them
- if the porting guide is *still* only in TeX format, and if someone can compile it into HTML for me, or tell me what do I need

Any kind of help, or pointers to the right
people/URLs/readmes/documentation is welcome. Remember that I'm completely ignorant of any unwritten rules of Unix, compilers, language runtimes, and of any build system ever existed

Thanks in advance

Reply by email