Bahman Movaqar <bah...@bahmanm.com> writes:

> Good break-down of scenarios.
>
> I wonder if we could modularise the OS support into separate loadable
> libraries (i.e. os-support-addon) and would it be worth the effort:
>
> 1.  Define a clean interface for any os-support-addon to implement.
>
> 2.  Restructure the codebase so that the OS-specific support is moved out into
>      distinct directories, e.g. 'src/os-support/linux' and
> 'src/os-support/os2').
>
> 3.  Out of the box, ship Make with the most common os-support-addons which are
>      actively maintained and well tested.
>
> 4.  Update the docs so that users would know how to add their
> favourite OS, e.g. by setting
>      environment variables like 'MAKE_OS_SUPPORT_ADDONS_DIR' and
> 'MAKE_OS_SUPPORT_ADDONS_TO_ENABLE'.
>
> I'm no C expert in any way and have never touched Make's code base 😅
> Just ignore my suggestion if it's already implemented or doesn't make
> sense 😁

Dealing with OS portability is a large maintenance burden, which Paul is
hoping to lessen by removing OS/2. So thank you for the suggestion, but
I don't think it will happen.

Ideally GNU Make would use more of Gnulib which handles these
portability issues. But I think it avoids doing since it will make it
harder to bootstrap (i.e. Gnulib requires a decent version of Make, but
if you are building GNU Make you likely do not yet have one).

Collin

Reply via email to