aboutsummaryrefslogtreecommitdiffstats
path: root/Android.bp
Commit message (Collapse)AuthorAgeFilesLines
* Refactor ccColin Cross2016-03-211-0/+1
| | | | | | | | | | | | Refactor all of cc in order to use composition instead of inheritance. All cc module types exported by cc are now *cc.Module objects, with compilation, linking, and installing steps delegated to different objects in order to form the full module type. Additional features that modify dependencies and flags can be inserted in a features object list, and custom module types can be created by adding a Customizer object that can modify properties. Change-Id: Ie1283d14920f7856f6947b0530606b2f4d58fab0
* Use `Path` instead of string for file pathsDan Willemsen2015-12-091-0/+4
| | | | | | | | | | | | This centralizes verification and common operations, like converting the path to a source file to the path for a built object. It also embeds the configuration knowledge into the path, so that we can remove "${SrcDir}/path" from the ninja file. When SrcDir is '.', that leads to paths like './path' instead of just 'path' like make is doing, causing differences in compiled binaries. Change-Id: Ib4e8910a6e867ce1b7b420d927c04f1142a7589e
* Hybrid soong/mk build using prebuiltsDan Willemsen2015-12-011-0/+3
| | | | Change-Id: I96daa69af27bd19c8bfbe327a1318f51c738fc03
* Support cross-compiling Windows binaries on LinuxDan Willemsen2015-11-301-0/+1
| | | | | | | | This defines another mutator between HostOrDevice and Arch that will expand host modules into a module for each host type (Darwin/Linux/Windows) that is currently being built. Change-Id: I4c8ac6b616c229f6bd45ad8a35902652fb6a4fff
* Add mips64Colin Cross2015-11-241-0/+1
| | | | Change-Id: I2b4adbc1a1568b66515243005beda2c56a4a0519
* Add mipsColin Cross2015-11-241-0/+1
| | | | Change-Id: Icb05292877a60939542ce09d9774e4b9d1353502
* Add x86_64Colin Cross2015-11-241-0/+1
| | | | Change-Id: Ib0f31d147546ae187697867c6a0b937266bb9b39
* Add x86Colin Cross2015-11-241-0/+1
| | | | Change-Id: I28e78cd49b184e0aa50c1c562b6bf719300e0832
* Delete androidbpColin Cross2015-11-191-16/+0
| | | | | | | androidbp is gone, replaced with combining kati ninja output for makefiles with blueprint ninja output for soong. Change-Id: I00b9e28877abf2ceb2223d3ccf0637bc1b7571bb
* Add support for defaults modulesColin Cross2015-11-031-0/+1
| | | | | | | Add a cc_defaults module, which will prepend any matching properties to modules that reference it with a "defaults" property. Change-Id: I5908dd98d204f71b29ad95a4ab85403aa1621ca2
* Remove EarlyMutators and DynamicDependenciesColin Cross2015-11-031-0/+1
| | | | | | | | | | EarlyMutators are identical to BottomUpMutators, except they run before DynamicDependencies. DynamicDependencies can be replaced with a BottomUpMutator. Replace both EarlyMutators and DynamicDependencies with BottomUpMutators, which allows setting the order between all mutators through registration order. Change-Id: Id1305d798d3d2da592061c89d7c10a71780b71a3
* Replace extendProperties with pathtools.AppendPropertiesColin Cross2015-11-031-1/+0
| | | | | | | | | | | | Blueprint has a generic AppendProperties/AppendMatchingProperties now, use it, and replace all bool properties that might be modified by a mutator with *bool, which provides the correct replace-if-set semantics for append. Also remove uses of ContainsProperty except when explicitly checking if a property was set in a blueprints file. Change-Id: If523af61d6b4630e79504d7fc2840f36e98571cc
* Use the blueprint plugin infrastructureDan Willemsen2015-09-151-4/+3
| | | | | | | | Instead of using this hardcoded list, use the blueprint plugin infrastructure to find them at build time and load them. Bug: 23567252 Change-Id: Iae87e8c9bf020f4beb42c418b9a6bf8b0fe8b601
* Support product variablesColin Cross2015-08-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Allow modules to vary their properties based on product variables. For now, DEVICE_USES_LOGD, DEVICE_USES_JEMALLOC, and DEVICE_USES_DLMALLOC, and BOARD_MALLOC_ALIGNMENT are supported. Product variables can provide a value (only bool and int supported for now), and if any of the product variable properties contains a "%d" then Sprintf will be called with the property value as the format and the product variable value convert to an int as the only argument. For example: product_variables: { dlmalloc_alignment: { cflags: ["-DMALLOC_ALIGNMENT=%d"], }, }, will cause -DMALLOC_ALIGNMENT=16 to be added to any top level properties called "cflags". Change-Id: I74882a6ab4914d3e222f8d06cfac371b7b829ae5
* use init functions to register module types, etc.Colin Cross2015-07-091-0/+17
| | | | | | | | Instead of putting all the blueprint registrations in soong_build, put them all in init() functions. This puts the registration next to the implementation. Change-Id: Ide1a749518f5e9d1367a18ab3bb1d91da3310c76
* Use same libgcc as Make for armDan Willemsen2015-07-081-0/+15
| | | | | | The current make system uses the arm libgcc.a, not the thumb version. Change-Id: I38efb80b0d14bbe9c56beeb50f3817307f076d89
* androidbp: Implement static/shared property copyingDan Willemsen2015-07-061-0/+1
| | | | | | | During mutation, make deep copies of the blueprint modules, then start modifying the property lists to apply the static/shared properties. Change-Id: Idc7063f4d1cf7d173ae10418e3437f3e2b914f59
* androidbp: simplify translation by evaluating all expressions in BlueprintColin Cross2015-06-301-0/+1
| | | | | | | | | Translation is getting complicated because the expressions supported by Blueprint are difficult to support in Make. Modify androidbp to use context aware parsing so it can evaluate all expressions at parse time, so it only needs to deal with constant values. Change-Id: I57047645fb48475baecd0361f78a93ec0a26011e
* androidbp: Test valueToStringDan Willemsen2015-06-291-0/+3
| | | | Change-Id: I358cf4bb020fc4db14792e2cdffc18bc2f89f4d4
* Build and run tests during bootstrapDan Willemsen2015-06-261-0/+6
| | | | Change-Id: If40489d74136af4d15d4ff26210a50975a462497
* Add per-directory build targetsColin Cross2015-06-171-1/+0
| | | | | | | | | | | Build a map of blueprint directory to modules built from that directory, and then add phony rules to build.ninja that emulate the behavior of mma in the current build system. Also fixes checkbuild to depend on checkbuild files and installable files, but not installed files. Change-Id: I8bad6e93387940df7439dbd4554f6d79f924c65f
* Rename Blueprints to Android.bpColin Cross2015-05-201-0/+211
Rename module definition files to Android.bp to avoid conflicts with another project called Blueprint. Change-Id: I105a07555eb7890f56120deab9036cf9ae5d8525