Commit Graph

523 Commits

Author SHA1 Message Date
Colin Cross 3f7fda3150 Set LOCAL_PATH for each prebuilt module
am: 2630213418

* commit '2630213418aa7523ffabfd79c8ac9de3dde53767':
  Set LOCAL_PATH for each prebuilt module

Change-Id: Ie5ebd601e7d558f5d219e8968ca189be7db92fd7
2016-05-13 20:33:29 +00:00
Evgenii Stepanov 8391efac1b USE_SAFESTACK support in Soong.
Translated into product_variables.safestack.cflags.

Change-Id: Ieb55c050448ff04793431c249f482f2d4364e67a
2016-05-13 12:44:03 -07:00
Colin Cross 2630213418 Set LOCAL_PATH for each prebuilt module
Set LOCAL_PATH to the path to the blueprint file so that make can
generate MODULE-IN-* rules to make mma work.  Switch to using
LOCAL_PREBUILT_MODULE_FILE instead of LOCAL_SRC_FILES to specify the
location of the prebuilts relative to $(TOP).

This should also make notice files work.

Change-Id: I51c7aa1187e68c4c9095687461dd5e76cbd7292d
2016-05-13 12:30:12 -07:00
Dan Willemsen 88497c6866 Lock down environment variable access after all other singletons
am: e8b1bc0a68

* commit 'e8b1bc0a689322e2d8dcc92336af606b939c67c6':
  Lock down environment variable access after all other singletons

Change-Id: I69fa02ef4ddd0e58e223328d62b07823b7e158bd
2016-05-13 02:13:30 +00:00
Dan Willemsen e8b1bc0a68 Lock down environment variable access after all other singletons
To allow other singletons to use new environment variables, move env.go
to the end of the source list, so that its singleton is run last.

Change-Id: Ic92308f72fc0c92a0fedbc5546e337940e32eaab
2016-05-12 19:03:10 -07:00
Dan Willemsen ed32f1e7f5 Merge "Publish Soong configuration to Make variables"
am: 7f08e21941

* commit '7f08e2194177daafbc9c103a7d3f7df1bd0903d7':
  Publish Soong configuration to Make variables

Change-Id: Icf3d49722d8d40349f9bccdccfac121d864cbe56
2016-05-13 01:40:59 +00:00
Dan Willemsen 7f08e21941 Merge "Publish Soong configuration to Make variables" 2016-05-13 01:36:28 +00:00
Evgenii Stepanov c218cb0d65 Merge "Support SANITIZE_TARGET=safe-stack in soong."
am: 2522660da7

* commit '2522660da7fa8039176842e5e353a57e7f1d7772':
  Support SANITIZE_TARGET=safe-stack in soong.

Change-Id: I8ce38996f44c4696aa0f2847d81c5b1ea773648e
2016-05-12 22:03:57 +00:00
Evgenii Stepanov 2522660da7 Merge "Support SANITIZE_TARGET=safe-stack in soong." 2016-05-12 21:59:25 +00:00
Dan Willemsen 16d5bf282a Merge "Include objs from whole static libs before local objs"
am: 0414479ba4

* commit '0414479ba4f26598a5557d2334b9f5ec58c772f8':
  Include objs from whole static libs before local objs

Change-Id: I6421441336f37cbc165ff0eff652284e917eb8ca
2016-05-12 21:13:41 +00:00
Treehugger Robot 0414479ba4 Merge "Include objs from whole static libs before local objs" 2016-05-12 21:06:57 +00:00
Evgenii Stepanov 0a8a0d09d1 Support SANITIZE_TARGET=safe-stack in soong.
Change-Id: I570a7033ece82c5e76815dc1b81622b481930de4
2016-05-12 13:54:53 -07:00
Dan Willemsen 8c24aa647d Support custom suffixes on Makefile outputs
am: 174978cc58

* commit '174978cc5834844517fc58f396561f2b24f3a169':
  Support custom suffixes on Makefile outputs

Change-Id: I605bab05736bd44c988cb9fa752ca0d78327db3d
2016-05-12 20:44:06 +00:00
Dan Willemsen 4b7d5deb84 Publish Soong configuration to Make variables
For configuration like TARGET_GLOBAL_CFLAGS, it would be good to have
Make and Soong use the same values. This change adds an interface for
packages like cc to verify the current value of make variables match the
Soong equivalents, and once they're satisfied with the results, remove
the make definition and use the value from Soong.

The cc implementation exports a few variables currently that I expect to
match between both implementations in all cases. It also checks
{CLANG,}{HOST,TARGET}_GLOBAL_{C,LD}FLAGS, which should be mostly similar
between make and soong now.

Bug: 23566674
Change-Id: Idc8582ef31ace11a8baefcf525c3683f08a573aa
2016-05-12 13:36:55 -07:00
Dan Willemsen 025b4807cb Include objs from whole static libs before local objs
This matches the make behavior.

Change-Id: I8265fb481424734062b0fca944cdbbe283b7236d
2016-05-12 13:20:52 -07:00
Dan Willemsen 174978cc58 Support custom suffixes on Makefile outputs
This way Make can use different output files for different targets, and
switch between them without having to reparse all the makefiles.

Change-Id: I00001a09d79025772d966f443ab9f130e35f4720
2016-05-11 00:38:00 -07:00
Dan Willemsen dbec7035e6 Merge "Move local ldflags after the toolchain ldflags"
am: ac6697420a

* commit 'ac6697420aebc6e7f98d5a73c8d4c525bf8de419':
  Move local ldflags after the toolchain ldflags

Change-Id: I4c2a0173026f86a215749b3031ae5da49b2ca0f9
2016-05-11 01:33:18 +00:00
Treehugger Robot ac6697420a Merge "Move local ldflags after the toolchain ldflags" 2016-05-11 01:27:50 +00:00
Dan Willemsen 90473092fe Add a 32-bit x86_64 arch variant
am: 8a35405d33

* commit '8a35405d330ed9f69f6a34ca6d5e75ccc2c64540':
  Add a 32-bit x86_64 arch variant

Change-Id: Ic4def22a1957fd48732fa3ad1237583c473315d3
2016-05-11 00:46:57 +00:00
Dan Willemsen 00ced7675c Move local ldflags after the toolchain ldflags
This way a local module can override a global flag (like libm
overriding -Wl,--hash-style=)

Change-Id: If32774381fc46b5767f2c13bf45c3a84acb2697e
2016-05-10 17:31:21 -07:00
Dan Willemsen 8a35405d33 Add a 32-bit x86_64 arch variant
In make, the current 32-bit configuration for generic x86_64 targets
inherits some variables (SSE4 support) from the 64-bit configuration,
and overrides the make variables used for other configurations (SSSE3).

We don't have that problem in Soong, but this is the configuration
matching what Make is using.

Change-Id: Ia934ff40f9388f9c202a0fe0608e7b45b77a2714
2016-05-10 15:29:33 -07:00
Dan Willemsen 173aad1a97 Merge "Fix X86 flags"
am: f4449451b5

* commit 'f4449451b59dda4e8dfc92ffdffa9dd6aa569a19':
  Fix X86 flags

Change-Id: Iaa32a04a11a190e6c7e7c3b958e36cb6534b9465
2016-05-10 00:20:13 +00:00
Dan Willemsen f1c2e9bb13 Merge "Fix mips flags"
am: 2524b414e2

* commit '2524b414e2f83a12f8a362dd9b861212ef161f48':
  Fix mips flags

Change-Id: I979707cf66a788b8d26c57513e38a1e1f9972632
2016-05-10 00:20:13 +00:00
Dan Willemsen 2410d7b74e Clean up and fix Krait cflags
am: ed89a7aa0c

* commit 'ed89a7aa0c9b9085490b8ef1957f4b549d559012':
  Clean up and fix Krait cflags

Change-Id: I3837e8e2b6724058f94af441f3b99690d2dc9e19
2016-05-10 00:20:12 +00:00
Dan Willemsen f4449451b5 Merge "Fix X86 flags" 2016-05-10 00:09:00 +00:00
Dan Willemsen 2524b414e2 Merge "Fix mips flags" 2016-05-10 00:08:54 +00:00
Dan Willemsen 569b0fa2ae Fix X86 flags
Add extra clang cflags, and correct the clang triple for X86 device
builds.

Change-Id: I95abbd0f0f943ebdede905733785ee3659610058
2016-05-09 15:32:07 -07:00
Dan Willemsen c785ff35af Fix mips flags
Change-Id: Ica7851e19d9a709d03a752dbd4f88f07fc8ce1ee
2016-05-09 15:31:34 -07:00
Dan Willemsen ed89a7aa0c Clean up and fix Krait cflags
For krait, we were using the cortex-a15 cflags for GCC, but a completely
separate set for Clang. To make it more readable, and prevent the LPAE
flag from being missed for Clang, explicitly define krait cflags for GCC
as well.

Change-Id: I6dc00a22e2b298ee3755190bf09f28e427c8c70d
2016-05-09 15:30:53 -07:00
Dan Willemsen 41ccdeb90a Fix ArchFeatures decoding with default ArchVariant
am: b485099bad

* commit 'b485099badf27dee6f92a0492aa85e3e28c4a485':
  Fix ArchFeatures decoding with default ArchVariant

Change-Id: I9aa18232220b2ee372f7c1ca23d43a5558e6cff9
2016-05-09 02:15:57 +00:00
Dan Willemsen 6d1dc78cc6 Add missing arm64 -Werror=implicit-function-declaration
am: 162d08f35e

* commit '162d08f35e670dec6f5359f339c9e602fd847af1':
  Add missing arm64 -Werror=implicit-function-declaration

Change-Id: I959e8edccdb52515bd601116969eaf5237d3affe
2016-05-09 02:15:56 +00:00
Dan Willemsen 749d2b118e Add -mpopcnt for X86_64 targets if they support popcnt
am: 4ce4703182

* commit '4ce470318220b9b411aec54cf58cbe4d84493fc9':
  Add -mpopcnt for X86_64 targets if they support popcnt

Change-Id: Ifcbb29f7cfc7bf676f47aede3ca4b286e50c1a14
2016-05-09 02:15:55 +00:00
Dan Willemsen 488bc852b2 Remove duplicate -B entry for host linux clang ldflags
am: 2c044aed20

* commit '2c044aed20703188730661f4b49eb051023cc914':
  Remove duplicate -B entry for host linux clang ldflags

Change-Id: Iac997b2470565b841c2cd61aa6ba456139b9d1c7
2016-05-09 02:15:53 +00:00
Dan Willemsen b485099bad Fix ArchFeatures decoding with default ArchVariant
We were using the original ArchVariant passed in, not the blank string
that we reset it to if it's considered the default variant.

Change-Id: Ice644cc1d4897af99fe79b55d441f406a7a270de
2016-05-07 00:29:22 +00:00
Dan Willemsen 162d08f35e Add missing arm64 -Werror=implicit-function-declaration
This exists for all of the 64-bit architectures in the make build system

Change-Id: I023ef1afdaaa790aac4243a5c040f533b8814684
2016-05-07 00:27:26 +00:00
Dan Willemsen 4ce4703182 Add -mpopcnt for X86_64 targets if they support popcnt
Change-Id: I09668a220f207d3d7510f058610846e4427d815e
2016-05-06 17:23:20 -07:00
Dan Willemsen 2c044aed20 Remove duplicate -B entry for host linux clang ldflags
In cc/cc.go, we already add -B{GccRoot}/{GccTriple}/bin to all clang
cflags, asflags, and ldflags. So we don't need to add a linux specific
version here.

Change-Id: I42d71662c78a8170463dfec932a633e4d4ff52c8
2016-05-06 17:23:15 -07:00
Colin Cross 200aa27c86 Support prepended arch-specific properties
am: 6ee75b61cd

* commit '6ee75b61cd6aa1f72175fd6c48de2e772c194f7c':
  Support prepended arch-specific properties

Change-Id: Ib93e01e93b17d42e2b7b3846668fa7440c6adb89
2016-05-06 01:04:45 +00:00
Colin Cross 6ee75b61cd Support prepended arch-specific properties
Arch-specific static libraries should be prepended so that the common
static libraries can depend on them.

Bug: 26968262
Change-Id: I40a21d18ece8f6d20824437e7180628b29ffdd04
2016-05-05 16:49:43 -07:00
Dan Willemsen 7401b56cd0 Fix Android.mk LOCAL_EXPORT_C_INCLUDE_DIRS generation
am: 3b1fffa33b

* commit '3b1fffa33b34e0efb17b46e7461609f4665285ed':
  Fix Android.mk LOCAL_EXPORT_C_INCLUDE_DIRS generation

Change-Id: I88ca2ab339a1450f1831d31b33e025729839abbf
2016-05-05 23:25:32 +00:00
Dan Willemsen 3b1fffa33b Fix Android.mk LOCAL_EXPORT_C_INCLUDE_DIRS generation
We were keeping the original array, and adding duplicates with -I
removed. Instead, only add entries that start with -I, but continue
stripping that off. This removes the -isystem arguments from the NDK
libraries.

Change-Id: I8fd71bbd6b7a051aad7e80a92a05dbdc05a6b87a
2016-05-05 15:11:48 -07:00
Dan Willemsen a76bbe2bab Stop using the mips32r6 ABI in MegaDevice
am: 66187d987c

* commit '66187d987c08ec1cfd489102f1097f9f20d15818':
  Stop using the mips32r6 ABI in MegaDevice

Change-Id: Ie4a99a2175fe80f970041f15e4eeb78085347460
2016-05-05 21:28:24 +00:00
Dan Willemsen 66187d987c Stop using the mips32r6 ABI in MegaDevice
It was present in the r10 NDK checked into the platform, but is not
available in the r11 NDK nor the official r10 NDK.

Change-Id: I45a2dcf8acc810174c77a0a19870fb849f674b72
2016-05-05 13:20:45 -07:00
Colin Cross 80ca2c90b6 Update path to ninja
am: 3a31f1665c

* commit '3a31f1665cc839f8f7d5f0d6df0cd27bba2e3da0':
  Update path to ninja

Change-Id: Ia2a729085f8bc89461a19b2dca745bec6827f4ad
2016-05-05 19:03:20 +00:00
Colin Cross 3a31f1665c Update path to ninja
ninja has been moved from prebuilts/ninja to prebuilts/build-tools so it
can share the hermetic libc++.so there.

Change-Id: I0b6e76baaa6916a8c7fd19c684b792ccef2f9cb1
2016-05-04 16:25:26 -07:00
Colin Cross 0e076bb144 Update androidmk translator
am: 1f7c527ee9

* commit '1f7c527ee9f6ee79b772b8fd669602b819d0a330':
  Update androidmk translator

Change-Id: Ic64fb033b4f7a217ccf932cf72115fe44622e5f6
2016-05-04 23:01:00 +00:00
Colin Cross d234c807de Support sanitizer builds inside make
am: 30d5f514dd

* commit '30d5f514dd1b43366440d6aff0b53124de5dd7b5':
  Support sanitizer builds inside make

Change-Id: I839262ee6f1abcbba9a0dc6f3cca75671b79c799
2016-05-04 23:00:58 +00:00
Colin Cross e7eaf38043 Fix stripping on Darwin
am: b8ecdfe039

* commit 'b8ecdfe0398c4d43178b433bea2d6c9d0c4fd509':
  Fix stripping on Darwin

Change-Id: I6b555d65c968ed338abea406540ed992771da983
2016-05-04 02:40:04 +00:00
Colin Cross 1f7c527ee9 Update androidmk translator
support LOCAL_SRC_FILES_EXCLUDE, and fix a typo arm->arch.

Change-Id: I9f789e943d9aca4c5aff2b6b56b1e4a0626ecd86
2016-05-03 18:06:43 -07:00
Colin Cross 30d5f514dd Support sanitizer builds inside make
Make expects libraries built with address sanitizer to be installed into
/data, and can't handle multiple variants of modules.

Change-Id: Ice575ff6f0788a88f296e7b3ee521a2b9771f55f
2016-05-03 18:02:42 -07:00