Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up inclusion of private BuildConfig headers #30531

Merged
merged 1 commit into from
Nov 17, 2023

Conversation

mspang
Copy link
Contributor

@mspang mspang commented Nov 16, 2023

Certain configuration headers come in pairs

CHIPConfig.h & CHIPBuildConfig.h
InetConfig.h & InetBuildConfig.h
CHIPDeviceConfig.h & CHIPDeviceBuildConfig.h
AppConfig.h & AppBuildConfig.h
BleConfig.h & BleBuildConfig.h

In these cases, the second header is only the portion of the configuration that is generated by the build system and was intended to be private; including it directly may not have expected results.

Furthermore, other build systems may not generate the BuildConfig.h headers at all, which was supported through the CHIP_HAVE_CONFIG_H define. Including them directly breaks that capability.

Standardize includes on the public headers and tell GN to enforce this.

Certain configuration headers come in pairs

CHIPConfig.h & CHIPBuildConfig.h
InetConfig.h & InetBuildConfig.h
CHIPDeviceConfig.h & CHIPDeviceBuildConfig.h
AppConfig.h & AppBuildConfig.h
BleConfig.h & BleBuildConfig.h

In these cases, the second header is only the portion of the
configuration that is generated by the build system and was intended to
be private; including it directly may not have expected results.

Furthermore, other build systems may not generate the BuildConfig.h
headers at all, which was supported through the CHIP_HAVE_CONFIG_H
define. Including them directly breaks that capability.

Standardize includes on the public headers and tell GN to enforce this.
@mspang mspang force-pushed the for-chip/clean-up-buildconfig branch from c1a9806 to a6bb0f3 Compare November 16, 2023 22:39
Copy link

github-actions bot commented Nov 16, 2023

PR #30531: Size comparison from 46a7184 to a6bb0f3

Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 46a7184 a6bb0f3 change % change
bl602 lighting-app bl602 (read/write) 1409222 1409222 0 0.0
.bss 84616 84616 0 0.0
.data 9376 9376 0 0.0
.rodata 156488 156488 0 0.0
.text 1078084 1078084 0 0.0
bl602+mfd (read/write) 1423662 1423662 0 0.0
.bss 84784 84784 0 0.0
.data 9344 9344 0 0.0
.rodata 155448 155448 0 0.0
.text 1093436 1093436 0 0.0
bl602+rpc (read/write) 1456998 1456998 0 0.0
.bss 92648 92648 0 0.0
.data 9744 9744 0 0.0
.rodata 164104 164104 0 0.0
.text 1109828 1109828 0 0.0
bl702 lighting-app bl702 (read only) 3478 3478 0 0.0
(read/write) 1175327 1175327 0 0.0
.bss 11197 11197 0 0.0
.data 3560 3560 0 0.0
.rodata 106224 106224 0 0.0
.text 948526 948526 0 0.0
bl702+mfd (read only) 3478 3478 0 0.0
(read/write) 1186451 1186451 0 0.0
.bss 11373 11373 0 0.0
.data 3536 3536 0 0.0
.rodata 105164 105164 0 0.0
.text 960590 960590 0 0.0
bl702+rpc (read only) 3478 3478 0 0.0
(read/write) 1275391 1275391 0 0.0
.bss 19677 19677 0 0.0
.data 4112 4112 0 0.0
.rodata 121632 121632 0 0.0
.text 1023592 1023592 0 0.0
bl706-eth (read/write) 994505 994505 0 0.0
.bss 23772 23772 0 0.0
.data 3128 3128 0 0.0
.rodata 99312 99312 0 0.0
.text 741242 741242 0 0.0
bl706-wifi (read/write) 1229882 1229882 0 0.0
.bss 10657 10657 0 0.0
.data 3568 3568 0 0.0
.rodata 120172 120172 0 0.0
.text 965884 965884 0 0.0
bl702l lighting-app bl702l (read only) 512 512 0 0.0
(read/write) 1145040 1145040 0 0.0
.bss 16408 16408 0 0.0
.data 4920 4920 0 0.0
.rodata 100228 100228 0 0.0
.text 941620 941620 0 0.0
bl702l+mfd (read only) 512 512 0 0.0
(read/write) 1156500 1156500 0 0.0
.bss 16584 16584 0 0.0
.data 4904 4904 0 0.0
.rodata 99168 99168 0 0.0
.text 953996 953996 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 (read only) 739571 739571 0 0.0
(read/write) 166688 166688 0 0.0
.bss 89100 89100 0 0.0
.data 3424 3424 0 0.0
.rodata 84639 84639 0 0.0
.text 654540 654540 0 0.0
lock-ftd LP_EM_CC1354P10_6 (read only) 757155 757155 0 0.0
(read/write) 176860 176860 0 0.0
.bss 99228 99228 0 0.0
.data 3444 3444 0 0.0
.rodata 79767 79767 0 0.0
.text 676996 676996 0 0.0
lock-mtd LP_EM_CC1354P10_6 (read only) 743851 743851 0 0.0
(read/write) 171316 171316 0 0.0
.bss 93684 93684 0 0.0
.data 3444 3444 0 0.0
.rodata 105463 105463 0 0.0
.text 637996 637996 0 0.0
pump-app LP_EM_CC1354P10_6 (read only) 697923 697923 0 0.0
(read/write) 165724 165724 0 0.0
.bss 87904 87904 0 0.0
.data 3412 3412 0 0.0
.rodata 80407 80407 0 0.0
.text 617124 617124 0 0.0
pump-controller-app LP_EM_CC1354P10_6 (read only) 683563 683563 0 0.0
(read/write) 165864 165864 0 0.0
.bss 88056 88056 0 0.0
.data 3408 3408 0 0.0
.rodata 76239 76239 0 0.0
.text 606932 606932 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL (read only) 564770 564770 0 0.0
(read/write) 206600 206600 0 0.0
.bss 200060 200060 0 0.0
.data 1416 1416 0 0.0
.rodata 83666 83666 0 0.0
.text 478984 478984 0 0.0
lock CC3235SF_LAUNCHXL (read only) 617002 617002 0 0.0
(read/write) 206940 206940 0 0.0
.bss 200376 200376 0 0.0
.data 1444 1444 0 0.0
.rodata 105458 105458 0 0.0
.text 509420 509420 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 557271 557271 0 0.0
.app_xip_area 448177 448177 0 0.0
.bss 64008 64008 0 0.0
.data 664 664 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 539455 539455 0 0.0
.app_xip_area 425681 425681 0 0.0
.bss 68656 68656 0 0.0
.data 696 696 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 577351 577351 0 0.0
.app_xip_area 469641 469641 0 0.0
.bss 62696 62696 0 0.0
.data 592 592 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
switch cyw930739m2evb_01 (read/write) 553615 553615 0 0.0
.app_xip_area 442817 442817 0 0.0
.bss 65680 65680 0 0.0
.data 692 692 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rs9116 (read/write) 1011484 1011484 0 0.0
.bss 172080 172080 0 0.0
.data 2696 2696 0 0.0
.text 836688 836688 0 0.0
BRD4187C (read/write) 1097204 1097204 0 0.0
.bss 195700 195700 0 0.0
.data 3304 3304 0 0.0
.text 898180 898180 0 0.0
lock-app BRD4161A+wf200 (read/write) 1103728 1103728 0 0.0
.bss 186680 186680 0 0.0
.data 2708 2708 0 0.0
.text 914316 914316 0 0.0
window-app BRD4187C (read/write) 1132072 1132072 0 0.0
.bss 168060 168060 0 0.0
.data 3176 3176 0 0.0
.text 960816 960816 0 0.0
esp32 all-clusters-app c3devkit (read only) 1132546 1132546 0 0.0
(read/write) 1670300 1670300 0 0.0
.dram0.bss 72048 72048 0 0.0
.dram0.data 12996 12996 0 0.0
.flash.rodata 241384 241384 0 0.0
.flash.text 1132546 1132546 0 0.0
.iram0.text 75694 75694 0 0.0
m5stack (read only) 1177499 1177499 0 0.0
(read/write) 520312 520312 0 0.0
.dram0.bss 78696 78696 0 0.0
.dram0.data 34020 34020 0 0.0
.flash.rodata 273232 273232 0 0.0
.flash.text 1172115 1172115 0 0.0
.iram0.text 123907 123907 0 0.0
k32w contact k32w0+release (read only) 592172 592172 0 0.0
(read/write) 87704 87704 0 0.0
.bss 70944 70944 0 0.0
.data 2136 2136 0 0.0
.text 591636 591636 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 687280 687280 0 0.0
.bss 67144 67144 0 0.0
.data 2720 2720 0 0.0
.text 573936 573936 0 0.0
light k32w0+release (read only) 591892 591892 0 0.0
(read/write) 87380 87380 0 0.0
.bss 70632 70632 0 0.0
.data 2124 2124 0 0.0
.text 591356 591356 0 0.0
k32w1+release (read only) 1024 1024 0 0.0
(read/write) 779308 779308 0 0.0
.bss 76820 76820 0 0.0
.data 1932 1932 0 0.0
.text 657096 657096 0 0.0
lock k32w0+release (read only) 563756 563756 0 0.0
(read/write) 85200 85200 0 0.0
.bss 68512 68512 0 0.0
.data 2064 2064 0 0.0
.text 563220 563220 0 0.0
linux air-purifier-app debug (read only) 2491237 2491237 0 0.0
(read/write) 126672 126672 0 0.0
.bss 46912 46912 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 72280 72280 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 808 808 0 0.0
.rodata 176904 176904 0 0.0
.text 2140101 2140101 0 0.0
all-clusters-app debug (read only) 5309601 5309601 0 0.0
(read/write) 428128 428128 0 0.0
.bss 130000 130000 0 0.0
.data 3856 3856 0 0.0
.data.rel.ro 287024 287024 0 0.0
.dynamic 624 624 0 0.0
.got 5352 5352 0 0.0
.init 27 27 0 0.0
.init_array 1224 1224 0 0.0
.rodata 301756 301756 0 0.0
.text 4621043 4621043 0 0.0
all-clusters-minimal-app debug (read only) 4913785 4913785 0 0.0
(read/write) 234248 234248 0 0.0
.bss 127792 127792 0 0.0
.data 3792 3792 0 0.0
.data.rel.ro 95536 95536 0 0.0
.dynamic 624 624 0 0.0
.got 5312 5312 0 0.0
.init 27 27 0 0.0
.init_array 1168 1168 0 0.0
.rodata 270157 270157 0 0.0
.text 4412115 4412115 0 0.0
bridge-app debug (read only) 4386601 4386601 0 0.0
(read/write) 215552 215552 0 0.0
.bss 119192 119192 0 0.0
.data 4704 4704 0 0.0
.data.rel.ro 84896 84896 0 0.0
.dynamic 624 624 0 0.0
.got 5280 5280 0 0.0
.init 27 27 0 0.0
.init_array 832 832 0 0.0
.rodata 217877 217877 0 0.0
.text 3950963 3950963 0 0.0
chip-tool debug (read only) 10708617 10708617 0 0.0
(read/write) 462984 462984 0 0.0
.bss 94008 94008 0 0.0
.data 4994 4994 0 0.0
.data.rel.ro 356744 356744 0 0.0
.dynamic 624 624 0 0.0
.got 5784 5784 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 399945 399945 0 0.0
.text 9682339 9682339 0 0.0
chip-tool-ipv6only arm64 (read only) 10563200 10563200 0 0.0
(read/write) 530416 530416 0 0.0
.bss 103320 103320 0 0.0
.data 4296 4296 0 0.0
.data.rel.ro 394568 394568 0 0.0
.dynamic 512 512 0 0.0
.got 18920 18920 0 0.0
.init 24 24 0 0.0
.init_array 256 256 0 0.0
.rodata 324392 324392 0 0.0
.text 9438104 9438104 0 0.0
lighting-app debug+rpc+ui (read only) 5259529 5259529 0 0.0
(read/write) 224368 224368 0 0.0
.bss 119296 119296 0 0.0
.data 4384 4384 0 0.0
.data.rel.ro 93136 93136 0 0.0
.dynamic 672 672 0 0.0
.got 5896 5896 0 0.0
.init 27 27 0 0.0
.init_array 968 968 0 0.0
.rodata 337812 337812 0 0.0
.text 4678099 4678099 0 0.0
lock-app debug (read only) 4471825 4471825 0 0.0
(read/write) 203168 203168 0 0.0
.bss 113600 113600 0 0.0
.data 3648 3648 0 0.0
.data.rel.ro 79176 79176 0 0.0
.dynamic 624 624 0 0.0
.got 5232 5232 0 0.0
.init 27 27 0 0.0
.init_array 856 856 0 0.0
.rodata 245845 245845 0 0.0
.text 4016707 4016707 0 0.0
ota-provider-app debug (read only) 4135905 4135905 0 0.0
(read/write) 192352 192352 0 0.0
.bss 113600 113600 0 0.0
.data 3920 3920 0 0.0
.data.rel.ro 68912 68912 0 0.0
.dynamic 624 624 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 200181 200181 0 0.0
.text 3744659 3744659 0 0.0
ota-requestor-app debug (read only) 4222209 4222209 0 0.0
(read/write) 196600 196600 0 0.0
.bss 114624 114624 0 0.0
.data 4192 4192 0 0.0
.data.rel.ro 71872 71872 0 0.0
.dynamic 624 624 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 784 784 0 0.0
.rodata 203957 203957 0 0.0
.text 3822883 3822883 0 0.0
shell debug (read only) 2764705 2764705 0 0.0
(read/write) 149704 149704 0 0.0
.bss 60648 60648 0 0.0
.data 784 784 0 0.0
.data.rel.ro 82464 82464 0 0.0
.dynamic 592 592 0 0.0
.got 4104 4104 0 0.0
.init 27 27 0 0.0
.init_array 1080 1080 0 0.0
.rodata 179360 179360 0 0.0
.text 2414658 2414658 0 0.0
thermostat-no-ble arm64 (read only) 4374520 4374520 0 0.0
(read/write) 247328 247328 0 0.0
.bss 122232 122232 0 0.0
.data 2800 2800 0 0.0
.data.rel.ro 101920 101920 0 0.0
.dynamic 512 512 0 0.0
.got 11936 11936 0 0.0
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 161476 161476 0 0.0
.text 3873784 3873784 0 0.0
tv-app debug (read only) 5255833 5255833 0 0.0
(read/write) 345080 345080 0 0.0
.bss 242400 242400 0 0.0
.data 4992 4992 0 0.0
.data.rel.ro 90384 90384 0 0.0
.dynamic 624 624 0 0.0
.got 5520 5520 0 0.0
.init 27 27 0 0.0
.init_array 1136 1136 0 0.0
.rodata 266621 266621 0 0.0
.text 4754451 4754451 0 0.0
tv-casting-app debug (read only) 8638777 8638777 0 0.0
(read/write) 321600 321600 0 0.0
.bss 156224 156224 0 0.0
.data 2464 2464 0 0.0
.data.rel.ro 156064 156064 0 0.0
.dynamic 624 624 0 0.0
.got 5064 5064 0 0.0
.init 27 27 0 0.0
.init_array 1144 1144 0 0.0
.rodata 345736 345736 0 0.0
.text 7870995 7870995 0 0.0
mbed lock-app-release cy8cproto_062_4343w (read only) 6224 6224 0 0.0
(read/write) 2522200 2522200 0 0.0
.bss 219112 219112 0 0.0
.data 5136 5136 0 0.0
.text 1484884 1484884 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1056920 1056920 0 0.0
bss 128543 128543 0 0.0
rodata 104104 104104 0 0.0
text 776632 776632 0 0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1183648 1183648 0 0.0
bss 120745 120745 0 0.0
rodata 138296 138296 0 0.0
text 774268 774268 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1042196 1042196 0 0.0
bss 128822 128822 0 0.0
rodata 99356 99356 0 0.0
text 766364 766364 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 837248 837248 0 0.0
(read/write) 1735548 1735548 0 0.0
.bss 193612 193612 0 0.0
.data 2480 2480 0 0.0
.text 1531068 1531068 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 838976 838976 0 0.0
(read/write) 1699388 1699388 0 0.0
.bss 191884 191884 0 0.0
.data 2480 2480 0 0.0
.text 1496636 1496636 0 0.0
light cy8ckit_062s2_43012 (read only) 845656 845656 0 0.0
(read/write) 1625508 1625508 0 0.0
.bss 185316 185316 0 0.0
.data 2368 2368 0 0.0
.text 1429436 1429436 0 0.0
lock cy8ckit_062s2_43012 (read only) 818584 818584 0 0.0
(read/write) 1652484 1652484 0 0.0
.bss 212372 212372 0 0.0
.data 2384 2384 0 0.0
.text 1429340 1429340 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1113744 1113744 0 0.0
.bss 100768 100768 0 0.0
.data 748 748 0 0.0
.text 626120 626120 0 0.0
lock-app qpg6105+debug (read/write) 1074836 1074836 0 0.0
.bss 95544 95544 0 0.0
.data 780 780 0 0.0
.text 587212 587212 0 0.0
telink air-quality-sensor-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 816194 816194 0 0.0
bss 53312 53312 0 0.0
text 610284 610284 0 0.0
all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1074252 1074252 0 0.0
bss 99588 99588 0 0.0
text 757538 757538 0 0.0
all-clusters-minimal-app tlsr9528a (read only) 4 4 0 0.0
(read/write) 1079092 1079092 0 0.0
bss 109272 109272 0 0.0
text 749180 749180 0 0.0
bridge-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 931380 931380 0 0.0
bss 93792 93792 0 0.0
text 644116 644116 0 0.0
contact-sensor-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 816306 816306 0 0.0
bss 53364 53364 0 0.0
text 610488 610488 0 0.0
light-switch-app-ota-shell-factory-data tlsr9528a (read only) 4 4 0 0.0
(read/write) 970252 970252 0 0.0
bss 77164 77164 0 0.0
text 688298 688298 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1088992 1088992 0 0.0
bss 99356 99356 0 0.0
text 766304 766304 0 0.0
lock-app-dfu tlsr9528a (read only) 4 4 0 0.0
(read/write) 957092 957092 0 0.0
bss 95436 95436 0 0.0
text 642484 642484 0 0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 944596 944596 0 0.0
bss 91900 91900 0 0.0
text 659790 659790 0 0.0
pump-app tlsr9528a (read only) 4 4 0 0.0
(read/write) 872684 872684 0 0.0
bss 67200 67200 0 0.0
text 616914 616914 0 0.0
pump-controller-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 813376 813376 0 0.0
bss 55444 55444 0 0.0
text 583868 583868 0 0.0
resource-monitoring-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 829052 829052 0 0.0
bss 55848 55848 0 0.0
text 594458 594458 0 0.0
shell tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 705712 705712 0 0.0
bss 73232 73232 0 0.0
text 462250 462250 0 0.0
smoke_co_alarm-app tlsr9528a_retention (read only) 51774 51774 0 0.0
(read/write) 818042 818042 0 0.0
bss 53456 53456 0 0.0
text 613218 613218 0 0.0
temperature-measurement-app-mars-ota tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 870065 870065 0 0.0
bss 58912 58912 0 0.0
text 625202 625202 0 0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 837404 837404 0 0.0
bss 55732 55732 0 0.0
text 602016 602016 0 0.0
window-covering tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 831912 831912 0 0.0
bss 56084 56084 0 0.0
text 596250 596250 0 0.0

@mergify mergify bot merged commit c6b6fb3 into project-chip:master Nov 17, 2023
57 checks passed
@mspang mspang deleted the for-chip/clean-up-buildconfig branch November 17, 2023 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants