History log of /build/core/combo/select.mk
Revision Date Author Comments
b169fb78227f4a42ac239c134e547e2fd12991ca 29-Jul-2014 Ying Wang <wangying@google.com> Revert "Revert "Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to clang.""

This reverts commit a4f84fdfed9a805d69b37de997512cd0616b3ff8.
Added "export CCACHE_CPP2 := true" to work around ccache bug with clang.
See:
http://petereisentraut.blogspot.com/2011/09/ccache-and-clang-part-2.html

Change-Id: I2b1fa8fd59c3a113c4028a92a1d16018133c9792
67ed25f3a648a7d688a57a57da75eaf4881d4e46 06-Jun-2014 Ying Wang <wangying@google.com> Reenable ccache.

The previous commit 994c84fb virtually disabled ccache, due to the
deferred evaluation of CC_WRAPPER/CXX_WRAPPER.

Change-Id: Ie0d70a23a55190bd9b24b72edc9158b6976e1d5d
454de52c9651321ad922974737923886e2bb148d 02-Jun-2014 Primiano Tucci <primiano@google.com> Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to the compiler.

This is to make it possible to wrap the compiler invocations with
custom wrappers (e.g., distcc/goma) by setting the CC_WRAPPER,
CXX_WRAPPER, JAVAC_WRAPPER variables in the build environment (without
having to know in advance the path to the compiler)

(cherry-picked from AOSP 994c84fb40fd74199feb1229e40acb538993c0f2)

Change-Id: Ide800c24f0c2ebbb1cfb358bd8f99ec8a9d41253
994c84fb40fd74199feb1229e40acb538993c0f2 02-Jun-2014 Primiano Tucci <primiano@google.com> Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to the compiler.

This is to make it possible to wrap the compiler invocations with
custom wrappers (e.g., distcc/goma) by setting the CC_WRAPPER,
CXX_WRAPPER, JAVAC_WRAPPER variables in the build environment (without
having to know in advance the path to the compiler)

Change-Id: Ide800c24f0c2ebbb1cfb358bd8f99ec8a9d41253
3c12b5c02ba889bcbb74cf476c9590fcce660a17 27-May-2014 Dan Albert <danalbert@google.com> Revert "Fix for duplicate names in whole static libs"

This reverts commit 0e5ce8be34446278a3404ea2a4afc01f20f86c5a.

Change-Id: I68b776cb915fd7be8299ddb2899907046dddadf3
0e5ce8be34446278a3404ea2a4afc01f20f86c5a 23-May-2014 Dan Albert <danalbert@google.com> 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
6feb6d5607ce86a446645564212043964628f540 17-Apr-2014 Ying Wang <wangying@google.com> 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
4d2cc665eafb16ffe20b4ec8b2b2fc3a55f6f6ae 16-Jan-2014 Ying Wang <wangying@google.com> 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
1d274d26869bfe6881d503b2d24f87cc40cf2727 27-Dec-2013 Ying Wang <wangying@google.com> 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
791fa6a9094dced42b4b292c163708838a8d059e 16-Jan-2014 Ying Wang <wangying@google.com> 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
e1d44c3b4acef1319c34514e8d4ee78127b895ef 27-Dec-2013 Ying Wang <wangying@google.com> 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
b2f39181c6998661cd1146d77baa892d60e3d6c3 02-Dec-2013 Ying Wang <wangying@google.com> 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
1f93043c86901cdd3e0852102aa5b74e93178e47 13-Aug-2012 Andrew Boie <andrew.p.boie@intel.com> select.mk: Tune ccache options

With these adjustments, cached object files can now be shared across
multiple Android trees on a single workstation:

* Compiler binary modification time no longer causes cache misses,
as a hash of the compiler binary is taken rather than looking
at the mtime and size
* Header file modification time no longer causes cache misses,
the headers are now always hashed
* Macros such as __DATE__ and __TIME__ no longer cause cache misses
* All paths in preprocessed source (due to use of -g) are now relative

These options require ccache 3.1 or later to be used; ccache 2.4 will
ignore these.

Change-Id: I7839637e9dacf7240bd9b7bfaa6406b1db423560
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
71b5cc1b8e5b917be7281849c62551f776e87772 09-Jan-2012 Ying Wang <wangying@google.com> Reference the new prebuilt ccache location.

Change-Id: I4450a8254fe82ed3a670ce653f49381d9c075c8e
c101e27d547ee218337b2600e8158dedd0a064af 31-May-2011 Bruce Beare <bruce.j.beare@intel.com> Refactor Stripper. Allow a stripper other than SOSLIM to be specified

Orig-Change-Id: I61137f5bb123dc5f610af9928ed3debdf85ba74d
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
55aad0866382e89a18d5cc49ce2c88c839b88cea 12-Mar-2011 David 'Digit' Turner <digit@android.com> Allow win_sdk build with USE_CCACHE=1

This patch allows the Window sdk build (lunch sdk-eng; make win_sdk)
to work properly when USE_CCACHE is defined in the environment.

There is no Windows ccache prebuilt, but since we're cross-compiling
from Linux, detect it and use the linux prebuilt binary instead.

Note: Depends on https://review.source.android.com//#change,21755
for a complete solution to the problem.

Change-Id: I0b1b59efae86ee7114225258c9ecf9f257913347
b375e71d306f2fd356b9b356b636e568c4581fa1 09-Mar-2011 Iliyan Malchev <malchev@google.com> build: remove prelinker build build system

This patch removes support for prelinking from the build system. By now, the
prelinker has outlived its usefulness for several reasons. Firstly, the
speedup that it afforded in the early days of Android is now nullified by the
speed of hardware, as well as by the presence of Zygote. Secondly, the space
savings that come with prelinking (measued at 17MB on a recent honeycomb
stingray build) are no longer important either. Thirdly, prelinking reduces
the effectiveness of Address-Space-Layout Randomization. Finally, since it is
not part of the gcc suite, the prelinker needs to be maintained separately.

The patch deletes apriori, soslim, lsd, isprelinked, and iself from the source
tree. It also removes the prelink map.

LOCAL_PRELINK_MODULE becomes a no-op. Individual Android.mk will get cleaned
separately. Support for prelinking will have to be removed from the recovery
code and from the dynamic loader as well.

Change-Id: I5839c9c25f7772d5183eedfe20ab924f2a7cd411
83f69eb5f905d47581bed141b7f5103362390339 07-Oct-2010 Ying Wang <wangying@google.com> Prepend ccache to CC/CXX if necessary.

In case TARGET_CC is assigned with HOST_CC (eg, simulator build),
ccache will be prepended twice before this CL.
Bug: 3069576

Change-Id: I2ee44faea3a2795cf389ad6f80e4066a02b43be9
45ac4341515f7ff4d483cfb8e2fba8d3c2cb1f6e 24-Jun-2010 Bruce Beare <brucex.j.beare@intel.com> Refactor Stripper. Allow a stripper other than SOSLIM to be specified

Change-Id: I61137f5bb123dc5f610af9928ed3debdf85ba74d
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
9b4a81237be29b0aae50d1e370b63a07ea2b88b9 23-Feb-2010 Jean-Baptiste Queru <jbq@google.com> Get rid of $(combo_target)

The only OS-ARCH combo that would have benefited from it
is linux-x86, but it explicitly used separate configurations
for the HOST_ and TARGET_ side of things.

This makes is clear which files are related to the HOST_
configuration and which ones are related to the TARGET_
configuration, and expands $(combo_target) to the only
possible/reasonable value that it could have had in every
file.

This also cleans up the simulator, by moving it in a single
place in TARGET_linux_x86 (since the only part that's special
is to use HOST_ settings even when building TARGET_ modules).

Change-Id: I2420eeb8cfe539f5807ec99cb3177ffb9f2476d5
e6b4e5b20ac8a3b01f1a99dd877a98c92036ce5e 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
5bbd2294e9ba74462b940e9ef2f879c0ce4ef8a7 08-Oct-2009 Sriram Raman <sriramkraman@google.com> For Ying Wang:

Fix "argument list too long" build error bug.
c12c5183792280f00739eff8b07f58d147a3c2e4 18-Jul-2009 Erik Gilling <konkers@android.com> enable cortex branch predition errata workaround for armv7-a builds

Signed-off-by: Erik Gilling <konkers@android.com>
952824843b868560713f668887e1961de534a250 24-Apr-2009 Dave Bort <dbort@android.com> core: Don't debug native modules when TARGET_BUILD_TYPE==debug

Don't make the simulator default to debug mode.

Remove all global "debug" {C,CPP}FLAGS, which are no longer used.
88b607994a148f4af5bffee163e39ce8296750c6 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
05806d7af62e07c6225b2e7103a1b115ecf6c9ad 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
dcc08f073b6873c69ab891d4f69f7c568e282df7 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
b6c1cf6de79035f58b512f4400db458c8401379a 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution