aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | Export all modulesColin Cross2016-01-111-38/+4
| | | | | | | | | | | | | | Export all modules to out/soong/Android.mk, even if they have a corresponding Android.mk file next to the Android.bp file. Change-Id: I14b67b1108f0c0ed8f9d9202c4af3a37f5cbf7d1
* | Remove art and libnativehelper from root Android.bpColin Cross2016-01-111-2/+0
|/ | | | | | | | | art and libnativehelper have collisions between the top level directory name and a module name, remove them from the root Android.bp file until they have an Android.bp file to avoid a glob dependency on the directory. Bug: 25797955 Change-Id: Ibd33df17450b171ec2390653e4cf3b00fc242831
* Allow libnativehelper to be missingDan Willemsen2016-01-071-1/+5
| | | | | | | Some branches may not include libnativehelper, or anything that depends on jni.h Change-Id: Id8bb9c101aecfacc5d62048818ea0c1c88b7d77c
* Remove Dlmalloc_alignmentDan Willemsen2016-01-061-4/+0
| | | | | Bug: http://b/26403338 Change-Id: I03121ea12cee7044c863bc281260d186130eeeb1
* Allow building non-gtest tests with cc_testDan Willemsen2016-01-051-28/+49
| | | | | | | | | | That way we get the other special cc_test features (test_per_src, multilib-both default, nativetest install path). Restrict test_per_src to CCTest instead of allowing all CCBinaries to use it. Change-Id: I767540841fe5d1f9755883ee7c3d1f24004f9631
* Allow Brillo-specific version scriptsDan Willemsen2016-01-051-0/+4
| | | | Change-Id: Ie7ba6200ed813f7eb53687c2b672e34eff16263b
* Use xcrun and xcode-select to auto-configure mac sdkDan Willemsen2015-12-222-7/+51
| | | | | | | This roughly matches what make uses, but with less string parsing. Also use a full path to "ar", so that we can depend on it. Change-Id: I5e9d4c06b6cbbbfbf93e563dace128943db21b02
* 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-215-23/+71
| | | | | | | | 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-183-19/+73
| | | | | | | | 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
* Merge "Execute the blueprint wrapper"Dan Willemsen2015-12-181-3/+2
|\
| * Execute the blueprint wrapperDan Willemsen2015-12-101-3/+2
| | | | | | | | | | | | | | | | See https://github.com/google/blueprint/pull/86 for the blueprint change and description. Bug: 25448631 Change-Id: Ibadbfc8e2cf2592dcfd137156fc3681819078328
* | 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-185-1/+50
| | | | | | | | | | | | | | | | | | 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-182-4/+4
|\| |
| * | Fix gofmtColin Cross2015-12-172-4/+4
| | | | | | | | | | | | 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
* | | Merge "Support "." in cpu and arch variant names"Colin Cross2015-12-161-3/+3
|\ \ \
| * | | 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
* | | | Merge "androidmk: Add support for LOCAL_MODULE_HOST_OS"Colin Cross2015-12-161-0/+41
|\ \ \ \ | |/ / / |/| | |
| * | | androidmk: Add support for LOCAL_MODULE_HOST_OSColin Cross2015-12-021-0/+41
| | | | | | | | | | | | | | | | Change-Id: Ic1aba6cdcd394fbe2b1819b80fb997f00d9711dc
* | | | Skip generating prebuilts entries for disabled modulesColin Cross2015-12-151-0/+4
| |/ / |/| | | | | | | | Change-Id: I5b17588789acb77bc5cfe2150a3a5decfd5bd01d
* | | Add brillo cflagsColin Cross2015-12-152-0/+5
| | | | | | | | | | | | | | | | | | | | | 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
* | | Enforce linker version-scripts are validDan Willemsen2015-12-117-0/+7
| |/ |/| | | | | | | | | See build/ commit da9c00da5f7b Change-Id: I65878931ab61124ae75e2c738cc733adfb107afc
* | Use `Path` instead of string for file pathsDan Willemsen2015-12-0930-749/+1416
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Handle multiple blueprint files in one dir"Dan Willemsen2015-12-071-15/+12
|\ \
| * | 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
* | | Merge "Expose real GccVersion"Dan Willemsen2015-12-0710-22/+60
|\ \ \
| * | | Expose real GccVersionDan Willemsen2015-12-0710-22/+60
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to validate that the NDK STL paths exists, we need to know the full path, including the Gcc version during the go execution. So instead of returning a ninja variable reference, just return the contents of the variable. This also fixes a few invalid uses of armGccVersion to the proper variable. Change-Id: I54398ba4aa4000235b7d537a2c4efe3ecbbeec8b
* | | Merge "Do not run zipalign when building APK."Alex Klyubin2015-12-071-24/+2
|\ \ \ | |/ / |/| |
| * | Do not run zipalign when building APK.Alex Klyubin2015-12-041-24/+2
| |/ | | | | | | | | | | | | | | | | This changes the build system to no longer run zipalign when signapk is also run. Running zipalign is no longer needed because signapk takes care of alignment. Bug: 25794543 Change-Id: I7bb43421c993bf32f09b0acce2a652376378964f
* / Add Darwin-specific linker file flagsDan Willemsen2015-12-041-4/+40
|/ | | | | | | | | | | | | | Darwin's ld does not support --version-script, but it does support -unexported_symbols_list, -force_symbols_not_weak_list, and -force_symbols_weak_list that all take files as arguments. Instead of expecting these to be added to the ldflags manually, add properties for them so that the dependencies are handled appropriately. Also sanity checks the darwin vs non-darwin usages early, so that the error message is faster and more obvious. Change-Id: I42526cc4367b6ea9adfdbb58753e12824e8c321c
* androidmk: Add support for TARGET_BUILD_APPSColin Cross2015-12-012-43/+35
| | | | Change-Id: Iade2dd9fd5b8873d723d5f6f235775f447fb1d98
* Add unbundled_build product variableColin Cross2015-12-011-1/+9
| | | | Change-Id: Ieffbc13ae1273200ed4af93e97c3142b707a7cf1
* Hybrid soong/mk build using prebuiltsDan Willemsen2015-12-018-26/+422
| | | | Change-Id: I96daa69af27bd19c8bfbe327a1318f51c738fc03
* Add -pie to device executable buildsColin Cross2015-12-011-0/+1
| | | | Change-Id: I8faf5a245f61fc412ba617ac762831d9fcdb8e73
* Blueprint API: PackageContext is now an InterfaceDan Willemsen2015-12-012-2/+2
| | | | Change-Id: I656ae3b4657514faa4a1d12d6a33e9cefd8efb84
* Change soong parameter name disabled -> enabledDan Willemsen2015-11-302-14/+14
| | | | | | This looks cleaner when we need to enable windows builds for modules. Change-Id: I61553e2124e08002b0bd9e35c1406c905718f2f7
* Support cross-compiling Windows binaries on LinuxDan Willemsen2015-11-3017-95/+469
| | | | | | | | 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-243-1/+205
| | | | Change-Id: I2b4adbc1a1568b66515243005beda2c56a4a0519
* Add mipsColin Cross2015-11-243-0/+240
| | | | Change-Id: Icb05292877a60939542ce09d9774e4b9d1353502
* Add x86_64Colin Cross2015-11-243-0/+276
| | | | Change-Id: Ib0f31d147546ae187697867c6a0b937266bb9b39
* Add x86Colin Cross2015-11-245-4/+304
| | | | Change-Id: I28e78cd49b184e0aa50c1c562b6bf719300e0832
* pass ldflags to partial ld rulesColin Cross2015-11-241-3/+9
| | | | | | | | x86 crt partial ld steps need to pass -m32 through ldflags. Use gcc to run partial ld instead of going directly to ld. Allows reusing ToolchainLdflags, which have linker arguments prefixed with "-Wl,". Change-Id: I1e01ca5831061a11c9f550ab198d8e5b8dccf8bd
* Add toolchain cflags that are always usedColin Cross2015-11-243-9/+44
| | | | | | | | | | | | Some cflags are part of the toolchain selection and should not be removed by no_default_compiler_flags = true, for example -m32 for x86 compiles. Removing all the cflags results in hacks such as in crt.mk where the bare minimum cflags are reinserted. Add new toolchain interface functions ToolchainCflags, ToolchainLdflags and ToolchainClangCflags that will always be used. Change-Id: I0ba02d7611e2afb9ad913319740e00c1bb2d654c
* Switch to clang 3.8Dan Willemsen2015-11-241-1/+1
| | | | Change-Id: I8997bc4d765a18c789f2926da26610178a57be74