aboutsummaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Remove Dlmalloc_alignmentDan Willemsen2016-01-061-4/+0
| | | | | Bug: http://b/26403338 Change-Id: I03121ea12cee7044c863bc281260d186130eeeb1
* Allow Brillo-specific version scriptsDan Willemsen2016-01-051-0/+4
| | | | Change-Id: Ie7ba6200ed813f7eb53687c2b672e34eff16263b
* Improve path component validationDan Willemsen2015-12-212-9/+27
| | | | | | | | Detect when a specific path component tries to escape the path that came before it -- so that a user-provided value can't use '..' to escape the directories laid out by the build system. Change-Id: I02d52d9baadb7152448a34f4e8b573fe3c032b12
* Refactor install pathsDan Willemsen2015-12-212-15/+47
| | | | | | | | Explicitly allow installation into the data partition instead of using "../data" for tests. At the same time, pipe through the information required for vendor modules. Change-Id: I6baf9d828c285e1080e43074beef8aebdbb38875
* Make global C include paths optionalDan Willemsen2015-12-182-18/+72
| | | | | | | | Only add them to the global C include paths if they exist. And make sure to set up proper dependencies so that we notice when they are added or removed. Change-Id: Ia9df14f6ae6869927ad3d3a15fb5a8081f616a81
* Sort modules before writing to Android.mkColin Cross2015-12-182-0/+23
| | | | | | | | Sort the modules before writing them to the Android.mk file to prevent it changing every time soong rebuilts itself. Avoids unnecessary makefile reparses by kati when it sees Android.mk change. Change-Id: Ie2cebb25a82d131ee5b556f8e4b3b317d080692c
* Delay dependency errors to ninja time for unbundled buildsColin Cross2015-12-183-0/+47
| | | | | | | | | Unbundled builds may use a subset of the tree, which can bring in unused modules but not their dependencies. Delay handling of dependency errors for unbundled builds to ninja time, which will prevent errors if only modules with satisified dependencies are built. Change-Id: Ib93bae93fcfa0b55df500a30d8e35231ffb0987c
* Merge "Make all soong modules optional when building in make"Colin Cross2015-12-181-1/+2
|\
| * Make all soong modules optional when building in makeColin Cross2015-12-171-1/+2
| | | | | | | | | | | | | | When building inside make, Soong is not responsible for installing any modules, so make everything optional. Change-Id: I1190c78663c9d5ff6f511ca43b317031c619afe7
* | Merge "Fix gofmt"Colin Cross2015-12-181-1/+1
|\|
| * Fix gofmtColin Cross2015-12-171-1/+1
| | | | | | | | Change-Id: Ib5e4db599a6dd858b3a1b1cdb75017b01eac4911
* | Merge "Add pointer and bool support for product variables"Colin Cross2015-12-181-3/+10
|\|
| * Add pointer and bool support for product variablesColin Cross2015-12-171-3/+10
| | | | | | | | Change-Id: I90c07878f3c23a6bab1530daa1a80ae1685ab154
* | Support "." in cpu and arch variant namesColin Cross2015-12-161-3/+3
| | | | | | | | | | | | | | | | cortex-a53.a57 is a valid cpu variant, and needs to be translated to cortex_a53_a57 when used as a field name. Replace dashToUnderscoreReplacer with a replacer that also converts "." to "_". Change-Id: I1c496249b50d8e3a8d2bd830bc890f43ad9ee29e
* | Skip generating prebuilts entries for disabled modulesColin Cross2015-12-151-0/+4
|/ | | | Change-Id: I5b17588789acb77bc5cfe2150a3a5decfd5bd01d
* Add brillo cflagsColin Cross2015-12-151-0/+1
| | | | | | | Add __BRILLO__ to global cflags when building for a brillo product. Bug: 26165350 Change-Id: I0100a8821b763075d1873d0d48fd5bd217afb580
* Only change behavior when actually embedded in makeDan Willemsen2015-12-153-3/+30
| | | | | | | | | | The change to enable embedding in make change the default behavior to produce an Android.mk file, change the ninja builddir, and add the -soong suffix to the end of target names. These don't make sense if we're not building inside make, so detect if we're running under make by checking for a .soong.in_make file in the builddir. Change-Id: I1a0f4c1becb327c769b8a130cafef11d83eb49f4
* Use `Path` instead of string for file pathsDan Willemsen2015-12-098-209/+956
| | | | | | | | | | | | 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
* Handle multiple blueprint files in one dirDan Willemsen2015-12-071-15/+12
| | | | | | | | | | | If there are multiple blueprint files in one directory, say an Android.bp, and a build=['other.bp'] entry that pulls in another blueprint file from the same directory, we'd look for a matching Android.mk twice. This would cause duplicate glob rules. Instead, keep track of blueprint directories rather than files. Change-Id: I4f224e51337ffd5e5e48257ac3458c2d8b2061fa
* Add unbundled_build product variableColin Cross2015-12-011-1/+9
| | | | Change-Id: Ieffbc13ae1273200ed4af93e97c3142b707a7cf1
* Hybrid soong/mk build using prebuiltsDan Willemsen2015-12-014-24/+300
| | | | Change-Id: I96daa69af27bd19c8bfbe327a1318f51c738fc03
* Blueprint API: PackageContext is now an InterfaceDan Willemsen2015-12-012-2/+2
| | | | Change-Id: I656ae3b4657514faa4a1d12d6a33e9cefd8efb84
* Change soong parameter name disabled -> enabledDan Willemsen2015-11-301-13/+13
| | | | | | This looks cleaner when we need to enable windows builds for modules. Change-Id: I61553e2124e08002b0bd9e35c1406c905718f2f7
* Support cross-compiling Windows binaries on LinuxDan Willemsen2015-11-303-29/+184
| | | | | | | | 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-1/+5
| | | | Change-Id: I2b4adbc1a1568b66515243005beda2c56a4a0519
* Add mipsColin Cross2015-11-241-0/+8
| | | | Change-Id: Icb05292877a60939542ce09d9774e4b9d1353502
* Add x86_64Colin Cross2015-11-241-0/+15
| | | | Change-Id: Ib0f31d147546ae187697867c6a0b937266bb9b39
* Add x86Colin Cross2015-11-241-4/+13
| | | | Change-Id: I28e78cd49b184e0aa50c1c562b6bf719300e0832
* move arch variant structs down a levelColin Cross2015-11-231-47/+79
| | | | | | | | | Use blueprint's new anonymous embedded struct feature to move the arch variant properties down a level, replacing arch.cortex_a9.srcs with arch.arm.cortex_a9.srcs, while still supporting top-level properties like arch.arm.srcs. Change-Id: I14820b75b31586ef1e16a4812dcb1f5fdf1ff941
* Add arch featuresColin Cross2015-11-231-4/+42
| | | | | | | | Allow architecture toolchains to register "features" supported by the current variant, and then apply properties from the selected features. Equivalent to the ARCH_*_HAS_* variables in the combo makefiles. Change-Id: Ib6823be1c1a52da677d081db9f24336a072eaf39
* make arch and variant parsing more robustColin Cross2015-11-231-6/+32
| | | | | | | | | | | Post-process the arch and cpu variants to treat the arch name or "generic" as an empty variant. Filter out extra empty abis. Ignore empty arches. Print a useful error message when appending properties fails to find the target field, when an unknown architecture is used, or when a toolchain has not been implemented for the selected architecture. Change-Id: I671d4cd04975f4f29aefc4267b3a624868ce6a75
* Delete androidbpColin Cross2015-11-192-53/+0
| | | | | | | androidbp is gone, replaced with combining kati ninja output for makefiles with blueprint ninja output for soong. Change-Id: I00b9e28877abf2ceb2223d3ccf0637bc1b7571bb
* Use Rule-local implicit dependenciesDan Willemsen2015-11-173-8/+8
| | | | | | | | | | | Depends on https://github.com/google/blueprint/pull/78 This uses the new CommandDeps field to move implicit dependencies embedded in the Command string next to the definition, instead of having to specify them in every BuildParam struct. This should make it easier to verify dependencies. Change-Id: I2711b160920e22fa962a436e1f7041272166f50f
* Add armv8-a arch variantColin Cross2015-11-161-0/+3
| | | | Change-Id: I7f6655f52068568e699fcd0f2a16202254cd3786
* Switch Disabled to a *bool for proper arch overridesDan Willemsen2015-11-091-3/+4
| | | | Change-Id: I0b26d9ae2443825479713f49c5eb704597522ec8
* Add support for defaults modulesColin Cross2015-11-033-4/+133
| | | | | | | 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-034-50/+87
| | | | | | | | | | 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-034-206/+80
| | | | | | | | | | | | 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
* Fix gofmtColin Cross2015-10-281-1/+1
| | | | Change-Id: Idce816555f5d785a401f876f899af29b98c9c064
* Add DeviceUsesClang to change clang defaultDan Willemsen2015-10-202-0/+9
| | | | | | | This is equivalent to USE_CLANG_PLATFORM_BUILD in the current build system. Change-Id: Ifaca0f2639871dac834ef603cfade695191cff11
* Add cortex_a53_64 and cortex_a53_a57Dan Willemsen2015-10-161-8/+10
| | | | | | | Renames cortex_a53 to cortex_a53_64, since we need to set options for both. Also adds the cortex_a53_a57 big/little configuration. Change-Id: Ia0e8104867f9aed7cbf5be8be1ead6ddc30c42c4
* Fix X86_SSE3 -> X86_SSSE3Dan Willemsen2015-10-161-1/+1
| | | | Change-Id: Ic89e13560e88920b133fab349e7c035b8fbea99f
* Add ProductVariables.DeviceName, set defaults to flounderDan Willemsen2015-09-232-4/+6
| | | | | | Using flounder defaults to compare against make. Change-Id: I88fb0809e84b78ef005b76f255017a4d4a35fd13
* Fix product variables with no soong.variablesColin Cross2015-09-182-8/+7
| | | | | | | | | | If soong.variables didn't exist, loadFromConfigFile would write default values to soong.variables, but return with the product variables set to the zero values. Replace jsonConfigurable.DefaultConfig() with SetDefaultConfig() that modifies the current object, and call it before writing the values. Change-Id: I7b7404c7a51975dc4493e25c775b3cf56ef335e3
* Merge "Use SRCDIR as a working directory"Dan Willemsen2015-09-182-12/+26
|\
| * Use SRCDIR as a working directoryDan Willemsen2015-09-172-12/+26
| | | | | | | | | | | | | | | | | | | | | | The existing behavior of using the build directory as the working directory is useful if you want to move/copy the output directory around and SRCDIR still refers the the source. But, it's more useful to have the source directory be the working directory. Tools like cpp(__FILE__) and other debug prints embed relative paths from the working directory. We also have tools that expect the working directory to be $TOP. Change-Id: Ia0f1d3c6b7df72d61cf5628efa2baa98bd19775b
* | Set host and device arches from product variablesColin Cross2015-09-172-49/+160
|/ | | | | | | Read the host and device arches from soong.variables. Bug: 23567214 Change-Id: Ie44db4dcf431a4c7dddcdc26117d4daa734c1f67
* Add platform_sdk_version product variableDan Willemsen2015-09-161-0/+9
| | | | | | For libc to use Change-Id: I5048509e27ea4e4dc7773e7bd33e7f7b4deca608
* Check that a product variable is setColin Cross2015-09-161-16/+24
| | | | | | | | | | | Store product variables in pointers so that we can only apply the properties if the product variable was set to a value. Also only apply bool properties if they are true, adn rearrange the code to do the cheapest checks first. Remove device_uses_logd, it doesn't exist any more. Change-Id: Icf42408f57bd611746f8d985bfceb50c7f95ea59
* Merge "Freeze environment reading after saving deps"Dan Willemsen2015-09-151-2/+9
|\