Commit graph

686 commits

Author SHA1 Message Date
Wink Saville
042d4dc4a1 nanopb-c
Change-Id: I584d0a1e228338ea4ec3e5e2875d1ed329bc37f2
2015-03-11 22:00:09 +00:00
Ying Wang
dedff62c8e Merge "Contain obj of ../ source files in their intermediate dir." 2015-03-11 20:43:41 +00:00
Ying Wang
fb22a42d4f Contain obj of ../ source files in their intermediate dir.
Previously when a file in LOCAL_SRC_FILES starts with "../", the object
file may escape out of the module's intermediate directory, because we
insert the source file's path (but not with LOCAL_PATH) to the object
file's path. Even worse when two object files escape to the same destination
and cause conflict.
This change fixes the issue by removing the "../" inside the object
files' paths. To do that, we have to set up the compilation rules for
those files one by one, instead of using the one-for-all static
pattern rules.

Bug: 19641115
Change-Id: I19f3c48ece3244fa14acb2caa609deea710840d3
2015-03-10 19:05:15 -07:00
Ying Wang
fe1e5c3453 Support .asm being compiled by yasm targeted for x86_64.
Change-Id: Ia6425c38dd2f7ad2dc697213cd61b7515b9e7aff
2015-03-09 18:57:40 -07:00
Yohann Roussel
0d70cc4a72 Merge "Allow to pass arguments to Jill" 2015-03-06 10:05:54 +00:00
Ying Wang
690227763c am 8ed194d3: am a7c669f2: am 71c64dc1: Merge "Reorder lib paths in transform-bc-to-so to avoid build race condition."
* commit '8ed194d30a5e635c3de9e0545215e6cda9bb19d3':
  Reorder lib paths in transform-bc-to-so to avoid build race condition.
2015-03-05 20:18:19 +00:00
Ying Wang
bfc436969d Reorder lib paths in transform-bc-to-so to avoid build race condition.
We should put the NDK library path before
$(TARGET_OUT_INTERMEDIATE_LIBRARIES), so that we link against the NDK
libc/libm, instead of the platform libc/libm in
$(TARGET_OUT_INTERMEDIATE_LIBRARIES), which may still being written out,
because we don't have dependency on them.

Bug: 19613709
Change-Id: I26a8b272e38b7436bca3324246b21cd71349662b
2015-03-05 11:29:30 -08:00
Yohann Roussel
801f2c44d0 Allow to pass arguments to Jill
Bug: 19026410
Change-Id: I3f3d7c0e7f8d6cc7150ae560b8734093798e8299
2015-03-05 14:54:06 +01:00
Ying Wang
0e36bfeb3f Use ALL_MODULES.$(m).INSTALLED in modules-for-tag-list
Previously we store tag's installed modules in a separate variable
ALL_MODULE_TAGS.$(tag). However we only record the main installed file
for a module, but omit affiliated files like .odex.
With this change, we handle the tagged module the same way as modules in
PRODUCT_PACKAGES.

Change-Id: I7972528a4df5a4ba8bc98930864da9672d32d7fe
2015-02-26 14:12:25 -08:00
Ying Wang
c894e099d3 resolved conflicts for merge of 641e283f to master
Change-Id: I9c5d9dd9f0f8c9206112f4c2f773ed81c9c2f06f
2015-02-26 10:34:33 -08:00
Ying Wang
dcd90831e5 Use a less freqent dummy file name: zipdummy
Previously if user has a directory with name dummy in the root of the
source tree, "zip -qd package.apk dummy" fails with:
"zip error: Nothing to do!".
This change mitigates the error.

Change-Id: I642e3bf0378e5b9911a068ecb72f795b3e92f1fe
2015-02-26 09:36:27 -08:00
Narayan Kamath
7a9e388405 am 738871f6: am e886392c: am 37a44faa: Merge "Store native libs aligned to PAGE_SIZE"
* commit '738871f6eb3c372b60928e761f0dc24e46a6bba5':
  Store native libs aligned to PAGE_SIZE
2015-02-26 12:58:11 +00:00
Dmitriy Ivanov
13e5965306 Store native libs aligned to PAGE_SIZE
- Add a new flag to zipalign (-p) that page aligns shared
  libraries (zip entries ending with ".so") in the archive.

- Add a new build variable LOCAL_PAGE_ALIGN_SHARED_LIBRARIES
  to turn on this behaviour in zipalign.

- Add a new LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS to control
  zip behaviour.

Bug: 8076853
Bug: 19330157

Co-Authored-By: Simon Baldwin <simonb@google.com>
Co-Authored-By: Dimitry Ivanov <dimitry@google.com>
Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
2015-02-26 12:31:40 +00:00
Dan Albert
b4cca80999 am 9ddc52c1: am 13baa319: am 876f45e7: Merge "Make some warnings impossible to override."
* commit '9ddc52c1e4d2111346b865e72019b98cb9562d57':
  Make some warnings impossible to override.
2015-02-25 23:32:47 +00:00
Dan Albert
0c91fa84ff Make some warnings impossible to override.
These CFLAGS and CPPFLAGS will always be added last, and are
controlled by the build system. This way we can add warnings that
users are not allowed to disable.

Change-Id: Id71f69249078f62ca2687ecbf764aff0fd3a1c1b
2015-02-23 10:05:51 -08:00
Yohann Roussel
37822c443d Engage Jack incremental on demand
Each module may engage Jack incremental with

LOCAL_JACK_ENABLED := incremental

Include renaming of LOCAL_USE_JACK to LOCAL_JACK_ENABLED that is
now accepting 3 values "disabled", "full" and "incremental".

Change-Id: Icbff275b397bee36b29312e821f3e8d45f83fbcc
2015-02-04 11:22:26 +01:00
Yohann Roussel
2809666941 Simplify handling of ANDROID_JACK_* variables
This concerns ANDROID_JACK_VM, ANDROID_JACK_VM_ARGS and
ANDROID_JACK_EXTRA_ARGS.

Change-Id: Iba75ecaaceb09ac9607a3aee41324d9f5ae4beef
2015-02-03 12:37:09 +01:00
Ying Wang
723db51fdb am 7c05897b: am e937ac81: Merge "Add new build flag LOCAL_DONT_DELETE_JAR_DIRS."
* commit '7c05897b69801e1945889a9b1a89b86bbbbbdd3a':
  Add new build flag LOCAL_DONT_DELETE_JAR_DIRS.
2015-01-29 18:38:00 +00:00
Fredrik Roubert
cc93f0c87c Add new build flag LOCAL_DONT_DELETE_JAR_DIRS.
Normally the build function initialize-package-file will delete all
class files and all directory entries from JAR files, but sometimes
external projects (eg. ICU4J) depend on having directory entries in
their JAR files.

This change adds the flag LOCAL_DONT_DELETE_JAR_DIRS (analogous to the
flag LOCAL_DONT_DELETE_JAR_META_INF) which when set will skip deletion
of directory entries in initialize-package-file.

Change-Id: I4464b947b7528fca23925affa95e4071915f04d4
2015-01-29 17:44:27 +00:00
Ying Wang
40423825da am 21f78782: am 1b140e16: Merge "Build hostdex on only Linux."
* commit '21f78782d5e59a58e664e9ae52f537cee314f407':
  Build hostdex on only Linux.
  Fix comma in $(if ...).
2015-01-26 19:17:34 +00:00
Dan Albert
cfc95cf435 Merge "Fix comma in $(if ...)." 2015-01-25 22:30:19 +00:00
Logan Chien
e481e7d494 Fix comma in $(if ...).
Change-Id: I2f9fba5b5c0384ef12ee9e5f48fa01102436a425
2015-01-25 21:15:12 +08:00
Dan Albert
b89760a76b am 3723af1b: am 9ba25d6b: Merge "Enable host coverage."
* commit '3723af1b4e8de4941d7b9be569f209d88f565964':
  Enable host coverage.
2015-01-24 23:48:46 +00:00
Dan Albert
9ba25d6bfd Merge "Enable host coverage." 2015-01-24 23:32:16 +00:00
Dan Albert
43e128acfc Enable host coverage.
Don't remember why I didn't enable this for the host when I made the
first pass, but it works just fine.

Change-Id: I0892c0bc353bf8b60b432ba9f69f97281177d41d
2015-01-24 13:24:19 -08:00
Chih-Hung Hsieh
afa30df68e am 6698ba3d: am 840bc269: Merge "Add -static to static link command, for clang."
* commit '6698ba3d6c9efebac63c224a1fb985f0a53a501a':
  Add -static to static link command, for clang.
2015-01-24 16:58:15 +00:00
Chih-Hung Hsieh
69b1fe6d1c Add -static to static link command, for clang.
Clang driver needs -static flag, not -Bstatic,
to produce statically linked modules.
However, -static is not added if LDFLAGS contains -shared,
which is used in bionic/linker to create a shared object with static libraries.

BUG: 18008984

Change-Id: I75c3e24973ee77170285ec4c8e7aacc345722685
2015-01-23 13:02:43 -08:00
Ying Wang
833b427d72 Explicit dependency on hostdex classes.jar.
Previously for hostdex Java libraries, we set up dependency on only
javalib.jar, which in turn is dependent on classes.jar.
But when jack is enabled there is no dependency of javalib.jar on
classes.jar. In commit b4c49cba57 classes.jar was universally added to
all host java library dependencies. That's unnecessary.

This change adds explicit dependency on classes.jar only for hostdex
modules.

On the other hand, if we switch checked module to $(full_classes_jack),
like what we did in commit 8bc90fd2d6, we won't need this to fix jack
build either, because classes.jar isn't needed when you run checkbuild.

Change-Id: I92c0e4d621d266f6e6914ab2b4f20e5531af070f
2015-01-21 17:30:21 -08:00
Ying Wang
07acdbfd32 Running jarjar on Java resources.
Before this change, Java resources are added as a separate step
(add-java-resources-to-package) after dex is run, so jarjar isn't run on
the resource files.
With this change, we add Java resources immediately after we call javac,
so jarjar is run on the resource files (the module's own resource, as
well as resources carried by static Java libraries).
When we generate the final apk/jar, we use the jarjar'ed jar as the
inital pacakge file, with class files and empty folders removed.

(cherry-picked from commit 140274707e)

Bug: 18837479
Change-Id: I15ecf282bfb65fd53dd03fbd03dd4c71927c186a
2015-01-21 11:57:52 -08:00
Ying Wang
33360dd569 Running jarjar on Java resources.
Before this change, Java resources are added as a separate step
(add-java-resources-to-package) after dex is run, so jarjar isn't run on
the resource files.
With this change, we add Java resources immediately after we call javac,
so jarjar is run on the resource files (the module's own resource, as
well as resources carried by static Java libraries).
When we generate the final apk/jar, we use the jarjar'ed jar as the
inital pacakge file, with class files and empty folders removed.

When jack is enabled, in jack-java-to-dex we add the Java resources to
a temp jar using the PRIVATE_EXTRA_JAR_ARGS, and extrac the files in a
temp dir. Jack will process the resource files and output the result to
PRIVATE_JACK_INTERMEDIATES_DIR. When we package the final apk/jar, we
need to call add-carried-jack-resources to readd the resources.
(TODO: if jack can output all resources to a jar/zip file, we can use
that file as the initial package file as well.)

Bug: 18837479
Change-Id: I8d7296e30ec8d005054cf04c4f2aed6d7a0d823b
2015-01-21 11:54:13 -08:00
Narayan Kamath
c1ed9796bb Revert "Running jarjar on Java resources."
This reverts commit 140274707e.

Breaks the build on uiautomator_compat.

Change-Id: I6d14f39e3432bf5e691027bbb8e7260e4bec8e8d
2015-01-21 11:04:22 +00:00
Ying Wang
140274707e Running jarjar on Java resources.
Before this change, Java resources are added as a separate step
(add-java-resources-to-package) after dex is run, so jarjar isn't run on
the resource files.
With this change, we add Java resources immediately after we call javac,
so jarjar is run on the resource files (the module's own resource, as
well as resources carried by static Java libraries).
When we generate the final apk/jar, we use the jarjar'ed jar as the
inital pacakge file, with class files and empty folders removed.

When jack is enabled, in jack-java-to-dex we add the Java resources to
a temp jar using the PRIVATE_EXTRA_JAR_ARGS, and extrac the files in a
temp dir. Jack will process the resource files and output the result to
PRIVATE_JACK_INTERMEDIATES_DIR. When we package the final apk/jar, we
need to call add-carried-jack-resources to readd the resources.
(TODO: if jack can output all resources to a jar/zip file, we can use
that file as the initial package file as well.)

Bug: 18837479
Change-Id: I15ecf282bfb65fd53dd03fbd03dd4c71927c186a
2015-01-20 11:46:59 -08:00
Yohann Roussel
b515f27d6b Merge "Don't exlude META-INF resources when building with Jack" 2015-01-15 17:56:23 +00:00
Yohann Roussel
5dd3e1d312 Don't exlude META-INF resources when building with Jack
java-to-jack is not manipulating jar files, just zip files so there
are no META-INF files generated by jar in them and no reason to filter
them out. And mainly, there are valid META-INF resources in the tree
we must keep.

Bug: 8287658
Bug: 18901198
Change-Id: Ice0fafca686b8fa3bafd886076946fbb1f952fb6
2015-01-15 18:53:42 +01:00
Christopher Ferris
d694dbbe09 am b773a8d5: am edbd5fd7: Merge "Fix whole static lib handling of duplicate names."
* commit 'b773a8d517189a06c54d8ed789806ed42aa42be0':
  Fix whole static lib handling of duplicate names.
2015-01-13 20:30:44 +00:00
Christopher Ferris
44203f3316 Fix whole static lib handling of duplicate names.
If LOCAL_WHOLE_STATIC_LIBRARIES contains a library that has
two files that have the same name but are in different
directories, only the first gets included.

This fix detects this case, and uses the m option to ar to force the
duplicate object to the end of the archive. After this, using the p
option gets the correct object file.

Change-Id: I2e183f48cef3c79499d4ab8ff147444611ff938b
2015-01-07 18:19:54 -08:00
Yohann Roussel
22c3fa6d73 Adapt to Jack and Jill Brest release
Includes cherry-picks of:
2e78d2f4263bc7c0f90d58af7014017f16aa3ce6 Jack option --import-res was renamed --import-resource
fdc913ee86fe0c45581178b901a673fdd7937e03 Update references to Jack type collison policy
8d83d1b21ec678fb9fb1c6ee643ace46d5f700ce Rename jill tmp file
8a1c98ce4ba0b4db39f274d6258b6a08bbc3ec2c Ensure that jar-arg-list is never shared
8d83d1b21ec678fb9fb1c6ee643ace46d5f700ce Remove manipulations of jack libraries

Change-Id: I3ee159d408ba5281ac15c9836dc4fd2bdeb845d3
2014-12-10 15:41:56 +01:00
Yohann Roussel
75dbbb6e0f Merge "Compile using Jack." 2014-12-04 09:27:14 +00:00
Stephen Hines
e3d102807c am b2f55103: am 4bad2d21: Merge "Add more support for GLOBAL_CONLYFLAGS."
* commit 'b2f5510365be26e279a8d02770a9f46e57741d54':
  Add more support for GLOBAL_CONLYFLAGS.
2014-12-02 19:01:41 +00:00
Yohann Roussel
b4c49cba57 Compile using Jack.
This allows to compile dex targeted java sources using Jack and Jill.
Default is still to compile with the legacy toolchain. Default can be
switched to the new toolchain by setting environement variable:
export ANDROID_COMPILE_WITH_JACK=true
Toolchain can also be forced for one module by defining
LOCAL_USE_JACK:=true # false
in the mk portion defining the module.

Jack execution environement can be controlled with:

Global variable ANDROID_JACK_VM allow to change the jvm executing Jack.
Global variable ANDROID_JACK_VM_ARGS allows to change default args given
to the jvm.
Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args
to give to Jack

LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for
the module.
LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack.

Change-Id: Ib81a0fd5f86a51d1e0edbb81cc791d828a05dd29
2014-12-02 18:11:13 +01:00
Stephen Hines
1568029218 Add more support for GLOBAL_CONLYFLAGS.
This will be necessary to support -std=gnu99 mode for clang 3.6, which
defaults to C11 mode (unlike prior releases that use C99).

Change-Id: Iea84582f9f12ba76b988463cbc0a20bd61042538
2014-12-01 15:36:26 -08:00
Dan Albert
65f44b7df7 am 0951017a: am 9cef6823: Merge "Revert "Fix the libgcc/libatomic link order.""
* commit '0951017a9e6ea7760323e24d44ba8e75414d47f7':
  Revert "Fix the libgcc/libatomic link order."
2014-11-20 23:47:00 +00:00
Dan Albert
e440c3c07b Revert "Fix the libgcc/libatomic link order."
This caused a lot of failures in the libc++ tests, since linking
libgcc.a before libc++.so means that the wrong unwinder will be used.

This patch is still correct, but I will revert for now while I find a
good way to apply it without breaking unwinding.

This reverts commit 741b36e922.

Change-Id: I57e0b89534adf5c1677dbf2f64ac750e74bd5fbf
2014-11-20 15:10:00 -08:00
Ying Wang
84699355c8 am e55efcdd: am 471e60d6: Merge "Use ALL_MODULES..INSTALLED in modules-for-tag-list"
* commit 'e55efcdde59f9f8cfc7fb0039b427cd038559c53':
  Use ALL_MODULES.$(m).INSTALLED in modules-for-tag-list
2014-11-19 19:04:08 +00:00
Ying Wang
634f7992f0 Use ALL_MODULES.$(m).INSTALLED in modules-for-tag-list
Previously we store tag's installed modules in a separate variable
ALL_MODULE_TAGS.$(tag). However we only record the main installed file
for a module, but omit affiliated files like .odex.
With this change, we handle the tagged module the same way as modules in
PRODUCT_PACKAGES.

Change-Id: I7972528a4df5a4ba8bc98930864da9672d32d7fe
2014-11-18 12:48:07 -08:00
Dan Albert
8e25667f12 am a4ad6442: am 9b0ccb74: Merge "Fix the libgcc/libatomic link order."
* commit 'a4ad6442d6a54c9eaf771a0d4ab7f7ab9de163ac':
  Fix the libgcc/libatomic link order.
2014-11-18 00:07:22 +00:00
Dan Albert
9b0ccb7480 Merge "Fix the libgcc/libatomic link order." 2014-11-17 23:55:57 +00:00
Miao Wang
11798647e4 am 439458d1: am ec64b05e: Merge "Add -Wl,--hash-style=sysv flag to rs: transform-bc-to-so for compatibility lib."
* commit '439458d1c97c846cab5cd6c09f9f5195f9587ad9':
  Add -Wl,--hash-style=sysv flag to rs: transform-bc-to-so for compatibility lib.
2014-11-17 23:07:18 +00:00
Miao Wang
e23e8080c6 Add -Wl,--hash-style=sysv flag to rs: transform-bc-to-so for compatibility lib.
Bug 18395015

Change-Id: Ib9aecf347c685c8b8b725eecfbc0cec03d9b2c1b
2014-11-15 14:25:33 -08:00
Dan Albert
cf559ed073 am 7d5fe242: am a05a04cc: Merge "Refactor transform-o-to-* definitions."
* commit '7d5fe24251846ef70f423f15bf941be35750c2e8':
  Refactor transform-o-to-* definitions.
2014-11-14 19:31:56 +00:00
Dan Albert
741b36e922 Fix the libgcc/libatomic link order.
The previous position of libgcc.a/libatomic.a on the link line causes
the linker to prefer satisfying dependencies from these libraries from
other libraries that might include them, rather than from libgcc.a (or
libatomic.a) itself. This imposes an ABI requirement that those
intermediate shared libraries _always_ export those symbols, which is
undesirable.

Change-Id: Ib593236b475d3e98356b2b1be6f96cee2b67378f
2014-11-13 21:29:28 -08:00
Dan Albert
e088c0d281 Refactor transform-o-to-* definitions.
Previously, there was one generic definition for each of the
transform-o-to-* functions in definitions.mk, and one target specific
one in each combo/TARGET_*.mk. The generic one was entirely unused,
and the target specific ones were all nearly identical.

Changing anything in these functions was tedious at best, and often
error prone. The differences between any 32-bit arch and its 64-bit
equivalent were restricted to the name of the linker, and the ARM and
MIPS definitions were identical. The few differences between ARM and
x86 looked to be compatibility for an old (ca. 2008) toolchain issue
with --gc-sections, and a bug (LDFLAGS coming first rather than
later).

To simplify things, I've moved the definitions for these out of
combo/TARGET_*.mk and back into definitions.mk. The differences
between ARM and x86 have been scrapped. Anything that really does
still need to be target specific can be handled as I have the linker:
add a TARGET_FOO variable to the given target and then add it to the
generic definition.

Change-Id: I54dc1bffc32ac39f27f0b87247dd6a6dbaf0b162
2014-11-13 16:21:46 -08:00
Ying Wang
5778600fd0 am 11186695: am b45f7c35: am 8683612f: Merge "definitions.mk: look for definitions.mk in device/*/build also"
* commit '111866953a95324b7ba342f92f14de2b7c35de24':
  definitions.mk: look for definitions.mk in device/*/build also
2014-11-05 20:16:12 +00:00
Ying Wang
b45f7c35b1 am 8683612f: Merge "definitions.mk: look for definitions.mk in device/*/build also"
* commit '8683612fbd15640ae59daf7ba7c36e1f2ff8e687':
  definitions.mk: look for definitions.mk in device/*/build also
2014-11-05 19:01:47 +00:00
Andrew Boie
388c04dd6b definitions.mk: look for definitions.mk in device/*/build also
build/core/Makefile looks for build tasks in either device/*/build/tasks
or vendor/*/build/tasks. Do the same with vendor-specific definitions.mk.

Change-Id: Ib4fd00a1d0effe8e347382a922da101ce26bf696
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2014-10-28 08:36:00 -07:00
Stephen Hines
3cbf16092a am e77cba7b: am 2094f855: am a503fb36: PIE executables created with mingw use "mainCRTStartup" as their entry point.
* commit 'e77cba7bfd518355a2bf732d0a559dbb45b594a0':
  PIE executables created with mingw use "mainCRTStartup" as their entry point.
2014-10-02 19:57:09 +00:00
Stephen Hines
e77cba7bfd am 2094f855: am a503fb36: PIE executables created with mingw use "mainCRTStartup" as their entry point.
* commit '2094f855a89277320bd9533108e443e92d2dc25b':
  PIE executables created with mingw use "mainCRTStartup" as their entry point.
2014-10-02 19:42:12 +00:00
Stephen Hines
0d07cfeaf8 am a503fb36: PIE executables created with mingw use "mainCRTStartup" as their entry point.
* commit 'a503fb362918363b28637b487eba83e9ad647ceb':
  PIE executables created with mingw use "mainCRTStartup" as their entry point.
2014-10-02 15:23:41 +00:00
Stephen Hines
a503fb3629 PIE executables created with mingw use "mainCRTStartup" as their entry point.
Bug: 14416410

Our linker uses "start" as the primary entry point, so we need to adjust this
for mingw-based Windows compiles, or nothing will execute correctly.

Change-Id: I6e99f43e075ef9f00500099ce34ec4425c996454
2014-10-02 00:57:09 -07:00
Ying Wang
c888b2d106 am 583ec9da: am e84eb7e3: am a6a6c35c: Return "none" if no matching arch found
* commit '583ec9da3e8d6d8ebf83fdba078cba2a0d24af5c':
  Return "none" if no matching arch found
2014-09-29 19:44:06 +00:00
Ying Wang
c811481734 am a6a6c35c: Return "none" if no matching arch found
* commit 'a6a6c35c3afdf9c4bcd05ea5e4c40983e7e49246':
  Return "none" if no matching arch found
2014-09-26 21:57:12 +00:00
Ying Wang
583ec9da3e am e84eb7e3: am a6a6c35c: Return "none" if no matching arch found
* commit 'e84eb7e3e1dd3d58af8ebc62e3b9e20dab9275bb':
  Return "none" if no matching arch found
2014-09-26 21:52:03 +00:00
Ying Wang
a6a6c35c3a Return "none" if no matching arch found
So result of get-prebuilt-src-arch can be passed to
LOCAL_MODULE_TARGET_ARCH, which takes empty string as "any" actually.

Change-Id: I916c9738ccce4a94ac084fb4141d54659e896a1f
2014-09-26 10:41:27 -07:00
Tim Murray
30333338ce am 3a20a171: am 965fa22d: am 039cd7e0: Merge "Add LOCAL_NO_FPIE."
* commit '3a20a171110cbdb2d92369f452a41e95a2affdd6':
  Add LOCAL_NO_FPIE.
2014-09-03 23:19:08 +00:00
Tim Murray
3a20a17111 am 965fa22d: am 039cd7e0: Merge "Add LOCAL_NO_FPIE."
* commit '965fa22d85aa1af3974c5f32e3c3325e66781f73':
  Add LOCAL_NO_FPIE.
2014-09-03 23:07:46 +00:00
Ying Wang
2fa90263b5 Merge "Strip prebuilt shared library by default." 2014-09-03 23:06:55 +00:00
Tim Murray
595d0dbd5b Add LOCAL_NO_FPIE.
Not all executables should be built with -pie.

bug 15814177

Change-Id: I402e8a531866b507ee80a0bf677f9f3551ca7693
2014-09-03 15:39:50 -07:00
Ying Wang
bfb52a2ec1 Strip prebuilt shared library by default.
Strip prebuilt shared library but not try adding gnu debuglink.
It would fail if you try run the adding gnu debuglink command if a
prebuilt is already stripped.

Bug: 17177288
Change-Id: If5811865715c2437e45fbd329983ef1212ef0109
2014-09-03 12:11:06 -07:00
Stephen Hines
2138f5ecbc am 52626d2a: Fix build breakage due to incorrect bcc_compat RS_TRIPLE.
* commit '52626d2a7b4767905e8a369ddc8316c1290ad156':
  Fix build breakage due to incorrect bcc_compat RS_TRIPLE.
2014-09-03 14:34:52 +00:00
Stephen Hines
5c72544d48 Fix build breakage due to incorrect bcc_compat RS_TRIPLE.
Bug: 17333374
Change-Id: I13582ce0cde86f7b3728aa4f45a5197438d65a2d
(cherry picked from commit 52626d2a7b)
2014-09-02 21:46:25 -07:00
Stephen Hines
52626d2a7b Fix build breakage due to incorrect bcc_compat RS_TRIPLE.
Bug: 17333374
Change-Id: I13582ce0cde86f7b3728aa4f45a5197438d65a2d
2014-09-02 19:09:35 -07:00
Dan Albert
c3733c7765 am 467f8f32: am df73a5fa: Merge "Performance improvement for whole static libs"
* commit '467f8f326b979b43b6be48d5294f0627cf8fdd71':
  Performance improvement for whole static libs
2014-08-20 21:28:49 +00:00
Dan Albert
e0f44ac25d Performance improvement for whole static libs
Improves performance for LOCAL_WHOLE_STATIC_LIBS by copying the first .a
to the new .a rather than extracting and recreating

Change-Id: Iecdb5e4bb2ce987bb41a70c3393d18a6d72ae689
2014-08-20 13:58:36 -07:00
Ying Wang
0a5db68c01 am 66a2aa21: am 9c80e8a5: Merge "Apply TARGET_GLOBAL_LDFLAGS to transform-bc-to-so"
* commit '66a2aa2180ca161bf73d2554972f9952b8e1bb7d':
  Apply TARGET_GLOBAL_LDFLAGS to transform-bc-to-so
2014-08-14 02:22:56 +00:00
Ying Wang
bfd651600c Apply TARGET_GLOBAL_LDFLAGS to transform-bc-to-so
This fixes mips unbundled build since we switched to mips64el toolchain
for both mips and mips64.
TODO: multilib build support.

Change-Id: I7add92d2cecfc3ab739785ceef6700240a25093a
2014-08-13 19:03:16 -07:00
Ying Wang
903e2dd014 Apply TARGET_GLOBAL_LDFLAGS to transform-bc-to-so
This fixes mips unbundled build since we switched to mips64el toolchain
for both mips and mips64.
TODO: multilib build support.

Change-Id: I7add92d2cecfc3ab739785ceef6700240a25093a
2014-08-13 18:47:50 -07:00
Dan Albert
04cf315970 Inhibit implicit -Bsymolic in -shared.
Bug: 16853291

Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
(cherry picked from commit b6bb71b85d)
2014-08-08 08:15:19 -07:00
Dan Albert
908ab54fda Fix uses of -fPIC and -fPIE.
We've been using -fPIC and -fPIE together in the global cflags all this
time. These options are incompatible. The only reason we haven't been
hit by this before is because of the forced -Bsymbolic in GCC. To fix
this, pass -fpic when compiling objects for shared libraries and -fpie
when compiling objects for executables. For static libraries, also use
-fpic. We have to do this because static libraries might be included in
either a shared library or an executable. Code compiled with -fpie
cannot be included in a shared library, but code compiled with -fpic
may be included in an executable.

We've also been using -fpic and -fPIC together. These are different
options, and only the latter will take effect.
http://stackoverflow.com/a/967010

The final thing this fixes is that we had -f(PIC|PIE) flags being passed
to link commands. These are compile time flags, and don't do anything at
link time.

Bug: 16823325
Change-Id: Ic76f47e63dc2c81b7e1a8058bae1b3dc8565d606
(cherry picked from commit 4803ce2696)
2014-08-08 08:15:14 -07:00
Dan Albert
9d6aa51a0f am e99d8947: am cbc742a1: Merge "Inhibit implicit -Bsymolic in -shared."
* commit 'e99d8947c09731d71db7e95a280cf81f51f4049a':
  Inhibit implicit -Bsymolic in -shared.
2014-08-08 00:23:56 +00:00
Dan Albert
d423e5fbdb am 897cd3d4: am afae9fd8: Merge "Fix uses of -fPIC and -fPIE."
* commit '897cd3d494272b8a6a12f0fb6d02bfe7426a309c':
  Fix uses of -fPIC and -fPIE.
2014-08-08 00:23:55 +00:00
Dan Albert
4803ce2696 Fix uses of -fPIC and -fPIE.
We've been using -fPIC and -fPIE together in the global cflags all this
time. These options are incompatible. The only reason we haven't been
hit by this before is because of the forced -Bsymbolic in GCC. To fix
this, pass -fpic when compiling objects for shared libraries and -fpie
when compiling objects for executables. For static libraries, also use
-fpic. We have to do this because static libraries might be included in
either a shared library or an executable. Code compiled with -fpie
cannot be included in a shared library, but code compiled with -fpic
may be included in an executable.

We've also been using -fpic and -fPIC together. These are different
options, and only the latter will take effect.
http://stackoverflow.com/a/967010

The final thing this fixes is that we had -f(PIC|PIE) flags being passed
to link commands. These are compile time flags, and don't do anything at
link time.

Bug: 16823325
Change-Id: Ic76f47e63dc2c81b7e1a8058bae1b3dc8565d606
2014-08-07 10:20:58 -07:00
Dan Albert
b6bb71b85d Inhibit implicit -Bsymolic in -shared.
Bug: 16853291

Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
2014-08-07 15:43:16 -07:00
Ying Wang
7f625aad03 Improve rules of split apks.
- Better messaging if the expected split apk isn't generated by the aapt
  command in the base apk rule; Remove the built base apk, so make will
  rerun aapt after the user changes the splitting parameters.
- Use cleaner static pattern rules instead of running $(foreach) with
  $(eval).

Bug: 16319961
Change-Id: If6ae302e1a39d2e0db8f784d4e1cf292ec855281
2014-07-23 16:38:06 -07:00
Ying Wang
1425e2d8c0 Support LOCAL_PACKAGE_SPLITS.
Support LOCAL_PACKAGE_SPLITS, which accepts a list of resource lables
and generates multiple apks. The build system sets up rules to sign and
zipalign the split apks.

Bug: 16319961
Change-Id: I344b3d1c7eb158c6d0df879093d666a89870aadd
2014-07-22 17:37:11 -07:00
Ying Wang
af9757e849 New installation path for apks and their JNIs.
Apk's path is changed to <parent_dir>/MyApp/MyApp.apk;
JNI path is changed to <parent_dir>/MyApp/lib/<arch_name>/libfoo.so.
Symlinks of JNIs are changed accordingly.

Bug: 16319961
Change-Id: Ib3b2309c95fa9aea27837fcc29e28d990b04747b
2014-07-18 16:26:24 -07:00
Yohann Roussel
e019dfd721 Support dx generating multiple dex files.
Dx is now capable of generating multiple dex file in one run.
This capability is not compatible with --output=*.dex so this CL
changes the --output argument to be a directory. This CL also
includes the packaging of the multiple dex files when dx generates
more than one dex file.

(cherry picked from commit 8ffe9c3e79)

Conflicts:
        core/java.mk

Change-Id: I1ddc91b416de5929d4d4b41824c6012b32f94deb
2014-07-16 12:38:22 +02:00
Ying Wang
58f8cf7273 am 904446ce: am 1a3d260f: am e69d4350: Merge "Support to add JNI of both archs in multilib build."
* commit '904446ce0b3f430ac88ae0c08b9c613721474cd5':
  Support to add JNI of both archs in multilib build.
2014-06-25 18:52:02 +00:00
Ying Wang
8e20ef6205 Support to add JNI of both archs in multilib build.
Use "LOCAL_MULTILIB := both" to install jni libraries of both archs in
multilib build.
The build system will package jni of both archs to the apk, or install
them to the right location on the system image and create symlinks,
extract .so files from prebuilt apk, etc if appropriate.

Bug: 15849902
Change-Id: I7e147b5a47db476584c38250de7b36c75ea40d81
2014-06-25 09:07:01 -07:00
Colin Cross
bf2f0c729b am a1ac4736: am b110da5f: am 9d8854e3: Merge "build: delete 64-bit blacklist"
* commit 'a1ac47367636c0473156679f8f30af626df7da85':
  build: delete 64-bit blacklist
2014-06-18 21:40:27 +00:00
Colin Cross
ae2986e51a build: delete 64-bit blacklist
The last projects in the blacklist have been fixed, delete the code.

Change-Id: I0fe7809bd18e32516374c9cb2a6f71df1d3c62ee
2014-06-17 21:35:44 -07:00
JP Abgrall
0ed7cec97a core: Fixup assert-max-image-size/assert-max-file-size usage
- Remove the incorrectly used (and unused) 3rd arg to assert-max-image-size
- Remove test for fstype in assert-max-file-size() as it was always
  set to a value leading to 0.

Change-Id: I0a1182fcc85c6c3801d45731e691b9bb38657606
Signed-off-by: JP Abgrall <jpa@google.com>
2014-06-16 14:20:40 -07:00
Ying Wang
01c4f4622b am dceddd91: am 79b46720: am 02f98a26: Merge "Fix loophole in module expansion."
* commit 'dceddd91d9a6516346e752b9f942747bea931cfa':
  Fix loophole in module expansion.
2014-06-11 20:49:20 +00:00
Ying Wang
541b1d0f7c am fe9ad097: am b1f65358: am 5ad17493: Merge "Support .asm being compiled by yasm targeted for x86."
* commit 'fe9ad0975ade10219a5fa9a77d034ba77735e393':
  Support .asm being compiled by yasm targeted for x86.
2014-06-11 17:44:54 +00:00
Ying Wang
e1b867dde7 Fix loophole in module expansion.
Previously we only expanded product_MODULES with LOCAL_REQUIRED_MODULES,
but not modules introduced by LOCAL_SHARED_LIBRARIES; Later we did a further
shared libary expansion in vendor_module_check.mk.
It couldn't track C in the following case:
A : B, by LOCAL_SHARED_LIBRARIES; B : C, by LOCAL_REQUIRED_MODULES.

With this change, we transformed the LOCAL_SHARED_LIBRARIES dependencies
into LOCAL_REQUIRED_MODULES dependencies before doing the required
module expansion and the loophole is closed.
All module names are now expanded to product_MODULES now and it makes
vendor_module_check.mk simpler.

Change-Id: I8835a478d2ce0ce10601a8449f446f07b01c2b7f
2014-06-10 14:30:30 -07:00
Ying Wang
7b913ce6fa Support .asm being compiled by yasm targeted for x86.
Change-Id: Icd6626a082facf920b0e49e2fbe8861e94400552
2014-06-06 11:00:36 -07:00
Ying Wang
8b73a86834 am 834ec0ea: am d3ddfdf8: am b3bed595: Merge "Add a dummy build recipe for generated RS cpp files."
* commit '834ec0ead591cf64a5f660af0210e95728e08c4f':
  Add a dummy build recipe for generated RS cpp files.
2014-05-28 23:45:29 +00:00
Ying Wang
d3ddfdf847 am b3bed595: Merge "Add a dummy build recipe for generated RS cpp files."
* commit 'b3bed5952b44e69dc9e1988beb4092303084ef61':
  Add a dummy build recipe for generated RS cpp files.
2014-05-28 23:38:46 +00:00
Ying Wang
81ab8339fe Add a dummy build recipe for generated RS cpp files.
Previously the RS cpp files are generated by the timestamp rule. Though
we have the generated RS cpp files depend on the timestamp file, we
don't have a build recipe. In such case gmake does some "optimization"
that it skip recompiling the generated cpp files, because it assumes the
generated cpp files are already up to date even if the rs files have
been updated.

Bug: 15313144
Change-Id: Ie69ecd2c788057d3619f9c7d2a125d44c4a534a1
2014-05-28 16:17:09 -07:00
Dan Albert
a5b0b1303d am 3805f619: Merge "Revert "Fix for duplicate names in whole static libs""
* commit '3805f619156163eab8ad92fd51b4a431be1287bd':
  Revert "Fix for duplicate names in whole static libs"
2014-05-27 19:44:19 +00:00
Dan Albert
3c12b5c02b Revert "Fix for duplicate names in whole static libs"
This reverts commit 0e5ce8be34.

Change-Id: I68b776cb915fd7be8299ddb2899907046dddadf3
2014-05-27 19:30:36 +00:00
Dan Albert
212772f632 am 31101623: Merge "Fix for duplicate names in whole static libs"
* commit '31101623b3e621436f6b46f49242ed4642d86164':
  Fix for duplicate names in whole static libs
2014-05-27 18:26:38 +00:00
Jeff Brown
4c4aa99ced Support more precise package exclusion from JAR files.
Allow LOCAL_JAR_PACKAGES to work on subpackages.  Previously it
only worked on top-level packages due to a bug in how the directories
were recursively deleted.

Add LOCAL_JAR_EXCLUDE_PACKAGES to allow specific subpackages to
be excluded.  This rule applies after LOCAL_JAR_PACKAGES has
selected which packages to include.  It may also be used independently.

Change-Id: Ibd0e495be1a20c84b59c9da132e92100ef3f8705
2014-05-23 18:41:19 -07:00
Dan Albert
0e5ce8be34 Fix for duplicate names in whole static libs
_extract-and-include-single-(host|target)-whole-static-lib was written such that
only the first file of a given name would be extracted and included into the new
library. This patch iterates over each identically named archive member,
extracts them individually, and adds them to the new archive.

Bug: 15110069
Change-Id: Ia08c7be6f40bfc8403908a8808898ada479099b1
2014-05-23 18:23:47 -07:00
Ying Wang
1dc4f0bace am 2bf10a72: am cdcb6926: am 6cb69bd4: Merge "Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build"
* commit '2bf10a72f87a8e97923286aa331f7db81e2361ca':
  Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
2014-05-23 19:43:57 +00:00
Ying Wang
cdcb6926d4 am 6cb69bd4: Merge "Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build"
* commit '6cb69bd4f20ac3ae3a7d5b5cc323c4480cf8ef75':
  Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
2014-05-23 17:44:31 +00:00
Ying Wang
6cb69bd4f2 Merge "Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build" 2014-05-23 17:39:40 +00:00
Ying Wang
78ae0ad8df am 913e0317: am a72e6f80: am 8a3f514d: Merge "Split the rules to build the odex file"
* commit '913e031793928981640f51fa2e6480312f044c37':
  Split the rules to build the odex file
2014-05-22 02:38:52 +00:00
Ying Wang
a72e6f80e4 am 8a3f514d: Merge "Split the rules to build the odex file"
* commit '8a3f514d44e2c1d4920126b3edd47f7a7616b732':
  Split the rules to build the odex file
2014-05-22 02:29:52 +00:00
Ying Wang
36142f64ae Split the rules to build the odex file
Previously the odex file is byproduct generated by the package.apk rule.
Though we have the odex file depend on the package.apk it doesn't have
its own build recipe. In case package.apk isn't updated but we still
need to update the odex file (such as changed LOCAL_MULTILIB), the odex
file will never be rebuilt.
This change split out the rules to build the odex file and make sure the
build recipe get executed if the odex file needs rebuild.

Change-Id: I60c2f32b536b3d59045301ee863aae1451734aad
2014-05-21 16:24:59 -07:00
Ying Wang
966c1e0cae Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
We already support pure 32-bit and 64-bit-by-default multilib build.
With HOST_PREFER_32_BIT we can build 32-bit-by-default multilib build.
This will be lest disruptive during the period we transition to
64-bit-by-default.

Bug: 13751317
Change-Id: I0d56ce4abbe4afeaacfd70d709f6a349791c0722
2014-05-20 18:03:21 -07:00
Ying Wang
8200231ae1 am e50f2d9f: am 40b49d30: am a74ade94: Merge "Support host multilib build"
* commit 'e50f2d9f32a27d8290692dbf99ab8b247ef9d553':
  Support host multilib build
2014-05-15 01:09:49 +00:00
Ying Wang
40b49d3043 am a74ade94: Merge "Support host multilib build"
* commit 'a74ade945776e80f99f3b05d06a131cfd353c3f6':
  Support host multilib build
2014-05-15 00:41:37 +00:00
Ying Wang
6feb6d5607 Support host multilib build
This change basically ported our target multilib to the host side.
It supports 2 host build modes: x86 and x86_64 multilib build.
For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64
multilib build. Later we'll default to x86_64 build and have a flag
to force 32-bit only build, which may be needed by SDK build.

In host module definition, like in target ones, you can use the
following
LOCAL variables to set up multilib configuration:
LOCAL_MULTILIB: can be "both", "first", "32" or "64".
It also supports the same set of arch or 32-vs-64 specific LOCAL
variables.
By default, it builds only for the first arch.

To keep path compatibility, in x86_64 build files are still output to
out/host/linux-x86; Both 32-bit and 64-bit executables are in
out/host/linux-86/bin;
In x86_64 build 32-bit shared libraries are installed to
out/host/linux-x86/lib32
and 64-bit shared libraries are installed to out/host/linux-x86/lib;
32-bit object files are output to out/host/linux-x86/obj32 and 64-bit
object files
are output to out/host/linux-x86/obj.

Bug: 13751317
Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
2014-05-14 16:55:04 -07:00
Adam Lesinski
2d1718aaea Change aapt flag to use new name
Change-Id: I59ee77ede4716fdbf8403504da65fcadc9946423
2014-05-09 10:57:48 -07:00
Bill Yi
1e4adfa837 Merge commit '8113e43601aac7702b9ec007e81a179826143d1e' into HEAD 2014-04-29 11:32:53 -07:00
Ying Wang
7d43b0f6a5 am f90ef06f: am 73c1422d: am b5956468: Merge "Disable host -fPIE if BUILD_HOST_static is set."
* commit 'f90ef06f0847f2adba3248859376775112ab1a81':
  Disable host -fPIE if BUILD_HOST_static is set.
2014-04-04 23:25:19 +00:00
Ying Wang
f90ef06f08 am 73c1422d: am b5956468: Merge "Disable host -fPIE if BUILD_HOST_static is set."
* commit '73c1422dd297553948ebfc4603fe852aa9a0336a':
  Disable host -fPIE if BUILD_HOST_static is set.
2014-04-04 23:19:20 +00:00
Ying Wang
faf3d5ed0f Disable host -fPIE if BUILD_HOST_static is set.
It turns out -static doesn't work with -fPIE.

Bug: 13568878
Change-Id: I66951a5517dece1c5f4f22c329cf703bd99b5163
2014-04-04 14:38:14 -07:00
Torne (Richard Coles)
dc74b38040 am e4915bbe: am 59d0c658: am c783b9bd: Merge "Add GYP as a target type that requires 2nd arch."
* commit 'e4915bbebbaaeb337df5dec87b82c18d186a6bfb':
  Add GYP as a target type that requires 2nd arch.
2014-04-02 17:31:04 +00:00
Torne (Richard Coles)
e4915bbebb am 59d0c658: am c783b9bd: Merge "Add GYP as a target type that requires 2nd arch."
* commit '59d0c658847d3c8118de46d2d7fa1fa3bfc563d2':
  Add GYP as a target type that requires 2nd arch.
2014-04-02 17:27:53 +00:00
Torne (Richard Coles)
3972253b0f Add GYP as a target type that requires 2nd arch.
"GYP" class targets are used by external/chromium_org for gyp's "none"
type. The processing in these targets needs a separate intermediate
directory for the primary/secondary architecture, so add it to the list
in intermediates-dir-for along with libraries/executables.

Change-Id: Id05899c83b45ed0647dfbfa6b0b2e7f61b04348b
2014-04-02 11:33:17 +01:00
Ying Wang
82784b285a am 1758fe1f: am 30dbfa43: am 1c380c13: Merge "Remove the unnecessary indirection of TARGET_STRIP_COMMAND"
* commit '1758fe1f87b58f91db569ba3c0fa406f5f37819e':
  Remove the unnecessary indirection of TARGET_STRIP_COMMAND
2014-03-31 17:43:57 +00:00
Ying Wang
1758fe1f87 am 30dbfa43: am 1c380c13: Merge "Remove the unnecessary indirection of TARGET_STRIP_COMMAND"
* commit '30dbfa43eff071438376b5699dbe3391d08204da':
  Remove the unnecessary indirection of TARGET_STRIP_COMMAND
2014-03-31 17:37:47 +00:00
Ying Wang
ce1c596e15 Remove the unnecessary indirection of TARGET_STRIP_COMMAND
Now all archs use the same strip command which can be put just in
transform-to-stripped.

Change-Id: Ief79697d47ea142fc9e63e63a7e2dace9e839165
2014-03-28 17:25:34 -07:00
Ying Wang
c63d345b18 am 264a5ed3: am 711951ab: am 78a819d6: am 266cf4f2: am f39752e9: Skip the product-scoped --product flag if it\'s set in LOCAL_AAPT_FLAGS
* commit '264a5ed3654b71ddc3c6dc0a52371624b2fa5204':
  Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
2014-03-25 21:19:18 +00:00
Ying Wang
711951abf0 am 78a819d6: am 266cf4f2: am f39752e9: Skip the product-scoped --product flag if it\'s set in LOCAL_AAPT_FLAGS
* commit '78a819d600ab750227009fd3dc93f7f2886600c7':
  Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
2014-03-25 10:04:39 +00:00
Ying Wang
78a819d600 am 266cf4f2: am f39752e9: Skip the product-scoped --product flag if it\'s set in LOCAL_AAPT_FLAGS
* commit '266cf4f2595323170fe02db05835884b4522a0f9':
  Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
2014-03-25 09:56:52 +00:00
Ying Wang
288bf3a377 am 266cf4f2: am f39752e9: Skip the product-scoped --product flag if it\'s set in LOCAL_AAPT_FLAGS
* commit '266cf4f2595323170fe02db05835884b4522a0f9':
  Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
2014-03-24 21:26:51 +00:00
Ying Wang
266cf4f259 am f39752e9: Skip the product-scoped --product flag if it\'s set in LOCAL_AAPT_FLAGS
* commit 'f39752e99b4e5083f1e91c46722f87def8143b49':
  Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
2014-03-24 21:21:26 +00:00
Ying Wang
f39752e99b Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
Bug: 11335547
Change-Id: Ic08b7557a288508e8e8d14a725923960c47f5ca0
2014-03-20 17:28:57 -07:00
Christopher Ferris
ddb9b4042e am 10eaabfc: am a908fc96: am aea9f041: am 8b1bcc7d: Merge "Add a method to leave the symbol table in a library."
* commit '10eaabfceb715baecbcdf71ebfb4f108ce295fb6':
  Add a method to leave the symbol table in a library.
2014-03-19 18:25:22 +00:00
Christopher Ferris
a908fc96db am aea9f041: am 8b1bcc7d: Merge "Add a method to leave the symbol table in a library."
* commit 'aea9f041f72a128065691ac402ccdb72a5a7aad4':
  Add a method to leave the symbol table in a library.
2014-03-19 18:15:39 +00:00
Christopher Ferris
810cf65d71 am aea9f041: am 8b1bcc7d: Merge "Add a method to leave the symbol table in a library."
* commit 'aea9f041f72a128065691ac402ccdb72a5a7aad4':
  Add a method to leave the symbol table in a library.
2014-03-19 18:15:39 +00:00
Christopher Ferris
a6e2f9322c Add a method to leave the symbol table in a library.
When LOCAL_STRIP_MODULE := keep_symbols is set, then the normal strip rules
will be modified so that only the .debug_* sections are removed. The original
symbol table is left alone.

This allows the compilation of certain libraries so that libbacktrace library
can provide meaningful names to functions.

Bug: 12958251
Change-Id: I82bdc304a463012e29086325ccb51163464cb4a9
2014-03-18 17:34:41 -07:00
Hui Shu
ec21c58574 Fix another build break.
The doclava build does not need to depend on the intermedidate
removed.txt. It depends on public_api.txt. Removed.txt is generated
along with public_api.txt by doclava.

BUG: b/11293324
Change-Id: Ia5ea675bbfb15b81ce6ae81cf34c608e83676ca1
2014-03-13 16:31:21 -07:00
Hui Shu
749aee5f5e Merge "Add removed.txt for doclava api consistency check" 2014-03-13 22:11:23 +00:00
Colin Cross
9bdcdff615 HACK: add 64-bit directory blacklist
Change-Id: I431e8b220db81d51930dc0b3d95995df120c179a
2014-03-13 11:26:26 -07:00
Nicolas Geoffray
e7be6ffa98 am db48d145: am 247dd0c4: Merge "Do not remove the generated .hpp file from yacc."
* commit 'db48d145841afb9b9b6d1c124191a1681d6b4f39':
  Do not remove the generated .hpp file from yacc.
2014-03-11 18:29:45 +00:00
Ying Wang
009f48b00f am a6230641: am 26bcd640: Merge "Try to catch more misuse of ."
* commit 'a623064131f23412daa0ac4b333320e2e30d85f0':
  Try to catch more misuse of $(my-dir).
2014-03-11 18:17:42 +00:00
Ying Wang
8ec7041127 am 8e286fbf: am cf1b7d4b: Merge "Select src arch for prebuilts."
* commit '8e286fbfc712ed695008f786592fe83e4a1331a7':
  Select src arch for prebuilts.
2014-03-11 18:16:49 +00:00
Torne (Richard Coles)
bbc3a3eda3 am 63002088: Merge "Allow LOCAL_LDFLAGS to override HOST_GLOBAL_LDFLAGS."
* commit '630020883abc6c8b2c13876e3195ed6abcf4890f':
  Allow LOCAL_LDFLAGS to override HOST_GLOBAL_LDFLAGS.
2014-03-11 18:08:03 +00:00
Ying Wang
2c5666fc4d am eb9b62e0: Merge "Make -rpath-link work with multilib."
* commit 'eb9b62e08d25ec9067a3f47634a2b8cf750230d8':
  Make -rpath-link work with multilib.
2014-03-10 18:06:15 +00:00
Ying Wang
16ae8b4dd1 am 5c7039fb: Merge "Remove dead code."
* commit '5c7039fb069c040759df0a5a15241dd7f8b2f9b7':
  Remove dead code.
2014-03-07 02:30:02 +00:00
Elliott Hughes
77285ffc9b am 993ffb80: Merge "Add all-S-files-under."
* commit '993ffb802ee90e07e73e67e523fd040395dfd74d':
  Add all-S-files-under.
2014-03-07 02:27:16 +00:00
Colin Cross
b9ad6792c0 am 717de0f5: Merge "Fix installing 2nd arch shared libraries"
* commit '717de0f553dc3c1a2baa0cc988af1adc5b26dba8':
  Fix installing 2nd arch shared libraries
2014-03-07 02:23:35 +00:00
Nicolas Geoffray
a6edb7a0e1 am 769a191f: am 50fcf753: am db48d145: am 247dd0c4: Merge "Do not remove the generated .hpp file from yacc."
* commit '769a191fd6423bbe36d6eef513be1aafa734a10f':
  Do not remove the generated .hpp file from yacc.
2014-03-05 18:11:02 +00:00
Nicolas Geoffray
50fcf75308 am db48d145: am 247dd0c4: Merge "Do not remove the generated .hpp file from yacc."
* commit 'db48d145841afb9b9b6d1c124191a1681d6b4f39':
  Do not remove the generated .hpp file from yacc.
2014-03-05 18:04:30 +00:00
Nicolas Geoffray
3cb9ddbdec Do not remove the generated .hpp file from yacc.
Depending on the file extension of the generated C++ file,
bison will generate a #include of a .h or .hpp. So both files
must be kept in the generated directory.

Change-Id: Id0aac7f407bdc69c7f5012c0d021761b0fceb427
2014-03-04 14:48:55 +00:00
Ying Wang
3bbfddd2ea Revert "Fix build: Revert "Try to catch more misuse of $(my-dir).""
This reverts commit 4f6e8342ac.
2014-03-01 15:32:04 -08:00
Ed Heyl
4f6e8342ac Fix build: Revert "Try to catch more misuse of $(my-dir)."
This reverts commit 79e8319b2e.

Change-Id: I7d4d352da802deea870fbe4f61f7a7023460a405
2014-03-01 14:25:08 -08:00
Ying Wang
f6f141a873 am 9cf7af63: am 0c0e9b81: am a6230641: am 26bcd640: Merge "Try to catch more misuse of ."
* commit '9cf7af6317e6f792f0c044f786983481210022cc':
  Try to catch more misuse of $(my-dir).
2014-03-01 17:40:59 +00:00
Ying Wang
0c0e9b8153 am a6230641: am 26bcd640: Merge "Try to catch more misuse of ."
* commit 'a623064131f23412daa0ac4b333320e2e30d85f0':
  Try to catch more misuse of $(my-dir).
2014-03-01 17:34:29 +00:00
Ying Wang
79e8319b2e Try to catch more misuse of $(my-dir).
Change-Id: I0c07d7115c66b30ba1383dfaa133f0cc40a33ad7
2014-02-28 18:23:06 -08:00
Ying Wang
cefca29a4c am 8e286fbf: am cf1b7d4b: Merge "Select src arch for prebuilts."
* commit '8e286fbfc712ed695008f786592fe83e4a1331a7':
  Select src arch for prebuilts.
2014-02-28 02:33:29 +00:00
Ying Wang
6c930fc1c9 Select src arch for prebuilts.
Change-Id: I2d08f923d28d59cfef93ff0bd9893352baaee60b
2014-02-27 18:25:29 -08:00
Ying Wang
c0adfb76cd Select src arch for prebuilts.
Change-Id: I2d08f923d28d59cfef93ff0bd9893352baaee60b
2014-02-27 17:24:12 -08:00
Torne (Richard Coles)
e665992cb8 am 63002088: Merge "Allow LOCAL_LDFLAGS to override HOST_GLOBAL_LDFLAGS."
* commit '630020883abc6c8b2c13876e3195ed6abcf4890f':
  Allow LOCAL_LDFLAGS to override HOST_GLOBAL_LDFLAGS.
2014-02-26 11:09:29 +00:00
Torne (Richard Coles)
db7dcc210a Allow LOCAL_LDFLAGS to override HOST_GLOBAL_LDFLAGS.
For host executables and shared libraries, the global LDFLAGS were being
inserted into the linker command line after the module-specific ones,
making it impossible to override the default settings. Change the order
to match target linker invocations.

Change-Id: Icd5f6f83df9f27a5be97ddb197ee245c1ab8c2be
2014-02-25 13:33:30 +00:00
Hui Shu
e8af17eb27 Add removed.txt for doclava api consistency check
BUG: b/11293324
Change-Id: Ie7cda9bc7d3a1e6c433eb073cc878b149cead8a0
2014-02-21 17:59:45 -08:00
Ying Wang
d4fe0bdfcb am 9b996f80: am eb9b62e0: Merge "Make -rpath-link work with multilib."
* commit '9b996f80a95f48bae153c35bacc0360c004e5258':
  Make -rpath-link work with multilib.
2014-02-22 00:58:46 +00:00
Ying Wang
9b996f80a9 am eb9b62e0: Merge "Make -rpath-link work with multilib."
* commit 'eb9b62e08d25ec9067a3f47634a2b8cf750230d8':
  Make -rpath-link work with multilib.
2014-02-22 00:45:52 +00:00
Ying Wang
9fb3526648 Make -rpath-link work with multilib.
Change-Id: If69ea6ed6cdbb657ed4005f8217d653e29626783
2014-02-21 16:20:20 -08:00
Torne (Richard Coles)
f93beb2167 Merge "Allow LOCAL_LDFLAGS to override HOST_GLOBAL_LDFLAGS." 2014-02-14 10:49:32 +00:00
Ying Wang
ca389b9048 am 5768ac91: am 5c7039fb: Merge "Remove dead code."
* commit '5768ac917ca0e08a6a356159e0a8837f1bcfc7ff':
  Remove dead code.
2014-02-13 11:27:22 +00:00
Ying Wang
5768ac917c am 5c7039fb: Merge "Remove dead code."
* commit '5c7039fb069c040759df0a5a15241dd7f8b2f9b7':
  Remove dead code.
2014-02-13 01:45:38 +00:00
Ying Wang
dc6bb0477d Remove dead code.
Change-Id: Ia36a04037e15cbf296f375f3ece9a7e977fdca1e
2014-02-12 17:38:46 -08:00
Colin Cross
84a20ac12e am 2c32144b: resolved conflicts for merge of 7cd7bd65 to klp-modular-dev-plus-aosp
* commit '2c32144b328e0191fa32bf342dc7eb01d6174b6e':
  HACK: add 64-bit directory blacklist
  add support for module supported or unsupported target architectures
2014-02-12 23:00:21 +00:00
Elliott Hughes
a0945a24f9 am 1e317e77: am 993ffb80: Merge "Add all-S-files-under."
* commit '1e317e77fa86ee0450e8a7b1b2ab5bd51720189f':
  Add all-S-files-under.
2014-02-12 22:47:32 +00:00
Colin Cross
2c32144b32 resolved conflicts for merge of 7cd7bd65 to klp-modular-dev-plus-aosp
Change-Id: Ib4f062a59d442b29b9782fd8c0328fd551c3a32a
2014-02-12 13:09:29 -08:00
Colin Cross
02e31d240a HACK: add 64-bit directory blacklist
Change-Id: I431e8b220db81d51930dc0b3d95995df120c179a
2014-02-12 12:17:55 -08:00
Elliott Hughes
1e317e77fa am 993ffb80: Merge "Add all-S-files-under."
* commit '993ffb802ee90e07e73e67e523fd040395dfd74d':
  Add all-S-files-under.
2014-02-12 19:22:29 +00:00
Torne (Richard Coles)
a424bf781c Allow LOCAL_LDFLAGS to override HOST_GLOBAL_LDFLAGS.
For host executables and shared libraries, the global LDFLAGS were being
inserted into the linker command line after the module-specific ones,
making it impossible to override the default settings. Change the order
to match target linker invocations.

Change-Id: Icd5f6f83df9f27a5be97ddb197ee245c1ab8c2be
2014-02-12 14:24:41 +00:00
Elliott Hughes
e3b044a0cc Add all-S-files-under.
Change-Id: I25416e2acc850c61226bc7a8e0536384f6eb2dce
2014-02-11 13:48:35 -08:00
Ying Wang
a87489b5c2 am 74b71317: am 2d72094f: am 960d919e: resolved conflicts for merge of 4df82b3e to klp-dev-plus-aosp
* commit '74b71317711fe4bacc6422e45de599fea840f061':
  Allow proguarding the main app and the test app in a single run.
2014-02-10 12:51:36 +00:00
Ying Wang
74b7131771 am 2d72094f: am 960d919e: resolved conflicts for merge of 4df82b3e to klp-dev-plus-aosp
* commit '2d72094f06e3cdfc78a3cfda9163cdb45ea7dbbb':
  Allow proguarding the main app and the test app in a single run.
2014-02-08 18:37:33 +00:00
Ying Wang
960d919e81 resolved conflicts for merge of 4df82b3e to klp-dev-plus-aosp
Change-Id: I7a1d9e1954ede06a818814bd05a77c69f1ed3bc6
2014-02-08 10:31:46 -08:00
Mihail Dumitrescu
4df82b3e30 Allow proguarding the main app and the test app in a single run.
Bug: 12895101
Change-Id: I6804d73306a164d3e3ec0cab4743f9582b5ef2cf
2014-02-07 19:11:24 +00:00
Colin Cross
96870b3eb4 am dc5249ab: am 717de0f5: Merge "Fix installing 2nd arch shared libraries"
* commit 'dc5249ab3c82040e21269fb69dc9a6dc89224629':
  Fix installing 2nd arch shared libraries
2014-02-06 00:06:30 +00:00
Colin Cross
5394bf1950 Fix installing 2nd arch shared libraries
2ND_TARGET_DEPENDENCIES_ON_SHARED_LIBRARIES was not set,
which was causing the later += to act like = instead of
:=, and the dependencies would disappear as soon as
LOCAL_MODULE was cleared.

Change-Id: Idea291524fc06377deafec62f37d20eaa7f93bca
2014-02-04 19:44:09 -08:00
Colin Cross
40826c170c am 8c89a9ff: am 4695598d: am ae49acbd: am 1acb1b64: Merge changes I62504bad,I16208cca,I4e4ceec6
* commit '8c89a9ff9cd461e4bc077a91a0c7c32b17a92ebd':
  add new gen/ directory for generated sources
  warn on LOCAL_MODULE_PATH in multiarch shared libraries
  Support LOCAL_MODULE_RELATIVE_PATH
2014-01-27 23:48:52 +00:00
Colin Cross
d826264621 add new gen/ directory for generated sources
Allow modules to generate source into $OUT/gen, which will then
be copied into $OUT/obj and $OUT/obj_$(TARGET_2ND_ARCH) as
necessary.  This allows a single build rule invocation that includes
generated source to build for the first and second architectures.

Modules will need to change calls to local-intermediates-dir into
local-generated-sources-dir.

Change-Id: I62504bad9454b3d9fde7b84ab9f0a487a2ecf0bf
2014-01-27 14:45:44 -08:00
Ying Wang
dd814bf8c2 Support to build executables for TARGET_2ND_ARCH
By default, an executable is built for TARGET_ARCH.
To build it for TARGET_2ND_ARCH in a 64bit product, use:
LOCAL_32BIT_ONLY := true
To skip a module for TARGET_2ND_ARCH, use:
LOCAL_NO_2ND_ARCH := true

Bug: 11654773
Change-Id: Ieb293d25b21024bfe1b554044df338e064ac7b46
2014-01-24 13:36:30 -08:00
Ying Wang
4d2cc665ea Set up rules to build shared libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion
of shared_library_internal.mk.
Intermediate fils of libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/SHARED_LIBRARIES/libfoo_intermediates/
and the built libfoo.so will be in
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/lib.

Bug: 11654773
Change-Id: I58bbe5a05a65f63bce6279131552f3792000716e
2014-01-24 13:35:30 -08:00
Ying Wang
6ef6519170 Set up rules to build static libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion
of static_library_internal.mk.
libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/libfoo_intermediates/libfoo.a.

Bug: 11654773
Change-Id: I1d92733968fc442e9225b4df5bd1b551a81d89f7
2014-01-24 13:35:09 -08:00
Ying Wang
72b01d6121 Support to build executables for TARGET_2ND_ARCH
By default, an executable is built for TARGET_ARCH.
To build it for TARGET_2ND_ARCH in a 64bit product, use:
LOCAL_32BIT_ONLY := true
To skip a module for TARGET_2ND_ARCH, use:
LOCAL_NO_2ND_ARCH := true

Bug: 11654773
Change-Id: Ieb293d25b21024bfe1b554044df338e064ac7b46
2014-01-21 11:26:39 -08:00
Ying Wang
791fa6a909 Set up rules to build shared libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion
of shared_library_internal.mk.
Intermediate fils of libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/SHARED_LIBRARIES/libfoo_intermediates/
and the built libfoo.so will be in
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/lib.

Bug: 11654773
Change-Id: I58bbe5a05a65f63bce6279131552f3792000716e
2014-01-16 15:43:47 -08:00
Ying Wang
61d499b965 Set up rules to build static libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion
of static_library_internal.mk.
libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/libfoo_intermediates/libfoo.a.

Bug: 11654773
Change-Id: I1d92733968fc442e9225b4df5bd1b551a81d89f7
2014-01-16 14:34:13 -08:00
Ying Wang
6a271ead2f resolved conflicts for merge of 948786c9 to master
Conflicts:
	core/llvm_config.mk

Change-Id: Icfe11ad432c39efdf281ba0ab3cffb1011789cce
2014-01-09 11:18:40 -08:00
Logan Chien
e6f65438a4 Allow clang to build host binaries.
Change-Id: I7e4f9dc6f69a97cfefdfa2ed55c5d7b8ad496da7
2014-01-07 14:49:20 +08:00
Ying Wang
dcdd759623 am 39139ee0: am 3d10656e: am d93df332: am 10b1ffae: Merge "enable PIE for dynamically linked Linux host executables"
* commit '39139ee09a82b232877e10b2e1832664382d4257':
  enable PIE for dynamically linked Linux host executables
2013-12-13 22:19:39 +00:00
Joshua J. Drake
b0eafa21b9 enable PIE for dynamically linked Linux host executables
Compile all host programs for Android with -fPIE and -pie. This
enables PIE (Position Independent Executables), which helps
protect these applications from exploitation due to memory
management bugs.

Note: PIE *static* executables are not supported at this time. darwin
and windows are also not supported.

Change-Id: I67c1be297711ea23064c349f97ebd02eef3eff09
2013-12-12 17:36:53 -08:00
Ying Wang
7493c39eff Add utility function find-files-in-subdirs
find-files-in-subdirs uses utility find to find given files in the given
subdirs. This function uses $(1), instead of LOCAL_PATH as the base.

Change-Id: Ib76631c97acd257d651a580cbad767606874f5d0
(cherry picked from commit 85898bca99)
2013-12-05 18:37:20 +00:00
Ying Wang
7c8c7bd4b6 Add utility function find-files-in-subdirs
find-files-in-subdirs uses utility find to find given files in the given
subdirs. This function uses $(1), instead of LOCAL_PATH as the base.

Change-Id: Ib76631c97acd257d651a580cbad767606874f5d0
2013-12-04 16:56:38 -08:00
Ying Wang
85898bca99 Add utility function find-files-in-subdirs
find-files-in-subdirs uses utility find to find given files in the given
subdirs. This function uses $(1), instead of LOCAL_PATH as the base.

Change-Id: Ib76631c97acd257d651a580cbad767606874f5d0
2013-12-04 16:27:06 -08:00
Guang Zhu
65ca9e6f02 follow up jar manifest change for ENABLE_INCREMENTALJAVAC
Change-Id: Id3df078691cfe5e9221ec5085a6b02ac6b6bb008
2013-09-25 15:27:20 -07:00
Guang Zhu
5c9a1a4064 enable embeded build number in jar manifest
* if a module uses LOCAL_JAR_MANIFEST
* if the manifest file has the string '%BUILD_NUMBER%' in it

Bug: 10793010

Change-Id: I1ed3dae0706e6ad26c2bce68269c1abb7b4a7325
2013-09-25 10:50:23 -07:00
Ying Wang
e260b24cde am 670a7a63: am c5b72527: am ec3c15e5: am 04c4d34d: am 7311a344: Make it easier to enable obfuscation and optimization.
* commit '670a7a6389948c325399ae9bb3dc6a678f9982f8':
  Make it easier to enable obfuscation and optimization.
2013-08-23 10:20:28 -07:00
Ying Wang
c5b72527d3 am ec3c15e5: am 04c4d34d: am 7311a344: Make it easier to enable obfuscation and optimization.
* commit 'ec3c15e5c7c11cf3a831898f286c7eb7c216e50f':
  Make it easier to enable obfuscation and optimization.
2013-08-23 10:12:26 -07:00
Ying Wang
ec3c15e5c7 am 04c4d34d: am 7311a344: Make it easier to enable obfuscation and optimization.
* commit '04c4d34d4fdb56c824abf39239d2c87806706b7e':
  Make it easier to enable obfuscation and optimization.
2013-08-23 10:09:27 -07:00
Ying Wang
7311a344be Make it easier to enable obfuscation and optimization.
With this change, use:
* LOCAL_PROGUARD_ENABLED := obfuscation  # to enable obfuscation
* LOCAL_PROGUARD_ENABLED := optimization # to enable optimization
* LOCAL_PROGUARD_ENABLED := obfuscation optimization # to enable both

Now the meaning of the LOCAL_PROGUARD_ENABLED options:
* full:
    Use the build system's default configurations:
    with shrink but no obfuscation or optimization,
    global proguard flags in build/core/proguard.flags
    are applied.
* custom:
    The same as "full" except no aapt-generated resource-related
    proguard flags.
* nosystem:
    Don't use any build system's default configurations; but
    aapt-generated proguard flags are still applied. You are
    responsible for any other flags.
* disabled:
    Disable proguard.
* obfuscation:
    The same as "full" but with obfuscation enabled.
* optimization:
    The same as "full" but with optimization enabled.
* no value (the default):
    The build system chooses the proper value: "full" if it's an
    app; "disabled" if it's a library.

You can use more than 1 of them in a meaningful combination,
for example:
LOCAL_PROGUARD_ENABLED := obfuscation optimization

Bug: 10307372
Change-Id: Id248caca3048e99547f16559fae74f4afe85c354
2013-08-22 17:12:38 -07:00
Yohann Roussel
400c48cc3b Merge "Support dx generating multiple dex files." 2013-08-22 08:31:14 +00:00
Yohann Roussel
8ffe9c3e79 Support dx generating multiple dex files.
Dx is now capable of generating multiple dex file in one run.
This capability is not compatible with --output=*.dex so this CL
changes the --output argument to be a directory. This CL also
includes the packaging of the multiple dex files when dx generates
more than one dex file.

Change-Id: I1ddc91b416de5929d4d4b41824c6012b32f94deb
2013-08-20 20:53:40 +02:00
Ying Wang
a3b7593546 Support to optionally run rmtypedefs.
Bug: 10330586
Change-Id: I6ddfca2ec986cf2c82b0942b7a5360508f095e9a
2013-08-14 18:20:54 -07:00
Jean-Baptiste Queru
8a7cd65585 am 50a402af: am f1534b62: Merge "Added generic hook for loading vendor specific defintions"
* commit '50a402af7ae550c96b9142ab56d3a23a8a8d22b1':
  Added generic hook for loading vendor specific defintions
2013-07-30 10:28:17 -07:00
Jean-Baptiste Queru
50a402af7a am f1534b62: Merge "Added generic hook for loading vendor specific defintions"
* commit 'f1534b6292a609bb5f55c4a617f3cd1054f90a81':
  Added generic hook for loading vendor specific defintions
2013-07-30 07:33:53 -07:00
Ying Wang
54d9cc3fac am cd9cadbc: am 7768c91c: am 94de1eba: Put a copy of the radio/bootloader files in the dist dir.
* commit 'cd9cadbcf68bfe07ac994e61aa00969572ae3fd5':
  Put a copy of the radio/bootloader files in the dist dir.
2013-07-26 13:00:20 -07:00
Ying Wang
cd9cadbcf6 am 7768c91c: am 94de1eba: Put a copy of the radio/bootloader files in the dist dir.
* commit '7768c91c1c90e7c13390396d895a3afd5fda3e0f':
  Put a copy of the radio/bootloader files in the dist dir.
2013-07-26 12:57:19 -07:00
Ying Wang
94de1eba0e Put a copy of the radio/bootloader files in the dist dir.
Bug: 10035750
Change-Id: I3b51e61ec737899d9264885a1e66c89a7a740d54
2013-07-26 12:19:20 -07:00
Marie Lennerhagen
9e5efceff9 Added generic hook for loading vendor specific defintions
Change-Id: I6dec9c378ed0aabf9e60f8dcb05c6043bbcc30e5
2013-07-26 18:12:36 +00:00
Ying Wang
5efaa72ac1 am 51aab877: am 5d1db8b4: Merge "Allow proto builds to pass in java proto params."
* commit '51aab8775ab86990abef411d00f5686e41022eee':
  Allow proto builds to pass in java proto params.
2013-07-25 17:04:20 -07:00
Ulas Kirazci
6e485b545a Allow proto builds to pass in java proto params.
Change-Id: I65fe0cd96f818f59267da6159e6bd2ad28f07a11
2013-07-25 13:40:53 -07:00
Ulas Kirazci
24c7289d24 Revert "Allow proto builds to pass in java proto params."
This reverts commit 28b46fc16c.

Change-Id: Iaca9fa749c6f460911cc46e08e6b3ae2555b8bcc
2013-07-25 19:35:28 +00:00
Ben Murdoch
fc2bad5c36 Revert "Allow proto builds to pass in java proto params."
This reverts commit 28b46fc16c.

Speculative fix for master builds. I cannot repro the break the bots
are seeing locally, but it seems related to building protobufs and this
CL was in the first broken build.
2013-07-25 11:44:53 +01:00
Ulas Kirazci
dd3d8f4ca9 am 6a5fc54f: am a825aa13: Merge "Allow proto builds to pass in java proto params."
* commit '6a5fc54fe9904214a7df1d34c9d48ad0310d867e':
  Allow proto builds to pass in java proto params.
2013-07-25 00:47:09 -07:00
Ulas Kirazci
28b46fc16c Allow proto builds to pass in java proto params.
Also source files which have dependencies need to be bundled together
(at least the way the build system is set up now). Move
--proto_path=$(TOP) to the end so that it does not take precedence
over user-supplied --proto_path flags.

Change-Id: Ia532647fe8811d39230a23ba3671685b0388cbe0
2013-07-24 18:02:57 -07:00
Jeff Brown
ae859f9b64 Split framework jar.
Change-Id: I38c68ac169a4ea10e4640b5d8e24298a6caaf441
2013-07-17 21:08:18 -07:00
JP Abgrall
1390cac3ce core: don't hardcode "out" during findleaves.py invocations.
"out" can be $OUT_DIR

Bug: 7183057
Change-Id: I7b52d40de4398f481e47f6d6d719fb550d874f73
2013-07-11 19:08:06 -07:00
Ying Wang
d6b1d61d84 Do vendor check on modules installed by LOCAL_SHARED_LIBRARIES
Since commit 6c86a1 we have split LOCAL_SHARED_LIBRARIES out of
LOCAL_REQUIRED_MODULES and the vendor check does no longer cover the
installed modules introduced by LOCAL_SHARED_LIBRARIES.
This change brings back the coverage.

Change-Id: Ie78692e48f173a3350792eb2fee8127ff9433caa
2013-04-15 17:41:55 -07:00
Stephen Hines
8db4ccea4a Link RS compatibility files with libc and make bcc_compat a regular dep.
If we don't do "-lc", we end up missing symbols like "memset" on our non-NEON
builds. It also makes more sense to have bcc_compat as a standard dependency
for now, since it occasionally changes the way we compile/link our source
files.

Change-Id: I4b0ead66caa7c72fb7733db8804a33faa5350930
2013-03-27 16:51:38 -07:00
Tim Murray
1a6f09a48c Add support for multiple architectures with RS compat lib.
Change-Id: I310f6f72e1124c06e9c59b0f59d33f168dc1e632
2013-03-06 17:15:26 -08:00
Ying Wang
45150f8b89 Fix function call syntax error.
Change-Id: Id40e059ade0c24b62ac407192ed3a67398dfa083
2013-02-27 15:23:42 -08:00
Ying Wang
4974879c32 Merge "Switch target java library dependency file from javalib.jar to classes.jar" into jb-mr2-dev 2013-02-27 23:10:12 +00:00
Ying Wang
087d4ee3ed Switch target java library dependency file from javalib.jar to classes.jar
Previously, any target Java code that depends on framework.jar has to
wait for the library's javalib.jar.
To build javalib.jar we have to run dx, which is quite slow.
Actually when code links against framework.jar, only classes.jar is
needed.
This improves the potential parallelism of the build system.

Change-Id: I82c5926ef282a3a6096bbf49b54ef4f2a0c2c0e7
2013-02-27 12:11:37 -08:00
Stephen Hines
9ac9b53dc6 Reduce RS build verbosity.
Change-Id: I9d04198ed1b9025abd60080c5ef23b3ce5ef9e22
2013-02-27 00:51:08 -08:00
Ying Wang
9485a57bb2 Untwist the target/host shared library dependencies.
Before this, if there are duplicate module names in both the host and
target spaces, LOCAL_SHARED_LIBRARIES results in mixed dependencies.

Bug: 7026946
Change-Id: I5407e3d078a8903c94978cc6d3e256851c52340f
2013-02-22 14:32:30 -08:00
Stephen Hines
6adffc196f Remove libcompiler_rt.so dependency for RS compat lib.
Change-Id: I0d871c9c7d7946b8551fdefd201603bb59ea010e
2013-02-11 20:03:38 -08:00
Stephen Hines
90a94b4bb2 Build RS compatibility library apps with libcompiler_rt.so too.
Change-Id: Ibc14ceb473bef23ab9e28f3a6bf7e4e99d529c01
2013-02-07 14:00:27 -08:00
Tim Murray
99b060f624 Attempt #2: libclcore.bc comes from prebuilts/sdk for unbundled projects.
This change also adds the NDK library path for unbundled builds.

Bug: 7419958
Change-Id: Id8b608b5dd49d72bec697da8fa7a9393d2ab735f
2013-02-01 12:01:38 -08:00
-b master
c3ccfeee88 Build libcore without a dep on aapt.
Currently building libcore (i.e. to get the core Java libraries) has a
dependency on AAPT. This is problematic for some users that don't want to pull
in the entirety of frameworks/base, e.g. for Dalvik development.

It turns out that all definitions.mk is using aapt for in this case is 'aapt
add -k <jar> <dex>', which adds a file to a JAR while stripping path info.
This is functionally equivalent to 'zip -j', and this CL just makes that
switch.

Change-Id: I292ecaf9d0321018bb7d2e68a49b2cc81de98a20
2013-01-28 15:55:53 -08:00
Stephen Hines
ba37043835 Remove references to llvm-rs-link, which is unused.
Change-Id: I42433a9b1d2b525d1b09f778a10ab9689e34926e
2013-01-25 15:26:16 -08:00
Stephen Hines
8f199b0588 Revert "libclcore.bc comes from prebuilts/sdk for unbundled projects."
This reverts commit ba6a7e1d46

Change-Id: I2855923e67c226d39fe362342570e9ab96b885b8
2013-01-23 18:39:05 +00:00
Stephen Hines
ba6a7e1d46 libclcore.bc comes from prebuilts/sdk for unbundled projects.
This change also adds the NDK library path for unbundled builds.

Bug: 7419958

Change-Id: If22823c3890f5507d486e654a1e0296c06a2e239
2013-01-22 17:56:37 -08:00
Stephen Hines
9541f5864d Build RS compatibility objects with libcompiler-rt.a.
Change-Id: Ic49fdc30b1d4568bbdc94338e116a31a1ade1e80
2013-01-18 16:41:22 -08:00
Stephen Hines
f692513071 Clean up libRSSupport.so and libclcore.bc dependencies.
Bug: 7419958
Change-Id: I62453bb6830cc2c82ca9dbbf576b52da95eef4b1
2012-12-17 17:59:47 -08:00
Ying Wang
3a990aee1e Merge "Build from source or prebuilt" 2012-12-14 14:52:16 -08:00
Ying Wang
63d94fa305 Build from source or prebuilt
With this change, you can easily switch between building from source
code and prebuilt.
Set LOCAL_PREBUILT_MODULE_FILE to the path of the prebuilt file,
relative to the top of the source tree, in the usual module definition.
The prebuilt will be used unless any of the followings satisfied:
1) ANDROID_BUILD_FROM_SOURCE is "true", which disable prebuilt globally;
2) The module name is in ANDROID_NO_PREBUILT_MODULES;
3) The LOCAL_PATH is prefixed by any of ANDROID_NO_PREBUILT_PATHS.
A developer can set ANDROID_NO_PREBUILT_MODULES or
ANDROID_NO_PREBUILT_PATHS to build only his own module(s) from source,
while build other modules from prebuilts.
You can set ANDROID_BUILD_FROM_SOURCE to true to build everything from
source.
Those variables can be set with shell environmental variable or in your
buildspec.mk.

Sometimes module B is able to be built from source only if module A is
also
built from source, for example, if B is the test apk of A.
In that case, you can use the macro include-if-build-from-source to
include B's Android.mk only if A is built from source too, or
if-build-from-source to conditionally include the definition of module
B,
if their module definitions are in the same Android.mk.

Support host-executable-hook and host-shared-library-hook.

Change-Id: Icab7cf028c87eaba0dd7efc2a7749fd6f32b44e4
2012-12-14 14:48:00 -08:00
Stephen Hines
7d6ec71965 Add -nostdlib to RS bc->so linker command line.
Change-Id: Ic715060c3d037ec9fecb0ad9b2be6c2e7052ce0a
2012-12-13 19:24:50 -08:00
Stephen Hines
e719f28d93 Build rules for Renderscript compatibility library.
Bug: 7419958
Change-Id: I2e0f0bb632e6ff22b2cf1a1b96b28364637995cc
2012-12-12 14:58:02 -08:00
Ying Wang
90304a74a3 am ae56a570: am e1f94189: am ce811261: Merge "Move check-api to definition.mk" into jb-mr1.1-dev
* commit 'ae56a570cb7e16a0853433d20691b0ee72da5cc2':
  Move check-api to definition.mk
2012-11-16 10:42:41 -08:00
Ying Wang
ae56a570cb am e1f94189: am ce811261: Merge "Move check-api to definition.mk" into jb-mr1.1-dev
* commit 'e1f94189d95084a72d206d89ecb9d38de0512fc6':
  Move check-api to definition.mk
2012-11-15 15:23:44 -08:00
Ying Wang
e1f94189d9 am ce811261: Merge "Move check-api to definition.mk" into jb-mr1.1-dev
* commit 'ce811261bc8d56d43e59b1f9fb96ae53192de126':
  Move check-api to definition.mk
2012-11-15 15:20:58 -08:00
Ying Wang
c065da2307 Move check-api to definition.mk
1) Move check-api to definition.mk, so it can be used in other places.
2) Add additional dependency to the api-stub module to consolidate the
apicheck dependency. Previously you have to run 2 "make"s in a row and
only in the 2nd run apicheck is run, due to a gnu-make optimization.

Bug: 7540265
Change-Id: Ib24ed87d9330027a9f95ed7b16dd4002cc0e3198
2012-11-14 16:00:45 -08:00
Ying Wang
31df068b38 Additional certificates support for an apk.
Change-Id: I5b35d5728ba9d65f7ece956127270a9ca2ea0efe
2012-11-13 10:56:04 -08:00
Tim Murray
a7aa8005d2 Add support for RS in C++.
Change-Id: Ib8008d6301584bd0a2cd91c4c1294e0df8ac3b73
2012-11-01 15:07:27 -07:00
Joe Onorato
50462d67e9 am 8858d2a7: Add a tool to let you enforce layering between packages in a java module.
* commit '8858d2a731f432786b7548b5f63ac93be81eb986':
  Add a tool to let you enforce layering between packages in a java module.
2012-10-20 18:15:18 -07:00
Joe Onorato
8858d2a731 Add a tool to let you enforce layering between packages in a java module.
And build system support for it too.

Change-Id: I4dd5ed0b9edab6e8884b0d00cfeeae5fa38d967a
2012-10-20 17:25:55 -07:00
Ying Wang
057eba07b8 Use PRIVATE_WARNINGS_ENABLE
Before this LOCA_WARNINGS_ENABLE never worked :-(

Change-Id: I129a0bbbbb68e4179454b0827b0b0d18d6de67a0
2012-10-18 10:54:49 -07:00
Joe Onorato
0eccce99d7 Add a tool to let you enforce layering between packages in a java module.
And build system support for it too.

Change-Id: I4dd5ed0b9edab6e8884b0d00cfeeae5fa38d967a
2012-10-18 10:21:46 -07:00
Stephen Hines
daf2ca50dd am d2637573: resolved conflicts for merge of ed38fe6f to jb-mr1-dev-plus-aosp
* commit 'd26375733992298edc036652d25170e1cd7cbd49':
  Add support for building Filterscript files.
2012-10-12 11:02:14 -07:00
Stephen Hines
d263757339 resolved conflicts for merge of ed38fe6f to jb-mr1-dev-plus-aosp
Change-Id: If699b3ccf1f3befd4df881e3eef6b90dd7c505bf
2012-10-11 22:08:57 -07:00