History log of /build/core/binary.mk
Revision Date Author Comments
295a6d27f6a2ea04d4ba6072738db7832fa9896f 19-Sep-2014 Dehao Chen <dehao@google.com> Add global option filtering for FDO builds.

Change-Id: I95e797f7f5945bb34061d17e49156ca8c8a19854
(cherry picked from commit c7ed00fc00145ce0204f205f6ab89d3bbe216040)
acaada12731639e3feba1dd83d7e44765ec8556c 11-Sep-2014 Ying Wang <wangying@google.com> Use existing my_32_64_bit_suffix.

Change-Id: I75d9733870c37a44ce55ae6cbcfb3f67e1387e9d
f0020c615798284cb81792911f98ccdec6606449 11-Sep-2014 Tim Murray <timmurray@google.com> Pass -m32 or -m64 to llvm-rs-cc when reflecting C++.

bug 17417839

Change-Id: Iea4aede874f751ac732c3e3ae7a11e18613edcf5
f4294cd81617250097a15f4cbe6af937ae3f303c 21-Aug-2014 Dehao Chen <dehao@google.com> Add TARGET_FDO_LDFLAGS to make sure -lgcc is always linked after -lgcov.

Change-Id: I33a94abe58391a8564ada14417b0158ddd7ed2d6
f7a909db63b63cea991ea092b9ef0526c1dcd55b 08-Aug-2014 Dehao Chen <dehao@google.com> Explicitly check if LOCAL_FDO_SUPPORT is true (instead of empty).
Change-Id: Icff260c7f866236254091b035782607a31e5a109
47b755b4867d900af6d06cdb7d1535cd018f4f25 08-Aug-2014 Dan Albert <danalbert@google.com> Fix Windows SDK build.

Bug: 16823325
Change-Id: Ia2a318957aa525f0e72b556a693a20f513146b64
(cherry picked from commit 95994def18dbf2672040105fb61f17b57e8b7fe4)
04cf31597021af3cd045dd9c50d94a87d0394023 05-Aug-2014 Dan Albert <danalbert@google.com> Inhibit implicit -Bsymolic in -shared.

Bug: 16853291

Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
(cherry picked from commit b6bb71b85d506dcc4763290d72c4168afd541f7d)
908ab54fda172baa9a646259fafd8af35290f0a6 06-Aug-2014 Dan Albert <danalbert@google.com> Fix uses of -fPIC and -fPIE.

We've been using -fPIC and -fPIE together in the global cflags all this
time. These options are incompatible. The only reason we haven't been
hit by this before is because of the forced -Bsymbolic in GCC. To fix
this, pass -fpic when compiling objects for shared libraries and -fpie
when compiling objects for executables. For static libraries, also use
-fpic. We have to do this because static libraries might be included in
either a shared library or an executable. Code compiled with -fpie
cannot be included in a shared library, but code compiled with -fpic
may be included in an executable.

We've also been using -fpic and -fPIC together. These are different
options, and only the latter will take effect.
http://stackoverflow.com/a/967010

The final thing this fixes is that we had -f(PIC|PIE) flags being passed
to link commands. These are compile time flags, and don't do anything at
link time.

Bug: 16823325
Change-Id: Ic76f47e63dc2c81b7e1a8058bae1b3dc8565d606
(cherry picked from commit 4803ce2696950f8c27c83de4fe46ae196f35af16)
25671e15cc1b199ca693f95864ab93a63909a526 23-Jul-2014 Dehao Chen <dehao@google.com> Refactor FDO support code to ensure arm64 can also be built with FDO.

Change-Id: I752c9f411b0a046a15c72b4837efc1fb0503b470
e1b867dde77d59bb35f366c2e3d65fe37c696880 10-Jun-2014 Ying Wang <wangying@google.com> Fix loophole in module expansion.

Previously we only expanded product_MODULES with LOCAL_REQUIRED_MODULES,
but not modules introduced by LOCAL_SHARED_LIBRARIES; Later we did a further
shared libary expansion in vendor_module_check.mk.
It couldn't track C in the following case:
A : B, by LOCAL_SHARED_LIBRARIES; B : C, by LOCAL_REQUIRED_MODULES.

With this change, we transformed the LOCAL_SHARED_LIBRARIES dependencies
into LOCAL_REQUIRED_MODULES dependencies before doing the required
module expansion and the loophole is closed.
All module names are now expanded to product_MODULES now and it makes
vendor_module_check.mk simpler.

Change-Id: I8835a478d2ce0ce10601a8449f446f07b01c2b7f
8ff92526807a6fe726096c84e16fa2bb888effc3 06-Jun-2014 Stephen Hines <srhines@google.com> Move comment out of recipe section

If we keep a comment in the recipe, it prints out whenever that component
gets built.

Change-Id: Idb99a9edc02cfb87e35e59b7fd37588b928b98a5
7b913ce6fa5030519121757bf5b258efba51cc06 06-Jun-2014 Ying Wang <wangying@google.com> Support .asm being compiled by yasm targeted for x86.

Change-Id: Icd6626a082facf920b0e49e2fbe8861e94400552
81ab8339feea95db1caaaa57cc8b3bfa0852dc26 29-May-2014 Ying Wang <wangying@google.com> Add a dummy build recipe for generated RS cpp files.

Previously the RS cpp files are generated by the timestamp rule. Though
we have the generated RS cpp files depend on the timestamp file, we
don't have a build recipe. In such case gmake does some "optimization"
that it skip recompiling the generated cpp files, because it assumes the
generated cpp files are already up to date even if the rs files have
been updated.

Bug: 15313144
Change-Id: Ie69ecd2c788057d3619f9c7d2a125d44c4a534a1
5186dac02bc1999c2e34445ccd24406d3653b0c8 14-Feb-2014 Ying Wang <wangying@google.com> Add a dummy build recipe for the proto generated header files

This fixed issue that gnumake skip updating the cpp file that includes
the generated header file when the .proto file gets updated.
For example:
Say a.cc includes b.pb.h, since b.pb.h is just byproduct of the rule
that generates b.pb.cc, and though we have dependency "b.pb.h :
b.pb.cc", but we don't have build recipe for that rule.
Gmake stupidly thinks that b.pb.h must not be updated in that case so
it skips all targets that depends on b.pb.h!
With the dumy build recipe, gmake now doesn't skip the depedent targets.

Bug: 13009798
Change-Id: I39adc09b7656bdd023f578fb8933667944fd974c
824344af004bc87a7b7a301e53814258c8412e4f 27-May-2014 Ying Wang <wangying@google.com> Support LOCAL_CLANG with arch/bit suffix.

Precedence: LOCAL_CLANG_<arch> > LOCAL_CLANG_<32|64> > LOCAL_CLANG.

Bug: 15257067
Change-Id: I86b72f3bec162834591287d3b5231b5f40f9a431
d90de32951835818a12b5fbb29871722ec1a7b1d 24-May-2014 Ying Wang <wangying@google.com> Exclude libstdc++ and libgcc if libc++ is requested.

Bug: 15174002
Change-Id: I24fe428c3520f76cd61f0660b59ba18a1f2d2dad
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
490859563413ef331bf63233d43b8a61d73e0aa8 06-May-2014 Ying Wang <wangying@google.com> Automatically export generated .pb.h files.

- Automatically export the include path of the generated .pb.h files
- Set up the dependency to make sure the .pb.h files get generated
before any dependent c/c++ files get compiled.
With this change, any module that links a proto library doesn't need
any extra setup.

Bug: 14563418
Change-Id: Iea7d19e9d8dce8e7d479c386b7a6151a95a0a0df
140761af09832e4ef5013141757e9aace9afcc6f 26-Apr-2014 Andrew Hsieh <andrewhsieh@google.com> 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
43d5e1bbc494e62d0d31097fe400f4aaed4f56f1 04-Apr-2014 Tim Murray <timmurray@google.com> Build changes necessary for LLVM 3.5 switch.

Change-Id: Icb6065daada7cb1d7425206830a4ef9e23454c03

Conflicts:
core/clang/arm.mk
5d8029f234669cf1688739437810db11dcdb403d 21-Feb-2014 Evgeniy Stepanov <eugenis@google.com> Update ASan configuration.

Change runtime library name to keep in sync with upstream.
Enable frame pointers in instrumented code for fast stack unwind.

Change-Id: I815912bb856c56c399639ea76ad4cb6b97961840
4de6fa4069407607813dfdd1993114c79194d337 11-Apr-2014 Ben Cheng <bccheng@google.com> Decouple platform compiler and NDK library versioning.

TARGET_GCC_VERSION: select compiler from prebuilts/gcc/...
TARGET_NDK_GCC_VERSION: select libraries from prebuilts/ndk/...

Change-Id: I4422a42cdc97aa92b40798014cba82c3c123bbd2
87974056d901acb61c9c6d67fc99f5fad36a5730 21-Mar-2014 Colin Cross <ccross@android.com> add support for LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64

Some executables will need to be built for both 32-bit and 64-bit.
For tests, it will be convienient to keep the name of the executable
the same, but install them in a different location. Add
LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64 to allow a module
to specify different paths for 32-bit and 64-bit executables.

Change-Id: I3be830e899c6d485fe55c25c66b20b3fe64c795e
92d50c1a10764f83de96bb01c92927460268bf50 22-Mar-2014 Andrew Hsieh <andrewhsieh@google.com> Pick gnu-libstdc++ based on TARGET_GCC_VERSION

Previously we have only one set of include/lib paths for
LOCAL_NDK_STL_VARIANT:=gnustl_static regardless of GCC
version, which is wrong because each GCC version
come with its own libstdc++.

Change-Id: I2a01c2120b6948aedce00e2f8d08dfc6932126dd
d8d37212400ee275bbec78e584c86f60ac10b666 22-Mar-2014 Ying Wang <wangying@google.com> Complete installed shared library dependency

Previously the installed shared library dependency doesn't include
modules introduced by LOCAL_SHARED_LIBRARIES_<arch>.
This change fix the problem.
It also cleans up use of the shared library variable.

Bug: 13528787
Change-Id: Id8d807cc57f0ec4a71f18b64545d91191efad8fb
73d800e5199844d2868288c30a496de1cea0c159 04-Mar-2014 Andrew Hsieh <andrewhsieh@google.com> Add LOCAL_NDK_STL_VARIANT:=c++_static and c++_shared

Add llvm libc++ static and shared libraries

Change-Id: I92af9b6ab21cbf8ea82e014a4c11aeb5455920f9
ba8b377d89a3bd37ef6112e21c852be75e07db0a 11-Mar-2014 Ying Wang <wangying@google.com> Split WITHOUT_CLANG to WITHOUT_HOST_CLANG and WITHOUT_TARGET_CLANG

Still keep WITHOUT_CLANG, which enables both.

Bug: 13402154
Change-Id: I32cb668223997719875751bf3d64f592d6086830
9484e2e13ff9024a5498fbc4cf98f1750558dd6a 03-Mar-2014 Nicolas Geoffray <ngeoffray@google.com> Extend YACC and LEX handling to .yy and .ll files.

The external mclinker project has .yy and .ll files that
require the same rules as .y and .l.

Change-Id: I2b02df9a74bac9c215f8aeb8ee2ff0d2616526ed
031e0fb30827e1b8050e18c5f8e4a335bd586f7b 25-Feb-2014 Ying Wang <wangying@google.com> Generate .pb.cc/.pb.h to arch-neutral generated_sources_dir

So a library can export the proto's include path that can be used with
both archs in multilib build.

Change-Id: Ia0f92f0b40e39dc3fa426c69c52139a0a8f04077
ead8944e8da9a4b6dbe344b8d93b2c6b2a730f68 25-Feb-2014 Ying Wang <wangying@google.com> Generate .pb.cc/.pb.h to arch-neutral generated_sources_dir

So a library can export the proto's include path that can be used with
both archs in multilib build.

Change-Id: Ia0f92f0b40e39dc3fa426c69c52139a0a8f04077
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
8c556594bfa6db9089b2ad30b9400f94eb537e20 14-Feb-2014 Ying Wang <wangying@google.com> Add a dummy build recipe for the proto generated header files

This fixed issue that gnumake skip updating the cpp file that includes
the generated header file when the .proto file gets updated.
For example:
Say a.cc includes b.pb.h, since b.pb.h is just byproduct of the rule
that generates b.pb.cc, and though we have dependency "b.pb.h :
b.pb.cc", but we don't have build recipe for that rule.
Gmake stupidly thinks that b.pb.h must not be updated in that case so
it skips all targets that depends on b.pb.h!
With the dumy build recipe, gmake now doesn't skip the depedent targets.

Bug: 13009798
Change-Id: I39adc09b7656bdd023f578fb8933667944fd974c
2d20670380a86e119e93644612aea123ce90bb0a 13-Feb-2014 Colin Cross <ccross@android.com> Add generated sources dir to the default include path

Change-Id: I71fed98dfbc0bf5efad069a251eee2e5ab2e5fe6
f4f2fbe220da4f2af6f2507575e1a2554c8a32ba 13-Feb-2014 Colin Cross <ccross@android.com> don't use LOCAL_*_arch for host builds

The LOCAL_*_$(TARGET_ARCH) variables don't make sense for host
modules, only append use them for target modules.

Also complete the list of LOCAL_*_arch and LOCAL_*_32/64 to be
consistent.

Change-Id: I00c83e5c4e08ed9a844f9f99a79ce4bcc3f0bf11
1f9828387d8d3d0b1a02f99633ac58a68aa366ad 07-Feb-2014 Ying Wang <wangying@google.com> Refactor llvm_config.mk and support the 2nd arch

1. Following the setup of gcc in build/core/combo/,
we added the [HOST|TARGET]_<arch>.mk clang config files,
and load only the configs needed by the current product.
2. Added support for the 2nd arch.

Change-Id: I2a383418a9688a050b39492f8e489d40eeeb5f2d
90353fe86f300af281017100b33a4cb929d3145f 04-Feb-2014 Colin Cross <ccross@android.com> add support for more LOCAL_*_arch variables

Add support for:
LOCAL_SHARED_LIBRARIES_arch
LOCAL_STATIC_LIBRARIES_arch
LOCAL_WHOLE_STATIC_LIBRARIES_arch
LOCAL_GENERATED_SOURCES_arch
LOCAL_REQUIRED_MODULES_arch

Change-Id: Iad91702e140d8dba7dcaee13f236c77b1e626a34
44a752659cbcc56ed340375ec005771bcadcaa3a 30-Jan-2014 Colin Cross <ccross@android.com> build: support LOCAL_*_32 and LOCAL_*_64

Support the following new variables based on whether the current multilib
target is 32 bit or 64 bit:
LOCAL_CFLAGS_32
LOCAL_CFLAGS_64
LOCAL_LDFLAGS_32
LOCAL_LDFLAGS_64
LOCAL_ASFLAGS_32
LOCAL_ASFLAGS_64
LOCAL_C_INCLUDES_32
LOCAL_C_INCLUDES_64

Change-Id: Ia868d56dff114be301bf8297eec768675f186927
8f47fc379e79becfc395c4f51b691aa7af75baee 28-Jan-2014 Colin Cross <ccross@android.com> 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
d826264621a2c3d27228b395bc36edf5510bcc49 25-Jan-2014 Colin Cross <ccross@android.com> 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
dbdafdb865e3e3d819a61542cc56e9224c8dcc04 27-Jan-2014 Ying Wang <wangying@google.com> Support arch-specific LOCAL_C_INCLUDES.

Bug: 11654773
Change-Id: I89c7ce7ff8bea15cb81f9cd9b0188b54beed3422
6e087a339b61804aee00dbdf85106653c861e32f 23-Jan-2014 Colin Cross <ccross@android.com> build: use correct arm vs thumb arguments for 2nd arch builds

Set arm_objects_mode and normal_objects_mode when building a
module for arm when it is the 2nd arch.

Change-Id: I5f7df519b6e1dde6cbf92d106681f07a58e1f1f2
b8e01854893f7390f23e6df82744b2bd3d0572c4 24-Jan-2014 Ying Wang <wangying@google.com> Support arch-specific LOCAL_ variables

With those variables, you can set up different values for TARGET_ARCH
and TARGET_2ND_ARCH.
Also fixed a couple of variables.

Bug: 11654773
Change-Id: I4c7684a562cd5877d18f67d4f848b8df07d0103b

Conflicts:
core/base_rules.mk
ec6d6262acfc431abc3315b9ced28aa981416fdf 17-Jan-2014 Ying Wang <wangying@google.com> Replace all references to LOCAL_GENERATED_SOURCES with my_generated_sources

Now the RS generated sources are only appended to my_generated_sources.

Bug: 11654773
Change-Id: If8dbf3c08fed0b9945dd32b8c809331c17c4bc85
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
e3d067926f8b1a39ae1d9ee1f4eca2a5429e27b4 24-Jan-2014 Ying Wang <wangying@google.com> Support arch-specific LOCAL_ variables

With those variables, you can set up different values for TARGET_ARCH
and TARGET_2ND_ARCH.
Also fixed a couple of variables.

Bug: 11654773
Change-Id: I4c7684a562cd5877d18f67d4f848b8df07d0103b
2958af2aeb3430806b223af65352a4afaf89c514 23-Jan-2014 Colin Cross <ccross@android.com> build: use correct arm vs thumb arguments for 2nd arch builds

Set arm_objects_mode and normal_objects_mode when building a
module for arm when it is the 2nd arch.

Change-Id: I5f7df519b6e1dde6cbf92d106681f07a58e1f1f2
084017e22c3b92e8f6c245567f00a9f191cf235d 17-Jan-2014 Ying Wang <wangying@google.com> Replace all references to LOCAL_GENERATED_SOURCES with my_generated_sources

Now the RS generated sources are only appended to my_generated_sources.

Bug: 11654773
Change-Id: If8dbf3c08fed0b9945dd32b8c809331c17c4bc85
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
7fff9a1a560b822be79f47566f43b76111d7aecf 09-Jan-2014 Ying Wang <wangying@google.com> Define PRIVATE_TARGET_ variables for only target modules.

Change-Id: I12c54bfffd9acb78a61d1032a087a0edaf3bf12c
e6f65438a45f0e1b519fb3cd2799f44ca87911a7 10-Dec-2013 Logan Chien <logan.chien@mediatek.com> Allow clang to build host binaries.

Change-Id: I7e4f9dc6f69a97cfefdfa2ed55c5d7b8ad496da7
d90e2404ddf6aeb57caffdac3d96506139d8e427 14-Jun-2013 Mike Lockwood <lockwood@google.com> Add support for WITHOUT_CLANG

(cherry picked from commit 051a1740eb434e317451c09b72ae09c81cbfa1c1)

Change-Id: I60b7d1fa958557d13b74563c07f694b86d6a6d6f
906cb78168718dafea120b0a0a6cf239b90a2a71 10-Sep-2013 Andrew Hsieh <andrewhsieh@google.com> Add "WITH_STATIC_ANALYZER=1 m/mm/mmm/mma/mmma ..."

The new option WITH_STATIC_ANALYZER=1 instructs build system to
run static analyzer via "clang --analyze" on a successful build.
If analyzer finds any issue, instruction to open report is displayed.
See http://clang-analyzer.llvm.org/scan-build.html for details.

WITH_STATIC_ANALYZER trumps WITH_SYNTAX_CHECK if both exist.

Project use lots of GCC extensions (eg. nested function) not supported
by clang may opt out by adding LOCAL_NO_STATIC_ANALYZER:=true

Change-Id: I9970560560bd52ce5f0fd7129c3488629627c735
6cea59a4b9b62442a5e17f6954e308a35ba12b5e 27-Aug-2013 Andrew Hsieh <andrewhsieh@google.com> Add "WITH_SYNTAX_CHECK=1 make ..."

The new option WITH_SYNTAX_CHECK=1 instructs build system to invoke
"clang -fsyntax-only" to utilize clang's better diagnostics before calling
LOCAL_CC/LOCAL_CXX for code generation. The compilation time is slightly
longer, and the generated object file should be the same as w/o WITH_SYNTAX_CHECK

Project use lots of GCC extensions (eg. nested function) not supported
by clang may opt out by adding LOCAL_NO_SYNTAX_CHECK:=true

Change-Id: I5689586788ef049bd967364f71f31f1e359bd121
e7c2d14e5a48f6c5e00e2540f634b928ce1e9918 27-Aug-2013 Andrew Hsieh <andrewhsieh@google.com> Add "WITH_SYNTAX_CHECK=1 make ..."

The new option WITH_SYNTAX_CHECK=1 instructs build system to invoke
"clang -fsyntax-only" to utilize clang's better diagnostics before calling
LOCAL_CC/LOCAL_CXX for code generation. The compilation time is slightly
longer, and the generated object file should be the same as w/o WITH_SYNTAX_CHECK

Project use lots of GCC extensions (eg. nested function) not supported
by clang may opt out by adding LOCAL_NO_SYNTAX_CHECK:=true

Change-Id: Iaeedd07d5719f9df9675ab57e307e28a9c855c1b
7c4674205c1e2ab4106b99e07434ca31687736ac 14-Aug-2013 synergydev <synergye@codefi.re> FDO: Only support locally

The issues:
- The size increase from utilizing FDO is quite large while
utilizing runtime profiles in build.
- By default, FDO is utilized globally if the target arch variant
profiles exist.
- Not all modules can show statistical significance in
performance comparison, yet still suffer the size increase.

The solution:
- Only enable FDO locally with LOCAL_FDO_SUPPORT
for modules which may benefit enough to justify the size
tradeoff.

Solution notes:
- I've noted statistical significance in libwebcore and libskia
thus far from utilizing FDO.
- Analysis included sunspider, drawcanvas benchmarks, as
well as gooda analysis on both arm and x86
- To support runtime profile generation in modules which have
LOCAL_FDO_SUPPORT specified,
BUILD_FDO_INSTRUMENTATION is still used. Otherwise,
if the target arch variant profiles exist, FDO is utilized for
specified modules.

Change-Id: I7e95266943ff47c7d82b02e6200fd09911d0bb57
a5afbe8ac666615058e200ecf8fbc4908eadb95d 29-Aug-2013 Torne (Richard Coles) <torne@google.com> Fix handling of .o files in LOCAL_GENERATED_SOURCES.

Rule-generated .o files (in gen_o_objects) were being given a dependency
on everything in LOCAL_GENERATED_SOURCES (except for other .o files);
unfortunately this can still create cycles in cases where there are
explicit dependencies between entries in LOCAL_GENERATED_SOURCES.

Instead, make handling of generated .o files consistent with other
generated files (which don't automatically get any dependencies on other
generated files) by excluding them from the target side of the rule.

Change-Id: I3fb5652dc3d85012c179a03b81887d16a85ab3bf
f4723fa49b6e61f727b6321a4006ee8ba3f393b9 15-Aug-2013 Ying Wang <wangying@google.com> No need to filter out AndroidConfig.h for unbundled build

for now we have all AndroidConfig.hs in the build project.

Change-Id: Id713fecba1378fad81688f5937f61c779b618ac2
285045bd83548196aa3695423c6cd500ebe6d6c1 13-Aug-2013 Ying Wang <wangying@google.com> Support for LOCAL_HAL_STATIC_LIBRARIES

Now you can have a board config variable BOARD_HAL_STATIC_LIBRARIES,
which is a list of board-specific HAL static library names with pattern
"lib<library_name>.<board_specific_suffix>". LOCAL_HAL_STATIC_LIBRARIES
is a list of "lib<library_name>" and any matched
BOARD_HAL_STATIC_LIBRARIES will be added to the LOCAL_STATIC_LIBRARIES;
if no match is found, lib<library_name>.default will be used.

Bug: 10262105
Change-Id: Ic89d8d417d1dd65a227e4187a157fd3b77c4af34
4a605760297d57f2e1006c145724f10866e34ff2 05-Aug-2013 synergydev <synergye@codefi.re> FDO: do not support host modules

Summary:
If built with BUILD_FDO_INSTRUMENT alone, host modules will fail at runtime (during build)
due to failing to create /data in most standard unix user permission cases. If the user does
have full permission to /, /data/profile/ will be created and profiles will be generated there.
Any file generation in the Android Build System should be kept to $OUT.

This commit fixes this bug.

Test Plan:
Build with BUILD_FDO_INSTRUMENT without additional configuration, and host modules will no longer generate profiles
at their runtime.
051a1740eb434e317451c09b72ae09c81cbfa1c1 14-Jun-2013 Mike Lockwood <lockwood@google.com> Add support for WITHOUT_CLANG

Change-Id: I12e776e44c69649bca34c35eff2ee7c75cfe62cd
d6b1d61d84a95ba74bb3e4f9053014357ac363d1 16-Apr-2013 Ying Wang <wangying@google.com> 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
fea1ffeff3f5e13b85b5195fe328461b83f00922 10-Apr-2013 Ying Wang <wangying@google.com> Get rid of the liblog hack.

Bug: 8580410
Change-Id: I3ece860673eb52a2db1421db4492c9b1807dda6e
c04a8282229b624eb3aff506fb72e5fcf27b258f 11-Apr-2013 Ying Wang <wangying@google.com> Revert "Get rid of the liblog hack."

This reverts commit 7636578729ffcd02bfb5158db884f559a52d8905

Change-Id: I32f2acce5f99cb97eae986dfeba6d5d25378aefa
7636578729ffcd02bfb5158db884f559a52d8905 10-Apr-2013 Ying Wang <wangying@google.com> Get rid of the liblog hack.

Bug: 8580410
Change-Id: I4b437d10522ee66c7883faacfaf7e30abede394c
cd3190a9f50780f610e0ba4cdb9996bc8a794b8b 10-Apr-2013 Ying Wang <wangying@google.com> Revert "Add liblog"

This reverts commit 8722580d90840352883a84d1ca882e50220f3959

Change-Id: Iafdbb7f540a53ddc9dc2e21c0afddb62c44c4af8
8722580d90840352883a84d1ca882e50220f3959 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: I45e17b786b8d221a071b5de2432bb1367e245fb4
aace2024d723f6914f05bd9d847166c45447a913 21-Feb-2013 Torne (Richard Coles) <torne@google.com> Support build rules which generate .o files.

webviewchromium has some build rules which use a custom tool to create
.o files from other input (i.e. they are not prebuilt and so can't be
included in LOCAL_PREBUILT_OBJ_FILES). Support adding .o files to
LOCAL_GENERATED_SOURCES and doing the right thing with them (including
them in the static/dynamic library or executable being built).

Bug: 7714333

Change-Id: I3b1d29eeff30aebeafe33398f9bef2eb6972d997
77a4a7a91d35865e8852664555ce5cea31ae545d 21-Feb-2013 Torne (Richard Coles) <torne@google.com> Support build rules which generate .o files.

webviewchromium has some build rules which use a custom tool to create
.o files from other input (i.e. they are not prebuilt and so can't be
included in LOCAL_PREBUILT_OBJ_FILES). Support adding .o files to
LOCAL_GENERATED_SOURCES and doing the right thing with them (including
them in the static/dynamic library or executable being built).

Bug: 7714333

Change-Id: I3b1d29eeff30aebeafe33398f9bef2eb6972d997
9485a57bb2e55535fc337f2be803e79cd1c46b62 22-Feb-2013 Ying Wang <wangying@google.com> 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
9c3aa053f5c0ab7d47181cc6966d7ffebb679a96 20-Feb-2013 Ying Wang <wangying@google.com> Order-only deps on LOCAL_C/CXX and BCC_COMPAT

So if the host binaries are updated, we don't run the rules again.
Bug: 8234097

Change-Id: I6c888d2b3ae39db1f91411da630ac098273f139d
c8dfc169c80416c5fe501e793acbdf232ca0316c 27-Jan-2013 Shih-wei Liao <sliao@google.com> Fix libcompiler-rt. Use the official name libcompiler_rt.

Rename libcompiler-rt to libcompiler_rt.

Change-Id: I62e77d4dc83458bc238bd8320b70ddb7efe0dd12
a7aa8005d28e3e7e5a6a4f7b9ad2c94097436d6a 30-Oct-2012 Tim Murray <timmurray@google.com> Add support for RS in C++.

Change-Id: Ib8008d6301584bd0a2cd91c4c1294e0df8ac3b73
daf5e22dbac03e174e22c8209ed97c44c3a2a2c9 18-Oct-2012 Mike Lockwood <lockwood@google.com> Add new embedded target for a super minimal android build

Remove obsolete BUILD_TINY_ANDROID

Change-Id: Ic0f3a5b3250ea80529f5099653068f118a13b12e
57ddcb1bbce7a980e677dfd212ce76229fe33f55 26-Sep-2012 Ying Wang <wangying@google.com> 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
91fd1231c3254bc9d0642e5a646b5657bdaedffa 26-Sep-2012 Ying Wang <wangying@google.com> Support to build executables against the NDK

Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you
include $(BUILD_EXECUTABLE).

Bug: 7170098
Change-Id: I4cebeae3355e79a4d2f2f5549ef0613ced77e3f0
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
c6ffc00b9fa7898564139558a025d865bac37a38 26-Sep-2012 Ying Wang <wangying@google.com> Support to build executables against the NDK

Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you
include $(BUILD_EXECUTABLE).

Bug: 7170098
Change-Id: I4cebeae3355e79a4d2f2f5549ef0613ced77e3f0
da4bf4251451d2da8883d636849b65fcc368a575 17-Aug-2012 Ying Wang <wangying@google.com> Don't include system/core/include/arch/<arch>/Android.mk for apps-only build.

Bug: 6994483
Change-Id: I76c4d96264cf94a79d59fdeb52bb37c07a9458dd
7429e21c2e64c1b27787e3768c30207532b56296 15-Aug-2012 Ying Wang <wangying@google.com> Add LOCAL_CONLYFLAGS.

To pass compiler flags
LOCAL_CFLAGS: to both C and C++ files;
LOCAL_CONLYFLAGS: to only C files but not C++ files;
LOCAL_CPPFLAGS: to only C++ file.
LOCAL_CPPFLAGS and LOCAL_CONLYFLAGS can override flags in LOCAL_CFLAGS.

Bug: 6967573
Change-Id: I88d9de0980e451b94bc7ae8c741ea2030eada3e1
27d51bf6d3cd4189085238503d46a5a570173e1b 14-Aug-2012 Ying Wang <wangying@google.com> Force out LOCAL_NDK_VERSION.

Change-Id: I0a9f1a630ef2019bed38d420525eac9510b09798
54fdb473b656544c75ad06497ecf20a1e8d6b539 14-Aug-2012 Ying Wang <wangying@google.com> Retire LOCAL_NDK_VERSION.

We are now unifying the NDK versions of unbundled native code to always
use the latest NDK.
We don't need the variable LOCAL_NDK_VERSION now.
To build native code with NDK, you need set just LOCAL_SDK_VERSION.

Bug: 6932421
Change-Id: I86f05a264249cda6bae97b4b1616f03700cd9dfa
7f8d0ba6bd4b23295bbddda47e85a69b15922dd1 10-Aug-2012 Ying Wang <wangying@google.com> Adopt the new prebuilts/ndk/<number> paths.

Bug: 6932421
Change-Id: Iba7200aacef2201001f92c6ffa020881f0b528ea
fe1bfe7dc9d29393f3a6add57eb3297bd31e3de6 14-Aug-2012 Ying Wang <wangying@google.com> Force out LOCAL_NDK_VERSION.

Change-Id: I0a9f1a630ef2019bed38d420525eac9510b09798
848020f22a5e305ddf8814942e71d8120509a4ec 14-Aug-2012 Ying Wang <wangying@google.com> Retire LOCAL_NDK_VERSION.

We are now unifying the NDK versions of unbundled native code to always
use the latest NDK.
We don't need the variable LOCAL_NDK_VERSION now.
To build native code with NDK, you need set just LOCAL_SDK_VERSION.

Bug: 6932421
Change-Id: I86f05a264249cda6bae97b4b1616f03700cd9dfa
65d785274e7898d2dc89e7fffb26715f081ff284 11-Aug-2012 Ying Wang <wangying@google.com> Don't pass LOCAL_CFLAGS when compiling assembly code.

Bug: 6967574
Change-Id: Id428884dde3026c32fa6abcabbc88d188b7e9a38
f0dd8584fd729c656f2aea5b5f5386d62eecc6f7 10-Aug-2012 Ying Wang <wangying@google.com> Adopt the new prebuilts/ndk/<number> paths.

Bug: 6932421
Change-Id: Iba7200aacef2201001f92c6ffa020881f0b528ea
bec4a4b980261e35155cb53981ad39ef5423109a 27-Jun-2012 Stephen Hines <srhines@google.com> Disable libcompiler-rt-extras for BUILD_TINY_ANDROID.

Change-Id: I05aa9e43f987ef422d98f43b3734dfbc261feb4b
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
022a7b32efb9ff9ad36dca70696c428b1059ade4 13-Jun-2012 Ying Wang <wangying@google.com> Fix arm mode for the generated protobuf code.

Change-Id: Ic644ab9e1b83d9616dd9ca93362805cdd17f36a7
8e53708ab11fe736dc2a9bda2e923599ba8c503b 13-Jun-2012 Ying Wang <wangying@google.com> Don't add COMPILER_RT_CONFIG_EXTRA_STATIC_LIBRARIES if we build against NDK.

Change-Id: I732be02bb4b9ee7a2d11ed89f409487f0bc37d0f
c72f39664d6e6a9d15b912cd72e7bcef121fcc11 11-Jun-2012 Stephen Hines <srhines@google.com> EXPERIMENTAL: Add libcompiler-rt-extras.a to device builds.

Change-Id: I463217aef573a28069469514ad94cd85a7f38bea
68f1c77a8db3ee6f92194cbaeeb1bf559bb79afd 24-Apr-2012 Ying Wang <wangying@google.com> Make export_includes depend on the module's definition makefile.

Bug: 6383397

Note that LOCAL_MODULE_MAKEFILE is calculated in the macro my-dir,
which must be called at the beginning of your Android.mk to calculate
LOCAL_PATH.

Change-Id: I7aa079e37253fbda25ffb85c2e5bbf0663340e27
616e596385d01bc2de0c4717ba53cb1c9601539d 19-Apr-2012 Ying Wang <wangying@google.com> Write out export_includes whenever the module is built.

Bug: 6362268
Change-Id: If872cf8fe597a02e6ca740a181cea85f486df98e
c32af65886776a99f17406e83a40e9476452033f 19-Apr-2012 Ying Wang <wangying@google.com> Revert "Write out export_includes whenever the module is built."

This reverts commit 40c34f3778e778762c7a7dcaf8697b2c90a717de
40c34f3778e778762c7a7dcaf8697b2c90a717de 19-Apr-2012 Ying Wang <wangying@google.com> Write out export_includes whenever the module is built.

Bug: 6362268
Change-Id: Ic5d028c108423c694736a06c05ec13093d42f1b8
f50f4c529919ac4acefd2fb05fb5d47743f6e2c3 05-Apr-2012 Evgeniy Stepanov <eugenis@google.com> More Clang tweaks to the build system.

Adds arm_neon.h to the include path when building with Clang.
Filters out 3 additional compiler flags when building with Clang.
Filters out unsupported flags from TARGET_(arm|thumb)_CFLAGS, as well.

Change-Id: I5e23a95356e0b10c31c9aa3cb4905f6a674709e4
6cc9c06854f0e847bdf93d65947c306a83900851 29-Mar-2012 Evgeniy Stepanov <eugenis@google.com> Add support for building with AddressSanitizer.

Change-Id: I559d21bbeb9f869f51e48ce18247ceaf766768b4
a7095e919224888172ba59dd4663d4d47d68c4bb 29-Mar-2012 Evgeniy Stepanov <eugenis@google.com> Include Clang headers from ".../include" directory.

Do it with -isystem instead of -I.

Change-Id: I70fd55772e59a35f0b5a56816d61120f4921f4a4
2109487a2905971adb06ea725090eab993c81b95 02-Apr-2012 Narayan Kamath <narayan@google.com> Changes to C++ protocol buffer compilation.

Generate C++ code for all .proto files before attempting
to compile them. This takes care of the case where generated
.pb.cc files include other header / c++ files due to proto
imports in the original .proto files.

Change-Id: I26513842618fd31f0b33a3f10df2a5e556094515
9ad36ef9297a13097e62e3285bdc168060dae442 31-Mar-2012 Colin Cross <ccross@android.com> Remove base_intermediates from LOCAL_C_INCLUDES

base_intermediates is not used anywhere in the main build system,
and should not be part of LOCAL_C_INCLUDES. It is used by
external/webkit/Android.mk as a local variable, which causes
the libwebcore_intermediates directory to be added to the include
path for every module.

Change-Id: Iddeee880add4b6f694a15d1900c588e1c547b9df
dfbe79b803dbbf0fd4c863200e10bedd69510aa3 22-Mar-2012 Ying Wang <wangying@google.com> Don't expose the compiler dependency.

Change-Id: Ia472eaab3e8e883a32e8b441a2480562db278e45
b71e2df30a2a24d5566734b3c41716bee9351fd1 20-Mar-2012 Evgeniy Stepanov <eugenis@google.com> Add LOCAL_CLANG variable to switch C/C++ build environment to Clang.

Change-Id: I8ca1c24f51aa5546ac9618d31566a52e4fdb1436

Conflicts:

core/clear_vars.mk
d14d3b4e64e627172670631f637d70cf0e9a297d 01-Mar-2012 Steve Block <steveblock@google.com> Add a comment about publishing licenses for third-party code

Change-Id: I21bee0bb78ab42b4f7b6a938f94653c7e21e8503
495e58502a60dde2c3b1407e2139ff798f2da26f 29-Feb-2012 Steve Block <steveblock@google.com> Revert "Remove unused notice_files target"

This broke the PRODUCT-sdk-(win_)sdk target of SDK builds

This reverts commit 620a5270fc77431b773f3cfe948c467e03a2c72e.

Change-Id: I81afe68ae98b5daac5fe136ec8d04f6fba5af9b4
620a5270fc77431b773f3cfe948c467e03a2c72e 29-Feb-2012 Steve Block <steveblock@google.com> Remove unused notice_files target

The notice_files target generates $(TARGET_OUT_INTERMEDIATES)/NOTICE.txt and
$(TARGET_OUT_INTERMEDIATES)/NOTICE.html. The former is not needed and the
latter is an explicit dependency of $(TARGET_OUT_INTERMEDIATES)/NOTICE.html.gz.
We can therefore remove the target and the logic to generate NOTICE.txt.

Change-Id: I6179c049bebe590c7298e8be0a30e30265423468
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
ebd1e25272de54b4b874a24c7740a6e30b1f38eb 11-Feb-2011 David 'Digit' Turner <digit@android.com> core/binary.mk: Add missing Objective-C objects to the build. DO NOT MERGE

NOTE: This is a back-port from AOSP into the internal gingerbread branch.

For some reason, all_objects was not listing objects generated from
objective-C sources. We need these for the emulator (which builds its
own version of SDL which uses Quartz on OS X).

+ Fix a typo in transform-host-m-to-o definition.

This also explains why https://review.source.android.com/#change,21074
had to be reverted, since it gets rid of the prebuilt SDL libraries when
building the emulator.

Change-Id: I03e179f3216ed95908bf8e8011d34109accff1b9
Orig-Change-Id: I173811cf11cdb5b045073aade59364236145bc77
704c0c9fcac5f680411666835fc6bd5d052ba8db 15-Sep-2011 Ying Wang <wangying@google.com> Use LOCAL_REQUIRED_MODULES to add dependency of installed shared libraries

Bug: 5200343
Before this change the build system assumes that shared libraries will
be installed to $(TARGET_SHARED_LIBRARIES). That's not true if the
module uses custom LOCAL_MODULE_PATH.
With this change we defer the evaluation of the dependency to after all
Android.mks are loaded and all modules have their installed path
determined.

Change-Id: Ib6628ed44154a90e8668d31691fbbac67125be6c
d9020c2e9a5c686d6208be48daa44bfa23065b2c 07-Sep-2011 Ying Wang <wangying@google.com> Add ABI specific include path for NDK.

Change-Id: I37a935126b9a1e544fc5a7471cf6ca224fc89cf3
a7d9ca371e552c3aec62cab9de958c55d0dd2ea3 13-Jul-2011 Ying Wang <wangying@google.com> Use the LOCAL_* as dependency.

PRIVATE_* should be used only in the build commands.

Change-Id: Ie1d8db7c78012a8615b893d3ef3be893da7466f4
e33ba4c49ed461d608c65eb4e09d31ca81d167ff 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: Ie814f4c8d3aa1e7cc7f5735822ab25542f36cf62
e3c3c6d4fecf12e725dbf0f5bb9967787149c457 07-Jun-2011 Doug Kwan <dougkwan@google.com> Allow per module RTTI setting. This fixes a bug in previous check-ins.

Change-Id: I5fcac192a7945720fd7667f7497078d310370bc5
9a8ecf970bf53f7f43a8722212ff4b217a6bb403 11-May-2011 Doug Kwan <dougkwan@google.com> Allow enabling RTTI in a module.

Change-Id: Ie8ce920e3ccb7e53bdf917d8ac5a386df3e7836a
fcdabd4bdbb347399e77d2fd4b1aefd6281d75f8 25-Apr-2011 Ying Wang <wangying@google.com> Add LOCAL_GROUP_STATIC_LIBRARIES

Set LOCAL_GROUP_STATIC_LIBRARIES := true to group the static libraries,
in case we need gcc flags "-Wl,--start-group" and "-Wl,--end-group" to
fix circular references.

Change-Id: I03c4901670112fcdd2bb0fe660b6924e5776fcf8
cce4c973e42a5a2f4256eb2792858b27ea15f375 04-Mar-2011 Ying Wang <wangying@google.com> Support stl variants when LOCAL_NDK_VERSION is set.

LOCAL_NDK_STL_VARIANT can be set to system, stlport_static, stlport_shared
or gnustl_static. It defaults to system.

Change-Id: I2840d30ff732a00bc0ea70eab8a8179aea0abbdf
2f76c6d11b97507880df2c1cf84458ba34f6e634 23-Feb-2011 Ying Wang <wangying@google.com> Add stl include path if LOCAL_NDK_VERSION is set

Since NDKr5 the stl headers reside in a separate directory.

Change-Id: I98f37b593560a1a2a55418f8ba413ca842ed37ef
bd528a82a24e2230ea797ffc7d9a20d4d917747e 16-Feb-2011 Jeff Brown <jeffbrown@google.com> Build system tweaks for Valgrind.

Added LOCAL_NO_CRT to enable building executables that do not link
to the C runtime library.

Removed support for LOCAL_MODULE_SUBDIR since it was broken
and unused. (Was going to use it but ended up using LOCAL_MODULE_PATH
instead.)

Change-Id: Ifed4ffe17003d90370c711ea6606e2b75e841dee
5ca286d58bc2f8e2445ae77d7ca8b4046a016988 11-Feb-2011 David 'Digit' Turner <digit@android.com> core/binary.mk: Add missing Objective-C objects to the build.

For some reason, all_objects was not listing objects generated from
objective-C sources. We need these for the emulator (which builds its
own version of SDL which uses Quartz on OS X).

+ Fix a typo in transform-host-m-to-o definition.

This also explains why https://review.source.android.com/#change,21074
had to be reverted, since it gets rid of the prebuilt SDL libraries when
building the emulator.

Change-Id: I173811cf11cdb5b045073aade59364236145bc77
703e7c6d50a5bddf0fb057a1a26618e2f7138c31 05-Feb-2011 Jeff Brown <jeffbrown@google.com> Build system tweaks for Valgrind.

Added LOCAL_NO_CRT to enable building executables that do not link
to the C runtime library.

Removed support for LOCAL_MODULE_SUBDIR since it was broken
and unused. (Was going to use it but ended up using LOCAL_MODULE_PATH
instead.)

Change-Id: I3b6f5ab7e5ae6aaa7119899adccece2b4ab1cbb3
c61d4c91b6b31776665be3fcc7e4733b53e6c6e8 27-Jan-2011 Jean-Baptiste Queru <jbq@google.com> Extra protobuf-related support

Change-Id: I375d32f0bcb695ccb0603743133034941d584163
79ee7bf896cb03c9c05df9aac644fdb055a37898 27-Jan-2011 Jean-Baptiste Queru <jbq@google.com> Protobuf compiler support in the build system
33c0d952fcba713f00c1cafc8213274e642aee4c 05-Nov-2010 Ying Wang <wangying@google.com> Allow module-specific protoc flags.

You can add local protoc flags via LOCAL_PROTOC_FLAGS.

Change-Id: If246a4edafe1edcec6a7f193bde8ce3c83de745b
a5fc87a93713b1976c5bfdd602d1c6bd285e7533 03-Nov-2010 Ying Wang <wangying@google.com> Integrate protocol buffer compiler into the build system.

Bug: 3152546
Change-Id: Ida3ca3d633ce45704dc8e80d044cdbd3ca69aca5
20d1ba602b8f56cc396a213f6beecac500af02e2 14-Oct-2010 Jim Huang <jserv@0xlab.org> Explicitly declare assembly only __ASSEMBLY__ macro for assembly source

To isolate the assembly-only macros in header files, such as
<machine/cpu-features.h>, this patch attempts to declare assembly
only __ASSEMBLY__ macro in build system.

Change-Id: I081c3e46258a9256b20995e4d0b473c64745444c
02c9813a726803e1c406b19f6b9dc4e411326e66 24-Sep-2010 Ying Wang <wangying@google.com> Prebuilt NDKs are merged for linux and darwin.

Change-Id: I0b632d7ba4df5b27dda36280b22dfd0b37e116b7
bce4b75fa7801fcb88c6a9ade9465806fe18d441 23-Jul-2010 Ying Wang <wangying@google.com> Add JNI_H_INCLUDE as default header search path

So that module Android.mk does not need to include it manually.
Also with this change, CL like https://android-git.corp.google.com/g/57887 is not needed.

Change-Id: I68fa73a00c76eb37a8142f35d7eeef79cf53c09b
75b28573fe739a10f0f91fab1ef916ddd1c0b91c 16-Jul-2010 Ying Wang <wangying@google.com> Fix sim build for unbundling native code

NDK does not support sim build.

Change-Id: I57a09c0083126c57a99cf33c055edef3390d1c28
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
0d09e587aaa52fe1d3f1bfdd6faec9c5e232e1df 09-Jul-2010 Chih-Wei Huang <cwhuang@linux.org.tw> Set arm specific variables to be empty for non-arm platforms

These variables are useless for non-arm platforms, and will
generate misleading messages during building process.

Change-Id: I37c46ac8d30f353333803d9591b65fca24ce3fd5
e6b4e5b20ac8a3b01f1a99dd877a98c92036ce5e 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
2dcc806af56351dca462225be7ecfad7da5aa8f1 22-Sep-2009 Jing Yu <jingyu@google.com> Add FDO options to Android make system.
5dbb529de9f84e731e26b83525f3f599f1914aca 14-May-2009 David 'Digit' Turner <digit@google.com> Allow the build system to build Objective-C sources.

This is needed to move our modified SDL sources under external/qemu/distrib.
As per joeo's request, this change also enables target Objective-C compilation, letting it error at build time.
d033d57f409d8df2ddda319e191da7ee71009362 20-May-2009 Patrick Scott <phanna@android.com> Change PRIVATE to LOCAL for additional dependencies.

This change will be used by webcore_test in a separate change.
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.
e7b3e2c62eddf9c31062fa8a0c9a31e1ef749afd 04-May-2009 Jack Palevich <jackpal@google.com> Extend build system to compile generated "C" files.

Until now only generated assembly or C++ files would be compiled. This patch extends the build
system to compile generated C files as well. The new rule is modeled on the existing rules for
compiling generated C++ files and the existing rule for compiling ordinary C files.
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