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

redo build system #50

Open
PerditionC opened this issue Jun 3, 2021 · 3 comments
Open

redo build system #50

PerditionC opened this issue Jun 3, 2021 · 3 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@PerditionC
Copy link
Contributor

Currently each compiler uses its own version of make and has a slightly different path when building. This makes it difficult to make changes that don't break one of the supported compilers. Open Watcom can be used from Windows, Linux, and DOS; Borland compilers work best from DOS (or DOSBox in Windows), and GCC (ia16) works best from Linux. We need a make that works on all three OSes and can be used to simplify the build process. Gnu Make has been suggested, and perhaps using make from DJGPP would work for DOS, its natively on Linux, and there are several ports for Windows*. Alternatively we could go back to using DMAKE (if it can be found). * The windows version needs to be determined as a cygwin vs mingw vs MSVC native version could effect the compatibility of the makefiles.

@PerditionC PerditionC added enhancement New feature or request question Further information is requested labels Jun 3, 2021
@kerravon86
Copy link

pdmake is public domain and works on any C90-compliant platform and doesn't require tabs. You can get it here:

https://sourceforge.net/p/pdos/gitcode/ci/master/tree/pdmake/

@stuaxo
Copy link

stuaxo commented Jan 4, 2023

I hadn't seen pdos + pdmake before, they seem to have the nice property of being currently maintained.

@jmalak
Copy link
Contributor

jmalak commented Dec 25, 2024

The main problem is that the FDOS build system is based on DOS-based build, a simple compilation in one toolchain with all the problems of incompatible make systems.
What is necessary is to split the build into two parts. Build the FDOS build tools and the second group builds the FDOS components for the DOS target.
Then the first group is built from the native tools on the host for the host (for example Linux) and the second group is built on the host for the DOS target (always).
It simplifies cross-compilation because the first group is always built natively for the current host and the second is cross-compiled for the DOS target. In the case of building on DOS, the second group changes to a native build for DOS on DOS.
The build tools must be buildable and work on any supported host (DOS or abandone it then always cross-compiled, Windows, Linux or OSX).
First you need to decide which make system you will use so that it works on all supported hosts, and then migrate the various FDOS makefiles to the new simple and transparent environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants