1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-15 15:57:13 +00:00

93 Commits

Author SHA1 Message Date
Larry Masinter
973db49422 Add a simple test.vm that runs opcode tests (fails on pi) 2020-12-22 12:39:17 -08:00
Bruce Mitchener
3246af571e
Remove dead entries from makefile-tail. (#114) 2020-12-21 22:17:46 -08:00
Bruce Mitchener
9a21f5339a
Remove XV11R4 and related defines. (#113)
We no longer have anything predicated upon the version of X11 that
we're using (and these versions are all ancient anyway).
2020-12-21 22:11:39 -08:00
Bruce Mitchener
37c410eb31
X*.h headers weren't cleaned up after renaming and merging. (#112)
* Check.h, Stipple.h, XCursors.h, XWaitCur.h, Xcursdef.h,
  Xdefcur.h, and Xicon.h were combined into xbitmaps.h.
* Xdisplay.h is not used and the contents are in MyWindow.h, which
  is used.
* XVersion.h and Xdeflt.h became xdefs.h. Remove 2 stragglers
  that were still including XVersion.h.
2020-12-21 19:13:30 -08:00
Nick Briggs
fc0ae89fcf
Update FreeBSD makefile to use clang and new standard for configuring options (#105) 2020-12-20 17:06:59 -08:00
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
942b22886e
Remove CLX support. (#90)
CLX is a Common Lisp implementation of the X client library.

It has some code in C, which was present here as `src/socket.c`
and `src/socdvr.c`, exposed via opcodes in `src/subr.c`. This code
had been removed (with prejudice apparently) by commenting out
the code in `src/subr.c` with `#if NEVER`.

This code would've been used by the Medley system images, but
that code doesn't appear to be present. (There may or may not
be something related in `XMAS` in the Medley repository.)
2020-12-19 19:59:41 -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
5dd1b1bdac
SunOS5/SPARC and init.sparc now define FSERROR. (#86)
All other targets that we build were defining `FSERROR` except
these two.
2020-12-16 10:47:28 -08:00
Bruce Mitchener
6b590edafc
Update old makefiles for renaming of byteswapfns.c (#80)
This was renamed long ago for the DOS port, but not all of
the makefiles were updated.
2020-12-16 07:02:16 +00:00
Bruce Mitchener
847af10c0a
main.c has no dependency upon unixfork.h. (#79)
This avoids a bit of confusion, since unixfork.c isn't built into
the same executable as main.c. (It is part of `lde` instead.)
2020-12-16 05:52:42 +00:00
Nick Briggs
6a336a186e
macOS installation of XQuartz when SIP is enabled does not link /usr/X11 to /opt/X11 (#73) 2020-12-15 13:07:18 -08:00
Nick Briggs
8e66ec841f Add missing -DNEW_STORAGE to makefile-sunos5.sparc-x configuration. 2020-12-15 13:22:52 -05:00
Bruce Mitchener
8c617452f7
Remove __USE_BSD define that was copied from Linux. (#68)
This isn't / wasn't needed on FreeBSD.
2020-12-15 10:09:39 -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
680e8485fe
Remove unused timeoday.c and timeofday.c files. (#62) 2020-12-15 08:09:04 -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
Bruce Mitchener
fb7e88aba4
Remove makewrong, remnant from Sun3 days. (#53) 2020-12-14 20:38:09 -08:00
Bruce Mitchener
857100a29a
Remove AIX on PS/2 platform support. (#50) 2020-12-14 18:14:59 -08:00
Bruce Mitchener
fd0e12e855
Remove AIX RS/6000 platform support. (#46)
AIX on PS/2 will be removed separately.
2020-12-14 12:13:38 -08:00
Bruce Mitchener
52d3590401
Remove 1988-era copies of some SunOS headers. (#42) 2020-12-14 17:38:14 +00:00
Bruce Mitchener
2dba7492af
Begin to remove ISC platform support. (#40)
We don't want to modify emulation code yet as ISC support included
a number of other things, including some i386 code that isn't used
on other platforms, but is still useful as a reference.
2020-12-13 22:31:58 -08:00
Bruce Mitchener
7119613aee
Remove RISCOS platform support. (#39) 2020-12-14 01:38:57 +00:00
Bruce Mitchener
7313de4274
Remove FUJI compile flag. (#38)
This was only used for a keyboard warning that doesn't seem
relevant any longer.
2020-12-14 01:21:54 +00:00
Bruce Mitchener
074dce0e90
Remove bin/optck and bin/optck-. (#24)
These were binaries built for SPARC to test some assembler
optimizations.

They aren't needed as part of the version control as they're just
artifacts of the past.
2020-12-13 15:40:24 -08:00
Bruce Mitchener
33a42736d4
Remove OSF1 / DEC3100 platform support. (#36)
This also removes support for the DEC3100 keyboard, but leaves a
constant behind for it as I'm not sure about re-numbering.
[NBriggs: keyboard type numbers are stored within all sysouts.  Do not renumber supported keyboards, do not reuse previously used keyboard numbers]
2020-12-13 10:22:43 -08:00
Bruce Mitchener
8e67d0e3c9
Remove unused externs.h (#35)
The things that are declared here either are declared elsewhere
or don't exist any longer.
2020-12-12 21:46:34 -08:00
Bruce Mitchener
362c658c73
Remove usermakefile for Apollo Domain. (#32)
Follow up on #30.
2020-12-12 21:46:07 -08:00
Bruce Mitchener
1c912ff57e
Remove HP platform support. (#34)
This removes code related to HP9000, HPTIMERBUG, and HPUX defines.

It leaves KB_HP9000 for now as I'm not sure about renumbering
those constants.

This should not impact any of the core emulation code.
2020-12-13 05:35:53 +00:00
Bruce Mitchener
750d84c78c
Remove SGI Irix platform support. (#33)
This platform had no emulation-related changes.

Remove code for IRIX40, INDIGO definitions.

In disk code, simplify a chain of #ifdef's around fsync handling.
2020-12-13 02:57:07 +00:00
Bruce Mitchener
1c28005420
Remove support for Ultrix. (#28)
Ultrix hasn't seen an update since 1995 and the DEC3100 hardware
that this was originally written for was released in 1989.

It isn't likely that anyone has Ultrix running on hardware where
they would also want to run this.
2020-12-12 18:15:22 -08:00
Bruce Mitchener
292809694e
Remove platform support for Apollo/Domain. (#30) 2020-12-13 02:07:08 +00:00
Bruce Mitchener
69e66470a0
Remove unused _I386 -D flag. (#29)
This flag isn't actually used in any code, so let's remove it to
avoid confusion over whether it does do something or not.
2020-12-12 18:59:26 +00:00
Bruce Mitchener
dbd5bd6679
Remove fp.h (#21)
This was replaced by medleyfp.h. Perhaps this happened because
some systems have an fp.h in their system includes and the naming
collision was an issue. But nothing uses fp.h and medleyfp.h is
an updated version of the contents.

This also updates a bunch of manually managed dependency lists
to reflect the usage of medleyfp.h rather than fp.h.

Nick Briggs: Note that on OSF1 medleyfp.h includes the system fp.h (probably the origin of the renaming)
2020-12-10 17:52:08 +00:00
Bruce Mitchener
11c083d792
Remove editor save files. (#19)
Reviewed differences between save files and current versions to ensure no relevant history was lost.
2020-12-10 08:39:07 -08:00
Nick Briggs
8dda1fe2a8 Update build files for M1 Mac systems (refs Interlisp/medley#69)
The config.guess script returns "aarch64-apple-darwin20.1.0" for an M1 Big Sur mac mini.

	modified:   bin/machinetype
	new file:   bin/makefile-darwin.aarch64-x
2020-11-24 17:43:04 -08:00
Abe Jellinek
3db585e2b2
Docker compatibility: makefile and headers (#17)
* Docker compatibility: makefile and headers
- _GNU_SOURCE required for F_SETSIG
* Remove duplicate makeright.sh script
* Update some includes that don't exist on modern Linux (termio.h); Clang in Docker
  has trouble resolving them automatically
2020-10-26 17:54:35 -07:00
Nick Briggs
135d7f65d3 Switch compilation flags for Solaris2 on x86_64 to compile in 64-bit mode rather than 32-bit mode.
modified:   bin/makefile-sunos5.x86_64-x
2020-10-18 16:33:21 -07:00
Nick Briggs
27d5e44b81 Add makefile fragment for sunos5-x86_64 compilation.
new file:   bin/makefile-sunos5.x86_64-x
2020-10-18 16:23:52 -07:00
Nick Briggs
1200763831 Update osversion script to recognize Solaris 2.x running on x86_64 hardware.
modified:   bin/osversion
2020-10-18 16:04:16 -07: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
5c916cffb5 Remove obsoleted include files (replaced by xxxdefs.h files) and adjust dependencies in makefiles
modified:   bin/makefile-darwin.386-x
	modified:   bin/makefile-darwin.x86_64-x
	modified:   bin/makefile-init.386
	modified:   bin/makefile-sunos5.386-x
	modified:   bin/makefile-tail
	deleted:    inc/car-cdr.h
	deleted:    inc/chardev.h
	deleted:    inc/conspage.h
	deleted:    inc/dir.h
	deleted:    inc/dsk.h
	deleted:    inc/dspsubrs.h
	deleted:    inc/llstk.h
	deleted:    inc/storage.h
	deleted:    inc/ufs.h
	deleted:    inc/uraid.h
2020-09-05 12:59:08 -07:00
Nick Briggs
623594fb89 Add LDEARCH environment variable to override config.guess host-triple in bin/machinetype (debug aid)
modified:   bin/machinetype
2020-08-27 21:40:42 -07:00
Nick Briggs
ee00d0e567 Best to have matching versions of config.sub and config.guess, so update both to current.
modified:   bin/config.guess
	modified:   bin/config.sub
2020-08-21 13:07:00 -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
Gunter Mueller
d07540cbb1 Add support for compiling on Raspberry Pi4 (armv7l architecture) running Linux
Author:    Gunter Mueller <gunter.mueller@gmail.com>
Signed-off-by: Nick Briggs <nicholas.h.briggs@gmail.com>

	modified:   .gitignore
	modified:   bin/machinetype
	new file:   bin/makefile-linux.armv7l-x
2020-08-19 13:28:34 -07:00
Nick Briggs
731c5de8da Update config.guess to modern version which recognizes x86_64 architecture for Darwin (MacOS)
Update osversion script to recognize x86_64 triples for Darwin as Darwin
Update machinetype script to return 386 for MacOS El Capitan (10.11), x86_64 for other versions
Add makefile-darwin.x86_64-x for compiling in 64-bit mode on later MacOS versions

	modified:   config.guess
	modified:   machinetype
	new file:   makefile-darwin.x86_64-x
	modified:   osversion
2020-08-17 14:14:17 -07:00