aboutsummaryrefslogtreecommitdiffstats
path: root/android/variable.go
Commit message (Collapse)AuthorAgeFilesLines
* soong: explicitly specify name of Lineage variables structlineage-15.0Simon Shields2017-09-041-2/+2
| | | | Change-Id: Ic754b8a13658ddc40620f985581bd1754b780b15
* soong: add support for nested structs in variablePropertiesSimon Shields2017-09-041-2/+12
| | | | Change-Id: I0e5395ac70220f1d3a1c87c6112e33f84f526fea
* soong: extend with lineage board flagsSimon Shields2017-08-231-0/+8
| | | | Change-Id: If127c9da6b57340ae57e0cf725151cdcc3c82ef3
* Support %s in product variable propertiesColin Cross2017-05-231-12/+50
| | | | | | | | | | | Support using strings as product variable substitutions, and add tests for printfIntoProperty. Bug: 37035983 Test: varaible_test.go Change-Id: I06cfadfb1d3fc81da72fb71323706df20426c8b7 Merged-In: I06cfadfb1d3fc81da72fb71323706df20426c8b7 (cherry picked from commit 7e0eaf15b9eec975e45f9e5a27294a0bf0ef9beb)
* Support override_rs_driver product variableColin Cross2017-05-231-0/+6
| | | | | | | | Bug: 37035983 Test: builds Change-Id: Ifd9bf09bb54418d62f6886b0d8ed84dd493a3162 Merged-In: Ifd9bf09bb54418d62f6886b0d8ed84dd493a3162 (cherry picked from commit 954364256f5445e8d2270c1cd3f2eca009e6e48f)
* Add Treble as soong variable.Steven Moreland2017-05-191-0/+8
| | | | | | | | | | | This exposes PRODUCT_FULL_TREBLE. This is required so that we can add sane defaults to Treble code. Test: manual Bug: 38415912 Merged-In: Ia3ea4aeee799b998380a1600026075dab66286a3 Change-Id: Ia3ea4aeee799b998380a1600026075dab66286a3
* Add init_rc as a property to the debuggable product_variable.Carmen Jackson2017-04-141-0/+1
| | | | | | | | Bug: 37110010 Test: See related change - verified manually that the default init_rc file as well as the 'debuggable' init_rc file were executed. Change-Id: Id6a51201cf10633e9a86d2c76a3e64b50225bf55
* Revert "install *.so in different paths for their types"Dan Willemsen2017-03-161-2/+0
| | | | | | | | | This reverts commit 4c48f724e1b339128447ab1dafd656a9557557f5. It's causing test failures, warnings and complaints, so backing it out and we'll resolve those before putting it back in. Bug: 33681361 Test: m -j
* install *.so in different paths for their typesJiyong Park2017-03-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shared libraries are now installed to different directories depending on their types. * NDK libraries: /system/lib/ndk * VNDK libraries: /system/lib/vndk * VNDK-ext libraries: /system/lib/vndk-ext * Framework-only libraries: /system/lib * Vendor-only libraries: /vendor/lib * Same-process HALs: /vendor/lib/sameprocess In addition, a new module type vndk_ext_library is added. It is almost identical to cc_shared_library but it introduces another attribute 'extends'. This is use to reference the vndk library that this vndk-ext library is extending. For example, in order to extend a vndk library libFoo: cc_library { name: "libFoo", srcs: [...] } --------------------- vndk_ext_library { name: "libFoo-extended", srcs: [...] extends: "libFoo" } Then, libFoo will be installed as /system/lib/vndk/libFoo.so and libFoo-extended will be installed as /system/lib/vndk-ext/libFoo.so. Note that file name of the latter is libFoo.so, not libFoo-extended.so: file name of an extending module is automatically set to that of the extended module. Bug: 33681361 Test: build & run. Libraries must be in the correct directories. Change-Id: Ia1eb3940605d582a252c78da0f3a5b36fdab062b
* Support path exclusion for native coverage.Ryan Campbell2017-02-271-2/+3
| | | | | | | | | | Specify list of paths to exclude from coverage instrumentation. Test: make NATIVE_COVERAGE=true COVERAGE_PATHS=hardware/interfaces COVERAGE_EXCLUDE_PATHS=hardware/interfaces/graphics Bug: 35769817 Change-Id: I3bf10e5e5697d140d6cff73d000768b00aa28ca4
* Remove cpusets and schedboost product variablesColin Cross2017-02-231-10/+0
| | | | | | | | | They are no longer needed, remove them. Bug: 35129304 Bug: 35128496 Test: builds Change-Id: Ib144ddc2db40bc4f38a4e06ca40eabe85814e03c
* Native Coverage support in Soong (gcov)Dan Willemsen2017-02-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is configured the same as make -- a global NATIVE_COVERAGE=true flag to allow native coverage, then COVERAGE_PATHS=path1,path2,... to turn it on for certain paths. There are .gcnodir files exported to Make and saved in $OUT/coverage/... files which are `ar` archives containing all of the compiler-produced .gcno files for a particular executable / shared library. Unlike the Make implementation, this only passes links the helper library (automatically through --coverage) when one of the object files or static libraries being used actually has coverage enabled. Host support is currently disabled, since we set -nodefaultlibs, which prevents libclang_rt.profile-*.a from being picked up automatically. Bug: 32749731 Test: NATIVE_COVERAGE=true COVERAGE_PATHS=system/core/libcutils m -j libbacktrace libutils tombstoned $OUT/coverage/system/lib*/libcutils.gcnodir looks correct (self) $OUT/coverage/system/lib*/libbacktrace.gcnodir looks correct (static) $OUT/coverage/system/lib*/libutils.gcnodir doesn't exist (shared) $OUT/coverage/system/bin/tombstoned.gcnodir looks correct (executable) Test: NATIVE_COVERAGE=true COVERAGE_PATHS=external/libcxxabi m -j libc++ Confirm that $OUT/coverage/system/lib*/libc++.gcnodir looks correct (whole_static_libs) Change-Id: I48aaa0ba8d76e50e9c2d1151421c0c6dc8ed79a9
* Removed Bluetooth build variables from the soong build parserJack He2017-02-091-2/+0
| | | | | | | | | * Removed BLUETOOTH_HCI_USE_MCT * Removed BOARD_BLUETOOTH_BDROID_HCILP_INCLUDED Bug: 34951912, 35203653 Test: Code compilation, no visible user effects Change-Id: I89af075a334f2ec7b2a3046a4aaa5bcc19d454e0
* Hide CFI behind a global flag.Vishwath Mohan2017-01-191-0/+1
| | | | | | | | | | | | This CL ensures that locally enabling CFI in a .bp file is not honored unless it is enabled globally using ENABLE_CFI=true first, effectively hiding it behind a flag. Bug: 30227045 Bug: 22033465 Test: m -j40 works and device boots Test: cfi is correctly honored only when the global flag is set. Change-Id: Iccc6e4bf5e7828ab8ce6056f3e40922712faa0d8
* Add Android.bp variables to the soong build parserJack He2017-01-111-0/+4
| | | | | | | | | | | * BtConfigIncludeDir: BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR * BtHcilpIncluded: BOARD_BLUETOOTH_BDROID_HCILP_INCLUDED * BtHciUseMct: BLUETOOTH_HCI_USE_MCT Bug: 32958753 Test: Code compilation, no user visible effects Change-Id: I0dc53172ee823e4e0fa69749e1297713796538cf
* Add ArtUseReadBarrier to ProductVariables.Hiroshi Yamauchi2016-12-191-0/+2
| | | | | | Bug: 33492005 Test: top-level angler build. Change-Id: Ib04284bac923a143038655d495bcbacaabf61440
* Support eng product variableColin Cross2016-12-081-0/+12
| | | | | | | | The eng product variable will be true for builds where TARGET_BUILD_VARIANT==eng. Test: mmma -j frameworks/compile/libbcc Change-Id: I808129740643495370bea64df3fe5bcf01eb9915
* Support system/vendor for devices without a vendor partitionDan Willemsen2016-12-051-0/+2
| | | | | Test: lunch aosp_arm-eng; m -j vulkan.default Change-Id: I91eabf98f53c455ec4ade95215f11a6f89631747
* Add basic VNDK support in SoongDan Willemsen2016-11-281-0/+1
| | | | | | | | | | | | | | | | | | Export a list of libraries in the VNDK, which is currently empty. Take in Make's global BOARD_VNDK_VERSION, and use that as the SDK version for modules that specify use_vndk: true. Modules that use the vndk have some configuration as if they were building against the NDK (the absence of globally defined headers), but in other cases look like platform modules (using the platform libc++, for now). This change does not attempt to enforce any linking constraints, that will come in a later patch. Test: out/soong/build.ninja doesn't change Change-Id: I3be206b67015ac5177b7eef4a451c579e3dc903f
* Fix the Platform_sdk_version default.Dan Albert2016-11-101-1/+1
| | | | | | | | | | N has merged into aosp now. Test: OUT_DIR=ndk-out DIST_DIR=ndk-dist \ build/soong/scripts/build-ndk-prebuilts.sh Bug: None Change-Id: I2685c700e2cb138708a3e8a5f51281c30fb582db
* Support sanitizing a single device archColin Cross2016-11-021-2/+3
| | | | | | | | | | | | Allow specifying one or more architectures to sanitize for. Defaults to sanitizing all architectures. Allows reducing the cost of sanitization by only sanitizing half of the platform. Bug: 29498013 Test: No change to build.ninja files with m -j SANITIZE_TARGET=address Test: m -j SANITIZE_TARGET=address SANITIZE_TARGET_ARCH=arm Test: nm -D $OUT/system/bin/app_process64 | grep asan, no asan symbols found Change-Id: I972cccc2f19443895d47b44bd8104105f93ffb7d
* Add clang-tidy supportDan Willemsen2016-10-311-0/+3
| | | | | | | | | | | | | | | | For every file which we can run clang-tidy (C/C++ clang-built), we add a new build node that depends on the object file (since clang-tidy does not export a depfile), and is depended on by the link step. This is better than how we're doing it in make, since calling tidy can be turned on or off without needing to rebuild the object files. This does not attempt to port WITH_TIDY_ONLY from Make, since the way that it works is broken (due to the lack of a depfile). Bug: 32244182 Test: WITH_TIDY=true mmma -j bionic/libc Test: ./soong (Setting ClangTidy: true) Change-Id: I40bbb5bb00d292d72bf1c293b93080b5f9f6d8ea
* Allow brillo cflags and debuggable cppflagsDan Willemsen2016-10-171-1/+3
| | | | | Test: mmma -j frameworks/native/{libs/gui,opengl/libs} w/Android.bp Change-Id: I31286c92ec4befaa486052ba2e6d55cd0d5fe62d
* Control mutator orderColin Cross2016-10-121-1/+3
| | | | | | | | Register mutators inside lambdas that are called in a defined order to correctly order mutators before and after the arch and deps mutators. Test: build.ninja identical Change-Id: Iefe2a3515aee8570e76a6e76925db4cda0e9e822
* Add `debuggable` product variable with cflagsDan Willemsen2016-09-221-0/+5
| | | | | | | | | Allows changing cflags based on the build variant being `eng` or `userdebug`. This is used by some modules to turn on asserts for these builds, and used by adb to allow root on non-user builds. Test: Use this flag in an Android.bp, check the ninja file. Change-Id: I27a5081378e94920482b4a742d65c46065047573
* Enable goma in soongColin Cross2016-08-311-0/+1
| | | | | | | | | | When the UseGoma flag is set, put all rules except the C compilation rule in an externally defined local_pool, which will have been created by kati. The gomacc wrapper will already be in the CC_WRAPPER environment variable. Bug: 31142427 Change-Id: I699d4edff2e302eee398dad8692ceb14721a628c
* Add support for preferred arch symlinksColin Cross2016-08-251-0/+3
| | | | | | | | | | Add a symlink_preferred_arch property to binaries to allow compiling the binary for multiple architectures and then creating a symlink to the preferred archicture, for example dalvikvm32 and dalvikvm64, with dalvikvm symlinked to dalvikvm64. Test: mmma -j art/dalvikvm Change-Id: Ied15f2be9d52c01006fe8ac207c175b78558eab1
* Make BottomUpMutators parallelColin Cross2016-08-111-1/+1
| | | | | | | | Append .Parallel() to all of the RegisterBottomUpMutator calls to tell Blueprint it can run them in parallel. Test: identical build.ninja, passes race detector Change-Id: I969a0689522d4cba7c8ff51e2aa00fe2fd338a89
* Add Binder32bit product variableDan Willemsen2016-07-261-0/+5
| | | | | | | | | To allow cflag changes when using the "old" binder API that are still used by all 32-bit only configurations. We can't just use android32/android64 here, since some devices use a 64-bit kernel with a 32-bit userspace, which is configured as "android32". Change-Id: I8450484b75d59c1855c7ba36260c08925e7b28ad
* Use PlatformSdkVersion from MakeDan Willemsen2016-07-191-1/+1
| | | | | | This doesn't need to be hardcoded, and should be updated anyways. Change-Id: Ie28d0d7655e8db3c02d110ae578a763a69b73f92
* Add product variables: cpusets schedboostDan Willemsen2016-07-121-0/+10
| | | | | | | These are used by libcutils, and are equivalent to the ENABLE_CPUSETS and ENABLE_SCHEDBOOST make variables. Change-Id: I65d0eed49b5bcb4d6415e9e64a0159209a43b922
* Rename common to androidColin Cross2016-05-181-0/+232
Rename the "common" package to "android", because common is too generic. Also removes all android.Android naming stutter. Ran: gomvpkg -from 'android/soong/common' -to 'android/soong/android' gorename -from '"android/soong/android".AndroidModuleContext' -to 'ModuleContext' gorename -from '"android/soong/android".AndroidBaseContext' -to 'BaseContext' gorename -from '"android/soong/android".AndroidModuleBase' -to 'ModuleBase' gorename -from '"android/soong/android".AndroidBottomUpMutatorContext' -to 'BottomUpMutatorContext' gorename -from '"android/soong/android".AndroidTopDownMutatorContext' -to 'TopDownMutatorContext' gorename -from '"android/soong/android".AndroidModule' -to 'Module' Change-Id: I3b23590b8ce7c8a1ea1139411d84a53163288da7