[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gm2] Interfacing to C -- How do we map size_t to Modula-2?
From: |
Gaius Mulley |
Subject: |
Re: [Gm2] Interfacing to C -- How do we map size_t to Modula-2? |
Date: |
Wed, 26 Jul 2017 11:34:49 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Benjamin Kowarsch <address@hidden> writes:
> On Jul 22, 2017, at 08:05, Gaius Mulley wrote:
>
>
>
>
> I've added CSIZE_T, CSSIZE_T data types to SYSTEM.def which map
> onto
> size_t and ssize_t in C.
>
> Thanks, that is very useful.
>
> I updated the GM2 POSIX interfaces of M2PP accordingly. I post the
> links below, in case somebody else wants to reuse them
>
> https://github.com/m2sf/m2pp/blob/master/src/posix/stdio.gm2.iso.def
> https://github.com/m2sf/m2pp/blob/master/src/posix/stdio.gm2.pim.def
> https://github.com/m2sf/m2pp/blob/master/src/posix/unistd.gm2.def
>
> stdio still needs two separate versions for PIM and ISO because of LOC
> vs BYTE but these will eventually be generated from a common template
> using M2PP itself.
>
> Also of interest beyond this project may be the two libraries
> BasicFileIO and BasicFileSys for which there are implementations based
> on PIM, ISO, POSIX and vendor specific libraries, making them portable
> across PIM3, PIM4, ISO dialects on at least 13 compilers, with Aglet
> and Clarion still on the to do list.
>
> https://github.com/m2sf/m2pp/blob/master/src/BasicFileIO.def
> https://github.com/m2sf/m2pp/blob/master/src/BasicFileSys.cardinal.def
> https://github.com/m2sf/m2pp/blob/master/src/BasicFileSys.longint.def
>
> the latter has two versions, one defining type FileSize as CARDINAL
> the other as LONGINT.
Hi Benjamin,
all interesting - I have been wondering if we need a build script to
determine configuration constants. Ie
FROM configure IMPORT off_t ;
and resolve off_t in autoconf? I suspect there would be a few options
which modula-2 projects could use.
> The build configuration script determines which files are needed and
> places renamed copies in the build directory accordingly.
>
> https://github.com/m2sf/m2pp/blob/master/cfg/config.sh
this looks similar!
> I am probably going to spin off the IO libraries into a portable IO
> library project with its own repo.
>
> The license is LGPL2.1, so you can do whatever you want with it but if
> you fix a bug, you'll have to share the fix.
many thanks - this sounds very useful and will incorporate it.
> As an aside, we are also using this library for the M2-hosted R10
> Bootstrap Kit, which was the primary motivation for M2PP in the first
> place. This means we're going to actively maintain this portable IO
> library.
generating a preprocessor is a good way to start I think - it allows for
fast prototyping and debugging
regards,
Gaius
- [Gm2] Interfacing to C -- How do we map size_t to Modula-2?, Benjamin Kowarsch, 2017/07/13
- Re: [Gm2] Interfacing to C -- How do we map size_t to Modula-2?, john o goyo, 2017/07/13
- Message not available
- Message not available
- Re: [Gm2] Interfacing to C -- How do we map size_t to Modula-2?, Benjamin Kowarsch, 2017/07/13
- Re: [Gm2] Interfacing to C -- How do we map size_t to Modula-2?, Benjamin Kowarsch, 2017/07/13
- Re: [Gm2] Interfacing to C -- How do we map size_t to Modula-2?, Gaius Mulley, 2017/07/16
- Re: [Gm2] Interfacing to C -- How do we map size_t to Modula-2?, Gaius Mulley, 2017/07/21
- Re: [Gm2] Interfacing to C -- How do we map size_t to Modula-2?, Benjamin Kowarsch, 2017/07/24
- Re: [Gm2] Interfacing to C -- How do we map size_t to Modula-2?,
Gaius Mulley <=