aboutsummaryrefslogtreecommitdiffstats
path: root/cc
Commit message (Collapse)AuthorAgeFilesLines
* Split logtags implementations for cc and javaColin Cross2017-12-072-0/+7
| | | | | | | | | | | | | | | | Logtags files in cc and java are treated fundamentally differently. In cc, they are not used for compiling at all, but need to be passed to Make to be combined into the global logtags list, and logtag files are listed in a logtags property. In java they are listed in srcs and produce generated code that is compiled in, and so shouldn't also need to be listed in a logtags property. Move the logtags property to cc and export it to Make from there, and have java extract logtags files from srcs to be exported to Make. Test: m checkbuild Change-Id: I31d49289efe72db60d2f33566df771b4a3ebc8a0
* Merge "Remove 6 directories from WarningAllowed*Projects."Chih-hung Hsieh2017-12-071-6/+0
|\
| * Remove 6 directories from WarningAllowed*Projects.Chih-Hung Hsieh2017-12-071-6/+0
| | | | | | | | | | Test: normal build Change-Id: I44381a2a7994d9f74329b0516d2bb303b5866a66
* | Run gofmt -wColin Cross2017-12-062-2/+2
|/ | | | | Test: none Change-Id: I2b503e06a4ae8e72a08f6bfb64692dfd33e2b7e2
* Allow warnings in libbufferhub.Chih-Hung Hsieh2017-12-051-0/+1
| | | | | | | * This directory still has warnings. Test: normal build Change-Id: Ie322ebf38d828d63e9115308b8e71769fc2a452a
* Reduce WarningAllowedProjects.Chih-Hung Hsieh2017-12-051-7/+0
| | | | | | | * Warnings were fixed or suppressed in these projects. Test: normal build Change-Id: I24ef1b59d6c5ccd50979b7d792764de9d6da7e30
* Install VNDK snapshot libraries for system buildJustin Yun2017-12-054-3/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When BOARD_VNDK_VERSION := <VNDK version>, or PRODUCT_EXTRA_VNDK_VERSIONS includes the needed <VNDK version> list, the prebuilt VNDK libs in prebuilts/vndk/ directory will be installed. Each prebuilt VNDK module uses "vndk_prebuilt_shared" for shared VNDK/VNDK-SP libs. Following is the sample configuration of a vndk snapshot module: vndk_prebuilt_shared { name: "libfoo", version: "27", vendor_available: true, vndk: { enabled: true, }, arch: { arm64: { srcs: ["arm/lib64/libfoo.so"], }, arm: { srcs: ["arm/lib/libfoo.so"], }, }, } The Android.bp for the snapshot modules will be auto-generated by a script. Bug: 38304393 Bug: 65377115 Bug: 68123344 Test: set BOARD_VNDK_VERSION := 27 copy a snapshot for v27 build with make command Change-Id: Ib93107530dbabb4a24583f4d6e4f0c513c9adfec
* No need to dump modules added -Werror.Chih-Hung Hsieh2017-12-042-3/+0
| | | | | | | | | * This reduces size of output file wall_werror.txt. * Stop collecting SOONG_MODULES_ADDED_WERROR. Bug: 66996870 Test: normal build Change-Id: Ic6d87f6ee2b36b90ad0de4ac4f6f176334aba55e
* Merge "Add system_$(VER)"Treehugger Robot2017-12-011-1/+1
|\
| * Add system_$(VER)Sundong Ahn2017-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | The system_$(VER) is added for vendor, similar to sdk. Bug: 67724799 Test: build Merged-In: I2545c92707591ca278066870c74e9f49e9825855 Change-Id: I2545c92707591ca278066870c74e9f49e9825855 (cherry picked from commit b8baff1fa353a311c3dd918dfa29ec45dd0168be)
* | Add base variables for windows clangDan Willemsen2017-11-302-8/+65
|/ | | | | | | | | This just copies most of what exists for clang on Linux, but doesn't actually turn on clang support. Bug: 69933068 Test: m nothing; compare ninja files Change-Id: I2cf203026e7ced32004a91d7f3baf4a6415085eb
* Expose $(prefix)CLANG_SUPPORTED to makeDan Willemsen2017-11-301-0/+4
| | | | | | | | So that we can switch clang on and off for windows from just Soong. Bug: 69933068 Test: grep CLANG_SUPPORTED out/soong/make_vars-aosp_arm.mk Change-Id: Ic304c1138ee2302c5733ef465bd462a0a25e949f
* Merge changes Ic88be643,Ibe21efdeTreehugger Robot2017-11-3010-28/+28
|\ | | | | | | | | | | * changes: Replace ModuleContext.AConfig() with Config() Make *Context.Config return a Config instead of a interface{}
| * Replace ModuleContext.AConfig() with Config()Colin Cross2017-11-309-27/+27
| | | | | | | | | | | | | | | | | | AConfig() now duplicates Config(). Replace the uses of AConfig() with Config(). Leave AConfig() for now until code in other projects is cleaned up. Test: m checkbuild Change-Id: Ic88be643049d21dba45dbd1a65588ed94bf43bdc
| * Make *Context.Config return a Config instead of a interface{}Colin Cross2017-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Soong, a Config() method will always return a Config. Make ModuleContext, SingletonContext, TopDownMutatorContext and BottomUpMutatorContext's Config() methods explictly return a Config to avoid having to type-assert everywhere. Overriding the Config method requires duplicating the list of methods in blueprint.BaseModuleContext and blueprint.BottomUpMutatorContext, following the same pattern used by the other *Contexts. Config() obsoletes the AConfig() method used in some places, which will be cleaned up in the next patch. Test: m checkbuild Change-Id: Ibe21efde933959811d52443496967ab8ce71215e
* | Reduce WarningAllowedProjects.Chih-Hung Hsieh2017-11-291-8/+0
|/ | | | | | | * Warnings were fixed or suppressed in these projects. Test: normal build Change-Id: I5eec81704472c1675adf5fa784112c025f3c0222
* Merge "Sort cfi static libs to make them consistent"Jeff Gaston2017-11-291-0/+2
|\
| * Sort cfi static libs to make them consistentJeff Gaston2017-11-281-0/+2
| | | | | | | | | | | | | | | | To make it easier to diff the ninja files with diff_build_graphs.sh Bug: b/69133815 Test: m -j Change-Id: Ic08094f7dc3adb773ebb64a7d34125fc24641bf3
* | Wrap PackageContext and SingletonContextColin Cross2017-11-299-63/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrap blueprint.PackageContext so that the *Func methods can provide an android.Config instead of an interface{}. The modified signatures means that every method in ModuleContext and SingletonContext that takes a blueprint.PackageContext now needs to be wrapped to take an android.PackageContext. SingletonContext wasn't previously wrapped at all, but as long as it is, wrap everything like ModuleContext does. This requires updating every Singleton to use the android-specific methods. Test: builds, all Soong tests pass Change-Id: I4f22085ebca7def6c5cde49e8210b59d994ba625
* | Merge "Skip MIPS headers when generating NDK prebuilts"Elliott Hughes2017-11-281-0/+9
|\ \
| * | Skip MIPS headers when generating NDK prebuiltsLazar Trsic2017-11-281-0/+9
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When generating NDK prebuilts, skip installing MIPS headers, but keep them when doing regular platform build. Ndk_abis property is only set to true with build/soong/scripts/build-ndk-prebuilts.sh Revert this once MIPS is supported in NDK again. This effectively skips installing the following header modules when creating NDK prebuilts: - libc_asm_mips - libc_asm_mips64 This fixes the issue introduced by commit: 050f046 Remove mips/mips64 headers from the NDK sysroot. Test: build/soong/scripts/build-ndk-prebuilts.sh Test: build aosp_mips[64]-eng Change-Id: I3af73649bc8ac304bca0e21ec81f156abe546c90 Signed-off-by: Lazar Trsic <Lazar.Trsic@mips.com>
* | Merge "Copy abidiffs into /abidiffs on abi breakages."Jayant Chowdhary2017-11-281-5/+13
|\ \
| * | Copy abidiffs into /abidiffs on abi breakages.Jayant Chowdhary2017-11-271-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 64267858 Test: create reference abi dump for libjpeg locally. Change return type of libjpeg_std_err and build with : BOARD_VNDK_VERSION=current mm -j64 showcommands dist Build fails and abidiff report gets copied into out/dist/abidiffs. Change-Id: I7c8ecfac95361e731009e5913bd3a7bb323a9597
* | | Have Soong cc static linker dep order account for shared deps tooJeff Gaston2017-11-272-46/+117
| |/ |/| | | | | | | | | | | Bug: b/69639803 Test: m -j nothing # which runs unit tests Test: m -j checkbuild Change-Id: I2eedfe8b88ec5c715ef729bf113d168a2bc3524d
* | Merge "Reduce how often both mutated variants are needed."Treehugger Robot2017-11-221-23/+62
|\ \
| * | Reduce how often both mutated variants are needed.Vishwath Mohan2017-11-211-23/+62
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL rolls back how often we bubble up both sanitized and un-sanitized variants of a component. With this change only CFI-enabled target static libraries will do this, all other cases suppress one of the two variants (both from being installed and from being exposed to Make for make-embedded builds). This means we shouldn't need a separate sanitizer suffix for ASAN at all (.asan), and similarly for non static-lib CFI components (.cfi), so this CL changes that as well. Lastly, because the version of ar meant for the host is not built with plugin support (which CFI requires), this CL disables CFI for host targets. This CL should fix the following 2 issues: (1) Removing warnings about multiple rules existing for the same installable target. (2) Fixing VTS packaging, which had been broken by the generation of the .asan suffix. Bug: 69172424, 69059192, 67507323 Test: m -j40 # Soong generated .mk file does not have duplicate rules. Test: SANITIZE_TARGET="address" m -j40 libstagefright # installed correctly. Change-Id: Ib90fdbc8a6ad3924fc2a691b7277a8a1bc67cda8
* | Merge "Use -mcpu=cortex-a53 for devices with Kryo"Treehugger Robot2017-11-211-4/+5
|\ \
| * | Use -mcpu=cortex-a53 for devices with KryoPirama Arumuga Nainar2017-11-211-4/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | Bug: http://b/69481735 While Clang supports -mcpu=kryo, the GNU assembler doesn't. Use Cortex-a53 instead, which is close to Kryo. The current alternative of using Krait causes problems when also using armv8, which is not available in Krait. Test: Build marlin with internal CL 3248394 cherry-picked. Change-Id: I571739e6ab4f1b37fafb304ecad2865c9394e04f
* / Add default -Wall -Werror or -Wall.Chih-Hung Hsieh2017-11-204-0/+118
|/ | | | | | | | | | | | | | | | | | * When -Wno-error and -Werror are not used: add -Wall to the front of cflags if the project is in the WarningAllowedProjects, otherwise add -Wall -Werror. * Add -Wall -Werror to ndk_library build targets. * Collect names of modules with -Wno-error or without -Werror, and pass them to makefile variables: SOONG_MODULES_USING_WNO_ERROR SOONG_MODULES_ADDED_WERROR SOONG_MODULES_ADDED_WALL * Generate ANDROID_WARNING_ALLOWED_PROJECTS for old makefiles. Bug: 66996870 Test: normal build Change-Id: I31385e12b80ca946c7395a5a184ef259b029aac6
* Merge "Revert "Set -fomit-frame-pointer for all devices""Treehugger Robot2017-11-183-2/+4
|\
| * Revert "Set -fomit-frame-pointer for all devices"Colin Cross2017-11-183-2/+4
| | | | | | | | | | | | | | | | | | | | This reverts commit 20823f95e6d90d7961b3c97ec57b4bcb2b8a24ab. Reason for revert: caused a minor performance regression in some benchmarks. Bug: 69470341 Test: builds Change-Id: I1a852b5d7a2aa1d08ecb54617898f814cddd7600
* | Add license headers to all go and shell filesColin Cross2017-11-173-0/+42
| | | | | | | | | | Test: none Change-Id: I75c443e05f2b1e17fcb6823182717d2e6f5df7c4
* | Fix using aidl files from filegroupsColin Cross2017-11-177-17/+100
| | | | | | | | | | | | | | | | Compute sources including from filegroup and genrule dependencies before determining if any sources will cause flags to be added. Test: gen_test.go Change-Id: I0434b003bbda07a58bb2ce1a0a72997918c8fae2
* | Add cc_library testsColin Cross2017-11-173-1/+191
|/ | | | | | | | Add tests around reusing objects between static and shared libraries. Test: library_test.go Change-Id: I1a1a01c5ea9f9edfbcaa5b29c39c281630e04f70
* Set -fomit-frame-pointer for all devicesColin Cross2017-11-153-4/+2
| | | | | | | | | | | -fomit-frame-pointer was only being set for arm and mips. Since we always use unwind tables and not frame pointers to unwind, and since ART generated code does not use frame pointers, just turn off frame pointers everywhere to gain an extra register. Bug: 68951394 Test: m checkbuild Change-Id: I9237d486a0c0215cdafd96d66712082df0eba785
* Merge changes Iae2bda98,I68e64888,I75af16e7Treehugger Robot2017-11-159-60/+18
|\ | | | | | | | | | | | | * changes: Remove gcc-specific optimizations Move some flags to affect all devices Move -fvisibility-inlines-hidden to global device cppflags
| * Remove gcc-specific optimizationsColin Cross2017-11-146-38/+1
| | | | | | | | | | | | | | | | | | | | These flags were added for gcc, but are always stripped out when compiling for clang. Since gcc is barely used, removed them. Bug: 68855788 Bug: 68947919 Test: m checkbuild Change-Id: Iae2bda9808dd9499848ce145ccdf71c4c490b80e
| * Move some flags to affect all devicesColin Cross2017-11-147-10/+2
| | | | | | | | | | | | | | | | | | | | Move -fdata-sections and -fno-short-enums to global device flags. -fdata-sections was not previously set on x86[_64], -fno-short-enums was not previously set on mips[64]. Bug: 68855788 Test: m checkbuild Change-Id: I68e64888d5414fc022366eb2b6c5cd92c28a5542
| * Move -fvisibility-inlines-hidden to global device cppflagsColin Cross2017-11-137-12/+15
| | | | | | | | | | | | | | | | | | It was previously set on arm[64] and mips[64], this will cause it to be set for x86[_64] too. Bug: 68855788 Test: m checkbuild Change-Id: I75af16e7d259963ad633cc664929144332bb435d
* | Make cc.NewLLndkStubLibrary as publicJiyong Park2017-11-141-2/+2
|/ | | | | | | | | | We need to extend llndk_library to automatically set symbol_file for the llndk version of libclang_rt.asan* libraries. Bug: 67011251 Test: build Change-Id: Ib6964817759f9228456e4fb2a27fce3bc09423a9
* Merge "Change remaining properties to *string, *bool in Soong."Treehugger Robot2017-11-131-9/+9
|\
| * Change remaining properties to *string, *bool in Soong.Nan Zhang2017-11-091-9/+9
| | | | | | | | | | | | Test: m -j checkbuild Bug: b/68853585 Change-Id: I0fd10ff31e90c1941e80cfbf25e40e9988f1e202
* | Re-enable -Wunknown-warning-optionPirama Arumuga Nainar2017-11-101-3/+0
|/ | | | | | | | | Bug: http://b/68236396 This warning only needs to be enabled for frameworks/base/core/jni. Test: Build the topic Change-Id: I9f6aab2045f135d691696f9fd461c895a5aadb38
* Merge "Pass results of Finder into Blueprint"Jeff Gaston2017-11-091-1/+1
|\
| * Pass results of Finder into BlueprintJeff Gaston2017-11-081-1/+1
| | | | | | | | | | | | | | Bug: 64363847 Test: m -j Change-Id: I79db8c524af6e77c35a0199ec1876e5eb94e8971
* | CFI include/exclude path support (Soong)Vishwath Mohan2017-11-081-1/+16
|/ | | | | | | | | | | | | This CL adds the ability to centrally enable or disable CFI for components using either an environment or product config variable. This is a better, nore manageable option that enabling CFI across each component individually. Bug: 67507323 Test: CFI_INCLUDE_PATHS= system/nfc m -j40 Test: CFI_EXCLUDE_PATHS = frameworks/av m -j40 Change-Id: I38b77946759121aec99ab25f31aaee2e5d993f73
* Merge "Change bool, and string properties to *bool, and *string for cc"Treehugger Robot2017-11-0818-108/+110
|\
| * Change bool, and string properties to *bool, and *string for ccNan Zhang2017-11-0718-108/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | there's no use case for prepending/appending to bool, and string properties within module struct. Declearing "*bool" and "*string" almost cover everything user need. I did see one case that user specify relative_install_path as path prefix in cc_defaults, and concatenate with the one in real module to get the final relative install path in Android.bp <bionic/tests/libs>. Test: m -j checkbuild Bug: b/68853585 Change-Id: If3a7a2689c3fc307aae136af6bc9c57f27a1e1a0
* | Generic 32-bit armv8 built as generic armv7 fixIsaac Chen2017-11-081-3/+1
|/ | | | | | | | | | | | | | | | | | | | | When the following lines are specified in the BoardConfig.mk TARGET_2ND_ARCH_VARIANT := armv8-a TARGET_2ND_CPU_VARIANT := generic The resulted binaries won't be built using 32-bit armv8-a integer division instructions. Instead, division routines are used because the build system will set a compiler option "-march=armv7-a", and hence overwiting the previous "-march=armv8-a", when TARGET_2ND_CPU_VARIANT is set to generic (or unset). Bug: 67446726 Test: lunch aosp_arm64; make -j; emulator # boot to home screen Also verify -march=armv7-a is not specified in the compiler command line and the resulted binary actually uses integer division instructions. Change-Id: I430687aa5a658d2ec9f325a66d849b4c8898c7d5
* Merge changes Ie8ecb6c9,Ia9befd7cTreehugger Robot2017-11-061-1/+1
|\ | | | | | | | | | | * changes: Use relative paths in copygcclib.sh deps files Move -fno-canonical-system-headers to global cflags