aboutsummaryrefslogtreecommitdiffstats
path: root/cc
Commit message (Collapse)AuthorAgeFilesLines
...
| | * add a library to report build numbers without causing rebuildsColin Cross2018-03-0210-2/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow native modules to specify use_version_lib, which will make an android::build::GetBuildNumber() function available. For host builds, the function will return the build number at the time that the module was linked. For device modules it will return the value of the ro.build.version.incremental property. Bug: 71719137 Test: build_version_test Test: m build_version_test && touch build/make/core/Makefile build/soong/cc/libbuildversion/tests/build_version_test.cpp && m build_version_test shows different build numbers for binary and library tests. Change-Id: I6f7d40b7574bb8206866c4e39bad9c710c796e32
* | | Disable abi diffs for sanitized variants of modules. am: ea0a2e1928 am: ↵Jayant Chowdhary2018-03-031-1/+6
|\| | | | | | | | | | | | | | | | | | | | | | | 1ce7bf12b7 am: 2c3225a1ac Change-Id: I157a6665d1799792472dcf184e125c256ab1fc5a
| * | Disable abi diffs for sanitized variants of modules.Jayant Chowdhary2018-03-021-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | asan variants can sometimes have extra exported symbols (this is a vndk extension violation). Since asan variants are only used for testing, don't do abi diffs for them. Bug: 66301104 Test: Without the change, libc++.so.lsdump exists for the asan variant; with the change, it does not. Test: make -j64. Change-Id: I61a4c7a3e9aa0028a54ad0ca8715e8c77aebad94
* | | Create a make variable for all lsdump files. am: dcd33b6c29 am: eccf4774b1Jayant Chowdhary2018-03-023-0/+12
|\| | | | | | | | | | | | | | | | | am: 3f6efacf22 Change-Id: I9ce27eeeb7748a8ac289bebbbd8f5fca3e41c771
| * | Create a make variable for all lsdump files.Jayant Chowdhary2018-03-013-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed so that we can embed the paths of lsdump files in a file, in order to make lookup faster, while creating reference dumps. Test: mm -j64 in external/libjpeg-turbo for aosp_arm64_ab; out/soong/make_vars-aosp_arm64_ab.mk contains SOONG_LSDUMP_PATHS := <list of lsdump paths> Change-Id: I04608429e1add307cc1ee79d2f0c348fb041613c
* | | Turn GlobFiles into a Glob for files, use it am: 540a78c1ce am: f49ff89266Dan Willemsen2018-03-022-2/+2
|\| | | | | | | | | | | | | | | | | am: a7070c158c Change-Id: I06f6cc4481f826de7f7923630c2de344c84603a6
| * | Turn GlobFiles into a Glob for files, use itDan Willemsen2018-03-012-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GlobFiles had allowed results to be anywhere in the source tree, restrict it to results within the current module directory. Then use it for ExpandSources and other places where we only want files. This fixes using '*' in cc_test's `data` property, which can only support files. The only thing this changes today is that java_resource_dirs and java_resources no longer pass directories to soong_zip's -f argument. core-libart previously added some icu directories, now it only passes files. Bug: 71906438 Test: only expected changes in out/soong/build.ninja Test: add data: ["**/*"] to a cc_test, build successfully Change-Id: Iff1bd8c005a48e431c740706d7e23f4f957d8b1d
* | Merge "Add proto.canonical_path_from_root" am: 7c695eb797 am: c530837d4cDan Willemsen2018-02-236-15/+34
|\| | | | | | | | | | | am: fb408c8e6d Change-Id: I6bfe260cc2c8d67f73bdbb1eb70ee1df6bf33de4
| * Merge "Add proto.canonical_path_from_root"Dan Willemsen2018-02-236-15/+34
| |\
| | * Add proto.canonical_path_from_rootDan Willemsen2018-02-226-15/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Historically, we've always passed '-I .' as the first argument to protoc, essentially treating all proto file package names as their full path in the android source tree. This would make sense in a monorepo world, but it makes less sense when we're pulling in external projects with established package names. So keep the same default (for now), but allow individual builds to opt into using local paths as the default names with 'canonical_path_from_root: false'. A cleanup effort and/or large scale change in the future could change the default to false. As part of this, run protoc once per input proto file, since the flags may need to change per-file. We'll also need this in order to specify --dependency_out in the future. Bug: 70704330 Test: aosp/master build-aosp_arm.ninja is identical Test: aosp/master soong/build.ninja has expected changes Test: m Test: Build protobuf test Change-Id: I9d6de9fd630326bbcced1c62a4a7e9546429b0ce
* | | Merge changes If1894fd9,Id7925999,I4fe11c3f,Iea2b0781,Id2c0a503 am: ↵Colin Cross2018-02-231-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | 1b5599e462 am: b3407069ee am: 945aebf48e Change-Id: Ie14264d306d957f92beca7070867d947773692b1
| * | Remove unused intermediates parameter from ExistentPathForSourceColin Cross2018-02-221-1/+1
| |/ | | | | | | | | Test: m checkbuild Change-Id: Id2c0a5039c2ec3b3795385c135ffec022ccd691e
* | Merge "Only depend on a single file for generated headers" am: 2f2f24f775 ↵Dan Willemsen2018-02-221-2/+2
|\| | | | | | | | | | | | | | | am: 463a23efc3 am: 73e1814213 Change-Id: I290199404c22d50f8af4075455dd3ded698da888
| * Merge "Only depend on a single file for generated headers"Treehugger Robot2018-02-221-2/+2
| |\
| | * Only depend on a single file for generated headersDan Willemsen2018-02-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While the rule may really need all of the generated header files to exist, only one of them (per genrule task) needs to be in the dependency list, since the rest are essentially aliases. This brings an AOSP aosp_arm-userdebug out/soong/build.ninja file from 372MB to 156MB, with equivalent functionality. The Android-aosp_arm.mk file is reduced from 11MB to 6.5MB. Bug: 73745773 Test: diff out/soong/build.ninja Test: diff out/soong/Android-aosp_arm.mk Test: rm -rf out; m Change-Id: If17377666292cc20957417fc4c3cd52f98971d0c
* | | Merge "Fix NDK gtest name." am: 50b8682dca am: 03af1671d7Dan Albert2018-02-221-6/+1
|\| | | | | | | | | | | | | | | | | am: 24e8fa2d0e Change-Id: Ifd59e6b8142d99c41537a858a5ca76d57c80ecc3
| * | Merge "Fix NDK gtest name."Treehugger Robot2018-02-221-6/+1
| |\ \
| | * | Fix NDK gtest name.Dan Albert2018-02-211-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | Test: make checkbuild Bug: 73087488 Change-Id: I048da296d8000cd1c86a5174ff7864aed271f00c
* | | | Merge "Use android.InList for inList" am: e35ad13004 am: 20b350b433Colin Cross2018-02-221-14/+2
|\| | | | | | | | | | | | | | | | | | | | | | | am: 3ef40fd3e4 Change-Id: Iaf540c0d55cbbf9780fcf2721f0a67de43902948
| * | | Merge "Use android.InList for inList"Treehugger Robot2018-02-221-14/+2
| |\ \ \ | | |_|/ | |/| |
| | * | Use android.InList for inListColin Cross2018-02-211-14/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove duplicate implementations of inList. Test: m checkbuild Change-Id: I6943b95f6d47e6722b9ff1ab61ab14c429fe33a0
* | | | Merge "Start using clang-tools prebuilts for abi diffing tools." am: ↵Jayant Chowdhary2018-02-211-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b49ff309a1 am: 6bbac8082f am: fd6e769413 Change-Id: I36e824816a863acfeb5fbd7d974be4156d2cdd99
| * | | Merge "Start using clang-tools prebuilts for abi diffing tools."Jayant Chowdhary2018-02-211-3/+3
| |\ \ \
| | * | | Start using clang-tools prebuilts for abi diffing tools.Jayant Chowdhary2018-02-201-3/+3
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 72504455 Test: make -j64 Change-Id: Idbe1142e11147163d0c032fb351e9f3d5614dfb1
* | | | Merge "Only emit enabled VNDK libraries" am: d240e3d4e2 am: d5f4f45505Jiyong Park2018-02-211-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | am: 9e611039c5 Change-Id: I7bf19137f3aa8550270728d25320440119867fcf
| * | | Merge "Only emit enabled VNDK libraries"Treehugger Robot2018-02-211-1/+1
| |\ \ \ | | |/ / | |/| |
| | * | Only emit enabled VNDK librariesJiyong Park2018-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disabled VNDK libraries (due to arch mismatch) are no longer emitted to make variables VNDK_CORE_LIBRARIES and LLNDK_LIBRARIES Bug: 7456955 Test: choosecombo to aosp_walleye and m -j Find libclang_rt.ubsan_standalone-<arch>-android in VNDK_CORE_LIBRARIES. Only aarch64 and arm are found. Change-Id: Iaa134d07513e39390fe34a31fdfe2e327b190996
* | | | Use the platform -std= for sdk_version. am: 5789ca9f28 am: 6dc655202bElliott Hughes2018-02-202-36/+32
|\| | | | | | | | | | | | | | | | | | | | | | | am: 2db440f99b Change-Id: I2e04d57f354f090e5ec3c413f65dc7bd2a997a3a
| * | | Use the platform -std= for sdk_version.Elliott Hughes2018-02-202-36/+32
| | | | | | | | | | | | | | | | | | | | | | | | Bug: http://b/72571399 Test: builds Change-Id: I294cfadb7de54b1ae648e02ac9af34ed7a7405d8
* | | | Merge "Revert "Revert "Support filegroup in exclude_srcs""" am: f28e32a2a5 ↵Nan Zhang2018-02-191-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 3aa79ee5f5 am: 6df794ebb4 Change-Id: If6f3707008c217dec95f991f3c8fa3585ce42b0b
| * | | Merge "Revert "Revert "Support filegroup in exclude_srcs"""Treehugger Robot2018-02-191-0/+1
| |\ \ \
| | * | | Revert "Revert "Support filegroup in exclude_srcs""Nan Zhang2018-02-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 606e9de344fae07473dd79e5ac556886a72035de. Reason for revert: <try to fix the broken build yesterday> Change-Id: I2963b9af63c7c7398159e5e9a1e448266e1c81d5 Test: unittest
* | | | | Merge "Disable inlining and loop unrolling in LTO without PGO profile" am: ↵Yi Kong2018-02-163-2/+28
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 06d1060041 am: db764c0315 am: 3dca508089 Change-Id: Ia72c2232bb9b4d01158372c49ecf8fcad7deb064
| * | | | Disable inlining and loop unrolling in LTO without PGO profileYi Kong2018-02-143-2/+28
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Such optimisations may significantly increase the binary size when compiler heuristics are off. Disabling these helps cut down the binary sizes with negligible decrease in performance, but allows us to be more comfortable enabling LTO across various projects. Test: m Test: dex2oat, hwui, skia benchmark Bug: 62839002 Change-Id: Id63e8dd295df2972f76ae4e29ee367080fff8429
| * / / Fix llvm-ar error caused by using lto and sanitizer togetherZhizhou Yang2018-02-145-3/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LLVM-AR does not allow passing --plugin options more than once. The --plugin ARFLAGS that lto want to add, may already exist if sanitizer is also turned on. Fixed this by adding a new bool Flags.ArGoldPlugin. Set this variable to true whenever LLVM gold plugin is needed for ArFlags. In function TransformObjToStaticLib(), add this option to arFlags using global value ${config.LLVMGoldPlugin} if the bool value is true. Bug: http://b/73160350 Test: build the image with make and succeeded. Change-Id: I62785829b0a4b663225926e4aed98defc1b6da2c (cherry picked from commit 4917049f6efe2d08e67eb26ec77e21dcce5172c5)
* | | Search for PGO profiles in PGO_ADDITIONAL_PROFILE_DIRS am: 49540800f0 am: ↵Pirama Arumuga Nainar2018-02-131-3/+10
|\| | | | | | | | | | | | | | | | | | | | | | | 8f7ea0ebdd am: 0ee536259f Change-Id: I6b767ab0b947054ce3264ce0cf478c4d0403bb38
| * | Search for PGO profiles in PGO_ADDITIONAL_PROFILE_DIRSPirama Arumuga Nainar2018-02-131-3/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | This variable can be set in BoardConfig.mk to specify a list of additional paths that contain PGO profiles. These directories are searched after the predefined paths in soong/cc/pgo.go while finding PGO profiles. Test: Set this variable in a BoardConfig and verify that such profiles are found and that these paths are searched after the predefined paths in soong/cc/pgo.go. Change-Id: I0bb9523de614d0f23aba8d51c887d8fc8f41c993
* | Merge "Fix llvm-ar error caused by using lto and sanitizer together"TreeHugger Robot2018-02-105-3/+8
|\ \
| * | Fix llvm-ar error caused by using lto and sanitizer togetherZhizhou Yang2018-02-095-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LLVM-AR does not allow passing --plugin options more than once. The --plugin ARFLAGS that lto want to add, may already exist if sanitizer is also turned on. Fixed this by adding a new bool Flags.ArGoldPlugin. Set this variable to true whenever LLVM gold plugin is needed for ArFlags. In function TransformObjToStaticLib(), add this option to arFlags using global value ${config.LLVMGoldPlugin} if the bool value is true. Bug: http://b/73160350 Test: build the image with make and succeeded. Change-Id: I62785829b0a4b663225926e4aed98defc1b6da2c
* | | Merge "Disable a warning that libc++'s headers trip." am: 1d29875829 am: ↵Dan Albert2018-02-091-0/+3
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | b4e2a566f9 am: b0edf20ac0 Change-Id: I56b5554e466026ac3191bca4254f4d26adced0dc
| * | Disable a warning that libc++'s headers trip.Dan Albert2018-02-071-0/+3
| | | | | | | | | | | | | | | | | | Test: make checkbuild Bug: None Change-Id: I117bd9ef3f4f3c8792f4b6692d7b70ad69b6922d
* | | Merge "Revert "Support filegroup in exclude_srcs"" am: f5801db4cc am: 62c06ce8edTobias Thierer2018-02-091-1/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | am: 019405de4a Change-Id: Icb19a5b8d36d3333aadefc0d6ca471add9d08d3e
| * | | Revert "Support filegroup in exclude_srcs"Tobias Thierer2018-02-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f36a3d9b6da654bf8bd7a49315b1625cf0e774ce. Reason for revert: Broke several builds. I'm acting build cop, reverting. Bug: 70351683 Change-Id: I775ada4e9cb6473519d51420b41b818af163da44
* | | | Merge "Support filegroup in exclude_srcs" am: a9e0fabae1 am: 4357144070Nan Zhang2018-02-091-0/+1
|\| | | | |_|/ |/| | | | | | | | | | | am: 53509e591b Change-Id: I625381c713986c42a5857b2252ecbbbf0e04749f
| * | Support filegroup in exclude_srcsNan Zhang2018-02-071-0/+1
| |/ | | | | | | | | | | Test: add unit-test, m -j32 Bug: b/70351683 Change-Id: Iff83c56d45dd668d9df6131c7df2e23e5c73a21b
* | Merge "Enable emutls with -flto for Android sanitize=cfi" am: 966bdded1f am: ↵Ryan Prichard2018-02-072-1/+8
|\| | | | | | | | | | | | | | | 9787126b17 am: 0beba440a3 Change-Id: Iee5a209b3fdfe3aea204eb873c94c9bf74cfbf89
| * Merge "Enable emutls with -flto for Android sanitize=cfi"Treehugger Robot2018-02-072-1/+8
| |\
| | * Enable emutls with -flto for Android sanitize=cfiRyan Prichard2018-02-062-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -fsanitize=cfi requires LTO. Normally, the Clang driver automatically enables emutls, but it's broken with -flto, so work around it by passing -Wl,-plugin-opt=-emulated-tls. See https://buganizer.corp.google.com/issues/72706604#comment15 Enable the workaround with ctx.Device(), which is the same condition used in the existing I18acac41aac885fc6635fbd55f96ba7c845eb5e7 workaround. Bug: b/72706604 Bug: https://github.com/android-ndk/ndk/issues/498 Test: m libaudioflinger (on internal master); \ readelf -sW symbols/system/lib64/libaudioflinger.so | grep tlNBLogWriter check that __emutls_t.tlNBLogWriter exists check that no symbols of type TLS exist Change-Id: I2cf65574c52476843cc017ee176a7d6777e2ce0b
* | | Merge "Support filegroups for version_script and related properties" am: ↵Colin Cross2018-02-072-6/+16
|\| | | | | | | | | | | | | | | | | | | | | | | ca59511e21 am: 4009b12ead am: bfbda64f6a Change-Id: Iace6d60c3d05af33825a5066caacf169bf7b541c
| * | Merge "Support filegroups for version_script and related properties"Treehugger Robot2018-02-072-6/+16
| |\ \