Commit Graph

503 Commits

Author SHA1 Message Date
Colin Cross
ba47854c4a Rename common to android
am: 635c3b0157

* commit '635c3b0157f38c06833e5e789d0137f99844c0b6':
  Rename common to android

Change-Id: I7fb6657c571dbc2e77c160cd025cb246f7cf2b08
2016-05-18 23:48:50 +00:00
Colin Cross
24280d5a63 Fix ndk x86_64 and mips64 builds
am: c7fd91a266

* commit 'c7fd91a2660c7e0af1ccea0d662e0804998769ee':
  Fix ndk x86_64 and mips64 builds

Change-Id: I03db57ffabde18f8345aa7d4d9cc1d351ae63faf
2016-05-18 22:48:08 +00:00
Colin Cross
635c3b0157 Rename common to android
Rename the "common" package to "android", because common is too
generic.  Also removes all android.Android naming stutter.

Ran:
gomvpkg -from 'android/soong/common' -to 'android/soong/android'
gorename -from '"android/soong/android".AndroidModuleContext' -to 'ModuleContext'
gorename -from '"android/soong/android".AndroidBaseContext' -to 'BaseContext'
gorename -from '"android/soong/android".AndroidModuleBase' -to 'ModuleBase'
gorename -from '"android/soong/android".AndroidBottomUpMutatorContext' -to 'BottomUpMutatorContext'
gorename -from '"android/soong/android".AndroidTopDownMutatorContext' -to 'TopDownMutatorContext'
gorename -from '"android/soong/android".AndroidModule' -to 'Module'

Change-Id: I3b23590b8ce7c8a1ea1139411d84a53163288da7
2016-05-18 15:37:25 -07:00
Colin Cross
c7fd91a266 Fix ndk x86_64 and mips64 builds
x86_64 and mips64 NDK prebuilt libraries are stored in .../usr/lib64,
but arm64 and all the 32-bit ABIs use .../usr/lib.  Add a 64 suffix to
the path for all 64-bit ABIs except arm64.

Change-Id: I98e87ff6a7f1aa75adbeb37c5b1e7208b953322f
2016-05-18 22:24:19 +00:00
Dan Willemsen
3429da5c70 Fix Static_executable, implement BUILD_HOST_static from Make
am: 36cff8bb6f

* commit '36cff8bb6fdff4a843dfe65cc83227b7f677dd55':
  Fix Static_executable, implement BUILD_HOST_static from Make

Change-Id: I6a8eacdb7bd5ef03659207d4529f557aec51de34
2016-05-18 00:40:49 +00:00
Dan Willemsen
36cff8bb6f Fix Static_executable, implement BUILD_HOST_static from Make
Static_executable was still using ModifyProperties, and was otherwise
missing things. Fix all of that up, and implement HostStaticBinaries,
which is the equivalent of BUILD_HOST_static in Make. That will default
host binaries to be static, which is useful for building SDK tools to
run with incompatible C libraries.

Change-Id: I2a62181b5d854b310edc8ae7a6bcbd30b89e7463
2016-05-17 16:39:17 -07:00
Dan Willemsen
53ad362d24 Export CONLYFLAGS and CPPFLAGS to Make
am: 216a459ccc

* commit '216a459ccc782d9b47e5663b4c3b81f0e03e2739':
  Export CONLYFLAGS and CPPFLAGS to Make

Change-Id: Ie8286de619a2a8b369376660613ed8e476389fca
2016-05-17 19:51:44 +00:00
Dan Willemsen
216a459ccc Export CONLYFLAGS and CPPFLAGS to Make
Change-Id: I061d531983b5bb544efb2f0ab5912cd2b461f58b
2016-05-17 01:00:50 -07:00
Dan Willemsen
da8b053323 Export -D__BRILLO__ to make if necessary
am: 06f453359a

* commit '06f453359a6686e20d00e7ab661e39ce0e0e5bb5':
  Export -D__BRILLO__ to make if necessary

Change-Id: I0b5236fe6a32c52e00e50d88b99928a1ad4ef6ad
2016-05-17 02:41:00 +00:00
Dan Willemsen
06f453359a Export -D__BRILLO__ to make if necessary
Fixes Brillo builds

Change-Id: Ia3563b0c9e000d95ed18d05460f5c8c32e04e191
2016-05-16 19:32:33 -07:00
Dan Willemsen
fb2eaaf8f2 Turn on strict checking for C[PP]FLAGS make vars
am: b436fdee65

* commit 'b436fdee65b2ae27576b37f1f13a324bc9c7f51a':
  Turn on strict checking for C[PP]FLAGS make vars

Change-Id: If75cd0402c85326307ef6d1657c3f8153f904a38
2016-05-17 02:05:51 +00:00
Dan Willemsen
aaaeb15c73 Don\'t use -B...gcc.. on Darwin
am: 3772da13fd

* commit '3772da13fd9b4d1f0aec35c73883c1cb5b60fd35':
  Don't use -B...gcc.. on Darwin

Change-Id: Iad450b34cc85054b573ec0c2b8537414def9ef52
2016-05-17 02:05:50 +00:00
Dan Willemsen
b436fdee65 Turn on strict checking for C[PP]FLAGS make vars
Change-Id: I8448feb55b54515856798c1b3e8070d0e07e0b6c
2016-05-16 18:04:45 -07:00
Dan Willemsen
3772da13fd Don't use -B...gcc.. on Darwin
We don't ship binutils on Darwin, so there is no point in telling clang
to look in that path. (The path being used doesn't even exist). This
matches the Make behavior.

Change-Id: I663047057ff8df8a349483532da8018af13d50d8
2016-05-16 18:04:01 -07:00
Colin Cross
1004805108 Merge "Include bionic/Android.bp"
am: 88c4750c51

* commit '88c4750c518f3910725f74295d21286291551f5d':
  Include bionic/Android.bp

Change-Id: Id61be2e4e7e5f92747e67bccceae741dcd99336f
2016-05-17 00:52:30 +00:00
Colin Cross
88c4750c51 Merge "Include bionic/Android.bp" 2016-05-17 00:42:17 +00:00
Colin Cross
3e5889a791 Include bionic/Android.bp
bionic/Android.bp exists now, and subdirectories are handled with
Android.soong.mk files.

Change-Id: I70259ff5c2fb9df2f8716590502f49de1c2c8ac7
2016-05-16 16:56:51 -07:00
Dan Willemsen
9c1c2f7fb8 Merge changes I7fd53084,I6b7a3062
am: 8911062843

* commit '89110628436557ef0f4e851f0ad63f83cfc74652':
  Properly export toolchain static libs
  Add more make-exported variables

Change-Id: I726f23c9af9867cfa7a9920a02f1acf8b680f502
2016-05-16 23:52:06 +00:00
Treehugger Robot
8911062843 Merge changes I7fd53084,I6b7a3062
* changes:
  Properly export toolchain static libs
  Add more make-exported variables
2016-05-16 23:42:51 +00:00
Dan Willemsen
e7932e890b Properly export toolchain static libs
Change-Id: I7fd5308469aee5a43d576d1a72f7738dc6f9fbaa
2016-05-16 15:56:53 -07:00
Dan Willemsen
73d21f25cb Add more make-exported variables
Change-Id: I6b7a30624923b8ca879d4ac7a3f1f11aec9b9b8a
2016-05-16 14:22:56 -07:00
Evgenii Stepanov
ba40c3cd29 Merge "USE_SAFESTACK support in Soong."
am: 6e39d270fa

* commit '6e39d270faa8fb5656188a4ded0c419327130718':
  USE_SAFESTACK support in Soong.

Change-Id: I1b3d4fee33e1261fb328231284434dd05298ea20
2016-05-16 20:25:14 +00:00
Evgenii Stepanov
6e39d270fa Merge "USE_SAFESTACK support in Soong." 2016-05-16 20:19:39 +00:00
Dan Willemsen
5a3c5a3217 Merge "Create empty .a on Darwin when there is no obj file."
am: 1e45ef6823

* commit '1e45ef6823b54965d19da3a33404955d8a9a2e13':
  Create empty .a on Darwin when there is no obj file.

Change-Id: I52a972558c7fb94eb31aef8ea9146fd578a9b709
2016-05-13 22:39:09 +00:00
Dan Willemsen
390657eb77 Don\'t use GTEST_OS_LINUX on Darwin
am: 4a94683a60

* commit '4a94683a60ab44c520628f381c9cf63496b3e62e':
  Don't use GTEST_OS_LINUX on Darwin

Change-Id: I0fc3ec973a6efc849a1c476c974f9f70af2fa4b8
2016-05-13 22:39:09 +00:00
Dan Willemsen
1e45ef6823 Merge "Create empty .a on Darwin when there is no obj file." 2016-05-13 22:35:33 +00:00
Dan Willemsen
4a94683a60 Don't use GTEST_OS_LINUX on Darwin
Change-Id: If77118591daa7b474e6989e03109ea32ddd357b2
2016-05-13 22:28:07 +00:00
Dan Willemsen
9f0b550a15 Create empty .a on Darwin when there is no obj file.
On Darwin ar would fail if there is no object file to add.
We work around by adding a dummy.o.

Port to Soong of build/ 4aaa1a1fd8e7eb23ac5557cd326d1a48efdb54cd

Change-Id: I68bbebea2726058c25863d7026a645a520d05167
2016-05-13 15:07:37 -07:00
Dan Willemsen
4faa4d6aa9 Update gtest flags from Make
am: 8146b2f1c9

* commit '8146b2f1c90cb86c488a385dc912deba6de78553':
  Update gtest flags from Make

Change-Id: I4c260b2611924815e3d0447b4f0e7cb9bd16c0b5
2016-05-13 21:48:37 +00:00
Dan Willemsen
8146b2f1c9 Update gtest flags from Make
There's a different libgtest to use for NDK libraries built with
different STLs. And we no longer need to add the gtest include path, as
it's exported.

Change-Id: I2f804cf98e074cfd4ea6b70a445e304a8a8bce50
2016-05-13 20:47:24 +00:00
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