Details
-
Enhancement
-
Resolution: Fixed
-
P3
-
23
-
b11
Description
The file NativeCompilation.gmk is a beast. It is one of the largest in the build system, and it is not very well organized. This makes it hard to read, understand, debug, edit and modify, especially since IDEs have a hard time helping out with makefiles, so you get very little overview or navigation support.
This patch will split up the file into several parts. The splits are somewhat arbitrary, but tries to keep things sort of logically connected, and make the chunks somewhat approximate equal size.
I've gone to great pains to make sure I do not accidentally change anything. The order for the code in each of these files are the same as in the original NativeCompilation.gmk. I have not rearranged any code (with a few trivially exceptions, moving some assignments to allow better grouping), and instead preferred to split up functionality in several parts (as in SetupBasicVariables1-3).
Since I include the files in alphabetic order, some code will inevitable switch places, but this should either be just defines (which are trivially safe to move around), or it should be code that are independent of each other.
My intention is to follow up this shuffling with more intrusive fixes, that can e.g. reorder stuff to make for more logical grouping. But I want to do that separately.
This patch will split up the file into several parts. The splits are somewhat arbitrary, but tries to keep things sort of logically connected, and make the chunks somewhat approximate equal size.
I've gone to great pains to make sure I do not accidentally change anything. The order for the code in each of these files are the same as in the original NativeCompilation.gmk. I have not rearranged any code (with a few trivially exceptions, moving some assignments to allow better grouping), and instead preferred to split up functionality in several parts (as in SetupBasicVariables1-3).
Since I include the files in alphabetic order, some code will inevitable switch places, but this should either be just defines (which are trivially safe to move around), or it should be code that are independent of each other.
My intention is to follow up this shuffling with more intrusive fixes, that can e.g. reorder stuff to make for more logical grouping. But I want to do that separately.