Commit graph

660 commits

Author SHA1 Message Date
Ying Wang
9ef2bee21a am 09ba20ce: am fd251b33: am 1a4676a1: Merge "Increase the maximum javac heap size again."
* commit '09ba20ce647472ca6f5692bcf6eb5477fc3a818d':
  Increase the maximum javac heap size again.
2014-04-09 21:37:16 +00:00
Ying Wang
d81d71a020 Increase the maximum javac heap size again.
Change-Id: Ic3422650ea22977f3dcfd74505cb287ff6543c2d
2014-04-09 14:27:29 -07:00
Narayan Kamath
ed1c119375 am 6c0fba0f: am ae44bb55: am 94147a91: Merge "Stop defining HAVE_TIMEDWAIT_MONOTONIC."
* commit '6c0fba0f989ce9755a4f4303149355dd0d4ea60d':
  Stop defining HAVE_TIMEDWAIT_MONOTONIC.
2014-04-09 16:19:44 +00:00
Narayan Kamath
e6243e176b Stop defining HAVE_TIMEDWAIT_MONOTONIC.
We no longer provide this function in bionic. All callers
should be moved over to pthread_condattr_setclock().

Change-Id: Iccd3384b40de423f7d5f9521b6d8073bf8bdea42
2014-04-09 16:08:09 +00:00
Narayan Kamath
c84889b80a Build with java7 by default.
All introduce a flag LEGACY_USE_JAVA6 to force java6 builds.
This is an unsupported configuration, and provided temporarily
to iron out regressions and compare build output (if required.).

- Increment the version check sequence number.
- Move a more specific check (OpenJDK vs non OpenJDK) after
  the more general version check.
- Update the link in the version check error message to the
  "initializing" page instead of the "download" page. The latter
  talks about repo, mainly.

bug: 8992787

Change-Id: I313e17b1911768d4f3bc318c4162c53dec6eaf0d

Conflicts:
	core/main.mk
2014-04-04 18:44:47 -07:00
Narayan Kamath
422fadcf79 Build with java7 by default.
All introduce a flag LEGACY_USE_JAVA6 to force java6 builds.
This is an unsupported configuration, and provided temporarily
to iron out regressions and compare build output (if required.).

- Increment the version check sequence number.
- Move a more specific check (OpenJDK vs non OpenJDK) after
  the more general version check.
- Update the link in the version check error message to the
  "initializing" page instead of the "download" page. The latter
  talks about repo, mainly.

bug: 8992787

Change-Id: I313e17b1911768d4f3bc318c4162c53dec6eaf0d
2014-04-04 09:55:57 +01:00
Christopher Ferris
707354c0ad am fc1a735e: am 2d0ecc1b: am 0c4870a4: Merge "Specify -mcpu=cortex-a15 for denver CPU variants."
* commit 'fc1a735ec618791df306ad2a8f2f94a3db10284d':
  Specify -mcpu=cortex-a15 for denver CPU variants.
2014-03-31 19:50:03 +00:00
Christopher Ferris
0c4870a4cd Merge "Specify -mcpu=cortex-a15 for denver CPU variants." 2014-03-31 19:06:28 +00: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
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
d2c1f1228d am 9efc18fb: am da3eec42: am 708242d5: Merge "Increase the maximum javac heap size."
* commit '9efc18fb99d6d4229a1d4ad993b50b6ffb15f054':
  Increase the maximum javac heap size.
2014-03-27 19:14:34 +00:00
Ying Wang
01f11b2aa9 Increase the maximum javac heap size.
Java 7 needs more memory when you run some annotation tools.

Change-Id: Ia8b423244b9ce164500b24867fe2b3d10a5089ff
2014-03-26 19:23:46 -07:00
Tim Murray
1bbba7d404 am 9c08a73b: am 6440fb0c: am b35094ec: am 01aa01db: Merge "Make Clang host builds hermetic on Linux."
* commit '9c08a73b242344a18676a2c5b17f5d475abef16f':
  Make Clang host builds hermetic on Linux.
2014-03-25 21:22:55 +00:00
Tim Murray
02cefc93a8 Make Clang host builds hermetic on Linux.
This lays the groundwork for making builds hermetic on Darwin as well.
That will be fixed in a future patch.

bug 13435344

Change-Id: Iae82d0b9efad0598d682ff5fd4daa737aa607866
2014-03-24 19:38:47 -07:00
Shu Zhang
453afb242c Specify -mcpu=cortex-a15 for denver CPU variants.
Change-Id: Ic27484c92a48b45148021a61420ffdd55a9dd945
2014-03-24 16:19:50 +08: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
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
Ying Wang
8888faa549 am 5245393e: am e3687086: am 87a25ea7: am bce52ca5: Merge "Remove arm64 clang build warning"
* commit '5245393ef6b18c181fac43111a1dbfa6f829af01':
  Remove arm64 clang build warning
2014-03-18 23:17:40 +00:00
Ying Wang
ed56902c29 Remove arm64 clang build warning
Now we have enabled arm64 clang.
This change remvoed arm64 clang build warning and cleaned the
arm64 unknow c flags.

Change-Id: Ia583a78c6d364e603ff09df423aa34a6e03d0b9b
2014-03-18 15:58:13 -07:00
Colin Cross
0af8bc1ed1 am c48da22b: am 8213b719: am 6e92ade0: am db24577b: Merge "Work in progress to enable build system support for Clang."
* commit 'c48da22b6d0f7be0b9ce9f1d448fc524e692e86c':
  Work in progress to enable build system support for Clang.
2014-03-16 00:06:17 +00:00
Colin Cross
db24577bbd Merge "Work in progress to enable build system support for Clang." 2014-03-15 23:54:03 +00:00
Andrew Hsieh
51ffb467a9 am 70dff286: am 228f8afc: am de8edc8a: am 933e8940: Merge "Fix HOST_TOOLCHAIN_PREFIX"
* commit '70dff2866fd7a22a7248a80fd888d167c0f7636a':
  Fix HOST_TOOLCHAIN_PREFIX
2014-03-14 17:13:11 +00:00
Tim Murray
b5f333bbef Work in progress to enable build system support for Clang.
Change-Id: I278b48bcd976afcbde8d86261da9b9b9efc9002c
2014-03-14 00:39:03 -07:00
Andrew Hsieh
cbe162e914 Fix HOST_TOOLCHAIN_PREFIX
Previously HOST_TOOLCHAIN_PREFIX can't accept toolchain in arch-os-*-gcc
format.  Fix it so we can try out new host toolchain, eg.

  HOST_TOOLCHAIN_PREFIX=prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/bin/x86_64-linux- make

Change-Id: Ic1092593036c41d5471e788654fb4e0991dd7e40
2014-03-12 19:27:59 +08:00
Ying Wang
df925cefc1 am f91a014f: am 0a196075: am 446f00c9: am ce156811: Merge "Split WITHOUT_CLANG to WITHOUT_HOST_CLANG and WITHOUT_TARGET_CLANG"
* commit 'f91a014f6f2c176f6e1f99cb3bb90d707e0be31c':
  Split WITHOUT_CLANG to WITHOUT_HOST_CLANG and WITHOUT_TARGET_CLANG
2014-03-11 02:15:11 +00:00
Ying Wang
ba8b377d89 Split WITHOUT_CLANG to WITHOUT_HOST_CLANG and WITHOUT_TARGET_CLANG
Still keep WITHOUT_CLANG, which enables both.

Bug: 13402154
Change-Id: I32cb668223997719875751bf3d64f592d6086830
2014-03-10 18:59:12 -07:00
Ian Rogers
67d675af0e am d5cd41fe: am 95739176: am 21060b30: am 775d15e0: Merge "Define __STDC_CONSTANT_MACROS globally to work around host build differences."
* commit 'd5cd41fe6d9d140e84703e87cec1f83660e568e3':
  Define __STDC_CONSTANT_MACROS globally to work around host build differences.
2014-03-11 00:37:50 +00:00
Ian Rogers
aa54033b46 Define __STDC_CONSTANT_MACROS globally to work around host build differences.
Change-Id: I945128b3087b28f62467c7123b759e3514027574
2014-03-10 16:49:41 -07:00
Ian Rogers
17fe9e3000 am 17536801: am e25c0b25: am bc39fd5c: am f1e697be: Merge "Revert "Define __STDC_LIMIT_MACROS globally to work around host build differences.""
* commit '17536801ea179360da3ba2886dfc48dda392d28a':
  Revert "Define __STDC_LIMIT_MACROS globally to work around host build differences."
2014-03-10 23:42:20 +00:00
Ian Rogers
c61a9425cd Revert "Define __STDC_LIMIT_MACROS globally to work around host build differences."
This reverts commit 668427c941.

Change-Id: I3694aad84e7499e4c6839db0bd06acf5166e4802
2014-03-10 23:27:01 +00:00
Ian Rogers
368790a734 am 4d16757b: am 848361f9: am a520bfbe: am 4783dc7a: Merge "Define __STDC_LIMIT_MACROS globally to work around host build differences."
* commit '4d16757b201003cd25b0b27a717b1bc7c32a6dd8':
  Define __STDC_LIMIT_MACROS globally to work around host build differences.
2014-03-10 22:58:18 +00:00
Ian Rogers
668427c941 Define __STDC_LIMIT_MACROS globally to work around host build differences.
Change-Id: I571fc5a4b35c830ca8de4dc3117aef258dffa1bd
2014-03-10 15:30:39 -07: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
9fb3526648 Make -rpath-link work with multilib.
Change-Id: If69ea6ed6cdbb657ed4005f8217d653e29626783
2014-02-21 16:20:20 -08:00
Ying Wang
039107aa8d am e9bb9870: am 9335001d: Merge "Strip all symbols on x86"
* commit 'e9bb9870027429b56e42604802b07c1c3d7a8a4e':
  Strip all symbols on x86
2014-02-20 23:02:03 +00:00
Ying Wang
21bcdbc8ba am a5e79db0: am f9538ea6: Merge "Add missing s to mips."
* commit 'a5e79db0791340e0b6837903c234c3f97d4c5332':
  Add missing $(combo_2nd_arch_prefix)s to mips.
2014-02-20 21:28:00 +00:00
Ying Wang
9335001d5d Merge "Strip all symbols on x86" 2014-02-20 18:31:07 +00:00
Elliott Hughes
369b3326f3 Add missing $(combo_2nd_arch_prefix)s to mips.
Change-Id: I91a5f2d92cc964cbaeb1c07f27eb56ea1a0d53cc
2014-02-19 20:29:25 -08:00
C. Sean Young
b47c863ec7 Strip all symbols on x86
Strip all of the non-dynamic symbols on x86 targets,
instead of just the debug symbols.

Change-Id: Id799a6a8c8b0e8bf70977328e42e5efa23762f25
2014-02-19 12:53:43 -08:00
Ying Wang
3c5f698cea am 21ec64b1: am 5aa50c66: Merge "Fix x86 config file to support 2nd ARCH build"
* commit '21ec64b16914dfd05e07558b00ada867b7aa8b6e':
  Fix x86 config file to support 2nd ARCH build
2014-02-19 18:34:48 +00:00
Ying Wang
315522ec29 am 32e93384: am 3d9c1c1a: Merge "Switch x86_64 to gcc-4.8"
* commit '32e93384b73746c54f8bc0e8a7b818acc5c1b00e':
  Switch x86_64 to gcc-4.8
2014-02-19 18:31:16 +00:00
Ying Wang
5aa50c6637 Merge "Fix x86 config file to support 2nd ARCH build" 2014-02-19 18:19:22 +00:00
Ying Wang
3d9c1c1a53 Merge "Switch x86_64 to gcc-4.8" 2014-02-19 18:17:52 +00:00
Colin Cross
eb6a43654e am c798836a: am 4febec12: Merge "x86: set -msse2 for all builds"
* commit 'c798836a82584744a02a26c57f2733fcb0b0e0cf':
  x86: set -msse2 for all builds
2014-02-19 01:12:40 +00:00
Colin Cross
4aa263f2be x86: set -msse2 for all builds
All supported x86 processors have SSE2.

Change-Id: Ib4a0511c456fe3185b0b902390860ad557aeedcf
2014-02-18 15:49:48 -08:00
Pavel Chupin
c562742e0b Switch x86_64 to gcc-4.8
x86 is already on gcc-4.8

Change-Id: I39b4298b705a6ad04cdaa434261c6b0d90d552ff
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-02-18 17:02:36 +04:00
Qiming Shi
310324d28a Fix x86 config file to support 2nd ARCH build
Change-Id: I5f6091c555b9e742303f294b7c07a981ae5c6026
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
2014-02-17 17:46:48 +08:00
Stephen Hines
34c6ac77c2 am c4206df9: am 051e28fe: Merge "Fix incorrect x86 build rules."
* commit 'c4206df9e8b59d1e9e948033e02ec08620f31c8b':
  Fix incorrect x86 build rules.
2014-02-14 23:41:20 +00:00
Stephen Hines
6d5dd2367a Fix incorrect x86 build rules.
combo/TARGET_x86*.mk mistakenly added TARGET_GLOBAL_CFLAGS to their
linker command lines. This results in clang builds not working properly,
since they strip some unknown flags from TARGET_GLOBAL_CFLAGS.

Change-Id: I60a1ff5df70305323134435e4ae107ea7acfe8ea
2014-02-13 09:24:29 -08:00
Ben Cheng
2ad7d4df07 am 7495e68a: am 6c5d8976: Merge "Refreshed gcc predefines __ANDROID__"
* commit '7495e68a61075ef592aff6f2ba4d1d06fe3fedf4':
  Refreshed gcc predefines __ANDROID__
2014-02-10 12:50:55 +00:00
Ying Wang
956cd05468 am 34afc565: am 5cc7f8a7: Merge "Select the arch_variant_cflags for the 2nd arch."
* commit '34afc565b41989f07d6e479def5e849aeaad1ac9':
  Select the arch_variant_cflags for the 2nd arch.
2014-02-10 12:50:55 +00:00
Ben Cheng
6c5d897648 Merge "Refreshed gcc predefines __ANDROID__" 2014-02-07 21:36:46 +00:00
Ben Cheng
859c826ffc Refreshed gcc predefines __ANDROID__
Change-Id: Id76f5a7490fba8190329e5ce3c4b138976a034ce
2014-02-07 13:16:18 -08:00
Ying Wang
de9955c35e Select the arch_variant_cflags for the 2nd arch.
Change-Id: Id2f9d7073a4aae3ba0fe5e5464045761f4d42b4e
2014-02-07 10:44:10 -08:00
Elliott Hughes
3e3cde556f am 4d5fa510: am 8b20d5b9: Merge "Turn 64-bit-related warnings into errors on 64-bit builds."
* commit '4d5fa510977d8d698ec75d128efc4e71173ae697':
  Turn 64-bit-related warnings into errors on 64-bit builds.
2014-02-06 21:03:37 +00:00
Elliott Hughes
8b20d5b97e Merge "Turn 64-bit-related warnings into errors on 64-bit builds." 2014-02-06 20:54:05 +00:00
Elliott Hughes
77f88ce0da am 3f040869: am efb9603a: Merge "[MIPS64] Add mips64 target"
* commit '3f0408695b23a8d21c3227ae845006381b26f666':
  [MIPS64] Add mips64 target
2014-02-06 20:29:48 +00:00
Chris Dearman
1efd9e462a [MIPS64] Add mips64 target
Change-Id: Ice1621101c0d5a3314db288542ca8020e3f406bf
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-05 19:07:57 -08:00
Elliott Hughes
18042e1960 Turn 64-bit-related warnings into errors on 64-bit builds.
I don't think we can realistically turn this on for 32-bit builds any
time soon.

Also, fix the arm64 stack-protector hack.

Change-Id: Ie1e7c875bbc06fb21bb372b8ca99879a23ef53d4
2014-02-05 17:40:02 -08:00
Colin Cross
98255dc988 am d69ed2e2: am 054b0274: Merge topic \'arm64\'
* commit 'd69ed2e25c59803bbbbbee7c09551efb3ed0c49d':
  add support for more LOCAL_*_arch variables
  don't rename 32-bit executables to *_32
  remove 2nd arch from ARCH_ARM_* defines
2014-02-06 00:06:30 +00:00
Colin Cross
ec14ce578b remove 2nd arch from ARCH_ARM_* defines
Users of ARCH_ARM_* defines don't care about first vs. second arch,
set ARCH_ARM_* regardless of which arch is arm.

Change-Id: I2ae83ec5c3f839ff91a0e352c95d76ec2cbd5dc5
2014-02-04 19:44:09 -08:00
Narayan Kamath
7201cdef71 am b1aec05a: am ad9209ad: Merge "Define __STDC_FORMAT_MACROS on Windows host builds."
* commit 'b1aec05aae44b541aa4c579f7cc700700c91bc0b':
  Define __STDC_FORMAT_MACROS on Windows host builds.
2014-01-31 16:41:26 +00:00
Ian Rogers
0e0b880c4b am eb02fa0a: am 805cb8fa: Merge "Fix the host inttypes.h problem globally."
* commit 'eb02fa0a6b87682daca29e2ffdd6d7b422acc79f':
  Fix the host inttypes.h problem globally.
2014-01-31 16:41:24 +00:00
Ian Rogers
694b2b7b12 Define __STDC_FORMAT_MACROS on Windows host builds.
Change-Id: I89b54a63c3f111b8242fe9e813d94a839c484195
2014-01-29 21:37:37 -08:00
Ian Rogers
61e5059ef7 Fix the host inttypes.h problem globally.
Bug: 12708004
Change-Id: I2c75647bac304b82e150c540b9e6c5568997596d
2014-01-29 16:29:11 -08:00
Elliott Hughes
b058eeae6a am bc528c22: am f7784e46: am 1a0e8501: am 1a731adf: Merge "Fix KERNEL_HEADERS_ARCH for mips and x86."
* commit 'bc528c22b8225e539165f5c86ea0256e57cc7206':
  Fix KERNEL_HEADERS_ARCH for mips and x86.
2014-01-28 21:54:46 +00:00
Elliott Hughes
1a731adf94 Merge "Fix KERNEL_HEADERS_ARCH for mips and x86." 2014-01-28 21:23:07 +00:00
Elliott Hughes
171e940c7a Fix KERNEL_HEADERS_ARCH for mips and x86.
arm and arm64 have distinct headers, but mips and mip64, and x86 and x86_64
use headers that work for both widths. So where arm/arm64 need to handle the
second architecture case specially, all we need to do for the others is
hard-code the name. (x86_64.mk already hard-codes x86; we need to change
x86.mk for the case where we're building the 32-bit binaries for a mixed
system. mips64.mk doesn't exist yet, but when it does, it'll hard-code
just plain "mips" too.)

Change-Id: Ia6b9f77b4eb2c78729b454045875c409e0ea8197
2014-01-28 13:10:19 -08:00
Colin Cross
ed9f6bb384 am 23710e27: am cb1ad445: am 0d24616d: am cdd14758: Merge "Add support for TARGET_GLOBAL_UNSUPPORTED_CFLAGS"
* commit '23710e27bc23bb32dc99f35ec0c31e4185586ec0':
  Add support for TARGET_GLOBAL_UNSUPPORTED_CFLAGS
2014-01-28 02:40:00 +00:00
Colin Cross
8f47fc379e Add support for TARGET_GLOBAL_UNSUPPORTED_CFLAGS
To ease the transition between toolchains, allow a target to specify
a list of cflags that the toolchain does not support.  These will be
filtered out of the cflags provided by the module.

Add TARGET_GLOBAL_UNSUPPORTED_CFLAGS := -fstack-protector for the
aarch64 toolchain, it does not yet suport -fstack-protector.

Change-Id: I168d0c6f131326fad305ec86fad46e6a3e03295a
2014-01-27 18:21:12 -08:00
Elliott Hughes
d63d974c49 am 6fe9a949: am 69c36ee7: am 4fbf23ef: am 0a3cf1a0: Merge "Remove libthread_db from the default include path."
* commit '6fe9a94989879babb859a24fdef0b2553955cc53':
  Remove libthread_db from the default include path.
2014-01-28 01:04:55 +00:00
Elliott Hughes
2f8dcdd961 Remove libthread_db from the default include path.
This should never have been on the default include path.

The NDK statically links its own libthread_db, so I'm removing
bionic's unused copy from devices.

Bug: 11882807
Change-Id: I49a67fe0902cc4bc178360f6c993959774d74e3a
2014-01-27 15:45:17 -08:00
Colin Cross
c3256c770d build: use arm kernel headers for arm 2nd arch builds
Compiling for arm requires using the arm kernel headers and not
the aarch64 kernel headers.  Add $(combo_2nd_arch_prefix) to get
asm-$(TARGET_2ND_ARCH) when arm is the 2nd arch.

Change-Id: I15270d0ef35e48c034bf4d0d5e35b76f67b2a8e1
2014-01-24 13:41:00 -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
1d274d2686 Load compiler environment for a second arch.
This is the first step to build 32-bit libraries in a 64-bit product.
It will work like this:
1) In the product's BoardConfig.mk, define:
TARGET_2ND_ARCH, TARGET_2ND_ARCH_VARIANT, TARGET_2ND_CPU_VARIANT.
The build system uses those variables to set up an additional compiler
environment for the second arch.

2) When parsing Android.mks, the build system sets up rules to build a
module for both the 1st arch and the 2nd arch, unless it's explicitly
asked to skip so.
Android.mk will be adapted if there is additional rule of generating
source files.
The build system will accept arch-specific LOCAL_ variables, such as
LOCAL_CFLAGS_arm, LOCAL_CFLAGS_armv7-a-neon, LOCAL_CFLAGS_cortex-a15,
LOCAL_CFLAGS_aarch64 etc. Modules use such variables to set up build for
various archs at the same time.

3) Install binary of the 2nd arch by adding "<module_name>:32" to
PRODUCT_PACKAGES. All 2nd-arch libraries linked in by "<module_name>:32"
will be installed automatically.

Bug: 11654773
Change-Id: I2df63cd5463a07bf5358bee2a109f8fb9590fe30

Conflicts:
	core/combo/TARGET_linux-arm.mk
2014-01-24 13:34:26 -08:00
Colin Cross
194c2a39be am de89397b: am 5119fcfc: am f81cc531: am d5227a83: Merge "build: rename aarch64 target to arm64"
* commit 'de89397b1636b9d77cbcdea1cfb347251e1d5b0c':
  build: rename aarch64 target to arm64
2014-01-24 21:24:54 +00:00
Colin Cross
4f0eb7d50c build: rename aarch64 target to arm64
Rename aarch64 build targets to arm64.  The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
2014-01-23 22:39:38 -08:00
Colin Cross
3814cbfd33 build: use arm kernel headers for arm 2nd arch builds
Compiling for arm requires using the arm kernel headers and not
the aarch64 kernel headers.  Add $(combo_2nd_arch_prefix) to get
asm-$(TARGET_2ND_ARCH) when arm is the 2nd arch.

Change-Id: I15270d0ef35e48c034bf4d0d5e35b76f67b2a8e1
2014-01-21 17:01:20 -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
e1d44c3b4a Load compiler environment for a second arch.
This is the first step to build 32-bit libraries in a 64-bit product.
It will work like this:
1) In the product's BoardConfig.mk, define:
TARGET_2ND_ARCH, TARGET_2ND_ARCH_VARIANT, TARGET_2ND_CPU_VARIANT.
The build system uses those variables to set up an additional compiler
environment for the second arch.

2) When parsing Android.mks, the build system sets up rules to build a
module for both the 1st arch and the 2nd arch, unless it's explicitly
asked to skip so.
Android.mk will be adapted if there is additional rule of generating
source files.
The build system will accept arch-specific LOCAL_ variables, such as
LOCAL_CFLAGS_arm, LOCAL_CFLAGS_armv7-a-neon, LOCAL_CFLAGS_cortex-a15,
LOCAL_CFLAGS_aarch64 etc. Modules use such variables to set up build for
various archs at the same time.

3) Install binary of the 2nd arch by adding "<module_name>:32" to
PRODUCT_PACKAGES. All 2nd-arch libraries linked in by "<module_name>:32"
will be installed automatically.

Bug: 11654773
Change-Id: I2df63cd5463a07bf5358bee2a109f8fb9590fe30
2014-01-16 14:30:02 -08:00
Ying Wang
2f68fddd07 am 4339ad4a: am da9ef76b: am a296a71e: am 166bc090: Merge "[MIPS] Reenable linker fatal-warnings"
* commit '4339ad4ac1e0170c7c7497c2b3480b2154fcd8ac':
  [MIPS] Reenable linker fatal-warnings
2014-01-16 01:17:22 +00:00
Chris Dearman
13eb1eb53d [MIPS] Reenable linker fatal-warnings
Change-Id: I4efbb7d0b1026b49a9b8bf968dd4752fca8a543b
2014-01-15 19:00:37 +00:00
Elliott Hughes
363948afb1 am 17657ec7: am 538009b2: am dda9d8ee: am 37c699c2: Merge "Remove obsolete CUSTOM_KERNEL_HEADERS."
* commit '17657ec7f71a7be5c71f3b42b217d9ec45079f3b':
  Remove obsolete CUSTOM_KERNEL_HEADERS.
2014-01-11 00:57:27 +00:00
Elliott Hughes
37c699c28a Merge "Remove obsolete CUSTOM_KERNEL_HEADERS." 2014-01-11 00:41:25 +00:00
Elliott Hughes
dddb566eba Remove obsolete CUSTOM_KERNEL_HEADERS.
Change-Id: Id260dd351b90f065eee56e231d4c341b18c1b27f
2014-01-10 16:35:08 -08:00
Brian Carlstrom
978155b7d0 am 6e984e2d: am 1df8d179: am 98c72521: am ad8271a8: Merge "Add support for ALTERNATE_JAVAC"
* commit '6e984e2d8cfc3ac7affa59e8b7440c8e5fc8b16f':
  Add support for ALTERNATE_JAVAC
2014-01-10 02:42:36 +00:00
Brian Carlstrom
b6dcef8777 Add support for ALTERNATE_JAVAC
Bug: 12476356
Change-Id: Idd013031dc32a560bca76cca295bedcad55982b4
2014-01-09 15:33:23 -08:00
Elliott Hughes
c367d348fd am c5f05645: am b986ad2a: am 9464ca1b: am b8559790: Merge "Remove a non-existent directory from the include path."
* commit 'c5f05645ebde67561dc0a1735cc3eb262c37beb9':
  Remove a non-existent directory from the include path.
2013-12-21 00:05:42 +00:00
Elliott Hughes
26990f5573 Remove a non-existent directory from the include path.
Brings aarch64 in line with the other architectures.

Change-Id: Iba3fd33e34e3b5bc071f55cfe09de9e55a023cf7
2013-12-20 15:37:55 -08:00
Elliott Hughes
7cefbb1c78 am 112bd5ad: am 85967c7e: am d46e3f1f: am 3d3dd4a1: Merge "Fix aarch64 and x86-64 AndroidConfig.h."
* commit '112bd5ad2e57c621abbb36035e1820d7844882b9':
  Fix aarch64 and x86-64 AndroidConfig.h.
2013-12-18 23:42:20 +00:00
Elliott Hughes
98593a66af Fix aarch64 and x86-64 AndroidConfig.h.
_LARGEFILE_SOURCE should never be defined with bionic.
_FILE_OFFSET_BITS should be 64 on 64-bit architectures.

Change-Id: I7acf6b39a3af7782d5d7ad00f709593d96fa8522
2013-12-18 15:17:42 -08:00
Christopher Ferris
d6ef972aea am 5b2d734d: am 5fb7c74a: am 7bda5aac: am d12ee620: Merge "Re-enable uapi kernel headers for arm."
* commit '5b2d734d2ce214f2fb7c91d6326ee600b1a97ceb':
  Re-enable uapi kernel headers for arm.
2013-12-17 23:22:41 +00:00
Christopher Ferris
d12ee620b0 Merge "Re-enable uapi kernel headers for arm." 2013-12-17 23:06:38 +00:00
Elliott Hughes
e3e511b71a am ce0d80b0: am 07d4b794: am 861fea29: am 3fd89533: Merge "Make aarch64 more like arm wrt strict-aliasing."
* commit 'ce0d80b0aa40f8ec5456ad07fa28c8beac82ded0':
  Make aarch64 more like arm wrt strict-aliasing.
2013-12-17 15:50:12 +00:00
Elliott Hughes
c294779d7f Make aarch64 more like arm wrt strict-aliasing.
All thumb code compiles with -fno-strict-aliasing. Let's not make aarch64
porting any more difficult than it needs to be.

Change-Id: I94874df1217b69532c328d7c86c9961631ebde8a
2013-12-16 18:01:19 -08:00
Christopher Ferris
9824ce4e1d Re-enable uapi kernel headers for arm.
Bug: 11559337
Change-Id: Ib914e5f22b10d5a74edc357d42b0dcb223185ab4
2013-12-16 13:58:39 -08:00
Christopher Ferris
68aec9bd01 am c4d168b9: am bc7064b5: am 7f36451b: am 657eadd4: Merge "Revert "Enable uapi kernel headers for arm.""
* commit 'c4d168b9d0d277255ac0473632f2c9bc103fe0f2':
  Revert "Enable uapi kernel headers for arm."
2013-12-16 18:43:24 +00:00
Christopher Ferris
e2c73b3194 Revert "Enable uapi kernel headers for arm."
This reverts commit 88c6c533e1.

Change-Id: I3cd84383c6f217bc6e627e16b2d0c7d948f8131d
2013-12-16 18:21:27 +00:00
Christopher Ferris
84c6144c52 am 675041d1: am 5e55aabc: am 9c15d111: am 84b99aad: Merge "Enable uapi kernel headers for arm."
* commit '675041d128a87378c959fd4b75bfe949a3818947':
  Enable uapi kernel headers for arm.
2013-12-16 18:08:39 +00:00
Christopher Ferris
88c6c533e1 Enable uapi kernel headers for arm.
Bug: 11559337
Change-Id: Idd251338f707b7c6a08f43a79f9784c57142f43c
2013-12-16 09:12:19 -08:00
Ying Wang
a27fd616c0 am 5023bb57: am 31570961: am c5e3539b: am 5859f105: Merge "Enable NX protections"
* commit '5023bb574f5e0e29a8434734ca1db52b6a35bf6a':
  Enable NX protections
2013-12-13 00:17:27 +00:00
Ying Wang
5859f105fa Merge "Enable NX protections" 2013-12-13 00:04:42 +00:00
Ben Cheng
92dd82a6e2 am 462b1ca7: am 74f27cff: am af3d1408: am 2609640e: Merge "Add an explicit definition of __ANDROID__=1"
* commit '462b1ca7f6268282f147961aa03ca2433d59af17':
  Add an explicit definition of __ANDROID__=1
2013-12-12 22:06:59 +00:00
Ben Cheng
cd7b02d911 Add an explicit definition of __ANDROID__=1
Once the aarch64 toolchain is refreshed this will be removed.
Also removed some CFLAG duplications.

Change-Id: I42fd86931263af82042ea696196fb25e948fe9cb
2013-12-12 13:08:55 -08:00
Joshua J. Drake
afb45637b2 Enable NX protections
Add -Wa,--noexecstack and -Wl,-z,noexecstack as default
flags when compiling host-side applications.  This enables
NX protections, which prevent code from executing on the
stack or heap.  NX protections make exploiting memory
corruption issues more challenging and is an important
security feature.

Change-Id: Iae580abe887e01f9029ec2a4e0fc0aae496724a4
2013-12-12 10:47:08 -08:00
Ying Wang
d56f77da5d am 952a1bfb: am 580b3963: am 0e2779bd: am 8a373fd5: Merge "Added TARGET_IS_64_BIT flag for x86_64 and aarch64"
* commit '952a1bfbb7070507e3ce5340e55210a10af8a016':
  Added TARGET_IS_64_BIT flag for x86_64 and aarch64
2013-12-11 21:09:38 +00:00
Ying Wang
8a373fd5ae Merge "Added TARGET_IS_64_BIT flag for x86_64 and aarch64" 2013-12-11 17:52:26 +00:00
Alexey Volkov
a1779eb11b Added TARGET_IS_64_BIT flag for x86_64 and aarch64
Change-Id: Ibdf9dafa3aeaf4b58b4a559ed05e36e2793bf6ed
Signed-off-by: Alexey Volkov <alexey.v.volkov@intel.com>
2013-12-11 17:18:56 +04:00
Narayan Kamath
1d755aaa7b resolved conflicts for merge of 6835cbf9 to master
Change-Id: I21593edf5f597bc79ff91b756bdaf6921b05cba7
2013-12-06 17:31:38 +00:00
Narayan Kamath
e2d27887be A few more Java7 related clean ups.
- Separate SDK checking from version checking and
  make messages clearer.
- Add explicit source & target versions for javac to
  make things clearer.
- Rename flag from EXPERIMENTAL_USE_JAVA7_OPENJDK to
  EXPERIMENTAL_USE_JAVA7.
- Allow Oracle JDK 1.7 to be used on Mac OS, since there's
  no official OpenJDK support for that platform.

Change-Id: I454d2c917ed78f03ec7559a99659fefe7e7d50f3
2013-12-05 13:23:06 +00:00
Ying Wang
1fdef9f6f8 am 04324c27: am 6178f6f0: Merge "Run ar in Deterministic mode."
* commit '04324c2780b1377ada547a7027aec8c890b9db0e':
  Run ar in Deterministic mode.
2013-12-02 23:32:10 +00:00
Ying Wang
b2f39181c6 Run ar in Deterministic mode.
Unfortunately no such flag was found for the host ar on Mac OS X.
https://code.google.com/p/android/issues/detail?id=60705

Change-Id: Ic2f75c871f0b5ae3cf20c1255458f7b921054d67
2013-12-02 14:15:23 -08:00
Elliott Hughes
a09a9c11da am 38b14290: am 66153e38: Merge "Switch x86 over to uapi-only."
* commit '38b14290ea45d410969df9f62f5b39787586ca3a':
  Switch x86 over to uapi-only.
2013-11-27 10:47:45 -08:00
Elliott Hughes
66153e38b0 Merge "Switch x86 over to uapi-only." 2013-11-26 18:51:47 +00:00
Elliott Hughes
1e398e0281 am 9128d725: am 46288040: Merge "Switch MIPS over to uapi-only."
* commit '9128d7253d0684be3a2808c21f8b97c6f76f84d0':
  Switch MIPS over to uapi-only.
2013-11-26 08:42:22 -08:00
Ying Wang
ad69099131 Add experimental flag to support OpenJDK builds.
bug: 8992787

(cherry picked from commit d1dbe7f5a2)

Change-Id: Ie977d4f26ae8d3eee9d7b9cf2c0c270bee5b54b3
2013-11-26 10:30:14 +00:00
Elliott Hughes
e5df095b76 Switch x86 over to uapi-only.
Bug: 11559337
Change-Id: I95aa40ec2094acdaef1d4b4d9f0dd6278cf558d1
2013-11-25 16:38:47 -08:00
Elliott Hughes
b88bdebcb9 Switch MIPS over to uapi-only.
Bug: 11559337
Change-Id: I04b93d0d681ddf75573cdeca2d25ffa44862a35f
2013-11-25 14:01:10 -08:00
Elliott Hughes
b5fdb3a947 am 3b54d5a5: am a5b55c27: Merge "Add a "reverse AUX hack" for ARM."
* commit '3b54d5a5fc492de5b28d905d0be36be66acec791':
  Add a "reverse AUX hack" for ARM.
2013-11-25 13:50:26 -08:00
Elliott Hughes
9696acae02 Add a "reverse AUX hack" for ARM.
MIPS and x86 are almost completely switched over to uapi-only. ARM is still
currently old-only. A cleanup of the uapi headers over the weekend means
that the uapi-only <linux/kexec.h> is now in the right place, which will break
the ARM build unless the ARM build also looks in the uapi headers if it can't
find an old header.

Change-Id: Ie7a53ef2122b43cdef64b71d7b36a8381992a461
2013-11-25 12:06:25 -08:00
The Android Open Source Project
b9041a45b1 Merge commit 'c73341006286c391ae4d268a77f5e008045d5308' into HEAD
Change-Id: I4bf7d32d65e19dfa1f0533fdd3b2295c50b13005
2013-11-22 11:06:11 -08:00
Elliott Hughes
dbecf2bbe9 am e0daed20: am a59b8545: am e296f2c3: Merge "Switch mips to the uapi kernel headers."
* commit 'e0daed20a6dfbd767ece790a30f68e602a0ec1ad':
  Switch mips to the uapi kernel headers.
2013-11-21 17:12:13 -08:00
Elliott Hughes
e0daed20a6 am a59b8545: am e296f2c3: Merge "Switch mips to the uapi kernel headers."
* commit 'a59b8545cf1aa013cf87b9946e738e0add1f4536':
  Switch mips to the uapi kernel headers.
2013-11-21 17:07:48 -08:00
Elliott Hughes
3e416594b0 am a4a1061f: am bd36506e: am e57c8446: Merge "Switch x86 to uapi headers."
* commit 'a4a1061fbf5e59319510528a7eda77fe8f6fbd09':
  Switch x86 to uapi headers.
2013-11-21 10:15:32 -08:00
Elliott Hughes
a4a1061fbf am bd36506e: am e57c8446: Merge "Switch x86 to uapi headers."
* commit 'bd36506ee4ece41b8a32ac5b078e4538af4bc02a':
  Switch x86 to uapi headers.
2013-11-21 10:12:26 -08:00
Ying Wang
f817876b99 am 1b4252cd: am 0f78b47b: Merge "Switch AOSP X86/MIPS compiler to gcc4.8"
* commit '1b4252cd0312695827529f2a8470b68e5a5c05e2':
  Switch AOSP X86/MIPS compiler to gcc4.8
2013-11-21 08:09:45 -08:00
Elliott Hughes
66ef53d83b Switch mips to the uapi kernel headers.
Bug: 11559337
Change-Id: Ic37b284398c049011f98651de84cef760566ebde
2013-11-20 12:55:09 -08:00
Elliott Hughes
2d9dc89962 Switch x86 to uapi headers.
We still need the 'aux' hack, but this is a good step forward.

Bug: 11559337
Change-Id: Ib3d79317293e1cd3d2620c38e6b472a5994ee554
2013-11-19 16:55:00 -08:00
Andrew Hsieh
8baaca5f97 Switch AOSP X86/MIPS compiler to gcc4.8
Change-Id: Ifeee2c7d696c8a8e96e52c6ca51434260bdae5f8
2013-11-15 10:25:58 +08:00
Ben Cheng
9a1f26e425 am 2e6753a0: am de9b1835: Merge "Switch AOSP ARM build to use GCC 4.8."
* commit '2e6753a058a766d7c0607437224470c14574a94e':
  Switch AOSP ARM build to use GCC 4.8.
2013-11-14 14:14:22 -08:00
Ben Cheng
818d7d04f5 Switch AOSP ARM build to use GCC 4.8.
Change-Id: I65051773153ad5bc2c093cd1313acd212eb427b1
2013-11-14 14:05:29 -08:00
Ying Wang
a6b97cf42b am e4ab2f96: am 18b86b97: am 77f27f1d: Merge "Cleanup x86 and x86_64 flags"
* commit 'e4ab2f96082d1e3fa7bb8eab1f495a5d49f77bde':
  Cleanup x86 and x86_64 flags
2013-11-13 22:18:18 -08:00
Ying Wang
e4ab2f9608 am 18b86b97: am 77f27f1d: Merge "Cleanup x86 and x86_64 flags"
* commit '18b86b97b83e7d254125723363f170bc6f8d391e':
  Cleanup x86 and x86_64 flags
2013-11-13 21:02:17 -08:00
Ying Wang
77f27f1dbe Merge "Cleanup x86 and x86_64 flags" 2013-11-14 04:54:55 +00:00
Elliott Hughes
06659afcdf am 693a26ba: am f8c5a6ae: am bd10e2c0: Merge "Switch x86_64 over to uapi headers."
* commit '693a26ba5599b84a3ae2a4b309e22be8a61ba3b0':
  Switch x86_64 over to uapi headers.
2013-11-08 14:56:24 -08:00
Elliott Hughes
693a26ba55 am f8c5a6ae: am bd10e2c0: Merge "Switch x86_64 over to uapi headers."
* commit 'f8c5a6ae006cfa8a6e30b850cbf930a043e5e842':
  Switch x86_64 over to uapi headers.
2013-11-08 14:54:12 -08:00
Elliott Hughes
bd10e2c019 Merge "Switch x86_64 over to uapi headers." 2013-11-08 22:50:55 +00:00
Elliott Hughes
600b973722 Switch x86_64 over to uapi headers.
Bug: 11559337
Change-Id: Ia0a8dff9194375172d1c89daae917d2d8952ace7
2013-11-08 14:47:10 -08:00
Raphael Moll
6f1f97d970 am e9966aab: am 79a9a324: am 3342bf0f: Merge "Windows SDK: define BEGIN_DECLS/END_DECLS."
* commit 'e9966aab80e74d0a06c4ab6734a5996d8cb69604':
  Windows SDK: define BEGIN_DECLS/END_DECLS.
2013-11-08 13:42:20 -08:00
Raphael Moll
e9966aab80 am 79a9a324: am 3342bf0f: Merge "Windows SDK: define BEGIN_DECLS/END_DECLS."
* commit '79a9a3243ae701e7bc40b85b4a085ad91821d921':
  Windows SDK: define BEGIN_DECLS/END_DECLS.
2013-11-08 13:38:54 -08:00
Raphael Moll
b9c20aa8ba Windows SDK: define BEGIN_DECLS/END_DECLS.
These macros are not provided by MingW by default.

Change-Id: I623fda6c8e25e26573543c9368ebad47abc7f5c3
2013-11-08 11:40:41 -08:00
Narayan Kamath
c586c580ba Merge "Add experimental flag to support OpenJDK builds." 2013-11-07 15:29:09 +00:00
Ben Cheng
d63743f320 am 0ad7a371: am d16a4913: am 48c4bac0: Merge "AArch64: Enable AArch64 support"
* commit '0ad7a3715036e70e303eb8c2e3d480b134e8a870':
  AArch64: Enable AArch64 support
2013-10-30 10:36:07 -07:00
Ben Cheng
0ad7a37150 am d16a4913: am 48c4bac0: Merge "AArch64: Enable AArch64 support"
* commit 'd16a49134914eec45f395c867f9e8e282009fffe':
  AArch64: Enable AArch64 support
2013-10-30 10:33:24 -07:00
Ben Cheng
74a8faf233 AArch64: Enable AArch64 support
This patch completes the support for AArch64. It adds the last few
tweaks that will enable a AArch64 build of bionic.

Please note that though AArch64 uses the new kernel infrastructure,
where the userspace exported headers live in uapi folders, we still
need to include "kernel/common" in the include search path
(take a look at external/kernel-headers/uapi/asm-generic/signal-defs.h).

Also remove the relro linker flags for now as they crash the foundation
model.

Change-Id: Ie2fa8c1056c84dc15fec4469f2d65b8d0c5e712b
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-29 16:15:40 -07:00
Ying Wang
d1dbe7f5a2 Add experimental flag to support OpenJDK builds.
bug: 8992787

Change-Id: Ice0fc7dea1d855914fdab9a01b1ac9c722031288
2013-10-28 19:09:28 +00:00
Ben Cheng
2972ab341f am 281778a3: am 72e9dab0: am 7b954f4c: Merge "Add the search path for libgcc.a and crt*.o."
* commit '281778a373f5034195bda7c652e353770dae8242':
  Add the search path for libgcc.a and crt*.o.
2013-10-28 10:57:40 -07:00
Ben Cheng
281778a373 am 72e9dab0: am 7b954f4c: Merge "Add the search path for libgcc.a and crt*.o."
* commit '72e9dab0127e4200d5770d0fa7944fc0db29632b':
  Add the search path for libgcc.a and crt*.o.
2013-10-28 10:52:52 -07:00