aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Lock down environment variable access after all other singletonsandroid-wear-n-preview-1android-n-preview-3Dan Willemsen2016-05-121-1/+3
| | | | | | | To allow other singletons to use new environment variables, move env.go to the end of the source list, so that its singleton is run last. Change-Id: Ic92308f72fc0c92a0fedbc5546e337940e32eaab
* Merge "Publish Soong configuration to Make variables"Dan Willemsen2016-05-133-0/+355
|\
| * Publish Soong configuration to Make variablesDan Willemsen2016-05-123-0/+355
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For configuration like TARGET_GLOBAL_CFLAGS, it would be good to have Make and Soong use the same values. This change adds an interface for packages like cc to verify the current value of make variables match the Soong equivalents, and once they're satisfied with the results, remove the make definition and use the value from Soong. The cc implementation exports a few variables currently that I expect to match between both implementations in all cases. It also checks {CLANG,}{HOST,TARGET}_GLOBAL_{C,LD}FLAGS, which should be mostly similar between make and soong now. Bug: 23566674 Change-Id: Idc8582ef31ace11a8baefcf525c3683f08a573aa
* | Merge "Support SANITIZE_TARGET=safe-stack in soong."Evgenii Stepanov2016-05-121-2/+12
|\ \
| * | Support SANITIZE_TARGET=safe-stack in soong.Evgenii Stepanov2016-05-121-2/+12
| | | | | | | | | | | | Change-Id: I570a7033ece82c5e76815dc1b81622b481930de4
* | | Merge "Include objs from whole static libs before local objs"Treehugger Robot2016-05-121-4/+4
|\ \ \ | |_|/ |/| |
| * | Include objs from whole static libs before local objsDan Willemsen2016-05-121-4/+4
| |/ | | | | | | | | | | This matches the make behavior. Change-Id: I8265fb481424734062b0fca944cdbbe283b7236d
* / Support custom suffixes on Makefile outputsDan Willemsen2016-05-112-3/+9
|/ | | | | | | This way Make can use different output files for different targets, and switch between them without having to reparse all the makefiles. Change-Id: I00001a09d79025772d966f443ab9f130e35f4720
* Merge "Move local ldflags after the toolchain ldflags"Treehugger Robot2016-05-111-2/+2
|\
| * Move local ldflags after the toolchain ldflagsDan Willemsen2016-05-101-2/+2
| | | | | | | | | | | | | | This way a local module can override a global flag (like libm overriding -Wl,--hash-style=) Change-Id: If32774381fc46b5767f2c13bf45c3a84acb2697e
* | Add a 32-bit x86_64 arch variantDan Willemsen2016-05-102-0/+12
|/ | | | | | | | | | | In make, the current 32-bit configuration for generic x86_64 targets inherits some variables (SSE4 support) from the 64-bit configuration, and overrides the make variables used for other configurations (SSSE3). We don't have that problem in Soong, but this is the configuration matching what Make is using. Change-Id: Ia934ff40f9388f9c202a0fe0608e7b45b77a2714
* Merge "Fix X86 flags"Dan Willemsen2016-05-102-2/+19
|\
| * Fix X86 flagsDan Willemsen2016-05-092-2/+19
| | | | | | | | | | | | | | Add extra clang cflags, and correct the clang triple for X86 device builds. Change-Id: I95abbd0f0f943ebdede905733785ee3659610058
* | Merge "Fix mips flags"Dan Willemsen2016-05-101-2/+10
|\ \
| * | Fix mips flagsDan Willemsen2016-05-091-2/+10
| |/ | | | | | | Change-Id: Ica7851e19d9a709d03a752dbd4f88f07fc8ce1ee
* / Clean up and fix Krait cflagsDan Willemsen2016-05-091-5/+12
|/ | | | | | | | | For krait, we were using the cortex-a15 cflags for GCC, but a completely separate set for Clang. To make it more readable, and prevent the LPAE flag from being missed for Clang, explicitly define krait cflags for GCC as well. Change-Id: I6dc00a22e2b298ee3755190bf09f28e427c8c70d
* Fix ArchFeatures decoding with default ArchVariantDan Willemsen2016-05-071-1/+1
| | | | | | | We were using the original ArchVariant passed in, not the blank string that we reset it to if it's considered the default variant. Change-Id: Ice644cc1d4897af99fe79b55d441f406a7a270de
* Add missing arm64 -Werror=implicit-function-declarationDan Willemsen2016-05-071-0/+1
| | | | | | This exists for all of the 64-bit architectures in the make build system Change-Id: I023ef1afdaaa790aac4243a5c040f533b8814684
* Add -mpopcnt for X86_64 targets if they support popcntDan Willemsen2016-05-061-0/+1
| | | | Change-Id: I09668a220f207d3d7510f058610846e4427d815e
* Remove duplicate -B entry for host linux clang ldflagsDan Willemsen2016-05-061-1/+0
| | | | | | | | In cc/cc.go, we already add -B{GccRoot}/{GccTriple}/bin to all clang cflags, asflags, and ldflags. So we don't need to add a linux specific version here. Change-Id: I42d71662c78a8170463dfec932a633e4d4ff52c8
* Support prepended arch-specific propertiesColin Cross2016-05-052-3/+13
| | | | | | | | Arch-specific static libraries should be prepended so that the common static libraries can depend on them. Bug: 26968262 Change-Id: I40a21d18ece8f6d20824437e7180628b29ffdd04
* Fix Android.mk LOCAL_EXPORT_C_INCLUDE_DIRS generationDan Willemsen2016-05-051-2/+2
| | | | | | | | | We were keeping the original array, and adding duplicates with -I removed. Instead, only add entries that start with -I, but continue stripping that off. This removes the -isystem arguments from the NDK libraries. Change-Id: I8fd71bbd6b7a051aad7e80a92a05dbdc05a6b87a
* Stop using the mips32r6 ABI in MegaDeviceDan Willemsen2016-05-051-1/+1
| | | | | | | It was present in the r10 NDK checked into the platform, but is not available in the r11 NDK nor the official r10 NDK. Change-Id: I45a2dcf8acc810174c77a0a19870fb849f674b72
* Update path to ninjaColin Cross2016-05-041-1/+1
| | | | | | | ninja has been moved from prebuilts/ninja to prebuilts/build-tools so it can share the hermetic libc++.so there. Change-Id: I0b6e76baaa6916a8c7fd19c684b792ccef2f9cb1
* Update androidmk translatorColin Cross2016-05-031-1/+2
| | | | | | support LOCAL_SRC_FILES_EXCLUDE, and fix a typo arm->arch. Change-Id: I9f789e943d9aca4c5aff2b6b56b1e4a0626ecd86
* Support sanitizer builds inside makeColin Cross2016-05-033-10/+32
| | | | | | | Make expects libraries built with address sanitizer to be installed into /data, and can't handle multiple variants of modules. Change-Id: Ice575ff6f0788a88f296e7b3ee521a2b9771f55f
* Fix stripping on DarwinColin Cross2016-05-033-13/+36
| | | | | | | The strip tool is different on Darwin, use a separate darwinStrip rule instead of calling strip.sh for host builds on Darwin. Change-Id: I6d421cba0dcea04367d5bc638a03f64c81e2ead0
* Remove trailing / from install pathColin Cross2016-05-031-1/+1
| | | | | | | Prevents make installing files with a double /: Install: out/target/product/generic_arm64/system/lib//libc.so Change-Id: Iee237f344e8140c4938aa9d1e6940e4fdbfa7cd8
* Merge "Support stripping shared libraries and binaries"Colin Cross2016-05-033-18/+229
|\
| * Support stripping shared libraries and binariesColin Cross2016-05-033-18/+229
| | | | | | | | | | | | | | Strip all shared libraries and binaries by default. Use a shell script to wrap the long sequences of commands needed by some strip variants. Change-Id: I465bf7cc48330913e60e24762fd55fa2a7731c26
* | Merge "Move shell and python scripts to scripts/ directory"Colin Cross2016-05-035-3/+5
|\|
| * Move shell and python scripts to scripts/ directoryColin Cross2016-04-295-3/+5
| | | | | | | | Change-Id: Icdff44a54d14ddfc2266d99cf0578a8105716918
* | Merge changes I2a3cd53c,I8b9de913Colin Cross2016-05-032-2/+2
|\ \ | |/ |/| | | | | | | * changes: Prevent replacing missing dependency glob rules with errors Support nested glob patterns
| * Prevent replacing missing dependency glob rules with errorsColin Cross2016-04-271-1/+1
| | | | | | | | | | | | | | | | | | | | AndroidModuleContext.Build() replaces all build statements with errors when the module has missing dependencies, but modules may try to create glob rules to detect when missing dependencies have been satisified, and those rules should not be replaced with errors. Whitelist globRule build statements. Change-Id: I2a3cd53c05cea44cec9b5a99090d8778ca954d69
| * Support nested glob patternsColin Cross2016-04-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | Globbing separately for path/to/lib and path/to/lib/test would result in trying to use intermediates/path/to/lib as both a file list file for the first glob and as a directory to store the file list file for the second glob, causing ninja to exit with an mkdir "Not a directory" error. Add ".glob" to the file list file name to avoid collisions. Change-Id: I8b9de9133d7ef667088a2f13eb28652508f3a290
* | Switch to clang-2812033.Stephen Hines2016-04-261-1/+1
|/ | | | Change-Id: Ie44a0536a50aa6b443be0c015fca1ea9fa02590c
* Use exported gtest include directoriesColin Cross2016-04-251-4/+0
| | | | | | | | Manually inserting gtest include directories causes build failures in manifests that don't have external/gtest. external/gtest already exports its include directories so remove the manual include directory. Change-Id: I6baac4bd3bea7dba3aa134d18b66f02a6dc9a54a
* Add support for sanitizer propertyColin Cross2016-04-2111-25/+467
| | | | | | | | Add a new feature to cc modules that adds the cflags and libraries necessary to implement AddressSanitizer, ThreadSanitizer, and UndefinedBehaviorSanitizer. Change-Id: Ibe5ffadc7ece56080a2521f2c7c00da9ef712584
* Support "none" for stl when using ndkColin Cross2016-04-211-0/+2
| | | | Change-Id: I13ecf0a6be591814546a9a1c8b8356988348feb0
* Promote stl to a fixed featureColin Cross2016-04-212-10/+19
| | | | | | | cc needs to know what stl was selected, promote stl from a generic feature implementation to a fixed type pointer. Change-Id: I950ef947f7cd254fe3074f4ff240bb2b90b9116c
* Refactor out exported cflagsColin Cross2016-04-211-27/+42
| | | | | | | Exported cflags are needed by a variety of cc module types. Refactor them into an object that can be composed into any cc module type. Change-Id: I7427ba71085917ca3ec522abadfa2bf33ab43440
* Add genrule tool_file to better handle depsDan Willemsen2016-04-211-16/+36
| | | | | | | | This will allow modules to specify a local script file that will be expanded to the proper path in $tool, and will automatically be added to the dependencies. Change-Id: Icea4046b1fe2fd7c543aa33913d1a53201b15353
* Fix generated sources and headersDan Willemsen2016-04-203-26/+74
| | | | | | | | | | | | | | | | | Add two cc properties: `generated_sources` and `generated_headers`, instead of just adding genrule modules to `deps`. Label these with the dep tagging mechanism, add the generated_headers paths to the include paths, and add dependencies to generated headers for each compile. Add dependencies so that regular sources can include generated yacc headers, not just other generated lex/yacc files. Static/shared specific sources still don't have dependencies to or from regular sources though. Switch from an implicit dependency on generated files to an orderonly dependency, since the depfile will take care of the necessary implicit dependencies for incremental builds. Change-Id: I436675acb1f57329d98b81c56dcb4384201a68ea
* Update sanitize property formatColin Cross2016-04-151-6/+14
| | | | Change-Id: Ibca493a70a19cd3dfb58b5404b1c9ed42e068748
* Use blueprint DependencyTagsColin Cross2016-04-125-161/+199
| | | | | | | | Blueprint now requres DependencyTags to be passed to AddDependency calls. Use the tags to avoid setting member variables on modules, which will be lost after the mutators have been called. Change-Id: I8c1d9ed1db85a300e14394b911a516d361ba9f75
* Rename deps property to objs in cc_objectsColin Cross2016-04-111-6/+13
| | | | | | | The deps property is handled by blueprint, which doesn't give the flexibilty of handling it within soong. Switch to using objs instead. Change-Id: Ib8273546578b31b186a3cf1566e80a5eb11943b7
* libm's headers have moved to live with their libc cousins.android-n-preview-2Elliott Hughes2016-04-047-13/+0
| | | | | | (To reduce the need for this kind of thing in the various build systems.) Change-Id: I75d11497bbf42695f804bcc9ea9ba3b3a12ac764
* Move runpaths out of global ldflagsDan Willemsen2016-03-313-9/+30
| | | | | | | | | | | | | | The make macros add these to the linker lines even if the default compiler flags are being skipped. This also allows us to add another runpath for test binaries, which are currently being installed in: <out>/host/linux-x86/nativetest[64]/<test>/<binary> So they need to use ../../lib[64] as a rpath. Change-Id: Ia7e954cdf63bc627a8f71d01c953530355c248ab
* Fix ToolchainLdflags callsDan Willemsen2016-03-303-6/+14
| | | | | | | | | Instead of having the baseCompiler adjust the Ldflags, teach objectLinker about ToolchainLdflags. And don't assume that ToolchainLdflags will work for Clang too, add a ToolchainClangLdflags call. Change-Id: I5f546e46f32edf3fcf75a44bee2c5ee103bc5de3
* Various host flag updates to match MakeDan Willemsen2016-03-303-11/+15
| | | | | | | Some of these are updates from the old build system, others are just differences/bugs being corrected. Change-Id: Ied7f47ade495dcb26ba3611e636869cba283860f