* implements these as functions rather than #define macros
* moves definitions to ufs.c
* adds parameter to UnixVersionToLispVersion for the storage
size of the buffer being passed
* removes inc/lispver2.h
* adjusts makefile-dos an makefile-tail to update dependencies
The variable MaikoGitVersion will contain a git revision from the head of the source tree
along with an indication if the status was "dirty". If git is not present on the system
or the directory that the build happened in was not under git control the version will be
"none".
* Fix compilation for maiko version 201
Version 201 does not have BIGVM, so SWA_FNHEAD requires swapx
which is defined in byteswapdefs.h
* Fix compilation for maiko version 201
Version 201 did not have NEWCDRCODING, so the implementation of
N_OP_rplcons requires definitions from gcdata.h and address.h
* Set up makeright etc. to allow for easier compilation of alternate versions
The makeright script and the makefile-* slices it depends are modified
to allow easily specifying the RELEASE version number of the Maiko emulator
to be built. The default version remains 351, but can be changed with e.g.
RELEASE=201 ./makeright x
The object directories and executables are NOT named with the version.
* Remove unnecessary include of gcdata.h from bbtsub.c
* Users of gcdata.h should include gchtfinddefs.h explicitly if they use gcdata.h macros
* Correct modify_big_reference_count entry parameter type to reflect dependence on GCENTRY size differences between releases
* Add MAIKO_RELEASE to CMake options for building
* Update SDL dependent code and makefile segments to prepare for SDL3
Many APIs have changed between SDL2 and SDL3. This update adds
preprocessor conditionals to adapt the Maiko SDL code to allow selection of
the SDL major version (2 or 3) from the -DSDL=n define.
The SDL3 implementation is currently available as a preview release, 3.1.0, at
https://github.com/libsdl-org/SDL/releases/tag/prerelease-3.1.0
* Add updates for makefile-haiku.x86_64-sdl to prepare for SDL3
* Allow makeright to accept sdl3 as display type to ease SDL3 experiments
* Update CMakeLists.txt for SDL3 library
* Replaces configuration option -DMAIKO_DISPLAY_SDL=ON/OFF with
-DMAIKO_DISPLAY_SDL=OFF/2/3
* Replaces PUBLIC definitions with PRIVATE definitions on targets since
we are not exporting definitions outside this local compilation
* Update messages to indicate which version of SDL is being configured
* Add fixup for SDL3.xcframework on macOS to compensate for missing
RPATH specification (CMake issue 25998)
On or before macOS Ventura's release, defaulting the @rpath to
include /Library/Frameworks stopped. Since we expect the SDL2
framework to be installed there we must add a -rpath option.
This should be backwards compatible with older macOS releases.
(verified on Catalina but nothing older)
* Haiku OS port
* haiku with X11 backend
* haiku has stpncpy
* Haiku is not Linux.
* X not stable enough on Haiku
* Haiku : settimeofday is a no-op
* Haiku : no need to define settimeofday at all (pointed by nbriggs)
---------
Signed-off-by: Anarchos <sylvain_kerjean@hotmail.com>
Compiling with -DMAIKO_ENABLE_NETHUB makes it possible to test out having a WebSocket
server that could pass packets back and forth to the Dodo NetHub.
Setting Emscripten link-time option for EXIT_RUNTIME allows the runtime code to shutdown
when you exit Medley via a (LOGOUT)
Set up preloads for all the parts of the Medley directory that MEDLEYDIR-INIT expects
to be there. The resulting ldesdl.data is (at this time) 128 MB. It can be installed
gzipped if using nginx or some other web server that supports pre-zipped static files.
It would be better to have these as lazy-loading files, but the setup for that is
complicated. Another alternative to embedding all the data would be if a WebSocket
to XNS/Nethub gateway were written and deployed.
Moves the full.sysout from the root of tle system to /medley/loadups/full.sysout,
adds /medley/lispusers/BACKGROUND-YIELD.LCOM and an Emscripten/WAsm specific
site init file at /usr/local/lde/site-init.lisp
Adjusts options so that the options are in the correct place for the
compiler and loader.
If machinetype or osversion are executed from other than the current working directory
they will fail to execute the config.guess script because it was invoked with "./config.guess".
This update attempts to determine the directory where machinetype or osversion
were found and uses the same path to invoke config.guess.
* Start cygwin-sdl builds: first pass at buildCygwinBuilderImage workflow. Add makefile-cygwin.x86_64-sdl.
* WIP Dockerfile_cygwin_builder
* First pass of complete cygwin-sdl build workflow
* Fix indent error in buildCygwinBuilderImage.yml
* fix incorrect use of github token in buildCygwinBuilderImage.yml
* fix incorrect use of --build-arg in buildCygwinBuilderImage.
* fix incorrect docker build statement in buildCygwinBuilderImage.
* make docker tag lowercase since apparently Wiondows docker doesn't like uppercase tags in buildCygwinBuilderImage.
* fix quotiing on last commit in buildCygwinBuilderImage.
* fix download output location for SDL2 in buildCygwinBuilderImage.
* Add windows/cygwin build to buildRelease workflow
* Fix typos in buildRelease workflow
* Fix more typos in buildRelease workflow
* Debugging per-system if statements buildRelease workflow
* Debugging per-system if statements buildRelease workflow #2
* Debugging per-system if statements buildRelease workflow #3
* Fix checkout actions step to use powershell-sims not bash-isms in Windows job
* Fix Docker_env step to use powershell-isms not bash-isms in Windows job
* Fix Docker_env step to use powershell-isms not bash-isms in Windows job #2
* Fix Docker_env step to use powershell-isms not bash-isms in Windows job #3
* Revamp cygwin build to use docker build instead of docker buildxx because buildx seems to not like windows containers
* Fix some line split nonsense
* Fix typo in last commit
* Add proper repo info to Dockerfile_cygwin_maiko
* More debugging
* Revamp how cygwin-sdl is built - now build directly on runner and not via a Dcokerfile and docker.
* Fix typo
* Fix retrieve of sdl2
* Fix set up release tag action to ake account of the fact that Maiko has been checked out to cygwin\maiko instead of top level workspace
* Fix set up release tag action to ake account of the fact that Maiko has been checked out to cygwin\maiko instead of top level workspace #2
* Fix set up release tag action to ake account of the fact that Maiko has been checked out to cygwin\maiko instead of top level workspace #3
* Cleanup build maiko step
* Prevent git from messing uo line endings on checkout
* Fix copy of cygwin.x86_64 dir to relesase tars
* Set execute bit of (almost) all files in release tar; rearrange build step to use cyugwin bash as the shell
* Fix rearrange build step to use cyugwin bash as the shell
* Try a different way of rearrange build step to use cyugwin bash as the shell
* Fix typo
* When cygwin bash as shell did not work; reverting to brute-force way
* Hopefully fix release push not getting tar file
* Cygwin-sdl build working; remove debugging code
* Remove wrokflow files associated with abandoned attempts at building cygwin via docker
---------
Co-authored-by: Frank Halasz <fghalasz@interlisp.org>
There is no reason for the constructed makefile not to recognize "clean"
as well as the original "cleanup" as target to remove the object files
and executables.
Rationalize the SDL.h include file references so that they work on all systems
Use the correct macOS Framework options to get include path and library search path
Add makefile fragments for SDL on macOS on Apple Silicon, plus FreeBSD and Linux
on same cpus as X11
Switch to gcc rather than clang as the default compiler for Linux systems
Build with cmake. This will create a new backend (ldesdl).
- Resolution can only be set by editing the variables in sdl.c.
- Key repeat does not work.
- Still problems with keysyms that implicitly contain modifiers.
- The entire screen is bitblted onto the SDL display every frame.
Support keyboard, and work on mouse.
Kind of working...
Fix display resolution problems.
* added support for XNS networking via Dodo-Nethub
* NetHub connection now optional (only if -nh-host is given); released NetHub-related changes to 'ether.c' to the public domain
* Added file using-dodo-networking-with-maiko.md
Documentation for building and using the Dodo-networking addition to Maiko
* Added support for running Maiko unter cygwin/x86_64-x
* Migrate Addr68k/NativeAlignment{2,4} in Nethub code, move timer/async defines to platform.h
* added missing include <netinet/in.h> for FreeBSD
* updated 'compile-flags' with added flags
* splitted ether.c in 3 (_common, _sunos, _nethub)
* reworks/modifications for nbriggs' pull-request review comments
* addintional additions for nbriggs' pull-request review comments
* get the Lisp packet lengths with 'LispInt2CInt'
* renamed variables in dblwordsSwap to indicate it's about double-words
* fixed wrong preprocessor directive unnoticed by clang
* added networking choice option to cmake build, fix to printf warning
- for cmake specify the networking to use with -DMAIKO_NETWORK_TYPE=<type>
- with <type> one of: NONE, SUN_DLPI, SUN_NIT, NETHUB
- e.g.: cmake .. -DMAIKO_NETWORK_TYPE=NETHUB
* integrated improvement to sendPacket() proposed by nbriggs
* integrated fix for SIGBUS on 32-bit big-endian, provided by nbriggs
* MAIKO_ENABLE_ETHERNET should not be unconditionally set on Solaris systems
* Receiving an ethernet packet is an ether interrupt but not an i/o interrupt.
Co-authored-by: dev hawala <devhawala@x.y>
Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
Combines arith2.c ... arith4.c files and their associated header files
into new arithops.c/arithopsdefs.h files, and adjusts the CMakeLists.txt,
and old-style makefile-tail. Also updates makefile-dos,
inlnPS2.h, and inlndos.h to reflect these changes, though these are not
used.
Combines the array..array6 files and their associated header files
into new arrayops.c/arrayopsdefs.h files, and adjusts the CMakeLists.txt
and old-style makefile-tail to reflect these changes.
* Pedantic C compilers want an extern declaration separate from initialization
* Remove duplicate definitions for fns in initdspdefs.h from display.h
* Remove misleading comments on structure member offsets and reorder to minimize padding
Add m68k to recognized CPUs (machinetype)
Add amigaos to recognized operating systems (osversion)
Add ability to override "config.guess" output w/ LDEARCH= to osversion
Add platform.h clauses to recognize AmigaOS 3 using gcc to cross-compile