History log of /build/core/static_library.mk
Revision Date Author Comments
8f8099c96aa08d564a82225ced18076d0abd1780 19-Apr-2016 Ying Wang <wangying@google.com> Don't reset LOCAL_*MODULE_STEM.

By resetting we lose LOCAL_*MODULE_STEM values for the second include
of the *_internal.mk.
We don't need to reset because we now store the default value to a
temporary variable my_*module_stem in configure_module_stem.mk.

Bug: 27775991

(cherry picked from commit c160c3f21a878bebcc94e0a282a6b2b899b356bb)

Change-Id: I5d9b7f7214d98a1bf953fadb9951a8af1e993057
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
e6e48f67d8fac2b5a29dbfeb1ad40610a451b792 21-Mar-2014 Colin Cross <ccross@android.com> add support for LOCAL_MULTILIB

LOCAL_MULTILIB replaces LOCAL_32_BIT_ONLY and
LOCAL_NO_2ND_ARCH, although both are still supported.

Set LOCAL_MULTILIB := 32 to always build a module 32-bit.
This is the same as specifying LOCAL_32_BIT_ONLY.

Set LOCAL_MULTILIB := first to always build a module for
the first architecture (64-bit on a 64-bit target, 32-bit on a
32-bit target). This is the same as specifying LOCAL_NO_2ND_ARCH.

Set LOCAL_MULTILIB := both to build for both architectures
on a mulitlib (64-bit) target.

If LOCAL_MULTILIB is not set libraries will default to "both",
and executables, packages, and prebuilts will default to building
for the first architecture if supported by the module, otherwise
the second.

Executables that set LOCAL_MULTILIB := both must set either
LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64 or
LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64 to specify how to
differentiate the install locations of the two versions.

Change-Id: I22ab6aa342b231c307b1d8a86cea4fd91eea39f5
c92f1407a1cc32e81971d89086f84a6dc643ef9d 06-Feb-2014 Colin Cross <ccross@android.com> add support for module supported or unsupported target architectures

Add four new variables for module makefiles:

LOCAL_MODULE_TARGET_ARCH specifies that a module is only supported for
one or more architectures. Any architecture not in the list will be
not attempt to build the module. The expected use case is prebuilts
that are only suitable for a single architecture, or modules like llvm
that need per-architecture support.

LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH specifies that a module cannot be
built for one or more architectures.

LOCAL_MODULE_TARGET_ARCH_WARN and LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN
are the same, but warn that the arch is not supported, which is useful
for modules that are critical but not yet working.

The logic for whether or not to build an architecture is fairly
complicated, so this patch consolidates it into module_arch_supported.mk

Change-Id: I120caf4a375f484e1fd6017b60c2f53882ae01e6
bf4a8d306907010d782ef377fb7a7873d890ce03 20-Feb-2014 Ying Wang <wangying@google.com> Include $(BUILD_COPY_HEADERS) in upper-level makefiles

This makes sure copy_headers.mk only be included onces, no matter
it's for the 1st arch or the 2nd arch.

Change-Id: I80a558fbdb52861f176bd27a21c302069a5cc3ce
8e4041271dcee2aff001ac1f98527c5057415183 06-Feb-2014 Colin Cross <ccross@android.com> add support for module supported or unsupported target architectures

Add four new variables for module makefiles:

LOCAL_MODULE_TARGET_ARCH specifies that a module is only supported for
one or more architectures. Any architecture not in the list will be
not attempt to build the module. The expected use case is prebuilts
that are only suitable for a single architecture, or modules like llvm
that need per-architecture support.

LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH specifies that a module cannot be
built for one or more architectures.

LOCAL_MODULE_TARGET_ARCH_WARN and LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN
are the same, but warn that the arch is not supported, which is useful
for modules that are critical but not yet working.

The logic for whether or not to build an architecture is fairly
complicated, so this patch consolidates it into module_arch_supported.mk

Change-Id: I120caf4a375f484e1fd6017b60c2f53882ae01e6
78d642f426ea610643913485ab63db7b446c7391 30-Jan-2014 Colin Cross <ccross@android.com> build: rename LOCAL_32BIT_ONLY to LOCAL_32_BIT_ONLY

Rename for consistency with TARGET_IS_64_BIT.

Change-Id: I824dcaed0c1e88b8246bcffb21ab3f1772175926
dd814bf8c20c4bbc641cc7cb71685c53e92977e1 18-Jan-2014 Ying Wang <wangying@google.com> 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
6ef6519170742bf3d56e17d04194e9cb0ecdead7 16-Jan-2014 Ying Wang <wangying@google.com> 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
72b01d6121d7a80315df996690d4efde5219b899 18-Jan-2014 Ying Wang <wangying@google.com> 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
61d499b965e3314308b9510f6b6d4c8919bb0b3a 16-Jan-2014 Ying Wang <wangying@google.com> 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
45874550755e282bcc79510297dc6cd7a9e72855 14-Jan-2014 Ying Wang <wangying@google.com> Remove aprof support from the build system.

This reverts the commit 70dc3e1d.

Change-Id: I480b005579805d2608d05dac41e32bb44642e813
76a6dc3a191e8800211eb49398d37deae731094e 02-Oct-2012 Ian Rogers <irogers@google.com> Fix common typo in comments, warning and error messages.

s/can not/cannot/g

Change-Id: I1bac31157732666deb46f6f20389ff539977ffb9
70dc3e1d3d58647a7c9e4173d7a7fefd28ad81e3 15-Jun-2012 Kito Cheng <kito@0xlab.org> Profiling use aprof, enable by LOCAL_ENABLE_APROF or LOCAL_ENABLE_APROF_JNI

Change-Id: Ia95dc7318e17c0804867b22e239edccc5cbec0af
5f074803fbc14d091fb83208b81b3ffa10f54f90 08-Nov-2011 Ying Wang <wangying@google.com> Build system support to export include paths

Bug: 5573756
With this change, we can set LOCAL_EXPORT_C_INCLUDE_DIRS in the module
definition to export include dir paths.
Paths in LOCAL_EXPORT_C_INCLUDE_DIRS should be relative to the top dir
of the source tree.
If a library (shared or static) exports some include paths, any module
using it will import the include paths and add them to the compiler
command line.

Change-Id: I49aabc589d2cf214044d13ccd5532ef68209adf0
1a08100fa9d92c25de32ba4d13fd3958bbcab894 13-Jul-2010 Ying Wang <wangying@google.com> Support to build native libraries with prebuilt NDK

Bug: http://b/issue?id=2811253
Change-Id: Iabd4ab8b3d7236dffe89f1939e1142e882944026
46e9beca50057bd4ff375b35fd5958c05ce5bcb7 28-May-2009 Dima Zavin <dima@android.com> core: Add support for static libraries to include other whole static libs.

Currently, if LOCAL_WHOLE_STATIC_LIBRARIES is specified, its values is
ignored. This patch addresses this limitation and works as follows:
For every whole lib specified, it extracts the archive into a sub-directory
under the target lib's intermediate, and then seeds the initial target
archive with all the members.

Signed-off-by: Dima Zavin <dima@android.com>
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
b6c1cf6de79035f58b512f4400db458c8401379a 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution