Commit graph

10623 commits

Author SHA1 Message Date
Dan Willemsen
cde6dce026 Merge "Allow 'sanitize' to be arch-specific." 2015-09-16 23:04:19 +00:00
Dan Willemsen
0eeea1e6f2 Merge "Port LOCAL_NO_LIBGCC from make" 2015-09-16 23:04:07 +00:00
Dan Willemsen
9e0cb35c29 Allow 'sanitize' to be arch-specific.
The usecase here is system/core/liblog, which wants to turn off
sanitizer only for the target module, since the target sanitizers depend
on liblog.

Change-Id: I99141574a1c4c4847aa8a72bdcc88901fd9b01cd
2015-09-16 15:41:55 -07:00
Dan Willemsen
d67be22400 Port LOCAL_NO_LIBGCC from make
Change-Id: Iba400de882547654b2a5184d420e38113d7545ee
2015-09-16 15:20:36 -07:00
Colin Cross
e2946615e7 am a6bc19e4: Check that a product variable is set
* commit 'a6bc19e415cf96e6060692b5d538a7a76a270353':
  Check that a product variable is set
2015-09-16 21:48:41 +00:00
Colin Cross
480e8f503e am b43a159c: Replace asan with sanitize
* commit 'b43a159c13c47495d64089821f6b0bfd49ebd237':
  Replace asan with sanitize
2015-09-16 21:48:40 +00:00
Colin Cross
a6bc19e415 Check that a product variable is set
Store product variables in pointers so that we can only apply the
properties if the product variable was set to a value.  Also only apply
bool properties if they are true, adn rearrange the code to do the
cheapest checks first.

Remove device_uses_logd, it doesn't exist any more.

Change-Id: Icf42408f57bd611746f8d985bfceb50c7f95ea59
2015-09-16 14:19:55 -07:00
Colin Cross
b43a159c13 Replace asan with sanitize
LOCAL_ADDRESS_SANITIZER has been replaced with LOCAL_SANITIZE.

Change-Id: I81fe7e0c9135cfd4a222fae4012ab5082cc58f29
2015-09-16 14:19:55 -07:00
Dan Willemsen
ff7293e832 am 8a12ccd2: Merge "Freeze environment reading after saving deps"
* commit '8a12ccd282f6d64266bb487d247305df48487f53':
  Freeze environment reading after saving deps
2015-09-16 00:02:33 +00:00
Dan Willemsen
8a12ccd282 Merge "Freeze environment reading after saving deps" 2015-09-15 23:57:07 +00:00
Dan Willemsen
7c684e2ac4 am f8e98b08: Add libbenchmark\'s new dependency on libbase.
* commit 'f8e98b0804ffa468f04fe7ff77c78371e9aba774':
  Add libbenchmark's new dependency on libbase.
2015-09-15 23:10:23 +00:00
Dan Willemsen
9ec56e2bb8 am fa3924e4: Disallow using stlport.
* commit 'fa3924e4801bb03d7a285a64463b824e9a532990':
  Disallow using stlport.
2015-09-15 23:10:22 +00:00
Dan Willemsen
53e4e36831 am 3bf6b472: Update flags to match make
* commit '3bf6b472299efa1a0e666010d68351bae949f826':
  Update flags to match make
2015-09-15 23:10:21 +00:00
Dan Willemsen
e60e8fe3ab am c3c75569: Merge "Add cortex-a53 cpu variant"
* commit 'c3c755692407b0db44122eceefc0deda8bc664f3':
  Add cortex-a53 cpu variant
2015-09-15 23:10:20 +00:00
Colin Cross
cccecd7f91 am 2e238cfa: Merge "Add support for include_files"
* commit '2e238cfa31c8813809f8998100d1efe24b60473e':
  Add support for include_files
2015-09-15 23:09:46 +00:00
Dan Willemsen
f8e98b0804 Add libbenchmark's new dependency on libbase.
See https://android-review.googlesource.com/150583

Change-Id: I6f9700b3e51a3b681d3d91b88103eed31764f61e
2015-09-15 22:21:47 +00:00
Dan Willemsen
fa3924e480 Disallow using stlport.
See https://android-review.googlesource.com/149486

Change-Id: I577a16c8c52e2c7d939c3b5026e18ad90e4b9f26
2015-09-15 22:21:16 +00:00
Dan Willemsen
3bf6b47229 Update flags to match make
Change-Id: I8ba24723d5b507fa178255c124b11356719700cb
2015-09-15 22:20:03 +00:00
Dan Willemsen
c3c7556924 Merge "Add cortex-a53 cpu variant" 2015-09-15 22:19:48 +00:00
Colin Cross
2e238cfa31 Merge "Add support for include_files" 2015-09-15 21:06:44 +00:00
Dan Willemsen
e7680babe2 Freeze environment reading after saving deps
Any reads after the deps are saved won't show up as dependencies later.
So panic if new environment variables are read after saving deps.

Change-Id: Ia51deaf750804d3b99e69c001939a104c2d8c9f2
2015-09-15 20:30:03 +00:00
Dan Willemsen
00faa6d9da Add cortex-a53 cpu variant
Used in bionic

Change-Id: I5936f8468937fc259ef75d8278a592b8a7b07077
2015-09-15 13:25:38 -07:00
Dan Willemsen
dd4101c126 am 98b26c57: Use the blueprint plugin infrastructure
* commit '98b26c576a9e96b31dbb0263baa1866e5d0ab2ef':
  Use the blueprint plugin infrastructure
2015-09-15 00:41:50 +00:00
Dan Willemsen
98b26c576a Use the blueprint plugin infrastructure
Instead of using this hardcoded list, use the blueprint plugin
infrastructure to find them at build time and load them.

Bug: 23567252
Change-Id: Iae87e8c9bf020f4beb42c418b9a6bf8b0fe8b601
2015-09-15 00:31:30 +00:00
Colin Cross
d4c2852b1c am 485e572a: Read product variables from soong.variables
* commit '485e572aeb8690abcb2907149f01f25fc85394db':
  Read product variables from soong.variables
2015-09-14 23:19:59 +00:00
Colin Cross
39d97f2a56 Add support for include_files
Support include_files and local_include_files to pass -include arguments
to gcc.

Change-Id: Ie3f03218fcbc9732741da91671b20e240f3de3a6
2015-09-14 16:09:36 -07:00
Colin Cross
485e572aeb Read product variables from soong.variables
Refactor the soong.config loading code to support reading in
product variables from soong.variables.

Change-Id: I389e6bb5c501b53167267d5f5d0d25557811cf72
2015-09-14 16:09:36 -07:00
Colin Cross
b0d7a94a38 am 7f64b6de: Support product variables
* commit '7f64b6de3156da72cb310c0d16083e5e36481e48':
  Support product variables
2015-08-27 05:22:58 +00:00
Colin Cross
596c4314c7 am 8f301d58: Fix duplicated ARCH_X86_HAVE_SSE* clauses
* commit '8f301d583fb41374c3a3b9041e5189e2640ab2ee':
  Fix duplicated ARCH_X86_HAVE_SSE* clauses
2015-08-27 05:22:57 +00:00
Colin Cross
efaa7dc1e7 am 6e18ca49: Fix java resource glob file list location
* commit '6e18ca49f83c18772299677a4bd949d9dc978a62':
  Fix java resource glob file list location
2015-08-25 01:35:40 +00:00
Colin Cross
7f64b6de31 Support product variables
Allow modules to vary their properties based on product variables.
For now, DEVICE_USES_LOGD, DEVICE_USES_JEMALLOC, and DEVICE_USES_DLMALLOC,
and BOARD_MALLOC_ALIGNMENT are supported.

Product variables can provide a value (only bool and int supported for
now), and if any of the product variable properties contains a "%d"
then Sprintf will be called with the property value as the format
and the product variable value convert to an int as the only argument.

For example:

    product_variables: {
        dlmalloc_alignment: {
            cflags: ["-DMALLOC_ALIGNMENT=%d"],
        },
    },

will cause -DMALLOC_ALIGNMENT=16 to be added to any top level
properties called "cflags".

Change-Id: I74882a6ab4914d3e222f8d06cfac371b7b829ae5
2015-08-24 16:20:08 -07:00
Colin Cross
8f301d583f Fix duplicated ARCH_X86_HAVE_SSE* clauses
ARCH_X86_HAVE_SSE* should not have second_arch set, they always
apply to x86 regardless of TARGET_ARCH vs. TARGET_2ND_ARCH.

Change-Id: I21fa4c88e9c966a7181f3b17c95c06080b678556
2015-08-24 16:20:08 -07:00
Colin Cross
6e18ca49f8 Fix java resource glob file list location
The source path was being appended to the module out directory
to create the file list file, which was resulting in .. in the
source path moving the file list file up the directory tree.
Use SrcDirRelPath to convert the globbed resource directories
to be relatiave to $srcDir before appending them.

Also do the same fix to generated aidl, logtags, yacc, and lex
files.

Change-Id: I2e636bd30abf03bc1d80a897951a9812cc3e09ef
2015-08-24 16:19:43 -07:00
Colin Cross
b53c6e083f am cbac5fbe: Update build.ninja.in for blueprint go 1.5 support
* commit 'cbac5fbe78bb7162049744e6aad234d572e2cab6':
  Update build.ninja.in for blueprint go 1.5 support
2015-08-24 22:51:56 +00:00
Dan Willemsen
ae43137396 am 24f2f8df: Update to new blueprint api for bootstrap.BinDir
* commit '24f2f8df874c5253c0772f1524c85fedaa7c64be':
  Update to new blueprint api for bootstrap.BinDir
2015-08-24 22:51:55 +00:00
Colin Cross
cbac5fbe78 Update build.ninja.in for blueprint go 1.5 support
Change-Id: I2f13e34e25bf708260dba7ad384c609a8ee4bd13
2015-08-24 15:41:17 -07:00
Dan Willemsen
24f2f8df87 Update to new blueprint api for bootstrap.BinDir
And regenerate build.ninja.in

Change-Id: I35e8b0362799f94b33309d3944b411de5dbcf40a
2015-08-24 15:40:44 -07:00
Colin Cross
25ab5ff9b8 am ff93bddd: Merge remote-tracking branch \'aosp/master-soong\'
* commit 'ff93bddda3268edc4159aa2eea9d8d814727732f': (173 commits)
  Fix glob filename overlap
  Fix arm cflags
  Add support for x86_sse3 and x86_sse4 arch sections
  use init functions to register module types, etc.
  Use same libgcc as Make for arm
  Fix libgcc/libatomic link order
  Enable host multilib
  Add cpu-variant properties
  Refactor standard and rewrite properties to reduce duplication
  Add version_script property
  androidbp: Optimize cc_library builds, share static lib
  androidbp: Implement static/shared property copying
  Add exclude_* and remove arch_subtract / "-file"
  Use += for both assignments to LOCAL_C_INCLUDES
  androidbp: simplify translation by evaluating all expressions in Blueprint
  Ignore some module types during translation
  Allow manually specifying translations for modules
  androidbp: make error handling stricter
  Remove comments from translated Android.mk files
  Support the 'host' conditional in androidbp
  ...
2015-08-07 00:54:45 +00:00
Colin Cross
ff93bddda3 Merge remote-tracking branch 'aosp/master-soong'
Change-Id: Ie4d13a216466b2a8c193b6df05f360b7a59830e9
2015-08-06 14:32:04 -07:00
Colin Cross
a819f08275 Fix glob filename overlap
If resources and java files were compiled from the same directory,
ctx.Glob could try to create a glob file that had the same name
as the directory containing another glob file.  Namespace each
call to ctx.Glob so they never conflict.

Change-Id: I4db73af568a2ff2e708e9db64798073b1ed2ff61
2015-07-23 17:52:17 -07:00
Dan Willemsen
f5a959c99f Fix arm cflags
-mthumb-interwork was missing from the beginning.

The Clang cflags copy was only a shallow copy, so our clang-specific
fixups were affecting the GCC cflags as well.

The cortex-a15 replacement was removed from build/core with this change:
https://android-review.googlesource.com/#/c/143851

Change-Id: Ib6300e064f6ec4f6a7174d5e2aeacad1c359f7ea
2015-07-13 13:52:30 -07:00
Colin Cross
01432f6b11 Add support for x86_sse3 and x86_sse4 arch sections
Change-Id: I26b642808c66bc4562b3079edbe482febf9b2435
2015-07-09 18:01:05 -07:00
Colin Cross
463a90e587 use init functions to register module types, etc.
Instead of putting all the blueprint registrations in soong_build,
put them all in init() functions.  This puts the registration next
to the implementation.

Change-Id: Ide1a749518f5e9d1367a18ab3bb1d91da3310c76
2015-07-09 17:57:18 -07:00
Dan Willemsen
3fde0c220a Merge "Fix libgcc/libatomic link order" into master-soong 2015-07-09 02:04:16 +00:00
Dan Willemsen
eba363ed67 Use same libgcc as Make for arm
The current make system uses the arm libgcc.a, not the thumb version.

Change-Id: I38efb80b0d14bbe9c56beeb50f3817307f076d89
2015-07-08 18:11:14 -07:00
Dan Willemsen
edc385f5eb Fix libgcc/libatomic link order
This is the equivalent commit to https://android-review.googlesource.com/144749

Change-Id: I79374f33766fa307fd031ffd0cbd9e9d37848324
2015-07-08 18:10:14 -07:00
Dan Willemsen
ffce3fcf33 Enable host multilib
Change-Id: I17405452a141d9ce15e4093f6610e8a9eceb98a9
2015-07-08 13:02:19 -07:00
Colin Cross
ec19363c23 Add cpu-variant properties
Add nested properties that can vary based on the specific cpu type,
for example cortex-a9 or cortex-a15.

Change-Id: I107d6e30527c11d0bdd9bf17fb29513ffb07f9cc
2015-07-07 14:38:24 -07:00
Colin Cross
3cc00f1fd8 Refactor standard and rewrite properties to reduce duplication
Refactor calls to standardProperties and rewriteProperties into
translateSingleProperty that can be used for normal, suffix, and
target properties.

Change-Id: I04e060588d4feeba1da7802d68622fe9b20e2c8b
2015-07-07 12:26:26 -07:00
Colin Cross
aee540a439 Add version_script property
Add version_script property to cc_library to pass a file to
the linker with --version-script.

Change-Id: Ieefb04e15c8dfa72c2eb63b4349f8860222662b2
2015-07-07 10:34:19 -07:00