RFR: 8325963: Clean up NativeCompilation.gmk and its newly created parts
Magnus Ihse Bursie
ihse at openjdk.org
Mon Feb 19 12:11:00 UTC 2024
This is a follow-up to [JDK-8325877](https://bugs.openjdk.org/browse/JDK-8325877). I was careful in that bug not to change order of any lines, only split up the original file into parts.
In this PR, I use the new structure to improve the design. I collect the functionality into three clearly separate phases, preparation, compilation and linking. I use consistent naming to reveal whether a function just sets up variables, or create output. I simplify and split up a few extra hard to read functions. I move some code around so it is placed more logically.
It can be hard to convince yourself that the changes are correct if you just look at the end result. I have tried to make small and clear changes in each separate commit, and to explain in the commit title what I am doing. I recommend reviewing this PR [commit by commit](https://github.com/openjdk/jdk/pull/17873/commits).
-------------
Commit messages:
- Inline SetupDebugSymbols into SetupCompilerFlags
- Fix indentation in the new functions
- Extract CreateStaticLibrary and CreateDynamicLibraryOrExecutable
- Move GetEntitlement setup to SetupLinking. Inline GetSymbols (for static builds).
- Simplify SetupCompileFileFlags by passing in $$($1_BASE) as $2
- Clearly separate the steps into preparation, compilation and linking.
- Be consistent (and explicit) about the use of Setup vs Create. Collect all Setup functions at the start.
- Combine the linking preparations
- Combine the three SetupBasicVariables functions
Changes: https://git.openjdk.org/jdk/pull/17873/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17873&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8325963
Stats: 385 lines in 6 files changed: 132 ins; 130 del; 123 mod
Patch: https://git.openjdk.org/jdk/pull/17873.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17873/head:pull/17873
PR: https://git.openjdk.org/jdk/pull/17873
More information about the build-dev
mailing list