Commit graph

2486 commits

Author SHA1 Message Date
Jeff Gaston
a8cc9c53fa Revert "Initial implementation of bpfix"
This reverts commit de4b0463f2.

Reason for revert: postsubmit build broken

Change-Id: If68a4af22e517b7be0876343a81c1319fa4d7046
2017-05-26 00:29:26 +00:00
Jeff Gaston
de4b0463f2 Initial implementation of bpfix
Bug: 38351765
Test: bpfix Android.bp

Change-Id: Ia94602f93bc40db3d006174c39102ac5fd29a64c
2017-05-24 13:06:35 -07:00
Tobias Thierer
442b7e6dc9 Merge "Drop build support for LEGACY_USE_JAVA7." 2017-05-24 10:24:53 +00:00
Treehugger Robot
ad086267e3 Merge "Export cc_benchmark as NATIVE_TESTS to Make" 2017-05-24 00:28:11 +00:00
Dan Willemsen
58a5c8b206 Export cc_benchmark as NATIVE_TESTS to Make
This fixes some warnings on internal master where the compatibility
suite logic didn't look at EXECUTABLES (it was checking for
LOCAL_MODULE_CLASS == NATIVE_BENCHMARK, which doesn't exist).

Test: Compare out/soong/Android-aosp_arm64.mk
Test: Compare out/build-aosp_arm64.ninja
Change-Id: Ibe3c40e81e26f4c4cb9fd5bea1619b94181764fb
2017-05-23 15:55:12 -07:00
Treehugger Robot
5b2e720b46 Merge "Move dataclean and installclean to soong_ui" 2017-05-23 22:32:34 +00:00
Treehugger Robot
d7cbea9990 Merge "Add all packages under packages/apps to root.bp" 2017-05-23 17:51:17 +00:00
Tobias Thierer
8b4319c3aa Drop build support for LEGACY_USE_JAVA7.
This flag allowed for building with an OpenJDK 7 toolchain. It was
used for build bot builds that now work with an OpenJDK 8 toolchain.
Hence, this feature is no longer required. This CL drops it.

Bug: 27583810
Test: Treehugger build succeeds.
Change-Id: Iba9cf12cff2597fa70aa9999e8a6bda190f29f3c
2017-05-23 14:20:03 +01:00
Treehugger Robot
e2eaf9acf8 Merge "Prepare multiproduct_kati to run on the build servers" 2017-05-23 02:13:58 +00:00
Jayant Chowdhary
9156330ded Merge "Add arch, lib name to header-abi-diff invocation." 2017-05-22 23:47:15 +00:00
Dan Willemsen
f624fb92f6 Prepare multiproduct_kati to run on the build servers
Adds a -dist argument that will use DIST_DIR to save logs.

Also writes a summary of each std.log to stderr on errors, so that the
error is more likely to show up in the error reporting. This output is
prefixed with "> " to differentiate it from the progress reports from
multiproduct_kati itself.

Test: multiproduct_kati -only-config
Test: DIST_DIR=dist build/soong/build_test.bash -dist (introducing errors)
Change-Id: I5005b5f3f200c876bc004dd9b0e01e7b6edf5be2
2017-05-22 16:37:38 -07:00
Treehugger Robot
6b8eb63fc2 Merge "Fix mips32r2-fp-xburst build" 2017-05-22 22:54:11 +00:00
Jayant Chowdhary
f54e0a79e2 Add arch, lib name to header-abi-diff invocation.
Test: mm -j64 in platform/bionic, platform/system/core/liblog.

Bug: 38325544

Change-Id: Ia2098c1facf2999ef51d55212acc1317e2bf98c1
2017-05-22 10:54:23 -07:00
Treehugger Robot
a9ec71f54f Merge "Add Treble as soong variable." 2017-05-20 00:05:51 +00:00
Steven Moreland
e24bc204c9 Add Treble as soong variable.
This exposes PRODUCT_FULL_TREBLE.

This is required so that we can add sane defaults to Treble code.

Test: manual
Bug: 38415912
Change-Id: Ia3ea4aeee799b998380a1600026075dab66286a3
2017-05-19 15:19:57 -07:00
Dan Willemsen
f052f78b40 Move dataclean and installclean to soong_ui
This speeds things up a little bit, but the major win is that we don't
need to recursively call into the build during the auto installclean.

Test: m -j installclean
Test: m -j dataclean
Change-Id: I09ded8dbd8a2015c7848bc0042dfd3adad1b31c9
2017-05-18 15:48:25 -07:00
Treehugger Robot
454fcd429d Merge "Make factory functions in cc/prebuilt.go public. Test: refactoring CL." 2017-05-18 18:58:33 +00:00
Jeff Gaston
43aecf67f4 Merge "Revert "Disallow multiple build executions in parallel"" 2017-05-18 00:39:51 +00:00
Jeff Gaston
be9cd1192b Revert "Disallow multiple build executions in parallel"
This reverts commit 7db68be5e1.

Reason for revert: postsubmit build encountered a failure

Change-Id: I3c7304114f712d78f79afb1b9d84dc2eadcbc876
2017-05-18 00:34:48 +00:00
Treehugger Robot
90d7ceba9e Merge "Disallow multiple build executions in parallel" 2017-05-17 23:41:34 +00:00
Christopher Ferris
10559e4648 Merge "soong: use optimal FPU on Cortex-A15" 2017-05-17 23:33:57 +00:00
Leo Li
74f7b97d3f Make factory functions in cc/prebuilt.go public.
Test: refactoring CL.

Change-Id: Icf4628df082d2b5a41a9108f85cb73dab42839ab
2017-05-17 16:33:20 -07:00
Treehugger Robot
d17602b76c Merge "Dedup exported flags from dependencies" 2017-05-17 22:52:44 +00:00
Colin Cross
dd84e056ed Dedup exported flags from dependencies
Soong command lines have gotten very long due to hidl modules
reexporting lots of libraries.  Dedup the include dir flags.

Test: m -j checkbuild
Change-Id: I6ada1251012da42344e2c00ae66001a649023d2c
2017-05-17 14:22:22 -07:00
Jake Weinstein
5916657a96 soong: use optimal FPU on Cortex-A15
* Cortex-A15 supports VFPv4 instructions

Test: make otapackage
Test: Built angler with 32 bit variant set to cortex-a15.
Test: Boot this version of the angler, ran bionic unit tests.
Change-Id: I94f00c9486ece201aa2c230308b9f90b0209dc4a
2017-05-17 14:11:33 -07:00
Steven Moreland
4a1741ca28 Add all packages under packages/apps to root.bp
Test: Android.bp files found
Change-Id: Ib506bc20a918e80803893c4c43f04c732a477c71
2017-05-17 13:06:20 -07:00
Nan Zhang
5323f8e32f Add python_test_host module.
bug: 31676493
Test: created py_test modules in real folder. and ran 'mma'.
Change-Id: I22aa2fad74b11e4a31ea7a4c4a4f0ea64cd3fc94
2017-05-17 11:26:00 -07:00
Jeff Gaston
7db68be5e1 Disallow multiple build executions in parallel
Bug: 36698966
Test: run two 'make -j' executions in parallel in each of two terminals

Change-Id: Ief91391fe1f0fdbf9655cc0ba1298e353396d705
2017-05-16 17:47:09 -07:00
Treehugger Robot
2c13abc95e Merge "Fix the issue "\n" didn't get interpreted properly." 2017-05-17 00:31:08 +00:00
Nan Zhang
270051119a Fix the issue "\n" didn't get interpreted properly.
Added params to WriteFile rule that allow users to turn on the
specific 'echo' options, such as "enable the interpretation of backslash
escapes".

Bug: b/38261000
Test: tested with real data files.
Change-Id: I5145056b5c2522a3a72b9436055ec95d2fbd94c0
2017-05-16 15:10:29 -07:00
Treehugger Robot
e121bbbb3b Merge changes I9512642d,I6548889c,I8db5198f
* changes:
  Add build_test.sh, split common parts of soong_ui.bash
  Allow specifying a build variant
  Improve multiproduct_kati output
2017-05-16 19:45:08 +00:00
Dan Willemsen
63b599a7a0 Merge changes from topics 'soong_ui_installclean', 'soong_ui_version', 'soong_ui_clean'
* changes:
  Move auto installclean to soong_ui
  Move version checking from Make into soong_ui
  Move clean/clobber to soong_ui
2017-05-16 18:02:04 +00:00
Christopher Ferris
2dc77f7275 Merge "soong: add cortex-a73 to microarchitecture list" 2017-05-16 17:14:45 +00:00
Jeff Gaston
b4a3288be8 Merge "Support for LOCAL_AIDL_INCLUDES in androidmk" 2017-05-16 01:06:34 +00:00
Dan Willemsen
0df1517259 Add build_test.sh, split common parts of soong_ui.bash
Move common microfactory functions to cmd/microfactory/microfactory.bash
so that they can be used to build both soong_ui for normal build and
multiproduct_kati for build system tests.

Test: m -j
Test: build/soong/build_test.bash
Change-Id: I9512642d846ce54d05a027b6d33a2b3029b3f90b
2017-05-15 17:26:52 -07:00
Treehugger Robot
04b830f133 Merge "Revert "Revert "Ensure environment dependencies are correct""" 2017-05-16 00:25:09 +00:00
Treehugger Robot
bdb02bd334 Merge "Clarify paths.go somewhat" 2017-05-16 00:20:29 +00:00
Dan Willemsen
5ed900be48 Allow specifying a build variant
Test: multiproduct_kati --variant userdebug
Change-Id: I6548889caf868cad6270110c038753d029247572
2017-05-15 16:34:46 -07:00
Dan Willemsen
02781d59bb Move auto installclean to soong_ui
This way kati won't need to be run as often (either initially, or when
switching products with the same device).

Bug: 35970961
Test: m clean; m -j blueprint_tools; m -j blueprint_tools; m -j blueprint_tools
Test: lunch aosp_arm-eng; m -j blueprint_tools; lunch full-eng; m -j blueprint_tools; <repeat>
Change-Id: Ie9fca3c8f1dd412459ea47c7090c7c5fdb0bcf6e
2017-05-15 16:26:21 -07:00
Dan Willemsen
db8457cfec Move version checking from Make into soong_ui
When kati keeps state around, it has to regenerate the ninja file every
time the state is changed. So move the java version checking into
soong_ui, where we can parallelize it with other operations instead of
only checking it occasionally.

Bug: 35970961
Test: Put java7 in PATH, m -j
Test: Put java8-google in PATH, m -j
Test: Put a space in TOP, m -j
Test: OUT_DIR=<case-preserving fs> m -j
Test: OUT_DIR=<path with space> m -j
Test: DIST_DIR=<path with sapce> m -j
Change-Id: I3245c8dd6d856240d17d54cb05d593dc9df71a27
2017-05-15 16:21:33 -07:00
Jake Weinstein
6600a44072 soong: add cortex-a73 to microarchitecture list
* Was missed in I3325f60add7f424f8cca53c22919fc481ef5e787

Change-Id: I24d1ef38922cb8f46c9136018cce6a22293ca95e
2017-05-15 18:27:12 -04:00
Dan Willemsen
a4e43a77d8 Improve multiproduct_kati output
It now uses the same output style as ninja, overwriting status lines in
smart terminals.

Test: multiproduct_kati
Test: multiproduct_kati | cat
Change-Id: I8db5198ffdc5ebc5503241ac492379753d92978e
2017-05-15 15:24:10 -07:00
Dan Willemsen
6606872bf6 Revert "Revert "Ensure environment dependencies are correct""
This reverts commit 4068a5db6c.

Now the Mac xcode-select and xcrun goes through Config.HostSystemTool,
which will grab $PATH through Config.Getenv

Test: m -j (on mac)
Change-Id: I2632c4fdb2ec961e59944cf02ff165e0fd3c869d
2017-05-15 15:22:45 -07:00
Dan Willemsen
0b73b4bc37 Move clean/clobber to soong_ui
So that we don't have to load up all the makefile state just to remove
the output directory.

Starting from a completely empty out directory:
 kati:    16s
 soong_ui: 2.0s

From a minimal out directory (m -j blueprint_tools):
 kati:     3.8s
 soong_ui: 0.4s

Test: m -j clean
Test: m -j clobber
Change-Id: Ibeec6fbfa29387750342a752a55336caca4b3992
2017-05-15 14:46:04 -07:00
Christopher Ferris
6df46f5d93 Add cortex-a73 support.
Also, update flags for cortex-a53.

Bug: 37647380

Test: Built target with cortex-a73 for both 32 bit/64 bit.
Test: Built target with cortex-a53.cortex-a57 for both 32 bit/64 bit.
Test: Ran bionic unit tests, ran art target tests.

(cherry picked from commit 1d9aa26d44)

Change-Id: I3325f60add7f424f8cca53c22919fc481ef5e787
2017-05-15 12:44:58 -07:00
Jeff Gaston
fa833bb6d5 Support for LOCAL_AIDL_INCLUDES in androidmk
Now it converts to:
aidl: {
  include_dirs: [
    "...",
  ]
}

Bug: 37747936
Test: run androidmk against an Android.mk file having LOCAL_AIDLE_INCLUDES
Change-Id: If9f4c3ee9969610f1e0e0f147ee6a70102b63edc
2017-05-15 11:46:04 -07:00
Jeff Gaston
734e3809ad Clarify paths.go somewhat
Bug: 35562758
Test: make

Change-Id: I4cf05ffdd0962186f490467829e3576b4e269c47
2017-05-15 11:31:48 -07:00
Dan Willemsen
02f3add3a3 Clean OUT_DIR
Otherwise Make and soong_ui disagree about where the soong.variables
file should be. For example, when "OUT_DIR=out/":

Error dumping make vars: Failed to parse make line: "make: Nothing to be done for `out/soong/soong.variables'."

We would need to pass out//soong/soong.variables into make, since it
doesn't attempt to match clean/unclean paths.

Bug: 37553659
Test: OUT_DIR=out/ m -j
Change-Id: Iebeea4868b96b11e8b08735f272e22be5db1d701
2017-05-12 21:12:13 +00:00
Colin Cross
67a5c132c5 Prettify soong ninja build descriptions
Descriptions currently look like:
[  0% 4/29328] cc out-soong/.intermediates/external/clang/lib/Sema/libclangSema/android_arm_armv7-a-neon_denver_static_core/obj/external/clang/lib/Sema/SemaCodeComplete.o

This is not very helpful - most of the characters are used to show the
output path, which contains useful information like target architecture,
but also contains most of the path to the source files twice, and less
useful information like the exact variant name used by soong.
Make the descriptions look like:
[  0% 3/29329] //external/clang/lib/Sema:libclangSema clang++ SemaTemplateInstantiate.cpp

This is //path/to/module:modulename tool relative/path/to/source/file

Test: builds, looks pretty
Change-Id: I3087aa7d4eb1860ef6239d77407b8b35445616d7
2017-05-10 11:04:16 -07:00
Colin Cross
570e18ffaa Merge changes If90975c8,I2a873fc6
* changes:
  Use ctx.ModuleBuild for darwin ar
  Run gofmt
2017-05-10 17:28:21 +00:00