Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI add Watcom and optionally Turbo C 2.01 builds #137

Merged
merged 7 commits into from
Mar 5, 2024

Conversation

andrewbird
Copy link
Contributor

@andrewbird andrewbird commented Feb 11, 2024

I added an OpenWatcom(DOS) build to the CI, and also an optional Turbo C 2.01 compile and test. There are a couple of problems with using Turbo C:

  • I don't know where / how to host the Turbo C compiler as I don't want to make it publicly available. I can't use the official source as I believe it requires sign up to download.

  • Building the current kernel with Turbo C is broken and has been for a few years. I don't want to add a broken build into CI as it will obscure any new breakage.

So for now the CI checks to see if Turbo C is installed at C:\TC201 and will try to build and test with it if found, otherwise it will be silently skipped.

exit 1
fi

echo Kernels have all been built
find _output -ls

cd test
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ecm-pushbx I'd like to add to your boot test here. The DOS built kernels are built for 386, but they don't have to be I just thought I'd add some variety. Is there any special command line required for them? BTW there is no Turbo C version at present, as it fails to build sys, kernel and maybe more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any special command line required for them?

Just call the test script with ./test.sh ../_output/PATH/FILE.sys diskID bootID 'boot ID: ' after chdir to the repo's test/ directory, where PATH and FILE point to your kernel and ID is something unique, ideally with 4 or less letters. (I'd suggest wcd for Watcom DOS and tcd for Turbo C DOS.) It's called like that here:

if ! ./test.sh ../_output/gcc/KGC${KVER}.sys diskgc bootgc 'boot gcc: '

The three parameters to test.sh are called:

KERNELPATHNAME="$1"
DISKETTE="$2"
BOOT="$3"
testrunname="$4"

Quoted from

if [[ -z "$1" || -z "$2" || -z "$3" ]]

@andrewbird andrewbird force-pushed the ci-dos branch 3 times, most recently from 4b4fac2 to 8aefed8 Compare February 24, 2024 17:03
1/ Watcom 1.9
   a) Kernel and other directories building fine
   b) Share doesn't support Watcom for TSR.

2/ Turbo C 2.01
   a) Kernel build needs some functions that are missing.
   b) Sys not building for the same reason,
   c) Share building nicely.
   d) Need to figure out how to get tc201 compiler to Github Actions

3/ IA16-GCC
   a) not currently supported by build.bat so commented out
When country was converted to a submodule (by me) the production
installation target was hacked onto the kernel subdirectory Makefile
which wasn't ideal. Introduce a production target into the country
Makefile that does the installation. Since we want the submodule to be
buildable standalone, we can't include the variable definitions from the
upper level, such as $(DIRSEP) and $(CP), so the caller has to pass those
in at build time if using the production target.

Tested on Linux (GCC + Watcom) and DOS (Watcom)
@andrewbird andrewbird marked this pull request as ready for review February 24, 2024 17:47
@andrewbird
Copy link
Contributor Author

CI DOS builds are now running on FreeDOS 1.3 kernel and FreeCOM.

@andrewbird
Copy link
Contributor Author

Does anyone have any objections to my merging this?

@ecm-pushbx
Copy link
Contributor

Nope.

@andrewbird andrewbird merged commit ea951d8 into FDOS:master Mar 5, 2024
1 check passed
@andrewbird
Copy link
Contributor Author

Thanks, for the feedback. I've merged it now.

@andrewbird andrewbird deleted the ci-dos branch March 5, 2024 10:25
@PerditionC
Copy link
Contributor

thank you, sorry been busy couple weeks with other projects

@andrewbird
Copy link
Contributor Author

No worries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants