-
Hello @jmalak, Over at ELKS, after completing the kernel loader for 16-bit OS/2 NE executables produced by Open Watcom, and porting our entire C library over, we are finding many contributions now or previously written in OWC that are starting to run on ELKS. We are very pleased with the capabilities of OWC and what it's been able to do for ELKS. However, the standard compiler for applications up until now has been ia16-elf-gcc, which is compiled from scratch once when initially building the system. We support Linux, FreeBSD and macOS development hosts. I am thinking that the time has come to add Open Watcom C programs to the repo, and have them automatically built during the ELKS kernel/C library/applications build process. I think we only need the binary OWC tools for Linux/32, Linux/64 and macOS, no header files, libraries etc. My question is, do you have/know of any scripts that can automatically determine whether the system is running Linux/32, Linux/64 or macOS, and automatically install only those binaries, or at least set the WATCOM= variable to the right directory, or do we need to build that? I am also wondering what is your opinion on whether ELKS should try installing OpenWatcom into a system directory, or only a directory underneath the repo top? Ultimately, it likely remains important that the entire installation process for ELKS remain fully automated (e.g. ./build.sh builds the compilers, libraries, kernel, applications and disk images with no user input). I see #1346, where it is suggested that a snapshot tarball be used " https://github.com/open-watcom/open-watcom-v2/releases/download/Current-build/owsnapshot.tar.xz", but of course this has no installation scripts. Does this pull down the nightly build or instead a stable version? I would like to use a stable version, rather than a nightly build, and then only update the installation when we find an enhancement or otherwise that ELKS requires by changing a URL in tools/build.sh. We are already running the Open Watcom Github Actions CI (which you wrote, thank you), so future ELKS OWC contributions will be easily compiled and checked during the CI process, just not yet on the developer desktop. We don't need any header files because we've completely ported our existing ELKS C library to OpenWatcom, and have checked in the few header files that are specific to compiler-generated code. As a second step, for developers running on something other than Linux or macOS, we will probably invent a means to check whether OpenWatcom has been built from source separately, and then skip the download/install step I'm talking about here for Linux and macOS. Thank you for any suggestions! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hi @ghaerr, Take into account that OW tools has not hardcoded any target, that you can use any only need to setup metadata for such target. First copy binl subdirectory from snapshot somewhere on your host (including this subdirectory) by example /home/ow then it will be /home/ow/binl.
Now you can run by example wcl -bcl=myos ..... and it should compile and link for your system.
Of cause you can remove all existing definition and use only your own definition in both files. To build the snapshot, there are 3 builds and they are all the same quality, we don't have a stable or any other version because we are in beta. |
Beta Was this translation helpful? Give feedback.
Hi @ghaerr,
The first Open Watcom need not any installation it needs only copy of executable for host OS and few configuration files.
Next you need to setup WATCOM environment variable to point to root of Open Watcom because it is used by OW tools to locate all necessary files.
Setup PATH to include subdirectory with executables to be runable without full path and setup INCLUDE to your headers or setup it to blank (remove it).
We provide installers for users which don't want do it manualy that installer do copy of files and create setup script.
The provided snapshot contains everything for all hosts and all targets that you can install what you need.
If you want to prepare OW for your own…