Commit Graph

483 Commits

Author SHA1 Message Date
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
Stephen Hines 0a0cfe95ac Merge "Add support for building Filterscript files." into jb-mr1-dev 2012-10-11 17:25:21 -07:00
Stephen Hines 0ab6e3e6e6 Add support for building Filterscript files.
This change piggybacks Filterscript rules onto the existing Renderscript
rules. There is no real difference other than the file extension (which
llvm-rs-cc uses to apply a more stringent set of warnings/errors).

Bug: 7166741
Change-Id: I27175ff1c16c27129cafa92b4e8caabf2e5f4150
2012-10-11 15:29:10 -07:00
Ying Wang 57ddcb1bbc Support to build executables against the NDK
Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you
include $(BUILD_EXECUTABLE).
Cherry-picked from master.

Bug: 7170098
Change-Id: Ib35a294bd6aa4e969d46ecd8ebab8ca5d843e24b
2012-10-10 10:24:26 -07:00