aboutsummaryrefslogtreecommitdiffstats
path: root/cc
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add libwinpthread, link it into win32 binaries."Josh Gao2017-02-241-0/+4
|\
| * Add libwinpthread, link it into win32 binaries.Josh Gao2017-02-231-0/+4
| | | | | | | | | | | | | | Bug: http://b/31665213 Test: wine adb.exe Test: wine fastboot.exe Change-Id: I6d6ff69f0c016e2654119a09161685841cbccc7e
* | Add preprocessed_ndk_headers.Dan Albert2017-02-222-29/+171
|/ | | | | | | | | | | | | Prototypes in the bionic headers are annotated with `__INTRODUCED_IN` tags that are processed by bionic/tools/versioner into their usable form (tags replaced with `#if __ANDROID_API__ >= foo` guards). We've previously done this as a periodic manual step with the results checked in to prebuilts/ndk, but that's been a huge hassle for me. Make the tool a part of the build instead. Test: make checkbuild Bug: http://b/35673791 Change-Id: I2f5c1aeae239ac4ab6616eb5c71360e3055f86d5
* Export cc_library_headers as BUILD_HEADER_LIBRARYDan Willemsen2017-02-161-12/+45
| | | | | | | | | And support the reverse translation in androidmk. Test: Use a cc_library_headers using LOCAL_HEADER_LIBRARIES in make Test: androidmk with LOCAL_HEADER_LIBRARIES Test: androidmk with soong's Android-*.mk file for BUILD_HEADER_LIBRARIES Change-Id: I17adedb62151f62e67e2168b09ad87f1d5648df6
* Merge "Export header libraries to make as static libraries"Colin Cross2017-02-161-4/+4
|\
| * Export header libraries to make as static librariesColin Cross2017-02-151-4/+4
| | | | | | | | | | | | | | | | | | | | Header libraries were building an empty .a file but setting LOCAL_MODULE_CLASS := SHARED_LIBRARIES. Make the static and shared checks in libraryDecorator.AndroidMk explicit. Bug: 35228396 Test: builds, examine out/soong/Android-${TARGET_PRODUCT}.mk Change-Id: I5653ae92bb41d440d8c3ff4b6d509be188feb961
* | Merge "Blacklist code for CFI."Treehugger Robot2017-02-152-6/+11
|\ \ | |/ |/|
| * Blacklist code for CFI.Vishwath Mohan2017-02-152-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Adds the -fsanitize-blacklist option for CFI, using the built in blacklist at external/compiler-rt/lib/cfi/cfi_blacklist.txt. Also refactors the CFI cflags and ldflags into cc/makevars.go to ensure they're consistent across Soong and make projects. Bug: 30227045 Test: ENABLE_CFI=true m -j40 builds and boots. Test: The blacklist prevents runtime errors that otherwise occur. Change-Id: I91c5420478e7290061d89338a86abdef69c67fe2
* | Merge "Ban --coverage now that we have native coverage"Treehugger Robot2017-02-151-0/+4
|\ \
| * | Ban --coverage now that we have native coverageDan Willemsen2017-02-141-0/+4
| | | | | | | | | | | | | | | | | | Bug: 32749731 Test: m -j Change-Id: Icb6ca0d846cba0ca842d3fb12dde1f1e8701cf5d
* | | Build a static library for header-only librariesColin Cross2017-02-143-26/+45
|/ / | | | | | | | | | | | | | | | | | | | | | | library.static() was being used to determine if a library was static, shared, or header only, which resulted in header only libraries behaving like shared libraries, when they should be treated as static libraries with no sources. Explicitly use library.static(), library.shared(), and library.header() instead. Bug: 35228396 Test: builds, manually examine changes to build.ninja and Android.mk Change-Id: I51729992cc6338deda1396b86f12bc9f73e674d8
* / Native Coverage support in Soong (gcov)Dan Willemsen2017-02-147-20/+236
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge "Disble CFI for ARM32 processes."Vishwath Mohan2017-02-131-0/+6
|\
| * Disble CFI for ARM32 processes.Vishwath Mohan2017-02-081-0/+6
| | | | | | | | | | | | | | | | | | This CL disables CFI for 32-bit ARM processes, which is broken due to a compiler error in the most recent version of clang. Bug: 35157333 Test: ENABLE_CFI=true m -j40 does not enable CFI for 32-bit processes Change-Id: I52ccf60d91ff1a2af4cf024376b7d70f87040674
* | Merge "Add RenderScript toolchain information to soong."Jayant Chowdhary2017-02-082-0/+15
|\ \ | |/ |/|
| * Add RenderScript toolchain information to soong.Jayant Chowdhary2017-02-072-0/+15
| | | | | | | | | | | | Test: make -j64 from top of tree. Change-Id: I9e853e64924f26719c0cd7ae8de4958fe97ca04e
* | Fix CMakeList generator CFlag bugFabien Sanglard2017-02-071-1/+40
| | | | | | | | | | | | | | Properly process CFlags featuring quotes and double quotes. Test: on libui and libgui Change-Id: I8581cef9ccc595b6e05d77bee7bea82f2efd219b
* | Add support for CMakefile generationFabien Sanglard2017-02-073-7/+366
| | | | | | | | | | | | Test: Manually generated CMakeLists.txt for gui/ui/aapt2. Change-Id: I7dedc300c1e50b8e39bc58091b650c0bbe2c62da
* | Added phony module type for soong.Nan Zhang2017-02-061-1/+1
|/ | | | | | | | | The "required" field within "phony" module in .bp file has to be non-empty. And "phony" module doesn't contain any "src" files. Bug: b/32981153 Test: make -j out/soong/build.ninja Change-Id: Iaa2009467c44702572b97ca9cbd02c1d368c8d83
* Merge "Support data properties for test binaries"Colin Cross2017-02-063-2/+231
|\
| * Support data properties for test binariesColin Cross2017-02-023-2/+231
| | | | | | | | | | | | | | | | | | | | | | Allow tests to specify a data property that lists files or filegroup modules that will be packaged alongside the test. Also add a path property to filegroup modules to allow shifting the path of the packaged files, and add ExpandSourcesSubDir to expand the filegroup sources while including a shifted relative path in the Paths objects. Test: soong tests, manually adding data to a module Change-Id: I52a48942660e12755d313ef13279313361b4fc35
* | Merge "Add c_std and cpp_std properties."Treehugger Robot2017-02-063-3/+28
|\ \
| * | Add c_std and cpp_std properties.Dan Albert2017-02-033-3/+28
| | | | | | | | | | | | | | | | | | Test: Checked showcommands ouput for each setting. Bug: None Change-Id: Ibe02352f19ca2777b9a419136270e5c4390f1149
* | | Disable CFI on Mips and add -march to linkflags on ARM.Evgenii Stepanov2017-02-031-1/+5
|/ / | | | | | | | | | | | | | | | | Mips toolchain does not have ld.gold. ARM change is a workaround for LLVM r290384. Bug: 33678192 Test: make ENABLE_CFI=1 Change-Id: I189ffd42760f0ea8d151717337b9355b37cb207b
* / Remove duplicate code.Evgenii Stepanov2017-02-031-5/+0
|/ | | | | Test: NFC Change-Id: I63a1b1ee244c2ab015914e1879aefc3ba8f886b0
* Merge "Switch to clang-3688880."Stephen Hines2017-02-011-2/+2
|\
| * Switch to clang-3688880.Stephen Hines2017-01-311-2/+2
| | | | | | | | | | | | Bug: http://b/31532493 Test: Manual validation. Change-Id: I386c7fc06bd4ca092535365bccbed0a898eb69da
* | Allow clang builds to disable -pieColin Cross2017-01-301-3/+8
|/ | | | | | | | | | | | -pie triggers a bug in glibc's linker when used with goma (https://sourceware.org/bugzilla/show_bug.cgi?id=16381). Allow the clang build to disable -pie for host modules through the DISABLE_HOST_PIE environment variable so it can produce a toolchain that works with goma. Bug: 15814177 Bug: 34722791 Change-Id: Ic664a1b821aaeaf2bde14b0afa1a1975e31300cb
* Don't force libraries upon static executables.Dan Albert2017-01-261-1/+1
| | | | | | | | | | | | | | The linker uses libc++_static but needs to avoid the libc.a dependency. It does this by setting `stl: "none"` and manually linking libc++. This behavior matches make. A better approach would probably be to generalize system_shared_libs to system_libs and apply those to static executables the same way we do for dynamic ones, but that's a patch for another day. Test: make checkbuild Bug: http://b/34740564 Change-Id: Ie9da0d49a453a220593e8ec2ee721e9af9378007
* Merge "Add libc++ and libc++_static aliases for SDK builds."Treehugger Robot2017-01-261-0/+4
|\
| * Add libc++ and libc++_static aliases for SDK builds.David Benjamin2017-01-251-0/+4
| | | | | | | | | | | | | | | | | | c++_shared and c++_static are named libc++ and libc++_static in every other mode. Allow the same names so targets which are built for both host and device with SDK may specify a single name for the STL. Test: external/boringssl is able to use "libc++_static" as the STL. Change-Id: Ibc579c7e24ddb8de12fbfc6e1b5d80648efa589e
* | Merge "Revert "Switch to clang-3625443.""Brian Carlstrom2017-01-261-2/+2
|\ \
| * | Revert "Switch to clang-3625443."Stephen Hines2017-01-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1d7513decd988163f340bc3856ecc35852dae692. Reason for revert: <INSERT REASONING HERE> Change-Id: Ida39c91bfc70ba60b2a3113544ec43c566b6c494
* | | Merge "Switch to clang-3625443."Treehugger Robot2017-01-261-2/+2
|\| |
| * | Switch to clang-3625443.Stephen Hines2017-01-231-2/+2
| | | | | | | | | | | | | | | | | | Bug: http://b/31532493 Test: Manual validation. Change-Id: I9891e817342e45f16afa4acb57d2d136e16161a6
* | | Disable global coverage when a module disables asan.Evgenii Stepanov2017-01-241-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With SANITIZE_TARGET="address coverage", if a module disables ASan (address: false), it is left with just coverage, which is not supported. In that case, disable coverage as well. Bug: 33091541 Test: see above Change-Id: Idcd04dad8cab7c7e2644d2408b1b8a381490e5af
* | | Force Thumb for CFI targets.Evgenii Stepanov2017-01-201-0/+5
| |/ |/| | | | | | | | | Bug: 22033465 Test: bionic device tests Change-Id: I672ccc970309631fa895b7134a32c0d403a2151e
* | Merge "Hide CFI behind a global flag."Vishwath Mohan2017-01-201-0/+5
|\ \
| * | Hide CFI behind a global flag.Vishwath Mohan2017-01-191-0/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | 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
* / Export cc_test as Make class NATIVE_TESTSDan Willemsen2017-01-171-0/+1
|/ | | | | | | | So that make can tell the difference. Bug: 32177952 Test: Diff build-aosp_arm64.ninja before/after Change-Id: Icd98ea5f5b4127bf84197c6b651a72708eec57f1
* Allow `unversioned_until: "current"`.Dan Albert2017-01-051-0/+8
| | | | | | | | | | | | Since most system libraries aren't actually versioned yet, we shouldn't be building the stub libraries with version info just yet. Setting `unversioned_until: "current"` will not use the version script for anything but android-current (this way when the version script is applied, we'll immediately catch it if they don't match). Test: Updated frameworks/wilhelp to use this, make ndk Bug: https://github.com/android-ndk/ndk/issues/278 Change-Id: I0dab7fd21bb0f063c39368d37feaa3f822e908ce
* Add unversioned_until to ndk_library.Dan Albert2017-01-031-2/+39
| | | | | | | | | | | | This defaults to the value of first_version, and should almost never be used. This is only needed to work around platform bugs like https://github.com/android-ndk/ndk/issues/265. Test: Set `unversioned_until: "24"` for libGLESv3.ndk, readelf on the android-23 and android-24 outputs to check for version info. Bug: https://github.com/android-ndk/ndk/issues/265 Change-Id: Ie44b170daad692fdc98e7d7c5f10f9077930b8a9
* Support versioned=%d at the section level.Dan Albert2017-01-032-3/+19
| | | | | | Test: nose2 Bug: https://github.com/android-ndk/ndk/issues/265 Change-Id: I4c22cb8069f41861613ecf01f7e1adbe1d3118a9
* Allow disabling the named test directory for cc_testDan Willemsen2016-12-271-1/+12
| | | | | | | | | | | | | | | | Some external test suites (LTP in this case), have their own expected layout, and don't fit well with our /data/nativetest/<testname>/<testname> layout, nor do they work with test_per_src. So allow setting no_named_install_directory along with relative_module_path to specify a custom test path: no_named_install_directory: true, relative_module_path: "ltp/testcases/bin", Test: Convert LTP Change-Id: Ib002c058674e8b960a4fdc3af1a25c8bcaeb1d63
* Support filegroupsColin Cross2016-12-172-1/+5
| | | | | | | | | | filegroup is a module that contains a list of files, and can be used to export files across package boundaries. filegroups (and genrules) can be referenced from srcs properties of other modules using the syntax ":module". Test: m -j Change-Id: I3d6fc4819c0b4225b474e0ad42f0d947f55a5961
* Remove frameworks/base/include from the global include pathColin Cross2016-12-161-1/+0
| | | | | | | | It is empty now. Bug: 33630870 Test: m -j native Change-Id: I8f41b56594241aced0f874af2fa73207b51ff8d6
* Only export exported header libsColin Cross2016-12-151-2/+9
| | | | | Test: m -j native Change-Id: Ia0e5b28495e049ba8037884d2c498a1b59012bbe
* Merge "Export LLVM_RELEASE_VERSION"Treehugger Robot2016-12-151-0/+1
|\
| * Export LLVM_RELEASE_VERSIONDan Willemsen2016-12-141-0/+1
| | | | | | | | | | Test: m -j libc; check out/soong/make_vars-*.mk Change-Id: Ic29407d8b2ecc69f8d95102bca81bec3f0c5012b
* | Merge "Move frameworks/native/opengl/include from -isystem to -I"Treehugger Robot2016-12-151-1/+1
|\ \ | |/ |/|