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