Commit Graph

3749 Commits

Author SHA1 Message Date
Treehugger Robot
46029a4131 Merge changes Ic88be643,Ibe21efde
* changes:
  Replace ModuleContext.AConfig() with Config()
  Make *Context.Config return a Config instead of a interface{}
2017-11-30 02:21:30 +00:00
Chih-Hung Hsieh
90aee69ac6 Merge "Reduce WarningAllowedProjects." am: c92168f08d am: 9741b57ad8
am: 3365041fae

Change-Id: Ia26ecbbcf1a68c1648fce9f416eb11b508e328b0
2017-11-30 01:03:30 +00:00
Colin Cross
6510f91a1c Replace ModuleContext.AConfig() with Config()
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
2017-11-30 00:44:18 +00:00
Colin Cross
aabf67968c Make *Context.Config return a Config instead of a interface{}
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
2017-11-30 00:44:11 +00:00
Chih-Hung Hsieh
0082636a14 Reduce WarningAllowedProjects.
* Warnings were fixed or suppressed in these projects.

Test: normal build
Change-Id: I5eec81704472c1675adf5fa784112c025f3c0222
2017-11-29 13:52:26 -08:00
Jeff Gaston
4aeb0e984a Merge "Sort cfi static libs to make them consistent" am: 5313911912 am: aa2476bd42
am: 62b9326663

Change-Id: I11ca05eb5dad3dff2ab95b4b44a252f2937dbe0d
2017-11-29 20:18:06 +00:00
Jeff Gaston
5313911912 Merge "Sort cfi static libs to make them consistent" 2017-11-29 19:58:38 +00:00
Colin Cross
22e8960a6d Wrap PackageContext and SingletonContext am: 0875c52de7 am: a0a0b7fd90
am: a0b69a22a9

Change-Id: I638dc4c80e2bd8a805bb92a23b5991b932bc0ab4
2017-11-29 05:25:41 +00:00
Colin Cross
0875c52de7 Wrap PackageContext and SingletonContext
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
2017-11-29 05:04:30 +00:00
Jeff Gaston
7276539d6a Sort cfi static libs to make them consistent
To make it easier to diff the ninja files with diff_build_graphs.sh
Bug: b/69133815
Test: m -j

Change-Id: Ic08094f7dc3adb773ebb64a7d34125fc24641bf3
2017-11-28 16:39:12 -08:00
Elliott Hughes
6bf790f87e Merge "Skip MIPS headers when generating NDK prebuilts" am: f2a56f0e0d am: 29e5618645
am: b9d8d85787

Change-Id: I352df73da06ad4992ba25bbb74e9f0d9800b1634
2017-11-28 23:52:11 +00:00
Elliott Hughes
f2a56f0e0d Merge "Skip MIPS headers when generating NDK prebuilts" 2017-11-28 23:26:03 +00:00
Jayant Chowdhary
ecf16f9221 Merge "Copy abidiffs into /abidiffs on abi breakages." am: 3e6584556d am: eb11ca9596
am: c86d1850c7

Change-Id: I399e16e00ae818bf7e3245f829a6301fce4dd436
2017-11-28 23:00:06 +00:00
Jayant Chowdhary
3e6584556d Merge "Copy abidiffs into /abidiffs on abi breakages." 2017-11-28 22:38:32 +00:00
Jeff Gaston
e839a68736 Merge "Have Soong cc static linker dep order account for shared deps too" am: 5921ab3347 am: f93e082b68
am: d384cc7b9a

Change-Id: I39d1dac7c19cab41fd5918ad6c7751ff65979f19
2017-11-28 20:44:34 +00:00
Lazar Trsic
cdb710fed5 Skip MIPS headers when generating NDK prebuilts
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>
2017-11-28 15:07:16 +01:00
Jayant Chowdhary
219139df8c Copy abidiffs into /abidiffs on abi breakages.
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
2017-11-27 17:16:29 -08:00
Jeff Gaston
f5b6e8f8c7 Have Soong cc static linker dep order account for shared deps too
Bug: b/69639803
Test: m -j nothing # which runs unit tests
Test: m -j checkbuild
Change-Id: I2eedfe8b88ec5c715ef729bf113d168a2bc3524d
2017-11-27 17:14:06 -08:00
Vishwath Mohan
07bea23f6b Merge "Reduce how often both mutated variants are needed." am: 5c986c3dc3 am: 24725d967b
am: bf7dbc748a

Change-Id: Ib553076a13d6a4581a0b92436644b2383dfc9fa5
2017-11-22 00:20:40 +00:00
Treehugger Robot
5c986c3dc3 Merge "Reduce how often both mutated variants are needed." 2017-11-22 00:05:30 +00:00
Pirama Arumuga Nainar
032939e376 Merge "Use -mcpu=cortex-a53 for devices with Kryo" am: 49b14daf03 am: 34fcefe690
am: 9a1483bfe6

Change-Id: Ie03c8344b712bf70cdac7c07bcda3c721fc58cb8
2017-11-21 22:19:39 +00:00
Vishwath Mohan
e712879d5d Reduce how often both mutated variants are needed.
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
2017-11-21 14:09:09 -08:00
Treehugger Robot
49b14daf03 Merge "Use -mcpu=cortex-a53 for devices with Kryo" 2017-11-21 22:05:44 +00:00
Chih-hung Hsieh
a48f9209eb Merge "Add default -Wall -Werror or -Wall." am: 488131912f am: 20cfee85b4
am: fc49581152

Change-Id: I4c1bbd4645a3a3dd378ebc890a9a5f0b5cab57bd
2017-11-21 21:30:57 +00:00
dimitry
2be7fa991c Ignore 'extern "C++"' section in a version script
This allows creating extern "C++" {} sections in version script in order
to export some of private platform symbols from NDK libraries.

Example for context: 3a11413a25/libs/nativewindow/include/private/android/AHardwareBufferHelpers.h

Bug: http://b/69603741
Test: make
Change-Id: I2f9e6678c0a6cd90113543e890786876d4c3e992
2017-11-21 20:31:48 +01:00
Pirama Arumuga Nainar
c17b275ed3 Use -mcpu=cortex-a53 for devices with Kryo
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
2017-11-21 09:35:42 -08:00
Chih-Hung Hsieh
64a38dcb18 Add default -Wall -Werror or -Wall.
* 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
2017-11-20 18:28:26 -08:00
Colin Cross
e2a1c906f3 Merge "Revert "Set -fomit-frame-pointer for all devices"" am: ea7b201536 am: 8a4e6952f6
am: 1d58fbc8d9

Change-Id: I392bdf00fe21d43c08385e948aa593f600907b27
2017-11-18 02:19:20 +00:00
Treehugger Robot
ea7b201536 Merge "Revert "Set -fomit-frame-pointer for all devices"" 2017-11-18 02:13:08 +00:00
Colin Cross
bc2c7c26e1 Revert "Set -fomit-frame-pointer for all devices"
This reverts commit 20823f95e6.

Reason for revert: caused a minor performance regression in some benchmarks.

Bug: 69470341
Test: builds
Change-Id: I1a852b5d7a2aa1d08ecb54617898f814cddd7600
2017-11-18 00:11:21 +00:00
Colin Cross
09f673cc5a Add license headers to all go and shell files am: d00350c61b am: 12a6e4705e
am: f168cbcf20

Change-Id: I068e1a8c332e9f0fbc39887890a897aff14d4e27
2017-11-17 23:14:42 +00:00
Colin Cross
d00350c61b Add license headers to all go and shell files
Test: none
Change-Id: I75c443e05f2b1e17fcb6823182717d2e6f5df7c4
2017-11-17 23:05:26 +00:00
Colin Cross
2a7fd69293 Merge changes I0434b003,I1a1a01c5 am: fd9b570c5e am: 93d0b33f46
am: 66c39fa0ff

Change-Id: Ie8725548854eb183d7318cf45efbc2c4b6e25c40
2017-11-17 21:15:20 +00:00
Colin Cross
f18e11074d Fix using aidl files from filegroups
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
2017-11-17 11:22:08 -08:00
Colin Cross
ad59e75a56 Add cc_library tests
Add tests around reusing objects between static and shared
libraries.

Test: library_test.go
Change-Id: I1a1a01c5ea9f9edfbcaa5b29c39c281630e04f70
2017-11-17 11:22:04 -08:00
Colin Cross
5ed07bf6ec Set -fomit-frame-pointer for all devices am: 20823f95e6 am: c7155993ee
am: 255924d2a2

Change-Id: I74da5f76ff30b53c294aa7dd2cd66b27180ce222
2017-11-15 21:56:05 +00:00
Colin Cross
20823f95e6 Set -fomit-frame-pointer for all devices
-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
2017-11-15 18:52:42 +00:00
Colin Cross
49ab9666ba Merge changes Iae2bda98,I68e64888,I75af16e7 am: d03553cf13 am: f053a45ad9
am: 59ec9ffe3c

Change-Id: I441f23f7de21754306ec7f387153ed81fb183021
2017-11-15 02:00:03 +00:00
Jiyong Park
46e61e26b2 Merge "Make cc.NewLLndkStubLibrary as public" am: 31c3239038 am: bd913486bf
am: 76681e64f7

Change-Id: I4d895c9a7f29f02d04835718ee1fa41ce780731e
2017-11-15 01:51:09 +00:00
Treehugger Robot
d03553cf13 Merge changes Iae2bda98,I68e64888,I75af16e7
* changes:
  Remove gcc-specific optimizations
  Move some flags to affect all devices
  Move -fvisibility-inlines-hidden to global device cppflags
2017-11-15 01:34:46 +00:00
Colin Cross
b37620f870 Remove gcc-specific optimizations
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
2017-11-14 17:43:33 +00:00
Colin Cross
ea3141d06d Move some flags to affect all devices
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
2017-11-14 17:43:24 +00:00
Jiyong Park
64ca4b722a Make cc.NewLLndkStubLibrary as public
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
2017-11-14 20:53:13 +09:00
Nan Zhang
b2bc27a53d Merge "Change remaining properties to *string, *bool in Soong." am: bafc47aea6 am: 0791bbf4ca
am: b84d38dc2e

Change-Id: Ic349292370b44b0ccc35b74e0af5e3d673458147
2017-11-14 11:31:49 +00:00
Pirama Arumuga Nainar
eaffec54ba Merge "Re-enable -Wunknown-warning-option" am: cc178b3e78 am: e25bbfdc04
am: e5d53e9cdf

Change-Id: Id4b71f0e0372987102e689653de9fefac21721d5
2017-11-14 11:22:38 +00:00
Colin Cross
26f14509d1 Move -fvisibility-inlines-hidden to global device cppflags
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
2017-11-13 15:18:19 -08:00
Treehugger Robot
bafc47aea6 Merge "Change remaining properties to *string, *bool in Soong." 2017-11-13 19:04:56 +00:00
Pirama Arumuga Nainar
4c0e1bf4e0 Re-enable -Wunknown-warning-option
Bug: http://b/68236396

This warning only needs to be enabled for frameworks/base/core/jni.

Test: Build the topic
Change-Id: I9f6aab2045f135d691696f9fd461c895a5aadb38
2017-11-10 13:54:47 -08:00
Nan Zhang
a5e7cb4eab Change remaining properties to *string, *bool in Soong.
Test: m -j checkbuild
Bug: b/68853585
Change-Id: I0fd10ff31e90c1941e80cfbf25e40e9988f1e202
2017-11-09 22:42:32 -08:00
Jeff Gaston
ce29f4ae9f Merge "Pass results of Finder into Blueprint" am: 99a5635733 am: 01452934fb
am: 8babc15d24

Change-Id: I6e6647ec2ab69a9c561f8582640dbec5671da635
2017-11-09 03:16:56 +00:00