Commit graph

3796 commits

Author SHA1 Message Date
Andrew Hsieh
fb1f38ecba Merge "Define __USE_MINGW_ANSI_STDIO for windows build" 2014-05-13 00:53:45 +00:00
Ian Rogers
334497b8b6 Place ISA in ART boot image name.
Depends upon:
https://android-review.googlesource.com/#/c/94096/2

Change-Id: I79bec60a17ea7cf9214e56f8035d4a1b80b0eeb6
2014-05-12 15:17:25 -07:00
Ying Wang
dcdc985c47 Merge "executable_prefer_symlink: add makefile for creating symlink to prefer version" 2014-05-12 16:49:16 +00:00
David 'Digit' Turner
fb67f05d3d Merge changes I53b2ada9,I30794ea5
* changes:
  Disable emulator from platform builds.
  envsetup.sh: Use prebuilt emulator binaries if available.
2014-05-11 09:16:16 +00:00
Andrew Hsieh
eca0043b86 Merge "Disable canonical prefixes of system headers" 2014-05-09 16:55:00 +00:00
Andrew Hsieh
48f239c94f Disable canonical prefixes of system headers
GCC know a few pre-defined paths (relative to its location) to
search for headers, libraries, program, etc.  By default GCC prefixes
its own path(argv[0]) and calls realpath() which result in absolute
path with all symlink, . and .. removed.

It's usually good to have canonicalised paths, but absolute paths
in *.d file can cause unnecessary relinking when stale entries
in ccache cache hit

Add -no-canonical-prefixes (gcc>=4.6) and
-fno-canonical-system-headers (gcc>4.6) to disable realpath() on
prefixed paths

Change-Id: I58d739e61fb013015fb05a9c98b2132b307f915a
2014-05-09 22:12:49 +08:00
David 'Digit' Turner
f6e2694dd2 Disable emulator from platform builds.
Now that emulator prebuilts are available under prebuilts/android-emulator/,
disable building the emulator from source in all platform builds, except
if one defines BUILD_EMULATOR to 'true' in its environment.

NOTE: This patch should be applied after this one to avoid issues
      with the GPU emulation libraries:
            https://android-review.googlesource.com/93980

Change-Id: I53b2ada9ca0c2e159dccee7cdca7f55f6b0d1d42
2014-05-09 15:32:39 +02:00
Yongqin Liu
d1d42e88dc executable_prefer_symlink: add makefile for creating symlink to prefer version
For a 64bit target, we can have support for both 32bit and 64bit version
binary(like app_process, dalvikvm), and there are some commands like am/pm
will call these commands to implement it's function.

In some targets it will prefer to use the 32bit version, and in other targets
it will prefer to use the 64bit version. So this change is to add the common
work for creating the symlink to the prefer version binary,and avoid the
change on the caller commands side like am/pm.

In this change, it uses TARGET_PREFER_32_BIT_APPS to decide linking to
32bit version or 64bit version.

Change-Id: I96f041c0e0ededd953feead30ec63ad63e945a6f
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-05-09 14:08:49 +08:00
Andrew Hsieh
d322f2a6ef Define __USE_MINGW_ANSI_STDIO for windows build
Some printf/scanf functions in Windows aren't C99 compatible.
Define __USE_MINGW_ANSI_STDIO for mingw compiler to use it's own set of
replacement libraries which are more C99-like.

Change-Id: I51dfa582971ec0487409067e8bb7fe3a44577b93
2014-05-09 11:45:13 +08:00
Nick Reuter
c43ab6edc2 javac: rename common_flags to avoid conflictions
* Currently the flag conflicts with one seen in hardware/qcom
   rename to avoid issues.

Change-Id: I876fcd6a254f349dc5260509bcddb0367a7d49d8
Signed-off-by: Nick Reuter <nreuter85@gmail.com>
2014-05-08 22:15:35 -05:00
Xavier Ducrohet
afe444a564 Merge "Remove SDK Tools from platform builds." 2014-05-09 00:46:45 +00:00
Ying Wang
07b2055d3e Target "tests" now only builds the modules tagged as "tests"
But not install them.
This prevents "make tests" polluting system.img or userdata.img.
We have new mechanism to build and package up modules into zip file in
build/core/tasks/tools.
Change package-modules.mk to install DATA/ instead of data/ in the
zip file; Better handle of module name conflicting.

Bug: 13585955
Change-Id: I7586a8c7995b984c9ead0ba2fa84dd5d2dd20bd1
2014-05-08 17:01:25 -07:00
Ying Wang
989ac38d93 Add tool to package up built modules.
With this change, you can package up modules while avoiding installing
them to the system.img or userdata.img.
- build/core/tasks/tools/package-modules.mk
  You can use this template to package up modules into a zip file and
  preserve the installed file paths.
- LOCAL_PICKUP_FILES, you can use this variable to package up extra
  files/directories.

Bug: 13585955
Change-Id: I103042b24ccf17cf5dc90c016d97ed1dd293e50b
2014-05-08 17:01:06 -07:00
Xavier Ducrohet
51e303a281 Remove SDK Tools from platform builds.
(cherry picked from commit edf30221b4890673dc714a1efef3b5faf4ae1522)

Change-Id: Ia74c2ece1528adca10a4eec24e73b4ce361af1a9
2014-05-08 14:50:15 -07:00
Brian Carlstrom
1e63c2d15c Merge "Add dalvik.vm.dex2oat-flags for eng build" 2014-05-08 21:49:31 +00:00
Ying Wang
de36cd72e8 Apply LOCAL_LDLIBS to target build rules too.
Use LOCAL_LDLIBS to link against prebuilt libraries (such as NDK
libraries).
Previously LOCAL_LDLIBS only applies to host modules and the behaviour
confuses users.

Change-Id: I515546d7b59ef54e8ef09050eb58ec63534c9291
2014-05-07 11:33:19 -07:00
Brian Carlstrom
fceb115bd6 Add dalvik.vm.dex2oat-flags for eng build
Bug: 12869646
Change-Id: I794320267c846225931f12075c7f32d7848081e9
2014-05-06 20:40:11 -07:00
Ying Wang
1401c76c2f Fix windows/mingw build.
Bug: 14446414
Change-Id: I9d12ed8afb6d4d5a09ef9b2844eb193b52b74271
2014-05-06 12:11:09 -07:00
Ying Wang
a37550edd3 Merge "Use prebuilt flex." 2014-05-06 18:41:00 +00:00
Ying Wang
889a93a495 Merge "add silvermont x86 architecture" 2014-05-06 16:18:56 +00:00
Ying Wang
fb1236a9a8 Use prebuilt flex.
Bug: 14446414
Change-Id: I07fe8d7f246de853e5bae17286834268e36d260c
2014-05-05 18:34:57 -07:00
Colin Cross
2ff8919de3 Merge changes I7e809264,I504cea21,Ibd2165e6
* changes:
  build: add core_64_bit.mk
  build: reverse abi list when TARGET_PREFER_32_BIT_APPS is set
  build: split TARGET_PREFER_32_BIT for apps and executables
2014-05-05 20:11:28 +00:00
Tim Murray
d720c5a2a6 Merge "Add -no-integrated-as for ARM64." 2014-05-02 18:21:34 +00:00
Ying Wang
a6b8025a81 Merge "Add WITH_DEXPREOPT to the list of protected global variables." 2014-05-02 03:57:33 +00:00
Ying Wang
9c44021535 Add WITH_DEXPREOPT to the list of protected global variables.
Bug: 14380196
Change-Id: I02cff39eeaf2deddf434c0c310063e4b341edd43
2014-05-01 20:55:30 -07:00
Colin Cross
2a4f0ff32f build: reverse abi list when TARGET_PREFER_32_BIT_APPS is set
If the product prefers 32-bit apps signal that preference to
PackageManager by reversing the abi list.

Also uses the absence of TARGET_SUPPORTS_32_BIT_APPS and
TARGET_SUPPORTS_64_BIT_APPS to remove those ABIs from the
ABI list.

Change-Id: I504cea21b6f800a7a9e7706b4a7123d3fb07c383
2014-05-01 10:55:43 -07:00
Torne (Richard Coles)
a0267df234 Merge "Remove libpac and v8 from the 64-bit blacklist." 2014-05-01 09:17:26 +00:00
Colin Cross
a3339e98e6 build: split TARGET_PREFER_32_BIT for apps and executables
Introduce two new flags, TARGET_PREFER_32_BIT_APPS and
TARGET_PREFER_32_BIT_EXECUTABLES that individually control
compilation of apps and executables.  If TARGET_PREFER_32_BIT is
set, the build system will automatically set both new flags.

Change-Id: Ibd2165e688675c2884d9e7ddf82d7dd6c28521f3
2014-04-30 18:18:59 -07:00
Tim Murray
6f144b8f65 Add -no-integrated-as for ARM64.
Change-Id: I7faba190554aa43f43b2eb164bdc7b3bfab68ef0
2014-04-30 15:55:52 -07:00
Tim Murray
75b58cc827 Remove tblgen and clang-tblgen from prebuilts.
Change-Id: I89fb74da5a516d0f768f72518a401216f8a5b1a8
2014-04-30 13:54:32 -07:00
Andrew Boie
155fc8b5fe add silvermont x86 architecture
This is used for Baytrail targets.

Change-Id: I5a2fa6dbb8217a326ee09f5ea434885718ab3f0c
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
2014-04-30 01:23:25 +08:00
Torne (Richard Coles)
91d4944434 Remove libpac and v8 from the 64-bit blacklist.
external/chromium-libpac has been updated to depend on the copy of V8 in
external/chromium_org, and its makefiles updated to be multilib-safe.
external/v8 is thus unused and has been removed from the tree.

Bug: 12452053
Change-Id: I757fa187f7f67cd9a89d4b228d4ce3ed6d2858b1
2014-04-29 10:23:56 +01:00
Andrew Hsieh
140761af09 Rename my_ndk_version_root to my_ndk_sysroot; and _include and _lib
prebuilts/ndk/current/platforms/android-19/arch-x86_64/usr/lib
is renamed to usr/lib64 to be more consistent with rest of
lib paths in x86_64 toolchain, which is multilib

See https://android-review.googlesource.com/#/c/92441/

Change-Id: I4e59245505d0fa87ae3608e81e715ccfcecc5ec8
2014-04-25 23:47:10 -07:00
Ying Wang
676e11fed8 Merge "include LGPL projects in GPL archives" 2014-04-25 21:56:27 +00:00
Tim Murray
43d5e1bbc4 Build changes necessary for LLVM 3.5 switch.
Change-Id: Icb6065daada7cb1d7425206830a4ef9e23454c03

Conflicts:
	core/clang/arm.mk
2014-04-24 13:14:32 -07:00
Elliott Hughes
847fd0311f Merge "Leave 'linux' defined on x86/x86-64, like arm." 2014-04-24 16:19:17 +00:00
Elliott Hughes
1076c5685b Merge "Leave 'linux' defined on mips/mips64, like arm." 2014-04-24 16:16:06 +00:00
Torne (Richard Coles)
0933cf22fc Remove chromium_org and webview from the 64-bit blacklist.
external/chromium_org has been updated to handle 64-bit architectures
correctly in its makefiles; remove it from the blacklist so we can start
experimenting with building a 64/32 multilib version.

Change-Id: Ieb0e4f3cfea1578e01954c4656df90cd8d36b8cc
2014-04-24 13:30:47 +01:00
Elliott Hughes
1acd8b0552 Leave 'linux' defined on mips/mips64, like arm.
Change-Id: Idf1e781c34d45d1e20b7e5542d79201ae93668fe
2014-04-23 23:24:36 -07:00
Elliott Hughes
2c8e95528c Leave 'linux' defined on x86/x86-64, like arm.
Change-Id: I53013a45c19a643a985de3f339b8b3f8f4dc39d2
2014-04-23 23:09:30 -07:00
Andrew Hsieh
dfde360b2c Switch to new host prebuilt x86_64-linux-glibc2.11-4.6
Change-Id: I763398d523bf4851a13722f72b12ec69d7a4bb4f
2014-04-23 14:47:00 -07:00
Tim Murray
d318ba66f9 Update build system for better Clang behavior on Mac.
Change-Id: I1813954681b670807d7e3faaf6d5f5a769cc5f2e
2014-04-22 09:26:22 -07:00
Ying Wang
695e826a0c Update rules to install JNI libraries.
Previously we have to use LOCAL_REQUIRED_MODULES to install jni
libraries for an apk in bundled build.
With this change, we'll use LOCAL_JNI_SHARED_LIBRARIES alone to
install jni shared libraries.

The new rules are:
- If we are doing unbundled build, or the apk isn't going to be
  installed to system partitions, we'll embed the jni libs in the
  built apk.
- Otherwise, the jni libraries will be installed to the system
  lib path, and symlinks created in the app specific lib path.

Change-Id: Id6bd5301eb632bda3593664acee580f0d8b1d5d4
2014-04-18 16:36:19 -07:00
Ian Rogers
67c209281f Merge "For 64-bit, use 32-bit DEXPREOPT if zygote64 isn't enabled." 2014-04-18 23:10:31 +00:00
Ian Rogers
5d186aee8e For 64-bit, use 32-bit DEXPREOPT if zygote64 isn't enabled.
Change-Id: Ia95d74517f8182031d6044ae55559010a98ec5ca
2014-04-18 15:23:40 -07:00
Ben Cheng
e76fee59fc Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #3)"
This reverts commit 084a7f8387.

GCC 4.9 still has stability issues (b/14160872)

Change-Id: I4d40829dbbfac0e7b6cd7eaf9924744bc5714271
2014-04-18 18:34:35 +00:00
Ben Cheng
084a7f8387 Use aarch64-linux-android-4.9 for arm64 build (attempt #3)
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7

NDK libraries are still picked up from prebuilts/ndk/*/4.8/*
GCC has been patched to disable codegen for calling
__cxa_throw_bad_array_new_length.

Change-Id: Ie0bf38357c0cf3d265d8b5dd3c2b8a8fd83b1de1
2014-04-16 12:18:14 -07:00
Ben Cheng
d32bbe7d06 Merge "Explicitly link libstdc++.a for static gtest executables." 2014-04-16 17:03:21 +00:00
Ben Cheng
e34bb09eab Explicitly link libstdc++.a for static gtest executables.
Change-Id: I29e3a4036264acd00dfa3229c9d0fc52ee20830e
2014-04-16 09:42:56 -07:00
Andrew Hsieh
50536c20af Add -Wl,-maarch64linux
The "-maarch64linux" switch is needed before aarch64-*4.8 is rebuilt with
backport of upstream patch, see https://android-review.googlesource.com/#/c/91099/

The existing ld.bfd is fine because it's configured to support
aarch64linux only.  ld.mcld (see https://android-review.googlesource.com/#/c/91047)
needs explicit emulation switch because it supports multiple targets

Change-Id: Idc1a491c5722ea9e26db917b667b1000bccc1f60
2014-04-15 11:54:06 -07:00