From 504bad3d3eea12a3c986bd579ad7a1a44b5806e0 Mon Sep 17 00:00:00 2001 From: Jason Lethbridge Date: Fri, 28 Feb 2025 01:35:28 +1100 Subject: [PATCH 1/7] Updated documentation with `winnt` version information and a binary compatibility matrix between the versions --- README.md | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index b3fefcc..8c5756d 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,37 @@ # Lua for Open Watcom -This repository contains wmake style makefiles and patches to build [Lua](https://lua.org) on Open Watcom 1.9 or later. -The primary goal is to allow Lua scripts to be run on DOS systems in real mode. +This repository contains `wmake` style makefiles and patches to build [Lua](https://lua.org) on Open Watcom 1.9 or later. +The primary goal was to allow Lua scripts to be run on DOS systems in real mode but has expanded +to include all Open Watcom targets that don't require external dependencies to build. ## Runtime Requirements -To run Lua built by Open Watcom you will need the following: -| Requirement | Sources/Comment | -|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [8088 CPU](https://en.wikipedia.org/wiki/Intel_8088)*
*or compatibiles
like the 8086, V20,
286, 386 etc

Machine emulators
provided as an alternative
for other ISAs
| [86Box](https://86box.net/) ([GitHub](https://github.com/86Box/86Box))
[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))
[PCem](https://www.pcem-emulator.co.uk/) ([GitHub](https://github.com/sarah-walker-pcem/pcem/)) | -| PC-DOS 2.1 or higher | [FreeDOS](https://www.freedos.org/download/)
[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))
[SvarDOS](http://svardos.org/) | -| At least 320 kilobytes
of total system memory |
Any memory above
640 kilobytes is
inaccessible to all
real mode DOS programs | -| At least 600 kilobytes
of hard disk space or x2
360 kilobyte diskettes |
Can be ran directly
from a diskette on
machines without a
hard drive | +Lua for Watcom binaries can run on a number of legacy systems as well as some modern ones. -> If in doubt, install [DOSBox-X](https://dosbox-x.com/) +### Absolute Minimum Requirements + +These are the absolute lowest system requirements needed for a PC to run `LUA16.EXE`. + +| Type | Requirement | Remarks | +|----------------------|-------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| CPU | [8086 compatible](https://en.wikipedia.org/wiki/Intel_8086) |
Compatibles like
the Intel 8088, NEC V20,
286, 386 etc

Machine emulators
provided as an alternative
for other ISAs
[86Box](https://86box.net/) ([GitHub](https://github.com/86Box/86Box))
[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))
[PCem](https://www.pcem-emulator.co.uk/) ([GitHub](https://github.com/sarah-walker-pcem/pcem/)) | +| Operating System | PC-DOS 2.0 | [FreeDOS](https://www.freedos.org/download/)
[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))
[SvarDOS](http://svardos.org/) | +| Random Access Memory | At least 512 kilobytes
of base system memory |
Any memory above
640 kilobytes is
inaccessible to all
real mode DOS programs | +| Storage | At least 150 kilobytes
of free disk space |
Can be ran directly
from a diskette on
machines without a
hard drive | + +### Binary Compatibility Matrix + +| Operating System | Minimum CPU ISA | LUA16.EXE | LUA4G.EXE | LUANT.EXE | +|--------------------------------------------------------------------------|----------------------------|-----------|-----------|-----------| +| DOS 2.0+ | 8086 | Yes | No | No | +| DOS 5.0+ | 8086
80386SX | Yes | No
Yes | No | +| Windows
Windows 2
Windows 3
Windows 3.1 | 8086 | Yes | No | No | +| Windows 95 | 80386SX | Yes | Yes | Yes | +| Windows 98 | 80486SX+80487SX
80486DX | Yes | Yes | Yes | +| Windows 2000
Windows ME | 80586 | No | No | Yes | +| Windows XP | 80586
x86_64 | No | No | Yes | +| Windows Vista
Windows 7
Windows 8
Windows 8.1
Windows 10 | 80686
x86_64 | No | No | Yes | +| Windows 11 | x86_64 | No | No | Yes | ## Build Requirements To build Lua with Open Watcom you will need the following: @@ -22,11 +40,11 @@ To build Lua with Open Watcom you will need the following: |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Lua 5.4 source code (or build machine with `git submodules`) | [lua.org](https://lua.org/ftp/) ([GitHub](https://github.com/lua/lua/tree/v5.4.6)) | | Open Watcom 1.9 (or later) | [openwatcom.org](https://www.openwatcom.org/) ([GitHub](https://github.com/open-watcom))
[FreeDOS Bonus CD](https://www.freedos.org/download/) (`FDIMPLES`)
[SvarDOS](http://svardos.org/?p=repo) (`PKGNET` repository) | -| DOS operating system
(MS-DOS 5.0 compatible) | [FreeDOS](https://www.freedos.org/download/)
[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))
[SvarDOS](http://svardos.org/) | +| Operating System supported by Open Watcom
(at least MS-DOS 5.0) | [FreeDOS](https://www.freedos.org/download/)
[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))
[SvarDOS](http://svardos.org/) | | [80386 compatible processor](https://en.wikipedia.org/wiki/I386)*
*Any AMD or Intel CPU 
made in the last 3 decades
is compatible.

Machine emulators provided
as an alternative for other ISAs
| [86Box](https://86box.net/) ([GitHub](https://github.com/86Box/86Box))
[DOSBox-X](https://dosbox-x.com/) ([GitHub](https://github.com/joncampbell123/dosbox-x))
[PCem](https://www.pcem-emulator.co.uk/) ([GitHub](https://github.com/sarah-walker-pcem/pcem/))
[Qemu](https://www.qemu.org/) ([GitLab](https://gitlab.com/qemu-project/qemu)) | | A patching utility | [GNU Patch](https://savannah.gnu.org/projects/patch/)
[DifPat](https://github.com/deverac/difpat) | -> If in doubt, install [DOSBox-X](https://dosbox-x.com/) +> If in doubt, [DOSBox-X](https://dosbox-x.com/) can be used on a modern machine ## How to build 1) Extract Luas source code to the `Lua` folder. This can be achieved in two ways: @@ -48,6 +66,7 @@ To build Lua with Open Watcom you will need the following: |-------------------------|----------------------|-------------|--------------------| | `wmake -f wm_dos16.mak` | `dist/bin/lua16.exe` | PC-DOS 2.0+ | 8086/8088 or later | | `wmake -f wm_dos4g.mak` | `dist/bin/lua4g.exe` | MS-DOS 5.0+ | 80386 or later | + | `wmake -f wm_dosnt.mak` | `dist/bin/luant.exe` | Windows 95+ | 80386 or later | Other targets may work but are untested From 0f2c754d7bcd7130f8d3b2c9ff624e83f36c3c0d Mon Sep 17 00:00:00 2001 From: Jason Lethbridge Date: Fri, 28 Feb 2025 02:32:16 +1100 Subject: [PATCH 2/7] Added Binary Native Targets section to documentation and improved Binary Compatibility Matrix --- README.md | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 8c5756d..bb8c4fa 100644 --- a/README.md +++ b/README.md @@ -19,19 +19,33 @@ These are the absolute lowest system requirements needed for a PC to run `LUA16. | Random Access Memory | At least 512 kilobytes
of base system memory |
Any memory above
640 kilobytes is
inaccessible to all
real mode DOS programs | | Storage | At least 150 kilobytes
of free disk space |
Can be ran directly
from a diskette on
machines without a
hard drive | +### Binary Native Targets + +Since Open Watcom can produce binaries for several operating systems, +each binary has been given a unique name to distinguish the native **Operating System** (OS) +and **Instruction Set Architecture** (ISA) it is intended for. + +| Binary Name | Native OS | Native ISA | +|---------------|-----------------|------------| +| **LUA16.EXE** | Real mode DOS | 8086 | +| **LUA4G.EXE** | DOS4GW extender | 80386 | +| **LUANT.EXE** | Windows 95 | 80386 | + ### Binary Compatibility Matrix -| Operating System | Minimum CPU ISA | LUA16.EXE | LUA4G.EXE | LUANT.EXE | -|--------------------------------------------------------------------------|----------------------------|-----------|-----------|-----------| -| DOS 2.0+ | 8086 | Yes | No | No | -| DOS 5.0+ | 8086
80386SX | Yes | No
Yes | No | -| Windows
Windows 2
Windows 3
Windows 3.1 | 8086 | Yes | No | No | -| Windows 95 | 80386SX | Yes | Yes | Yes | -| Windows 98 | 80486SX+80487SX
80486DX | Yes | Yes | Yes | -| Windows 2000
Windows ME | 80586 | No | No | Yes | -| Windows XP | 80586
x86_64 | No | No | Yes | -| Windows Vista
Windows 7
Windows 8
Windows 8.1
Windows 10 | 80686
x86_64 | No | No | Yes | -| Windows 11 | x86_64 | No | No | Yes | +Some Operating Systems can run binaries intended for another out of the box. +Do keep in mind, however, that in most of these cases the Operating System is newer and has higher minimum requirements. + +| Operating System | Minimum CPU ISA | LUA16.EXE | LUA4G.EXE | LUANT.EXE | +|---------------------------------------------|----------------------------|-----------|-----------|-----------| +| DOS 2.x - 4.x
Windows 1.x - Windows 3.x | 8086 | Yes | No | No | +| DOS 5.x - 7.x | 8086
80386SX | Yes | No
Yes | No | +| Windows 95 | 80386SX | Yes | Yes | Yes | +| Windows 98 | 80486SX+80487SX
80486DX | Yes | Yes | Yes | +| Windows 2000 - ME | 80586 | No | No | Yes | +| Windows XP | 80586
x86_64 | No | No | Yes | +| Windows Vista - 10 | 80686
x86_64 | No | No | Yes | +| Windows 11 | x86_64 | No | No | Yes | ## Build Requirements To build Lua with Open Watcom you will need the following: From 46fc0e91736dd46391b97576e4be48fbd97a098d Mon Sep 17 00:00:00 2001 From: Jason Lethbridge Date: Fri, 28 Feb 2025 06:02:23 +1100 Subject: [PATCH 3/7] Added wm_os216.mak for building lua21.exe (OS/2 16-bit version) --- wm_os216.mak | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 wm_os216.mak diff --git a/wm_os216.mak b/wm_os216.mak new file mode 100644 index 0000000..99a390c --- /dev/null +++ b/wm_os216.mak @@ -0,0 +1,75 @@ +# Watcom Makefile for building Lua 5.4.6 +# This is the DOS 4G flat model version +# There are no configurable parts to this file +# Run with `wmake -f wm_os216.mak` + +objs = $(OBJDIR)lapi.obj $(OBJDIR)lctype.obj & + $(OBJDIR)lfunc.obj $(OBJDIR)lmathlib.obj & + $(OBJDIR)loslib.obj $(OBJDIR)ltable.obj & + $(OBJDIR)lundump.obj $(OBJDIR)lauxlib.obj & + $(OBJDIR)ldblib.obj $(OBJDIR)lgc.obj & + $(OBJDIR)lmem.obj $(OBJDIR)lparser.obj & + $(OBJDIR)ltablib.obj $(OBJDIR)lutf8lib.obj & + $(OBJDIR)lbaselib.obj $(OBJDIR)ldebug.obj & + $(OBJDIR)linit.obj $(OBJDIR)loadlib.obj & + $(OBJDIR)lstate.obj $(OBJDIR)ltm.obj & + $(OBJDIR)lvm.obj $(OBJDIR)lcode.obj & + $(OBJDIR)ldo.obj $(OBJDIR)liolib.obj & + $(OBJDIR)lobject.obj $(OBJDIR)lstring.obj & + $(OBJDIR)lzio.obj $(OBJDIR)lcorolib.obj & + $(OBJDIR)ldump.obj $(OBJDIR)llex.obj & + $(OBJDIR)lopcodes.obj $(OBJDIR)lstrlib.obj + +lua_obj = $(OBJDIR)lua.obj +luac_obj = $(OBJDIR)luac.obj + +CC = *wcc + +CFLAGS = -q -bt=os2 -bc -2 -ml -d0 -osr -zc +LFLAGS = SYS os2 OPT st=8192 + +!ifdef __UNIX__ +BINDIR = dist/bin/ +OBJDIR = obj/21/ +SRCDIR = lua/ +!else +BINDIR = dist\bin\ # +OBJDIR = obj\21\ # +SRCDIR = lua\ # +!endif + +$(BINDIR)lua21.exe: $(OBJDIR) $(BINDIR) $(objs) $(lua_obj) + *wlink NAME $@ $(LFLAGS) FILE {$(objs) $(lua_obj)} + +$(BINDIR)luac21.exe: $(BINDIR) $(OBJDIR) $(objs) $(luac_obj) + *wlink NAME $@ $(LFLAGS) FILE {$(objs) $(luac_obj)} + +{$(SRCDIR)}.c{$(OBJDIR)}.obj: + $(CC) $(CFLAGS) -fo=$@ $< + +clean: .SYMBOLIC +!ifdef __UNIX__ + @!if [ -e $(OBJDIR) ]; then rm -R $(OBJDIR); fi + @!if [ -e $(BINDIR)luant.exe ]; then rm $(BINDIR)luant.exe; fi + @!if [ -e $(BINDIR)luacnt.exe ]; then rm $(BINDIR)luacnt.exe; fi +!else + !ifdef __NT__ + @!if exist $(OBJDIR) rd /S /Q $(OBJDIR) + !else + @!if exist $(OBJDIR) deltree /Y $(OBJDIR) + !endif + @!if exist $(BINDIR)luant.exe del $(BINDIR)luant.exe + @!if exist $(BINDIR)luacnt.exe del $(BINDIR)luacnt.exe +!endif + +dist: + mkdir dist + +obj: + mkdir obj + +$(BINDIR): dist + mkdir $(BINDIR) + +$(OBJDIR): obj + mkdir $(OBJDIR) From c7885725d7c4af5e97f0a3f09d91e9738fd6ecca Mon Sep 17 00:00:00 2001 From: Jason Lethbridge Date: Fri, 28 Feb 2025 06:03:14 +1100 Subject: [PATCH 4/7] Added wm_os232.mak for building lua22.exe (OS/2 32-bit version) --- wm_os232.mak | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 wm_os232.mak diff --git a/wm_os232.mak b/wm_os232.mak new file mode 100644 index 0000000..98d1916 --- /dev/null +++ b/wm_os232.mak @@ -0,0 +1,75 @@ +# Watcom Makefile for building Lua 5.4.6 +# This is the DOS 4G flat model version +# There are no configurable parts to this file +# Run with `wmake -f wm_os232.mak` + +objs = $(OBJDIR)lapi.obj $(OBJDIR)lctype.obj & + $(OBJDIR)lfunc.obj $(OBJDIR)lmathlib.obj & + $(OBJDIR)loslib.obj $(OBJDIR)ltable.obj & + $(OBJDIR)lundump.obj $(OBJDIR)lauxlib.obj & + $(OBJDIR)ldblib.obj $(OBJDIR)lgc.obj & + $(OBJDIR)lmem.obj $(OBJDIR)lparser.obj & + $(OBJDIR)ltablib.obj $(OBJDIR)lutf8lib.obj & + $(OBJDIR)lbaselib.obj $(OBJDIR)ldebug.obj & + $(OBJDIR)linit.obj $(OBJDIR)loadlib.obj & + $(OBJDIR)lstate.obj $(OBJDIR)ltm.obj & + $(OBJDIR)lvm.obj $(OBJDIR)lcode.obj & + $(OBJDIR)ldo.obj $(OBJDIR)liolib.obj & + $(OBJDIR)lobject.obj $(OBJDIR)lstring.obj & + $(OBJDIR)lzio.obj $(OBJDIR)lcorolib.obj & + $(OBJDIR)ldump.obj $(OBJDIR)llex.obj & + $(OBJDIR)lopcodes.obj $(OBJDIR)lstrlib.obj + +lua_obj = $(OBJDIR)lua.obj +luac_obj = $(OBJDIR)luac.obj + +CC = *wcc386 + +CFLAGS = -q -bt=os2 -bc -3 -d0 -osr -zc +LFLAGS = SYS os2v2 OPT st=8192 + +!ifdef __UNIX__ +BINDIR = dist/bin/ +OBJDIR = obj/22/ +SRCDIR = lua/ +!else +BINDIR = dist\bin\ # +OBJDIR = obj\22\ # +SRCDIR = lua\ # +!endif + +$(BINDIR)lua22.exe: $(OBJDIR) $(BINDIR) $(objs) $(lua_obj) + *wlink NAME $@ $(LFLAGS) FILE {$(objs) $(lua_obj)} + +$(BINDIR)luac22.exe: $(BINDIR) $(OBJDIR) $(objs) $(luac_obj) + *wlink NAME $@ $(LFLAGS) FILE {$(objs) $(luac_obj)} + +{$(SRCDIR)}.c{$(OBJDIR)}.obj: + $(CC) $(CFLAGS) -fo=$@ $< + +clean: .SYMBOLIC +!ifdef __UNIX__ + @!if [ -e $(OBJDIR) ]; then rm -R $(OBJDIR); fi + @!if [ -e $(BINDIR)luant.exe ]; then rm $(BINDIR)luant.exe; fi + @!if [ -e $(BINDIR)luacnt.exe ]; then rm $(BINDIR)luacnt.exe; fi +!else + !ifdef __NT__ + @!if exist $(OBJDIR) rd /S /Q $(OBJDIR) + !else + @!if exist $(OBJDIR) deltree /Y $(OBJDIR) + !endif + @!if exist $(BINDIR)luant.exe del $(BINDIR)luant.exe + @!if exist $(BINDIR)luacnt.exe del $(BINDIR)luacnt.exe +!endif + +dist: + mkdir dist + +obj: + mkdir obj + +$(BINDIR): dist + mkdir $(BINDIR) + +$(OBJDIR): obj + mkdir $(OBJDIR) From 802ce025ab5746a76b19758b3b8702c21a19858b Mon Sep 17 00:00:00 2001 From: Jason Lethbridge Date: Fri, 28 Feb 2025 07:49:41 +1100 Subject: [PATCH 5/7] Added OS/2 binaries to documentation --- README.md | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index bb8c4fa..53b5676 100644 --- a/README.md +++ b/README.md @@ -28,24 +28,32 @@ and **Instruction Set Architecture** (ISA) it is intended for. | Binary Name | Native OS | Native ISA | |---------------|-----------------|------------| | **LUA16.EXE** | Real mode DOS | 8086 | +| **LUA21.EXE** | OS/2 1.2 | 80286 | +| **LUA22.EXE** | OS/2 2.0 | 80386 | | **LUA4G.EXE** | DOS4GW extender | 80386 | | **LUANT.EXE** | Windows 95 | 80386 | ### Binary Compatibility Matrix -Some Operating Systems can run binaries intended for another out of the box. -Do keep in mind, however, that in most of these cases the Operating System is newer and has higher minimum requirements. - -| Operating System | Minimum CPU ISA | LUA16.EXE | LUA4G.EXE | LUANT.EXE | -|---------------------------------------------|----------------------------|-----------|-----------|-----------| -| DOS 2.x - 4.x
Windows 1.x - Windows 3.x | 8086 | Yes | No | No | -| DOS 5.x - 7.x | 8086
80386SX | Yes | No
Yes | No | -| Windows 95 | 80386SX | Yes | Yes | Yes | -| Windows 98 | 80486SX+80487SX
80486DX | Yes | Yes | Yes | -| Windows 2000 - ME | 80586 | No | No | Yes | -| Windows XP | 80586
x86_64 | No | No | Yes | -| Windows Vista - 10 | 80686
x86_64 | No | No | Yes | -| Windows 11 | x86_64 | No | No | Yes | +Some OSes can run binaries intended for another out of the box. +Do keep in mind, however, that in most of these cases +the OS is newer and has higher minimum requirements. + +| Operating System | Minimum OS ISA(s) | LUA16.EXE | LUA21.EXE | LUA22.EXE | LUA4G.EXE | LUANT.EXE | +|-------------------------------------|-----------------------------|-----------|-----------|-----------|-----------|-----------| +| DOS 2.x - 4.x
Windows 1.x - 3.x | 8086 | Yes | No | No | No | No | +| DOS 5.x - 7.x | 8086
80386SX | Yes | No | No | No
Yes | No | +| OS2 1.0 - 1.1 | 80286 | Yes | No | No | No | No | +| OS2 1.2 - 1.3 | 80286 | Yes | Yes | No | No | No | +| OS2 2.x | 80386SX | Yes | Yes | Yes | No | No | +| OS2 3.x | 80386SX | Yes | Yes | Yes | Yes | No | +| OS2 4.x | 80486SX | Yes | Yes | Yes | Yes | No | +| Windows 95 | 80386SX | Yes | No | No | Yes | Yes | +| Windows 98 | 80486DX
80486SX+80487SX | Yes | No | No | Yes | Yes | +| Windows 2000 - ME | 80586 | No | No | No | No | Yes | +| Windows XP | 80586
x86_64 | No | No | No | No | Yes | +| Windows Vista - 10 | 80686
x86_64 | No | No | No | No | Yes | +| Windows 11 | x86_64 | No | No | No | No | Yes | ## Build Requirements To build Lua with Open Watcom you will need the following: @@ -80,7 +88,9 @@ To build Lua with Open Watcom you will need the following: |-------------------------|----------------------|-------------|--------------------| | `wmake -f wm_dos16.mak` | `dist/bin/lua16.exe` | PC-DOS 2.0+ | 8086/8088 or later | | `wmake -f wm_dos4g.mak` | `dist/bin/lua4g.exe` | MS-DOS 5.0+ | 80386 or later | - | `wmake -f wm_dosnt.mak` | `dist/bin/luant.exe` | Windows 95+ | 80386 or later | + | `wmake -f wm_os216.mak` | `dist/bin/lua21.exe` | OS/2 1.2 | 80286 or later | + | `wmake -f wm_os232.mak` | `dist/bin/lua22.exe` | OS/2 2.0 | 80386 or later | + | `wmake -f wm_winnt.mak` | `dist/bin/luant.exe` | Windows 95+ | 80386 or later | Other targets may work but are untested From fae947a2b8e1436e0dd015a03c7289f438bdb370 Mon Sep 17 00:00:00 2001 From: Jason Lethbridge Date: Fri, 28 Feb 2025 08:57:29 +1100 Subject: [PATCH 6/7] Added OS/2 16-bit and 32-bit wmake files to the GitHub workflow --- .github/workflows/LuaWatcom.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/LuaWatcom.yml b/.github/workflows/LuaWatcom.yml index 126ef20..c5f0fdb 100644 --- a/.github/workflows/LuaWatcom.yml +++ b/.github/workflows/LuaWatcom.yml @@ -21,16 +21,26 @@ jobs: export INCLUDE=$WATCOM/h wmake -f wm_dos16.mak - - name: Build Lua for DOS4GW + - name: Build Lua for DOS4GW 32-bit Extender run: | export INCLUDE=$WATCOM/h wmake -f wm_dos4g.mak - - name: Build Lua for WinNT + - name: Build Lua for Windows 95 run: | export INCLUDE=$WATCOM/h/nt:$WATCOM/h wmake -f wm_winnt.mak + - name: Build Lua for OS/2 16-bit + run: | + export INCLUDE=$WATCOM/h/os2:$WATCOM/h + wmake -f wm_os216.mak + + - name: Build Lua for OS/2 32-bit + run: | + export INCLUDE=$WATCOM/h/os2:$WATCOM/h + wmake -f wm_os232.mak + - name: UPX Binary Compression uses: crazy-max/ghaction-upx@v3 with: From 748a1a5cc608fbb8fd861c2f5a140eb6bcad761c Mon Sep 17 00:00:00 2001 From: Jason Lethbridge Date: Fri, 28 Feb 2025 09:00:44 +1100 Subject: [PATCH 7/7] Omit OS/2 binaries from UPX compression --- .github/workflows/LuaWatcom.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/LuaWatcom.yml b/.github/workflows/LuaWatcom.yml index c5f0fdb..89544b0 100644 --- a/.github/workflows/LuaWatcom.yml +++ b/.github/workflows/LuaWatcom.yml @@ -47,7 +47,9 @@ jobs: version: latest args: -9 --8086 files: | - dist/bin/*.exe + dist/bin/lua16.exe + dist/bin/lua4g.exe + dist/bin/luant.exe - name: Copy DOS4GW Binary run: |