Commit Graph

6359 Commits

Author SHA1 Message Date
Treehugger Robot
6e5aabb91b Merge "Share cFlags, tidyFlags, etc. in a module" am: b1a12462a9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824024

Change-Id: Iaf6050178f9d172a5a17103504e8f081277df9cf
2021-09-16 02:35:38 +00:00
Chih-Hung Hsieh
8e09f2627d Use ccCmd to generate clang-tidy dependent file
* After this change, make libtinyxml2-tidy should generate
  correct out/.../libtinyxml2.tidy.d file.
  Touching one of the dependent files, e.g., tinyxml2.h,
  should invoke clang-tidy but not to recompile tinyxml2.o.
* Note that linking libraries still depend on .tidy targets,
  so make libtinyxml2 will call clang-tidy, regnerate
  tinyxml2.tidy.d, tinyxml2.tidy, tinyxml2.o.d, tinyxml2.o.
* A clang-tidy rule uses the same $cFlags for both clang and clang-tidy.
  To share it and avoid over long command lines, we use modern shell
  array variables and cannot use old bourne shell.

Bug: 199169329
Test: WITH_TIDY=1 make
Test: WITH_TIDY=1 make libtinyxml2-tidy | grep tinyxml2
Test: touch external/tinyxml2/tinyxml2.h; make libtinyxml2-tidy | grep tinyxml2
Change-Id: I6175add58d7313ee50c9308b78c9290a60770052
2021-09-16 02:25:52 +00:00
Treehugger Robot
b1a12462a9 Merge "Share cFlags, tidyFlags, etc. in a module" 2021-09-16 02:20:25 +00:00
Paul Duffin
9f266a87a8 Rename nativeLibInfoProperties.archType to archSubDir am: 96f1832762
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826227

Change-Id: If868e6df94bbb3d25d2a6a30dc0bb34ef9773c88
2021-09-16 00:09:24 +00:00
Chih-Hung Hsieh
b8082295b6 Share cFlags, tidyFlags, etc. in a module
* In builder.go, share common flags in a module.
  * This replaces the sharing of cflags/cppflags/asflags in cc.go.
  * A unit test in apex_test.go now fails and is commented out.
    It is a failing test hidden by old optimization in cc.go.
* In module.go, expand the reference variable $someflags<n>,
  or ${someflags<n>} to keep many existing unit tests work as is.
* The build.ninja size was reduced from 8.1GB to 6.2GB,
  for aosp_arm64-eng WITH_TIDY=1 USE_RBE=true,
  and from 7.5GB to 5.6GB when USE_RBE is 0.
  Content of build.ninja is also more readable and searchable.
  Read/write build.ninja times are also reduced,
  depending on disk I/O speed.

Test: make WITH_TIDY=1
Change-Id: I17f96adf4844136d52e5d40f57a19d9e290162b7
2021-09-15 16:05:41 -07:00
Paul Duffin
96f1832762 Rename nativeLibInfoProperties.archType to archSubDir
Previously, the archType field was a string not an android.ArchType and
was used as the subdirectory into which arch specific files were
copied. This renames the field to archSubDir and clarifies the usage.

Bug: 195754365
Test: m nothing
Change-Id: Id4d6de12b40ee21e41bcd8b96a0ff04eaf615a80
2021-09-15 17:59:14 +01:00
Guang Zhu
da4d36227f Merge "update build rules to use /data/local/tests/unrestricted" am: 7b32612dc4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1826231

Change-Id: I96945a717032ade148ac6b70ba5a8b02730d43a5
2021-09-15 00:23:32 +00:00
Guang Zhu
7b32612dc4 Merge "update build rules to use /data/local/tests/unrestricted" 2021-09-15 00:22:43 +00:00
Guang Zhu
83150667ae update build rules to use /data/local/tests/unrestricted
... for native tests. This new location has the appropriate
settings for debuggerd to generate valid backtraces in case
of test binary crash.

Bug: 167308193
Bug: 199904562
Test: compile
Change-Id: Ic106011a79f0aec86896b305616cf5590ab2eb2d
2021-09-14 10:56:47 -07:00
Rob Seymour
dc2cc0d8d7 Merge "Add module based host-tools snapshot" am: f6c37cc87d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1793067

Change-Id: I3a2bb2459677c14e3e99d654ed5ffb9b7dd09b21
2021-09-14 15:04:01 +00:00
Rob Seymour
f6c37cc87d Merge "Add module based host-tools snapshot" 2021-09-14 14:47:03 +00:00
Liz Kammer
953bf91c49 Merge "Split local/absolute include into attributes" am: 04e0a1551d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824019

Change-Id: I05e64f79fd95836e92630941f276e64fd6c5b98f
2021-09-13 21:37:32 +00:00
Rob Seymour
925aa09ea1 Add module based host-tools snapshot
Add new module:
host_snapshot {
    name: "host-snapshot"
    deps: [
      (list of host tools)
    ],
    ...
}

Package host tools using android.PackagingBase to capture host tools and transitive packaging data.
Add JSON meta data to snapshot that allows snapshot to be installed via development/vendor_snapshot/update.py

Add support to generate a fake host snapshot of all host modules that is used to detect required
modules via development/vendor_snapshot/update.py.

Bug: 192556798
Bug: 194799048
Bug: 192896149
Test: m HOST_FAKE_SNAPSHOT_ENABLE=true host-fake-snapshot dist -- check snapshot exists in dist

Change-Id: I849c4db801cd858408f6fe6a3ce69262a23a5be9
2021-09-13 21:29:14 +00:00
Liz Kammer
04e0a1551d Merge "Split local/absolute include into attributes" 2021-09-13 21:21:09 +00:00
Yi Kong
910cf32f49 Merge "Remove unused-but-set-{variable,parameter} from ClangUnknownCflags" am: 861441fa36
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824620

Change-Id: Ieec9bdef68bb233e125e49d633803b39f200c81d
2021-09-13 19:07:01 +00:00
Yi Kong
861441fa36 Merge "Remove unused-but-set-{variable,parameter} from ClangUnknownCflags" 2021-09-13 18:54:15 +00:00
Liz Kammer
35687bc77a Split local/absolute include into attributes
Previously these were expanded into copts, requiring making all includes
absolute and duplicating includes to account for potentially generated
files. We now can handle both of these properly on the Bazel side, so
let's clean up build files a bit.

Test: bp2build.sh
Change-Id: I6c6160738cd6c269408c6c7a37010654d84f3c9d
2021-09-13 12:49:42 +00:00
Liz Kammer
dd34331163 Merge "bp2build: Split export_{includes,system_includes}" am: 15c90f5fe1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1822559

Change-Id: I35e5ac06bfaefeaf437af196249906dd517d7a5a
2021-09-13 12:43:23 +00:00
Liz Kammer
15c90f5fe1 Merge "bp2build: Split export_{includes,system_includes}" 2021-09-13 12:22:19 +00:00
Yi Kong
a1ebc2d072 Remove unused-but-set-{variable,parameter} from ClangUnknownCflags
These warnings are now implemented by Clang.

Change-Id: I78d04216da0ca3d1db616c7b658ca6075b20e7f6
Test: presubmit
Bug: 197230471
2021-09-13 06:25:41 +00:00
Treehugger Robot
0e7f8e9919 Merge "Don't use bugprone-easily-swappable-parameters for global tidy builds either" am: 07e7294a75
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1824475

Change-Id: I6f7e0578f6e934dbc89a5d06f532b7111d1c8d55
2021-09-11 10:36:47 +00:00
Treehugger Robot
07e7294a75 Merge "Don't use bugprone-easily-swappable-parameters for global tidy builds either" 2021-09-11 10:20:40 +00:00
Stephen Hines
4b721450c8 Don't use bugprone-easily-swappable-parameters for global tidy builds either
We turned this off in local tidy flags, but didn't disable it on global
tidy builds. Let's remove this for now, since the upkeep cost is large
on it, and it also is currently crashing in some cases.

Bug: http://b/199534745
Bug: http://b/194865868
Test: WITH_TIDY=1 m
Change-Id: Ife39ab4949c5baf825efff66326b276c6a2a59f4
2021-09-11 01:14:36 -07:00
Chih-hung Hsieh
cd6242cc74 Merge "Pass TIDY_TIMEOUT to clang-tidy" am: aaa4c07f21
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1823596

Change-Id: I324448b5c311783119c263bc2c3ecc19c553974a
2021-09-10 19:48:23 +00:00
Chih-hung Hsieh
aaa4c07f21 Merge "Pass TIDY_TIMEOUT to clang-tidy" 2021-09-10 19:36:29 +00:00
Yi Kong
7d927b62bf Merge "Switch to clang r433403" am: 6afa749d1d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1814448

Change-Id: I19285347bc70349ce02de3d8b2b6793a4d56fa75
2021-09-10 04:39:04 +00:00
Yi Kong
6afa749d1d Merge "Switch to clang r433403" 2021-09-10 04:21:54 +00:00
Yi Kong
e82732916a Switch to clang r433403
Bug: 197230471
Test: presubmit
Change-Id: I374a66deb785bae99953ea23c67f873f33c2081b
2021-09-10 04:20:49 +00:00
Chih-Hung Hsieh
95dfbce28b Pass TIDY_TIMEOUT to clang-tidy
* Tested with a clang-tidy wrapper that dumps TIDY_TIMEOUT.

Test: make WITH_TIDY=1 TIDY_TIMEOUT=42
Bug: 199451930
Change-Id: I86580225bad7487da786db2ba62c09bd99d70c67
2021-09-09 19:58:41 -07:00
Liz Kammer
5fad501aeb bp2build: Split export_{includes,system_includes}
The specification of exporting includes vs system includes has an impact
on inclusion sort order. Conflating the two caused some symbols to not
be resolved correctly.

Bug: 198403271
Test: build/bazel/ci/bp2build.sh
Test: USE_BAZEL_ANALYSIS=1 m libbacktrace_no_dex succeeds with libc++_*
      modules removed from mixed build denylist (would fail otherwise)
Change-Id: I08aff253d8962dc678ed10214b1c171330e0fe19
2021-09-09 15:59:05 -04:00
Treehugger Robot
16010fe5cd Merge "Cleanup unused code for bp2build conversion." am: 4011ebb12d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1819237

Change-Id: I41d4bdf23a5d17c74e1897a6d42a0b3a22fd865e
2021-09-09 13:17:31 +00:00
Treehugger Robot
4011ebb12d Merge "Cleanup unused code for bp2build conversion." 2021-09-09 13:12:04 +00:00
Sarah Chin
d2432e668d Merge "Add Radio AIDL to VNDK variant list" 2021-09-09 05:21:43 +00:00
Sarah Chin
40eb29e39b Merge "Add Radio AIDL to VNDK variant list" into stage-aosp-master 2021-09-09 04:25:24 +00:00
Treehugger Robot
550ec33096 Merge "Add tidy-soong, tidy-dir-path, module-tidy targets" am: f49df213f8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1820636

Change-Id: I03c50ff5676e52fd296c58aeebc9866601040e08
2021-09-09 03:38:56 +00:00
Treehugger Robot
f49df213f8 Merge "Add tidy-soong, tidy-dir-path, module-tidy targets" 2021-09-09 03:22:59 +00:00
Sarah Chin
2b9ad1c484 Add Radio AIDL to VNDK variant list
Test: build
Bug: 198331182
Change-Id: I922961b8311d024ebbf3f3339dfdb41c72ee9dd9
Merged-In: I922961b8311d024ebbf3f3339dfdb41c72ee9dd9
2021-09-08 19:08:44 +00:00
Chih-hung Hsieh
5ee3f91dcd Merge "Use tidyExternalVendor for external/googletest" am: 095aac0614
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1819240

Change-Id: I8b6abe23e57168ff4e01c6f78009edafd8e075ad
2021-09-08 18:50:44 +00:00
Chih-hung Hsieh
095aac0614 Merge "Use tidyExternalVendor for external/googletest" 2021-09-08 18:29:05 +00:00
Sarah Chin
b03e96874e Add Radio AIDL to VNDK variant list
Test: build
Bug: 198331182
Change-Id: I922961b8311d024ebbf3f3339dfdb41c72ee9dd9
Merged-In: I922961b8311d024ebbf3f3339dfdb41c72ee9dd9
2021-09-08 17:31:38 +00:00
Chih-Hung Hsieh
d0f82fee44 Add tidy-soong, tidy-dir-path, module-tidy targets
* When WITH_TIDY=1, these targets allow quick check of C/C++
  source code with clang-tidy, without building C/C++ binaries.
* For each module with tidy rules, add a module-tidy target, e.g.,
  libart-tidy, libartd-tidy, bionic-benchmarks-tidy, libnativehelper-tidy, etc.
* Add a tidy-soong phony target that depends on all module-tidy targets.
* For each directory X/Y add a tidy-X-Y phony target that depends
  on all *-tidy targets in X/Y and tidy-X-Y-Z for all X/Y/Z directories,
  e.g., tidy-bionic, tidy-bionic-benchmarks, tidy-libnativehelper, etc.
* Only soong modules are collected for now.
  Tidy rules in .mk files will be collected later.
* Some comment lines reformatted by gofmt.

Test: WITH_TIDY=1 make <some_module>-tidy tidy-<some_directory>
Test: WITH_TIDY=1 make tidy-soong
Bug: 199169329
Change-Id: I45aef3875f70288a8e070761e5f083dbbdfa6e94
2021-09-07 14:56:44 -07:00
Chih-hung Hsieh
1b0a86b751 Merge "Add config/tidy.go to per-file owners." am: 63d1a0ab94
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1819238

Change-Id: I1d05b0704a79e02df04a7706d77ccfde19609942
2021-09-07 20:38:42 +00:00
Chih-hung Hsieh
63d1a0ab94 Merge "Add config/tidy.go to per-file owners." 2021-09-07 20:18:05 +00:00
Linzhao Ye
d11722bb82 Merge "Add android.hardware.wifi.hostapd-V1-ndk_platform to VNDK list." am: a0dc31d4a2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1796168

Change-Id: I3676b21992a9c54e8286c970d639c1e31ce748eb
2021-09-07 17:35:53 +00:00
Chih-Hung Hsieh
f92c7154cd Use tidyExternalVendor for external/googletest
* Do not run expensive clang-analyzer-* checks with googletest/*,
  which should be checked upstream.

Test: make WITH_TIDY=1 CLANG_ANALYZER_CHECKS=1
Bug: 198098397
Change-Id: Ic801ffa802b42d4d55ae89553073c926f9eaa351
2021-09-07 10:22:56 -07:00
Chih-Hung Hsieh
04a5dabf9a Add config/tidy.go to per-file owners.
Test: make
Change-Id: I01b7bcd2cb5a766baf7ea8015996b4a782395875
2021-09-07 10:20:49 -07:00
Liz Kammer
7cbf7738f2 Cleanup unused code for bp2build conversion.
This code to support bp2build-specific modules is no longer necessary as
we do not create bp2build modules after https://r.android.com/1792714

Test: build/bazel/ci/bp2build.sh
Change-Id: I20d3c42f7e3516554cfb537fef05ba40d222dbeb
2021-09-07 13:19:21 -04:00
Linzhao Ye
a0dc31d4a2 Merge "Add android.hardware.wifi.hostapd-V1-ndk_platform to VNDK list." 2021-09-07 17:15:33 +00:00
Lukács T. Berki
69b9caf11a Merge "Do not modules in files called "Blueprints"." am: 399dbe0699
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1817961

Change-Id: I754c8b72284ac8a22851f58ad1d03c8e2a90ec3d
2021-09-03 18:38:54 +00:00
Lukács T. Berki
399dbe0699 Merge "Do not modules in files called "Blueprints"." 2021-09-03 18:20:39 +00:00