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

531 Commits

Author SHA1 Message Date
Bruce Mitchener
2ffcc4209d
Remove macOS 11 from GitHub Actions. (#247)
This platform is experimental on their end and is having
capacity problems. We don't need it for now and the noise
of the failures is not worth it.
2021-01-19 21:24:39 -08:00
Bruce Mitchener
6f7ec059bc
Remove dead stores. (#240) 2021-01-19 21:23:26 -08:00
Bruce Mitchener
0a057dec6b
Delete code related to NATIVETRAN feature. (#232)
* Delete code related to NATIVETRAN feature.

This was obsolete work that had been done for generating
native code from the bytecode.

Closes Interlisp/medley#89.

* Remove unused SaveD6.
2021-01-19 17:57:53 -08:00
Bruce Mitchener
c89b6fd611
Use the C99 floating point error code on Solaris. (#243)
Previously, we were building as C89 and the new code required
the C99 flag on Solaris with Sun Studio. Now that we build as
C99, this should work now and we can remove the special case
code.
2021-01-19 19:35:00 +00:00
Nick Briggs
26857f3131
Change icon, cursor images and masks to const uint8_t (#239)
The predefined cursors (image and mask) are better represented
as arrays of const uint8_t rather than char.  Likewise for the
window icon.  Track this change in the functions that take the
image and mask as arguments, casting only when we get to the
X library functions that take char*.
2021-01-19 10:16:08 -08:00
Bruce Mitchener
a42189fb8b conspage: Fix uninitialized memory read. (#242)
If `prior` was not set, then `priorpg` would be uninitialized and
was subsequently used in a comparison. It should be initialized
to `NULL`.
2021-01-19 09:28:40 -08:00
Bruce Mitchener
616b526516
No mode_t for open() for opening read-only file. (#241) 2021-01-19 08:40:33 -08:00
Bruce Mitchener
7a24b41fc4
Fix !XWINDOW to be SUNDISPLAY ifdefery. (#234)
Some of the `ifndef XWINDOW` code should have been
`ifdef SUNDISPLAY` instead.
2021-01-18 23:45:59 -08:00
Bruce Mitchener
db6b351397
Remove FORKCOMM define. (#238)
This code path was followed everywhere except DOS, so remove
it from the build system, and adjust the code.
2021-01-18 22:12:41 -08:00
Bruce Mitchener
c4e4c5ec5b
Fix sunwindow include ifdefery on vmemsave.c. (#236)
The cursor management code is `#ifdef` `SUNDISPLAY` and
`OLD_CURSOR`, not `NOPIXRECT`, so do the same for the
header include.
2021-01-18 22:11:42 -08:00
Bruce Mitchener
7549c746eb
Remove old xXWINDOW code. (#233)
This looks like code that was a mix of SUNDISPLAY and XWINDOW.
But it isn't valid any longer...
2021-01-19 04:52:50 +00:00
Bruce Mitchener
c9a72229dd
Bit of cleanup for Lisp_Xinitialized. (#237)
* Bit of cleanup for Lisp_Xinitialized.

* Remove the `extern` from `xcursor.c`, where it was not used.
* Move the definition from `main.c` to `xinit.c` as it is
  the only file using it.
* Use `stdbool.h` for it rather than an `int` with custom `TRUE`
  and `FALSE` values.

* Add some asserts with Lisp_Xinitialized.
2021-01-19 04:46:20 +00:00
Bruce Mitchener
32a4b52c66
GitHub Actions: Add builds using cmake. (#231) 2021-01-17 05:01:59 +00:00
Bruce Mitchener
be7f43322e
Remove unnecessary codepaths for ISC. (#230)
ISC support had some extra code paths that were largely
duplicates of what was for non-ISC. They are not needed
any longer.
2021-01-15 21:01:40 -08:00
Nick Briggs
7ce6a55499 ForkUnixShell: cleanup unsafe code 2021-01-15 20:36:37 -08:00
Nick Briggs
2bb5854303
Remove -funsigned-char from standard compilation options (Issue Interlisp/medley#152) (#229)
Add standardized options for Oracle Developer Studio C compiler (aka SunPro C)

Using -funsigned-char causes the Oracle Developer Studio C compiler typedefs for
int8_t to become unsigned (uint8_t) rather than signed, with no warning or
other indication that this has happened.
2021-01-15 19:47:06 -08:00
Bruce Mitchener
16093186ee
Remove incorrect SUN3_OS3_OS4_il ifdef. (#228)
The definition of a function was ifdef'd out, making it seem
like perhaps there was an assembly implementation, but there
isn't. That platform support is dead weight also at this point,
so removing this because it isn't something that will come back
is fine.
2021-01-15 19:44:12 -08:00
Bruce Mitchener
4c84412c84
Correct some ifdefs from ISC to RESWAPPEDCODESTREAM. (#227)
`RESWAPPEDCODESTREAM` was only used on ISC, so some `#ifdef`'s were
previously set up incorrectly.
2021-01-15 19:33:39 -08:00
Bruce Mitchener
3480ee9711
Fix typos. (#226) 2021-01-15 16:59:32 +00:00
Bruce Mitchener
373f66c855
GitHub Actions: Skip build-pi when not in Interlisp/maiko. (#224)
The build-pi builder is self-hosted, so it may not be present,
and isn't present in forks of this repo, making the CI less
useful.
2021-01-14 07:32:36 +00:00
Nick Briggs
ebc4a24d0b
Fix various spelling, grammatical, and punctuation errors (#222) 2021-01-13 23:08:35 -08:00
Bruce Mitchener
be9c0c30c4
GitHub Actions: Update syntax for installing a cask from homebrew. (#225)
Homebrew on the macOS build machines for GitHub Actions was
updated to version 2.7 and that deprecated the `brew cask install`
syntax in favor of `brew install --cask`, so we need to update
here.

The announcement for the GitHub change is:

https://github.com/actions/virtual-environments/issues/2415
2021-01-13 23:07:39 -08:00
Bruce Mitchener
fdcc4017f7
unixfork.c needs to define flushing. (#223)
This shouldn't be an `extern` decl here as `unixfork.c` is built
into `lde` which doesn't get a copy of `main.c` linked in.
2021-01-13 22:55:47 -08:00
Larry Masinter
fc81b26085 Add build for self-hosted linux ARM (pi) 2021-01-13 14:43:47 -08:00
Bruce Mitchener
71a04ce117
Remove unused FileIOFlag, TimerFlag. (#221) 2021-01-13 10:58:58 -08:00
Bruce Mitchener
0fbf5e8281
Rename NOETHER to MAIKO_ENABLE_ETHERNET. (#219)
Like the renaming of NOFORN, this gets rid of some double
negatives. It also removes some patterns where we had:

```
    #ifdef NOETHER
    #else
    ...
    #endif
```

and replaces them with:

```
    #ifdef MAIKO_ENABLE_ETHERNET
    ...
    #endif
```
2021-01-13 17:54:54 +00:00
Bruce Mitchener
62a8d400ce
Use sig_atomic_t for FP_error when using FP exceptions. (#220)
`sig_atomic_t` is usually `int`, but is the typedef that one
should use for flags written to from a signal handler.
2021-01-13 17:52:53 +00:00
Bruce Mitchener
d3efbc3441
Remove HAS_GETHOSTID. (#218)
This is only true on DOS now. It was previously true on older
unsupported platforms, but they are gone now.
2021-01-12 20:10:21 -08:00
Bruce Mitchener
7145f0d380
Rename NOFORN to MAIKO_ENABLE_FOREIGN_FUNCTION_INTERFACE. (#217)
This lets us get rid of double-negatives, which are confusing,
and starts a naming scheme that is easier to see when something
is a Maiko flag versus something else.
2021-01-12 20:04:23 -08:00
Bruce Mitchener
7b979dd789
Add maiko/platform.h to detect OS + CPU. (#216)
This also adds a bit to the `-info` output to say which OS and CPU
are being targeted.

This can be used in subsequent commits to drive whether or not
we need `BYTESWAP` and whether or not unaligned memory access
is okay.

We'll be able to remove per-platform defines from all of the
makefiles and cmake.
2021-01-13 03:01:49 +00:00
Bruce Mitchener
414a4ecbbd
Remove #ifdef LINUX max/min definitions. (#215)
These don't appear to be needed.
2021-01-12 17:21:54 -08:00
Bruce Mitchener
19329883d5
Add missing foreigndefs.h, includes to foreign.c. (#214) 2021-01-12 17:14:19 -08:00
Bruce Mitchener
c7314dcb31
Remove -DLINUX from Cygwin makefile. (#213)
This might have been necessary before where we had bits of code
that were still `#ifdef LINUX`, but that's mostly gone now, so
this should no longer be required.
2021-01-12 17:46:48 +00:00
Bruce Mitchener
5cb18c0710
Merge hacks.c into foreign.c. (#212)
This code was not really valid ANSI C in the way that it was
used, and it was only used by foreign.c, which is #ifdef'd out.
2021-01-11 22:45:49 -08:00
Nick Briggs
fac400f918
Clean up CMakeLists.txt for Solaris (SunOS5) builds with ethernet enabled (#210)
dlpidefs.h was missing from the list of headers.
Solaris compiles should have USE_DLPI set.
ldeether depends on the dlpi object in the maiko library.
2021-01-11 20:30:56 -08:00
Bruce Mitchener
ec04803b53
Switch s_char uses to signed char. Remove s_char alias. (#208) 2021-01-11 19:00:33 -08:00
Bruce Mitchener
5a8f20c0ca
Default NOFORN to defined. (#209)
The NOFORN flag controls foreign function interface code, which
was written using the dld_* APIs which haven't existed in years.

There was a GNU dld that provided this API, but it was withdrawn
in 2006.

If this code is to be re-enabled, it will have to be changed to
use the `dlopen` family of APIs.
2021-01-11 18:17:42 -08:00
Bruce Mitchener
fa1adadd31
Remove SunOS 4 version of aref_switch. (#205)
When compiling for SunOS4, we would have a macro-ized version
of this function which required a slightly different call-site.

This removes all of that as it isn't used or needed.
2021-01-11 17:11:48 -08:00
Alex Segura
68d7908ee6
Support building on OpenBSD, x86-64 (#207)
* Support building on OpenBSD, x86-64

* Clean up OpenBSD Makefile

* Add OpenBSD to cmake build

* Use clang as CC for OpenBSD

Co-authored-by: Alex Segura <alex@lispm.dev>
2021-01-11 17:10:57 -08:00
Bruce Mitchener
fa13cc964c
Switch to compiling as ISO C99 + GNU extensions. (#203)
We currently build for ISO C90 with GNU extensions. The GNU
extensions include both library and language features.
Compiling without GNU extensions results in a number of compilation
failures due to use of those library features.

With this, we'll build for ISO C99 with the GNU extensions and
can evaluate what's going on with those library features in the
future.
2021-01-10 20:47:55 -08:00
Bruce Mitchener
9ba7e78625
MDate: Make time_t, not long. (#206)
MDate, generated into `vdate.c` from `mkvdate.c`, was being
stored as a `long` rather than a `time_t`. This led to some
casts, but also a bit of platform #ifdef'd code.

This makes that go away by storing it as the `time_t` value
that it really is.

Also, update some comments and minor nits.
2021-01-10 18:44:31 -08:00
Bruce Mitchener
19033bba89
Remove extra flags for gcc on some platforms. (#202)
On Linux x86 and x86_64 as well as Cygwin, we were adding some
flags to the (commented out) usage of gcc. These shouldn't be
here.
2021-01-10 17:24:42 -08:00
Bruce Mitchener
0058cacc12
Remove I386 version of N_MakeFloat. (#204)
This used to differ, but the differences were dead code and
removed. We have no need for this extra bit of baggage.
2021-01-10 17:24:07 -08:00
Bruce Mitchener
2b5f8eae1c
Remove sysatms.h/c (#201)
The C file was empty, and the H file only had unused constants
in it.
2021-01-10 17:23:32 -08:00
Bruce Mitchener
589f7d34a9
Remove an include, make one only for Solaris. (#200)
* unixfork: Remove an include, make one only for Solaris.

* xinit: Only include ioctl on Solaris.
2021-01-10 17:22:23 -08:00
Bruce Mitchener
acc86a4df7
Remove oether.c, oldeether.c. (#199)
These are old files and no longer relevant. Nothing references
them and they're just saved backups of `ether.c` and `ldeether.c`.
2021-01-11 01:01:16 +00:00
Bruce Mitchener
fb7758a9ac
Experimental build support via cmake. (#198)
This doesn't remove or replace the existing build system, but
provides an alternative. It allows for faster builds with proper
incremental builds, as well as using tools such as `clang-tidy`,
which work better when they have a compiler commands 'database'.
2021-01-09 11:05:41 -08:00
Bruce Mitchener
b45e249a08
Remove mention of TRASE. (#197)
This macro no longer exists and one message had it as a typo.
2021-01-09 10:17:03 -08:00
Bruce Mitchener
16c6b8f7c3
Fix typos. (#196) 2021-01-08 21:42:11 -08:00
Bruce Mitchener
0e3d3acd4e
Replace int_timer_on|off with int_(un)block. (#193)
Both were used, but one just called the other, so simplify
the API.
2021-01-08 21:38:54 -08:00