Commit Graph

523 Commits

Author SHA1 Message Date
Colin Cross f6d6b873ea Remove trailing / from install path
am: e14388b9de

* commit 'e14388b9de3377955b66dc294481e23dd753ff9e':
  Remove trailing / from install path

Change-Id: I8a2e724b4cbd4336b1eea888978ae33b783eb63e
2016-05-04 00:33:16 +00:00
Colin Cross b8ecdfe039 Fix stripping on Darwin
The strip tool is different on Darwin, use a separate darwinStrip rule
instead of calling strip.sh for host builds on Darwin.

Change-Id: I6d421cba0dcea04367d5bc638a03f64c81e2ead0
2016-05-03 15:52:51 -07:00
Colin Cross e14388b9de Remove trailing / from install path
Prevents make installing files with a double /:
Install: out/target/product/generic_arm64/system/lib//libc.so

Change-Id: Iee237f344e8140c4938aa9d1e6940e4fdbfa7cd8
2016-05-03 14:53:18 -07:00
Colin Cross 99109f4efb Merge "Support stripping shared libraries and binaries"
am: 9212b1b0d6

* commit '9212b1b0d682beeb03210a975a3630db20384616':
  Support stripping shared libraries and binaries

Change-Id: I2836f2b00b6dfc76606f0d103e4a6446be952000
2016-05-03 21:24:28 +00:00
Colin Cross 9212b1b0d6 Merge "Support stripping shared libraries and binaries" 2016-05-03 21:20:43 +00:00
Colin Cross 327e9395e2 Merge "Move shell and python scripts to scripts/ directory"
am: 7be391bff6

* commit '7be391bff64f4b7a1f1d8ba99911cf6a53e63d2f':
  Move shell and python scripts to scripts/ directory

Change-Id: I129ae54b14e07662b8e145942ba7f6707dbf1afe
2016-05-03 21:17:35 +00:00
Colin Cross 7be391bff6 Merge "Move shell and python scripts to scripts/ directory" 2016-05-03 21:13:22 +00:00
Colin Cross b7130dbf91 Merge changes I2a3cd53c,I8b9de913
am: 98943a0a63

* commit '98943a0a630f77194e37bbd153d9c0ff194c2f76':
  Prevent replacing missing dependency glob rules with errors
  Support nested glob patterns

Change-Id: I014471de0969ccb2363994120f1b6b6fc837ace1
2016-05-03 21:07:59 +00:00
Colin Cross 665dce9320 Support stripping shared libraries and binaries
Strip all shared libraries and binaries by default.  Use a shell script
to wrap the long sequences of commands needed by some strip variants.

Change-Id: I465bf7cc48330913e60e24762fd55fa2a7731c26
2016-05-03 14:03:38 -07:00
Colin Cross 98943a0a63 Merge changes I2a3cd53c,I8b9de913
* changes:
  Prevent replacing missing dependency glob rules with errors
  Support nested glob patterns
2016-05-03 21:02:44 +00:00
Colin Cross 1474741435 Move shell and python scripts to scripts/ directory
Change-Id: Icdff44a54d14ddfc2266d99cf0578a8105716918
2016-04-29 13:59:56 -07:00
Stephen Hines 0c5c7731e4 Switch to clang-2812033.
am: 369f013

* commit '369f01315a669f32f741659ae9a5f5c4fb7b7fad':
  Switch to clang-2812033.

Change-Id: If1007edbe648d3c7fcb25372bc04859d032c5989
2016-04-27 22:48:45 +00:00
Colin Cross e2c4874945 Prevent replacing missing dependency glob rules with errors
AndroidModuleContext.Build() replaces all build statements with errors
when the module has missing dependencies, but modules may try to create
glob rules to detect when missing dependencies have been satisified, and
those rules should not be replaced with errors.  Whitelist globRule
build statements.

Change-Id: I2a3cd53c05cea44cec9b5a99090d8778ca954d69
2016-04-27 13:47:35 -07:00
Colin Cross da727cf991 Support nested glob patterns
Globbing separately for path/to/lib and path/to/lib/test would result in
trying to use intermediates/path/to/lib as both a file list file for the
first glob and as a directory to store the file list file for the second
glob, causing ninja to exit with an mkdir "Not a directory" error.

Add ".glob" to the file list file name to avoid collisions.

Change-Id: I8b9de9133d7ef667088a2f13eb28652508f3a290
2016-04-27 13:45:26 -07:00
Stephen Hines 369f01315a Switch to clang-2812033.
Change-Id: Ie44a0536a50aa6b443be0c015fca1ea9fa02590c
2016-04-26 21:47:42 -07:00
Colin Cross 5fb8a48a1a Use exported gtest include directories
am: 737cb65

* commit '737cb6566f0483dce12324a5bc0d254bfe15a1f4':
  Use exported gtest include directories

Change-Id: I6a3157803af97d49a1172f4202b052c792fef750
2016-04-26 00:31:53 +00:00
Colin Cross 737cb6566f Use exported gtest include directories
Manually inserting gtest include directories causes build failures in
manifests that don't have external/gtest.  external/gtest already
exports its include directories so remove the manual include directory.

Change-Id: I6baac4bd3bea7dba3aa134d18b66f02a6dc9a54a
2016-04-25 15:13:23 -07:00
Colin Cross 3a590a5294 Add support for sanitizer property
am: 16b2349

* commit '16b234919080732f438598adc3a3ca5fe2456b88':
  Add support for sanitizer property

Change-Id: If872e324b4c7f24eb1471049349e84c16f87f50e
2016-04-25 21:56:36 +00:00
Colin Cross 4bd2663937 Support "none" for stl when using ndk
am: 4a97cb4

* commit '4a97cb432823899dfc70cd5a874409b353e08115':
  Support "none" for stl when using ndk

Change-Id: I99a2a94b8af85a632674db44b04c5ada272c934f
2016-04-25 21:26:16 +00:00
Colin Cross be9d86025f Promote stl to a fixed feature
am: a8e07cc

* commit 'a8e07cc6530b08e67aaf3bb6f64bedfc753d344f':
  Promote stl to a fixed feature

Change-Id: If5f192b43eabe8b25dc9f5d05014a5ef80dc2abb
2016-04-25 21:26:16 +00:00
Colin Cross 5b135f5c45 Refactor out exported cflags
am: 919281a

* commit '919281aa918222fa2181c8dd19a2d2225f292180':
  Refactor out exported cflags

Change-Id: I2bc28cba2592087022c65b5b9f5cbbcce92ad2f7
2016-04-25 21:26:16 +00:00
Colin Cross 16b2349190 Add support for sanitizer property
Add a new feature to cc modules that adds the cflags and libraries
necessary to implement AddressSanitizer, ThreadSanitizer, and
UndefinedBehaviorSanitizer.

Change-Id: Ibe5ffadc7ece56080a2521f2c7c00da9ef712584
2016-04-21 16:42:08 -07:00
Colin Cross 4a97cb4328 Support "none" for stl when using ndk
Change-Id: I13ecf0a6be591814546a9a1c8b8356988348feb0
2016-04-21 16:39:28 -07:00
Colin Cross a8e07cc653 Promote stl to a fixed feature
cc needs to know what stl was selected, promote stl from a generic
feature implementation to a fixed type pointer.

Change-Id: I950ef947f7cd254fe3074f4ff240bb2b90b9116c
2016-04-21 16:39:28 -07:00
Colin Cross 919281aa91 Refactor out exported cflags
Exported cflags are needed by a variety of cc module types.  Refactor
them into an object that can be composed into any cc module type.

Change-Id: I7427ba71085917ca3ec522abadfa2bf33ab43440
2016-04-21 16:35:03 -07:00
Dan Willemsen d8fd035fad Add genrule tool_file to better handle deps
am: f7f3d69cf5

* commit 'f7f3d69cf58cdb0bb15ea0b376a6e0381e971905':
  Add genrule tool_file to better handle deps

Change-Id: I04054b0c22d2e05ad877c69187b6fc2551b743b2
2016-04-21 22:21:53 +00:00
Dan Willemsen c5dedcacfa Fix generated sources and headers
am: b40aab6955

* commit 'b40aab6955ebb85b8ab5b3934838a4df507fa62c':
  Fix generated sources and headers

Change-Id: I6dcae40fc1479b21da9153be3e8b23c7d4bc2c20
2016-04-21 22:21:52 +00:00
Dan Willemsen f7f3d69cf5 Add genrule tool_file to better handle deps
This will allow modules to specify a local script file that will be
expanded to the proper path in $tool, and will automatically be added to
the dependencies.

Change-Id: Icea4046b1fe2fd7c543aa33913d1a53201b15353
2016-04-21 13:20:01 -07:00
Dan Willemsen b40aab6955 Fix generated sources and headers
Add two cc properties: `generated_sources` and `generated_headers`,
instead of just adding genrule modules to `deps`. Label these with the
dep tagging mechanism, add the generated_headers paths to the include
paths, and add dependencies to generated headers for each compile.

Add dependencies so that regular sources can include generated yacc
headers, not just other generated lex/yacc files. Static/shared specific
sources still don't have dependencies to or from regular sources though.

Switch from an implicit dependency on generated files to an orderonly
dependency, since the depfile will take care of the necessary implicit
dependencies for incremental builds.

Change-Id: I436675acb1f57329d98b81c56dcb4384201a68ea
2016-04-20 15:54:19 -07:00
Colin Cross ebe0d559d1 Update sanitize property format
am: 21b481b

* commit '21b481b757e5599fec65a6a2ab573313b9def713':
  Update sanitize property format

Change-Id: I60ee1cf5fc58f13dacbeb0e277ad5190d542d1ac
2016-04-19 23:01:29 +00:00
Colin Cross 21b481b757 Update sanitize property format
Change-Id: Ibca493a70a19cd3dfb58b5404b1c9ed42e068748
2016-04-15 16:27:17 -07:00
Colin Cross c2a42cc876 Use blueprint DependencyTags
am: c99deeb

* commit 'c99deeb961887d402477880b338bc2792c45bed3':
  Use blueprint DependencyTags

Change-Id: I09234b9992d85262bf919d9c34cc10441215a7f4
2016-04-13 17:55:52 +00:00
Colin Cross c99deeb961 Use blueprint DependencyTags
Blueprint now requres DependencyTags to be passed to AddDependency
calls.  Use the tags to avoid setting member variables on modules, which
will be lost after the mutators have been called.

Change-Id: I8c1d9ed1db85a300e14394b911a516d361ba9f75
2016-04-12 15:24:02 -07:00
Colin Cross db0c10ac74 Rename deps property to objs in cc_objects
am: 8141347

* commit '8141347295ed901c4647014c9a21e2b4ae138b38':
  Rename deps property to objs in cc_objects

Change-Id: Ibd73d981491998f7f27398834ba8382a7d7fd362
2016-04-12 21:27:39 +00:00
Colin Cross 8141347295 Rename deps property to objs in cc_objects
The deps property is handled by blueprint, which doesn't give the
flexibilty of handling it within soong.  Switch to using objs instead.

Change-Id: Ib8273546578b31b186a3cf1566e80a5eb11943b7
2016-04-11 14:52:04 -07:00
Elliott Hughes bb4937ef99 libm\'s headers have moved to live with their libc cousins.
am: 8524429

* commit '852442957bf35e9dced80ec01d8a72da28743ea5':
  libm's headers have moved to live with their libc cousins.

Change-Id: I9e10b1e6d08ecd25b6cfda4cbc2b973a20d1aaa9
2016-04-04 20:54:54 +00:00
Elliott Hughes 852442957b libm's headers have moved to live with their libc cousins.
(To reduce the need for this kind of thing in the various build systems.)

Change-Id: I75d11497bbf42695f804bcc9ea9ba3b3a12ac764
2016-04-04 12:58:03 -07:00
Dan Willemsen d517c2a73e Move runpaths out of global ldflags
am: d30e610

* commit 'd30e610ef24425596d1787755b6f952bb04b6c1d':
  Move runpaths out of global ldflags

Change-Id: I6a486e2c3582b295dabb3585733dc013186a07d3
2016-03-31 20:51:34 +00:00
Dan Willemsen 2c9a4c0f0e Fix ToolchainLdflags calls
am: e717492

* commit 'e71749280e895d588a229ba5a64fc8a4f5a71a85':
  Fix ToolchainLdflags calls

Change-Id: I7458bb398bcdb4d2b76fa43214058133b64ac601
2016-03-31 07:02:51 +00:00
Dan Willemsen d30e610ef2 Move runpaths out of global ldflags
The make macros add these to the linker lines even if the default
compiler flags are being skipped.

This also allows us to add another runpath for test binaries, which are
currently being installed in:

  <out>/host/linux-x86/nativetest[64]/<test>/<binary>

So they need to use ../../lib[64] as a rpath.

Change-Id: Ia7e954cdf63bc627a8f71d01c953530355c248ab
2016-03-31 00:00:02 -07:00
Dan Willemsen e71749280e Fix ToolchainLdflags calls
Instead of having the baseCompiler adjust the Ldflags, teach
objectLinker about ToolchainLdflags. And don't assume that
ToolchainLdflags will work for Clang too, add a ToolchainClangLdflags
call.

Change-Id: I5f546e46f32edf3fcf75a44bee2c5ee103bc5de3
2016-03-30 21:16:34 -07:00
Dan Willemsen 1e43a62119 Various host flag updates to match Make
am: 01fdd3d

* commit '01fdd3d8c1867d71d718ed900ecf41f7f7245d18':
  Various host flag updates to match Make

Change-Id: I24a28b07428d57218d409f63488fe9e8b7e04554
2016-03-30 21:39:22 +00:00
Dan Willemsen 01fdd3d8c1 Various host flag updates to match Make
Some of these are updates from the old build system, others are just
differences/bugs being corrected.

Change-Id: Ied7f47ade495dcb26ba3611e636869cba283860f
2016-03-30 12:35:07 -07:00
Dan Willemsen d75c1887e5 Merge "Provide a default DeviceArchVariant"
am: d6d6b69

* commit 'd6d6b6942d9c908c63c8846537b05e405d487d1a':
  Provide a default DeviceArchVariant

Change-Id: I2eb8cb6586d1b5c75f5e8cb88892d6dc90e0225f
2016-03-30 06:36:33 +00:00
Dan Willemsen d6d6b6942d Merge "Provide a default DeviceArchVariant" 2016-03-30 06:26:54 +00:00
Dan Willemsen a91d127443 Provide a default DeviceArchVariant
The empty string is no longer a valid arm64 arch variant.

Change-Id: I61468ba09f9fd629e9ebd3915e266490416f65d6
2016-03-29 22:06:42 -07:00
Dan Willemsen 9c2e82dd20 Merge "Only add -fdebug-prefix-map on Linux hosts"
am: 99b5a09

* commit '99b5a09022a06a09d20a6fe0c25bdf9f369aaa5c':
  Only add -fdebug-prefix-map on Linux hosts

Change-Id: Ie94615c29eda13bdbac8a646ece9302b35a27610
2016-03-30 04:14:28 +00:00
Dan Willemsen 99b5a09022 Merge "Only add -fdebug-prefix-map on Linux hosts" 2016-03-30 04:07:54 +00:00
Colin Cross 9b79db366e Merge "Remove extension from LOCAL_MODULE_STEM"
am: e925ffc

* commit 'e925ffce03086c8654265705a7e0d3f4558ff5e9':
  Remove extension from LOCAL_MODULE_STEM

Change-Id: I57e3e2eff355235e25ff7bd46ba6213fc0e60c9b
2016-03-30 01:29:47 +00:00
Colin Cross e925ffce03 Merge "Remove extension from LOCAL_MODULE_STEM" 2016-03-30 01:15:44 +00:00