Lassi Kortela
3dc58baa4a
Include <sys/types.h> to get off_t
...
This header is even shipped by Windows compilers. The iostream stuff
uses off_t.
2019-08-18 00:09:43 +03:00
Lassi Kortela
baea23ab29
Switch to portable noreturn attributes
2019-08-18 00:07:46 +03:00
Lassi Kortela
edf7c991f4
Remove unneeded DLLEXPORT and STDCALL macros
2019-08-17 22:55:25 +03:00
Lassi Kortela
3f0a44ad7e
Add aliases.scm into the system image
2019-08-15 23:05:23 +03:00
Lassi Kortela
b60d330df1
Add hacky subprocess spawn procedure
2019-08-14 20:31:39 +03:00
Lassi Kortela
2d0add09d5
Add color-name->rgb24 procedure
2019-08-14 20:02:48 +03:00
Lassi Kortela
cfdb8f2928
Add get-ID procedures from draft SRFI 170
2019-08-14 17:48:13 +03:00
Lassi Kortela
ca8e23c079
Add builtins.h file missing from last commit
2019-08-14 13:54:50 +03:00
Lassi Kortela
78a04430ce
Add read-ini-file procedure
...
Reads a .ini file into an association list. No [section] parsing yet.
2019-08-14 13:49:56 +03:00
Lassi Kortela
50c9fb2448
Sort .c and .o files in build.sh
2019-08-14 13:48:53 +03:00
Lassi Kortela
7ac23c6f0b
Add scanner interface to "struct buf"
...
Can be used to easily write simple parsers in C.
2019-08-14 13:46:50 +03:00
Lassi Kortela
44a8208d38
Add buf_put_ios() utility function
...
Fills a "struct buf" with the entire remainder of a stream.
2019-08-14 13:39:11 +03:00
Lassi Kortela
a6ecac95e1
Rename fs*.c -> os*.c
...
I planned to put just the file system routines into these files, but
there are starting to be so many of them that I don't want to
duplicate the same set for networking, subprocesses etc.
2019-08-14 01:15:29 +03:00
Lassi Kortela
1e0a6350b5
Echo unittest command in build.sh
2019-08-14 00:58:52 +03:00
Lassi Kortela
83cc9b21b1
Add blank lines to ease reading build.sh
2019-08-14 00:56:31 +03:00
Lassi Kortela
2048ac0d45
Remove duplicate -lm switches from build.sh
2019-08-14 00:55:05 +03:00
Lassi Kortela
6c8a10155d
Remove spurious echo from build.sh
2019-08-14 00:54:22 +03:00
Lassi Kortela
d781c65862
Fix oversight in the bootstrap procedure
...
Stage 0 is supposed to emit compiled versions of system.scm and
compiler.scm. The compiler.scm bytecode wasn't emitted properly
because the emitter put the two files' bytecode in two separate C
variables instead of concatenating them into the same variable as they
should be.
2019-08-14 00:44:24 +03:00
Lassi Kortela
cccbe54bb5
Finally fix the default cflags for real
2019-08-14 00:05:10 +03:00
Lassi Kortela
bf11066313
Add stubs for Haiku, Minix and Solaris
2019-08-14 00:01:26 +03:00
Lassi Kortela
d69ad59126
Expand here-document
...
Debian /bin/sh cannot handle it.
2019-08-13 23:47:43 +03:00
Lassi Kortela
c14c723859
Update temp boot image paths
2019-08-13 23:20:47 +03:00
Lassi Kortela
5ced8d91f6
Store boot image inside main executable
...
Previously the boot image was kept in the separate file "flisp.boot".
This caused all kinds of problems, as bootstrapping is wont to do. The
biggest problem was finding a portable and convenient pathname for it.
Instead of dealing with all that stuff about how to find the file,
just store the image in a huge C string constant that goes into the
main executable. This necessitates adding a C-string hex dumper into
the Lisp system, and making build.sh slightly more complicated, but
that's a small price to pay for not having to carry a separate file
everywhere we go. Also, flmain.c is a lot simpler now and we don't
have to play around with symlinks.
2019-08-13 23:07:44 +03:00
Lassi Kortela
2e8153019c
Add read-u8 built-in (R7RS)
...
io.getc gets UTF-8 characters
2019-08-13 22:53:37 +03:00
Lassi Kortela
c2da0753af
Fix some more "long double" nonsense
2019-08-13 18:51:43 +03:00
Lassi Kortela
1f3a4798e1
Expand some cflag definitions in build.sh and add Minix
2019-08-13 18:30:27 +03:00
Lassi Kortela
71098dd01b
Fix some "long double" nonsense
...
Apparently in addition to "float", "double" and "long double" there
are now standard types in <math.h> called "float_t" and "double_t".
Those types don't need to be equivalent to "float" and "double". Gah!
2019-08-13 18:28:19 +03:00
Lassi Kortela
4a89521493
Use 'int' instead of 'char' for character variables
...
MINIX libc headers define the ctype.h toupper() etc. functions as
preprocessor macros that don't cast their argument to int! So a char
argument causes clang to say "warning: array subscript is of type
'char'".
2019-08-13 17:53:17 +03:00
Lassi Kortela
10eb936836
Start file system support for NetBSD
2019-08-13 15:53:37 +03:00
Lassi Kortela
9b737144ea
Fix portability bugs uncovered by Alpine Linux/musl libc
2019-08-13 14:19:38 +03:00
Lassi Kortela
277abddaa8
Turn (import ...) into a macro to match Scheme syntax
2019-08-12 18:18:46 +03:00
Lassi Kortela
5012977d32
Start environment-stack implementation
2019-08-11 23:27:38 +03:00
Lassi Kortela
f2068b5783
Add missing const qualifiers
2019-08-11 23:27:12 +03:00
Lassi Kortela
3b13e81eae
Add concept of built-in libraries and (import) statement
...
R7RS syntax is: (import (library name here))
We translate this into the internal path "library/name/here". This will allow
us to easily load libraries from files later on by appending the ".sld" file
name extension.
2019-08-11 22:32:55 +03:00
Lassi Kortela
c704079cae
Add string buffer
...
TODO: Consider merging with 'struct ios'
2019-08-11 22:31:54 +03:00
Lassi Kortela
b441573bde
Enable #x-1_2_3 syntax and get rid of -0x123
2019-08-10 16:13:26 +03:00
Lassi Kortela
d5bb6b3116
Start changing all instances of 0x to #x
...
After this commit -0x123 is still supported, but 0x123 is not.
2019-08-10 15:51:43 +03:00
Lassi Kortela
003068f575
Add first stab at SRFI 169 underscores support
2019-08-10 15:41:05 +03:00
Lassi Kortela
55c6328241
Link to FemtoLisp from readme
2019-08-10 12:32:04 +03:00
Lassi Kortela
4c391d6d68
Brand as Up Scheme
2019-08-10 12:26:51 +03:00
Lassi Kortela
93813a9eb1
Remove unneeded numerical constants
...
To the extent we need these, we can get them from the stdlib.
2019-08-10 02:12:54 +03:00
Lassi Kortela
10660ac8ed
Start fs implementation for DragonFly BSD
2019-08-10 02:04:11 +03:00
Lassi Kortela
fe01d2faa1
Simplify FreeBSD get_exename()
2019-08-10 02:02:41 +03:00
Lassi Kortela
c2a63dd28f
Revert "Add -pedantic compiler flag"
...
Wow, that's a lot of GNU/C11 extensions! We're not ready to tackle all this
stuff just yet.
This reverts commit b027e7d2e5
.
2019-08-10 01:55:55 +03:00
Lassi Kortela
b027e7d2e5
Add -pedantic compiler flag
2019-08-10 01:53:31 +03:00
Lassi Kortela
acc5c4c5e2
Switch to _GNU_SOURCE on Linux
...
No reason to care about Posix in particular, and it causes problems.
2019-08-10 01:50:04 +03:00
Lassi Kortela
2950e6ae5b
Set _X_OPEN_SOURCE and default compiler in build script
2019-08-10 01:43:47 +03:00
Lassi Kortela
86ebfb7a12
Regenerate boot image due to earlier *os-name* changes
2019-08-10 01:07:08 +03:00
Lassi Kortela
0e75fcb197
Fix regression in u8_vprintf()
...
My fault
2019-08-10 01:05:41 +03:00
Lassi Kortela
be3c93e2b8
Define _XOPEN_SOURCE to access some libc functions on Linux
2019-08-10 01:02:59 +03:00