Skip to content

Conversation

@vonericsen
Copy link
Contributor

This is a makefile rewrite for our backup makefile system.
Copilot helped with the rewrite and after the latest commit, it is fully functional on Linux, Windows, Solaris, OmniOS, FreeBSD, DragonflyBSD, OpenBSD, and NetBSD.

It should also work for ESXi, but I haven't completed testing that yet as I need to get a machine online.

Asking for a review of these new makefiles before we move forward with these changes and remove the old makefiles.
Only opened a pull request at openSeaChest level, but new makefiles are in the submodules as well.

Testing is all with JSON output set to disabled since that has some odd behavior within the CI and isn't compatible with ESXi right now either.

The goal was to make these new makefiles follow best practices and recommendations for GNU make and match as much of the meson build process as we reasonably could.

…ild system

Used copilot to assist in generating this new makefile system with the goal of making it match meson capabilities where it makes sense and reducing the duplication we have in our old makefiles.
Also updating the CI job to test more platforms and build confidence that this backup system will work.

Unfortunately not all platforms we have to support always have meson available so having this as a backup is helpful to continue support.

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…o new makefiles

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…it varies on BSD OS's

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…r makefile use

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Windows needs to limit the version of the API to target because it's missing things in "normal" mingw compilation and Solaris needs some other things set to build correctly

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…file build targets

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Adding missing sources for some BSDs.
Adding definition to turn off certain Windows code for older mingw where UCRT64 is not used.

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…iles

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Testing these options before using them for compatibility

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…file

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…h anything to -dumpversion

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…ing and trying to get solaris going

Adding a mingw cross-compile test under ubuntu since that target should be supported.

Cleaned up the packaging step to work more like it does in meson.yml

Trying more things to get the solaris VM happy

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…ve solaris build

Fixed merge error that broke artifact upload.
Trying to manually specify gcc for solaris build to resolve breaking build

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…laris debug output

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…build instructions

Adding more info to building with meson and updating how to build with the new makefiles.
Making sure meson is noted as the preferred build system as well, but GNU make is available as a backup.

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…n the file.

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
…rnatives

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
… Retesting openindiana

Moved all package installs to prepare section instead of run.

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
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.

1 participant