1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-25 11:36:31 +00:00
Commit Graph

12 Commits

Author SHA1 Message Date
Bruce Mitchener
41d28e01b5 Fix timer.c compilation on non-x86_64 GNU/Linux. (#104)
`timer.c` uses `F_SETSIG` which is a GNU extension. As such, it
needs `_GNU_SOURCE` to be defined, but this was only done for
x86_64, not the other Linux platforms that we have build system
support for.

Closes interlisp/medley#97.
2020-12-20 17:42:37 +00:00
Bruce Mitchener
810e33125b Update how we configure gcc / clang command lines. (#103)
* Move clang/gcc options into makefile-header.

This puts all of the shared options into a single place so that
we can easily update it.

* Add -fwrapv to the clang/gcc command lines.

This is a step along the way to fixing interlisp/medley#90.

Enabling `-fwrapv` will let overflow checks that rely upon undefined
behavior to work correctly. Without this, with modern versions of
clang and gcc, the overflow checks in the C code are eliminated
by the compiler, resulting in incorrect behavior on the part of
Maiko.

See the linked bug for details and discussion.

Hopefully, this usage of `-fwrapv` will go away once we're using
the correct compiler builtins to detect and handle overflow
correctly.
2020-12-19 20:16:31 -08:00
Bruce Mitchener
d4f72d96e1 Remove FSERROR define as it is always on. (#96)
The FSERROR define is on all the time now. It was not controlling
all of the functionality, with many places setting Lisp_errnno
outside of the code controlled by the define.
2020-12-17 09:33:20 -08:00
Bruce Mitchener
7a1abc9cc6 Remove commented out directives for SunOS4 dispatch loop hacks. (#84)
On SunOS4, we build `xc.c` by jumping through a lot of hoops to
perform a particular set of operations. We don't do that on other
platforms and this will help clean up the Linux and FreeBSD makefiles.

These directives were already not present in the macOS makefiles.
2020-12-16 11:03:40 -08:00
Bruce Mitchener
c728571c5f Remove commented out CLXFLAGS from non-SunOS makefiles. (#83)
CLX was an alternate client library for X11, isn't really supported
by Maiko, and is unlikely to be in the future on these platforms.
2020-12-16 10:53:38 -08:00
Bruce Mitchener
4862e8bbb6 Remove -D__USE_BSD from Linux builds. (#67)
This is an internal macro to GNU libc and wasn't meant to be
defined like this. Well, it was. It was deprecated and removed
some years ago, so it isn't doing anything at all here now.
2020-12-15 10:06:15 -08:00
Bruce Mitchener
433a659063 Require termios on Unix. (#61)
Remove the USETERMIOS preprocessor definition as well.
2020-12-15 08:05:59 -08:00
Nick Briggs
cfc0046675 Rename gc.h to gcdata.h to avoid conflict with Boehm GC system include file, and adjust sources.
Remove duplicate external function definitions from gcdata.h

	renamed:    inc/gc.h -> inc/gcdata.h
	modified:   src/array2.c
	modified:   src/array4.c
	modified:   src/array6.c
	modified:   src/asmbbt.c
	modified:   src/asmbitblt.c
	modified:   src/bbtsub.c
	modified:   src/car-cdr.c
	modified:   src/conspage.c
	modified:   src/fvar.c
	modified:   src/gc.c
	modified:   src/gcarray.c
	modified:   src/gccode.c
	modified:   src/gcfinal.c
	modified:   src/gchtfind.c
	modified:   src/gcmain3.c
	modified:   src/gcoflow.c
	modified:   src/gcr.c
	modified:   src/gcrcell.c
	modified:   src/gcscan.c
	modified:   src/gvar2.c
	modified:   src/initsout.c
	modified:   src/loopsops.c
	modified:   src/mkcell.c
	modified:   src/rplcons.c
	modified:   src/storage.c
	modified:   src/xc.c
	modified:   src/z2.c
2020-09-05 16:39:21 -07:00
Nick Briggs
cd4c59dbb3 Be clear that the code depends on the default char being unsigned.
Be clear that the code is not clean for pointer aliasing.

	modified:   bin/makefile-darwin.386-x
	modified:   bin/makefile-darwin.x86_64-x
	modified:   bin/makefile-linux.386-x
	modified:   bin/makefile-linux.armv7l-x
	modified:   bin/makefile-linux.x86_64-x
	modified:   bin/makefile-sunos5.386-x
2020-08-21 12:18:03 -07:00
Nick Briggs
9821329ec0 Move SYSVONLY define from version.h to the individual makefiles for Linux
Add makefile for Linux on x86_64 platforms
Remove include <stropts.h> for Linux as modern systems have dropped this
Adjust code to account for fcntl() vs ioctl() for generating signals on X I/O
Adjust includes for time related include files for modern Linux systems

	modified:   bin/makefile-linux.386-x
	new file:   bin/makefile-linux.x86_64-x
	modified:   inc/version.h
	modified:   src/mkvdate.c
	modified:   src/timer.c
2020-08-03 20:19:02 -07:00
Nick Briggs
8e99402729 Switch to clang as default compiler, show options needed for gcc in comment. 2018-03-27 10:38:12 -07:00
Nick Briggs
de170a64d9 Maiko sources matching state as of 020102 prior to initial patching for Mac OSX 2015-04-20 18:53:52 -07:00