1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-04-02 03:45:12 +00:00

Compare commits

...

6 Commits

Author SHA1 Message Date
Nick Briggs
7fce08f92c More Lisp variables to avoid in INIT mode - turn off X11 input handling (#482) 2023-08-09 14:04:51 -07:00
Nick Briggs
2c55f7923c Add makefile slice for OpenBSD init on x86_64. (#478)
* Add makefile slice for OpenBSD init on x86_64.

* Correct flags for init.
2023-08-03 11:55:22 -07:00
Nick Briggs
b441a28c34 Teach CMake to build ldeinit, update clang-tidy names (#474)
Have CMake build ldeinit when configured for X11 display, and
update the ever-growing list of names under which clang-tidy may
be found (now up to version 16)
2023-08-03 10:20:15 -07:00
Nick Briggs
09e73d4153 Update machinetype and osversion scripts to invoke config.guess from same directory (#479)
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.
2023-08-03 10:18:02 -07:00
Nick Briggs
8e43a393bd Avoid setting Lisp variables whose locations are unknown when in INIT mode (#481)
* Avoid setting Lisp variables whose locations are unknown when in INIT mode.

* Exit with a success (0) status for normal lisp_finish.
2023-08-01 11:16:42 -07:00
Nick Briggs
4a9f5500c4 struct buf is missing definition for byte-swapped bigvm case (#477)
While there was a definition for the pre-bigvm case, with 24-bit
pointers, for byteswapped (little-endian) systems, there was no
structure definition for the bigvm case, with 28-bit pointers.
2023-07-24 20:43:25 -07:00
7 changed files with 64 additions and 4 deletions

View File

@@ -18,7 +18,7 @@ ENDIF()
find_program( find_program(
CLANG_TIDY_EXE CLANG_TIDY_EXE
NAMES "clang-tidy" "clang-tidy13" "clang-tidy12" "clang-tidy11" "clang-tidy10" NAMES "clang-tidy" "clang-tidy16" "clang-tidy15" "clang-tidy14" "clang-tidy13" "clang-tidy12" "clang-tidy11" "clang-tidy10"
DOC "Path to clang-tidy executable" DOC "Path to clang-tidy executable"
) )
@@ -41,6 +41,10 @@ SET(MAIKO_DEFINITIONS
"-DRELEASE=351" "-DRELEASE=351"
) )
SET(MAIKO_INIT_DEFINITIONS
"-DRELEASE=351" "-DINIT" "-DNOVERSION"
)
OPTION(MAIKO_DISPLAY_X11 "Use X11 for display." ON) OPTION(MAIKO_DISPLAY_X11 "Use X11 for display." ON)
OPTION(MAIKO_DISPLAY_SDL "Use SDL for display." OFF) OPTION(MAIKO_DISPLAY_SDL "Use SDL for display." OFF)
@@ -454,6 +458,18 @@ IF(MAIKO_DISPLAY_X11)
TARGET_COMPILE_DEFINITIONS(ldex PUBLIC ${MAIKO_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS}) TARGET_COMPILE_DEFINITIONS(ldex PUBLIC ${MAIKO_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldex PUBLIC inc) TARGET_INCLUDE_DIRECTORIES(ldex PUBLIC inc)
TARGET_LINK_LIBRARIES(ldex ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_X11_LIBRARIES}) TARGET_LINK_LIBRARIES(ldex ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_X11_LIBRARIES})
ADD_EXECUTABLE(ldeinit
src/main.c
vdate.c
${MAIKO_SRCS}
${MAIKO_HDRS}
${MAIKO_DISPLAY_X11_SRCS}
${MAIKO_DISPLAY_X11_HDRS}
)
TARGET_COMPILE_DEFINITIONS(ldeinit PUBLIC ${MAIKO_INIT_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS})
TARGET_INCLUDE_DIRECTORIES(ldeinit PUBLIC inc)
TARGET_LINK_LIBRARIES(ldeinit ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_X11_LIBRARIES})
ENDIF() ENDIF()
IF(MAIKO_DISPLAY_SDL) IF(MAIKO_DISPLAY_SDL)

View File

@@ -9,7 +9,8 @@
# # # #
######################################################################### #########################################################################
os=${LDEARCH:-`./config.guess`} SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
os=${LDEARCH:-`$SCRIPTPATH/config.guess`}
# o/s switch block # o/s switch block
case "$os" in case "$os" in
m68k-*) echo m68k ;; m68k-*) echo m68k ;;

View File

@@ -0,0 +1,27 @@
# Options for OpenBSD, Intel x86_64 and X-Window
CC = clang -m64 $(CLANG_CFLAGS)
XFILES = $(OBJECTDIR)xmkicon.o \
$(OBJECTDIR)xbbt.o \
$(OBJECTDIR)dspif.o \
$(OBJECTDIR)xinit.o \
$(OBJECTDIR)xscroll.o \
$(OBJECTDIR)xcursor.o \
$(OBJECTDIR)xlspwin.o \
$(OBJECTDIR)xrdopt.o \
$(OBJECTDIR)xwinman.o
XFLAGS = -I/usr/X11R6/include -DXWINDOW
# OPTFLAGS is normally -O2.
OPTFLAGS = -O2 -g3
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
LDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
LDELDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
OBJECTDIR = ../$(RELEASENAME)/
default : ../$(OSARCHNAME)/ldeinit

View File

@@ -1,5 +1,6 @@
#!/bin/sh #!/bin/sh
os=${LDEARCH:-`./config.guess`} SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
os=${LDEARCH:-`$SCRIPTPATH/config.guess`}
case "$os" in case "$os" in
m68k-*-amigaos) echo amigaos ;; m68k-*-amigaos) echo amigaos ;;
sparc-sun-sunos*) echo sunos4 ;; sparc-sun-sunos*) echo sunos4 ;;

View File

@@ -97,6 +97,18 @@ struct buf {
}; };
#endif /* BIGVM */ #endif /* BIGVM */
#else #else
#ifdef BIGVM
struct buf {
LispPTR filepage;
LispPTR vmempage;
LispPTR buffernext;
unsigned sysnext : 28;
unsigned unused : 1;
unsigned iodirty : 1;
unsigned usermapped : 1;
unsigned noreference : 1;
};
#else
struct buf { struct buf {
LispPTR filepage; LispPTR filepage;
LispPTR vmempage; LispPTR vmempage;
@@ -107,6 +119,7 @@ struct buf {
unsigned usermapped : 1; unsigned usermapped : 1;
unsigned noreference : 1; unsigned noreference : 1;
}; };
#endif /* BIGVM */
#endif /* BYTESWAP */ #endif /* BYTESWAP */
/************* The following procedure is common !! **************************/ /************* The following procedure is common !! **************************/

View File

@@ -531,5 +531,5 @@ void lisp_finish(void) {
#ifdef DOS #ifdef DOS
exit_host_filesystem(); exit_host_filesystem();
#endif /* DOS */ #endif /* DOS */
exit(1); exit(0);
} }

View File

@@ -188,6 +188,7 @@ void process_Xevents(DspInterface dsp)
XNextEvent(dsp->display_id, &report); XNextEvent(dsp->display_id, &report);
if (report.xany.window == dsp->DisplayWindow) /* Try the most important window first. */ if (report.xany.window == dsp->DisplayWindow) /* Try the most important window first. */
switch (report.type) { switch (report.type) {
#ifndef INIT
case MotionNotify: case MotionNotify:
*CLastUserActionCell68k = MiscStats->secondstmp; *CLastUserActionCell68k = MiscStats->secondstmp;
*EmCursorX68K = (*((DLword *)EmMouseX68K)) = *EmCursorX68K = (*((DLword *)EmMouseX68K)) =
@@ -235,6 +236,7 @@ void process_Xevents(DspInterface dsp)
break; break;
case EnterNotify: Mouse_Included = TRUE; break; case EnterNotify: Mouse_Included = TRUE; break;
case LeaveNotify: Mouse_Included = FALSE; break; case LeaveNotify: Mouse_Included = FALSE; break;
#endif
case Expose: case Expose:
(dsp->bitblt_to_screen)(dsp, 0, report.xexpose.x + dsp->Visible.x, (dsp->bitblt_to_screen)(dsp, 0, report.xexpose.x + dsp->Visible.x,
report.xexpose.y + dsp->Visible.y, report.xexpose.width, report.xexpose.y + dsp->Visible.y, report.xexpose.width,