Ticket #259 (closed defect: wontfix)
Provide for single SYSCALLS loader file
| Reported by: | hans | Owned by: | gb |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | project hosting | Version: | |
| Keywords: | Cc: |
Description
To load the system call interfaces, one currently has to copy this piece of code:
(eval-when (:compile-toplevel :execute) #+linuxppc-target (require "PPC-LINUX-SYSCALLS") #+linuxx8664-target (require "X8664-LINUX-SYSCALLS") #+darwinppc-target (require "DARWINPPC-SYSCALLS") #+darwinx8664-target (require "DARWINX8664-SYSCALLS") #+freebsdx8664-target (require "X8664-FREEBSD-SYSCALLS") )
This is rather inconvenient for the user, as every new architecture and every new operating system requires manual patching of the application that uses the system calls. The upcoming 32 bit X86 port will make this particularily apparent.
I would suggest that CCL provided a single "SYSCALLS" module that selectes the right module to load, so that the application can use
(require "SYSCALLS")
If the eval-when could go, it'd be even better.
I am aware that the system call interfaces vary between architectures and operating systems and that one cannot expect (require "SYSCALLS") to provide for one common interface to the system. Given that most operating systems supported will be Unix based, there is significant overlap between the variants and thus it _will_ be possible to just use code cross-platform in many cases.
