History log of /build/core/combo/HOST_darwin-x86.mk
Revision Date Author Comments
0e7587a9ea58b69c9daa43cd682a4657d23b9b23 09-Oct-2015 Shinichiro Hamaji <hamaji@google.com> Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries

When a shared object is rebuilt, all dependent libraries and
executables are rebuilt. Such rebuild is unnecessary when there
is no interface change. With this patch, .toc files will be
generated for all .so files. The rule which generates .toc files
has ninja's restat=1 and .toc files are not changed ninja won't
rebuild dependent targets.

Performance:

$ m && touch bionic/libc/stdio/stdio.c && time m
Before: 1m03s (2563 targets)
After: 21s (90 targets)

Bug: 24597504
Change-Id: Ia5dd950273d143f4e99eee8bef7478f1a94cd138
7f80a9ed445afe0ade45d4f3b48576cdba9a6a18 30-Jul-2015 Elliott Hughes <enh@google.com> Remove the now-empty darwin AndroidConfig.h.

Change-Id: Icdbb06514c099653923aae936c31abfbaeaccf7a
30127bfdadee04d470e618ff55db89db281fb921 01-Jun-2015 Ying Wang <wangying@google.com> Add $ORIGIN/lib[64] to host binary's rpath.

Normally the binaries use the exsiting $ORIGIN/../lib[64] with binaries
in the bin subdirectory;
For historical reason the binaries in the SDK package don't have a bin
subdirectory. This workaround enables them to work in the existing SDK
directory structure.

Bug: 21301578
Change-Id: Ibebfbfb8b30e81e7bbaf13a21bb205f3f0282d24
(cherry-pick from commit 4fe7bfd373d99dedfd2e63135da5189478bb0138)
4fe7bfd373d99dedfd2e63135da5189478bb0138 01-Jun-2015 Ying Wang <wangying@google.com> Add $ORIGIN/lib[64] to host binary's rpath.

Normally the binaries use the exsiting $ORIGIN/../lib[64] with binaries
in the bin subdirectory;
For historical reason the binaries in the SDK package don't have a bin
subdirectory. This workaround enables them to work in the exsiting SDK
directory structure.

Bug: 21301578
Change-Id: Ibebfbfb8b30e81e7bbaf13a21bb205f3f0282d24
aaf9a5b0ccb502d17fa83a119e69baec1af76d1a 09-Apr-2015 Ying Wang <wangying@google.com> Remove ancient ranlib workaround on Mac OS X.

Apparently we don't need it for Mac OS X 10.7 and above.

Change-Id: I5ee81700c16e8c66b2d5f2b373fd2d523b5ec018
4972d195ddb886460cd3a8de6c101f7a0ccd1096 09-Apr-2015 Ying Wang <wangying@google.com> Remove ancient ranlib workaround on Mac OS X.

Apparently we don't need it for Mac OS X 10.7 and above.

Change-Id: I5ee81700c16e8c66b2d5f2b373fd2d523b5ec018
1199f7388cb608e7b1ca7b1677bd8535f3ec087b 10-Nov-2014 Al Sutton <al@funkyandroid.com> Fix building on modern versions of Xcode and OS X.

Add the build options to support the most recent versions of XCode and
add 10.9 to the list of OS X SDKs which the AOSP code can be built with.

Based on patch from https://groups.google.com/d/msg/android-building/kePgJmYBUdM/0C_d1OZflvcJ

Change-Id: I97ffe45d3c54a095952a4ac6accb938623b8fa1e
Signed-off-by: Al Sutton <al@funkyandroid.com>
3a2b9f0a49078223434927835d79d1ca9a751f16 16-Oct-2014 Naseer Ahmed <naseer@codeaurora.org> core: OSX: Support 10.9 SDK as well

Change-Id: I764102df9b84ca19d217e35a209a9c80abeed6e7
781094fa4347eb10d2d55fb75232e19417bda831 18-Oct-2014 Stephen Hines <srhines@google.com> Remove unnecessary 10.8-specific build rules

We no longer need gcc for host builds, since those all run through clang. This
header include, however, triggers errors about SSE intrinsics by replacing
the more relevant include dirs that we should be using.

Change-Id: I26a949f0109de8e6e2d1f09cb8127be927549cc4
5e2ebcbe266669397d03ccbcc2e69fb845da5d5b 29-Jul-2014 Ying Wang <wangying@google.com> Use hermetic host toolchains.

Change-Id: I6bb72b5728d1075be9645f8473dcf3db759fa66a
ef773d22ca2eaacda0a3e5101c76bde3efcf98aa 17-May-2014 Ying Wang <wangying@google.com> Fix the missing 2nd arch prefix.

Bug: 13751317
Change-Id: Ie5a323a0a89245576dbc91271d3178574942627d
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
d318ba66f90272b618e035e996e0a04f02b4481d 21-Apr-2014 Tim Murray <timmurray@google.com> Update build system for better Clang behavior on Mac.

Change-Id: I1813954681b670807d7e3faaf6d5f5a769cc5f2e
02cefc93a8b7555dd5e45f39348ab1473192983b 20-Mar-2014 Tim Murray <timmurray@google.com> 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
aa54033b469739b31e8c48eaa26f0dc7ef531738 11-Mar-2014 Ian Rogers <irogers@google.com> Define __STDC_CONSTANT_MACROS globally to work around host build differences.

Change-Id: I945128b3087b28f62467c7123b759e3514027574
c61a9425cd6503783030a20214d92abf7804a613 11-Mar-2014 Ian Rogers <irogers@google.com> Revert "Define __STDC_LIMIT_MACROS globally to work around host build differences."

This reverts commit 668427c941bd88cacdf24d0562e6b68eb93038a1.

Change-Id: I3694aad84e7499e4c6839db0bd06acf5166e4802
668427c941bd88cacdf24d0562e6b68eb93038a1 10-Mar-2014 Ian Rogers <irogers@google.com> Define __STDC_LIMIT_MACROS globally to work around host build differences.

Change-Id: I571fc5a4b35c830ca8de4dc3117aef258dffa1bd
b47c863ec7d7b0d6806d7ea85887c662893a2c70 19-Feb-2014 C. Sean Young <csyoung@google.com> Strip all symbols on x86

Strip all of the non-dynamic symbols on x86 targets,
instead of just the debug symbols.

Change-Id: Id799a6a8c8b0e8bf70977328e42e5efa23762f25
61e5059ef768388db01232c61879d2ba3e0c1d47 29-Jan-2014 Ian Rogers <irogers@google.com> Fix the host inttypes.h problem globally.

Bug: 12708004
Change-Id: I2c75647bac304b82e150c540b9e6c5568997596d
71f8b245ce553452c1a0691aaf225e6fad5aecd6 11-Mar-2013 Torne (Richard Coles) <torne@google.com> Don't try to group static libraries on mac.

Mac's linker doesn't support --start-group and --end-group; it scans
libraries repeatedly even without these options, so it's not necessary.

Change-Id: If22527e75470f7fa9452dc33efe4d40a60d0919a
85e8cda3405be4acc0da0a094209dd0e8f11cd55 12-Nov-2012 Ying Wang <wangying@google.com> Remove the obsolete comments and change the misleading var name.

Change-Id: Ib19099cbce0133f5c7df44fa0fd80215809a1ad8
e2e28f6d028d74b92457b885d9184d669575a15d 10-Nov-2012 Andrew Hsieh <andrewhsieh@google.com> Use prebuilt gcc for MacOSX

1. Use prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1
See https://android-review.googlesource.com/#/c/46223/
2. Rewrite logic dealing with mac_sdk_version to support all
MacOSX SDK 10.6, 10.7 and 10.8. Note that since
ad2342375963c2468849c1f83a97158383db6511 emulator no longer
depends on 10.6 to build. Since the lowest SDK among intersection
of the "available" and the "supported" SDKs is picked, add a
new variable MAC_SDK_VERSION for developer really want to overwrite
it. MAC_SDK_VERSION still has to be one of the supported, though.
3. Improve mac_sdk_path detection to deal with case where Xcode
*dmg is mounted only, not installed at /Applications.
4. Now we can retire BUILD_MAC_SDK_EXPERIMENTAL

Change-Id: I83e463556a857d527710f766de0e19e1b576151f
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
5bdf305bbe529a85735200353478057b65bb462e 20-Sep-2012 Ying Wang <wangying@google.com> Move AndroidConfig.h from system/core to the build project.

So unbundled branches don't need to include the system/core project.

Change-Id: Ic4ef62ee6df069b9b2dd123aed95a3e7fcdfc146
691e0243ca880722f5dd86a1052fc7ffbc55f8c4 30-Jul-2012 SangWook Han <sangwook.han@gmail.com> Build on Mac OS X : add experimental SDK versions

Change-Id: Ifc67d1745e72fc048cd6e8c8ef0521ab92468086
31ef1037bf7b66e949ecf52a1a29672d43ebfef8 21-Aug-2012 Andrew Hsieh <andrewhsieh@google.com> Added BUILD_HOST_static to build statically linked executable/shared-lib

Statically linked executable/shared-lib (eg. SDK tools) are useful
in sandboxed environment.

In BUILD_HOST_static zipalign needs -lpthread indirectly:
zipalign->libutils.a->liblog.a->logd_write.c->pthread

Change-Id: I615f574e918c83ed1ab82db2453b69d0420cb59c
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
478ba5e3f00bb1321cd022d744020231f2449287 29-Jun-2012 Ying Wang <wangying@google.com> Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk

Bug: 6754632
So the warning won't show up when you run lunch.
Now the warning only shows when you do a clean build.

Change-Id: I7876da783f059d390f0072df37d3ab0291589eb7
02eb37c267adff3528c9e88cdfdd59035ce934b8 08-Jun-2012 SangWook Han <swhan@nemustech.com> Fix generic build on Max OS X 10.7 Lion

Recover variable build_mac_version which is removed on
commit 644dc16 and added on commit 9ce06f1.

Without this, ranlib libSDL.a is executed on Lion which
causes build fail of emulator-arm.

Change-Id: I06144a288921f8f968ef457999398c1b9152d4aa
10f775379d4e9a9f4a5af79484c9f1e337dfab4b 07-Jun-2012 Ying Wang <wangying@google.com> Tweak cflags for building with SDK 10.6.

Change-Id: I4db9949577591ef6756812769f04cfaddd876faf
51f9bb02dab7d7207b6c1976160dfeb951d13be1 07-Jun-2012 Al Sutton <al@funkyandroid.com> XCode 4.3+ compatibility check-in

XCode 4.3 and later use a different location for SDKs. This check in
ensures the build checks for the new location as well as the old one.

Change-Id: I97884e5009f229f8b42e57a8feeb702b3a40a241
Signed-off-by: Al Sutton <al@funkyandroid.com>
644dc164cc932322499d940609f0d8548067ffba 26-May-2012 Ying Wang <wangying@google.com> Use Mac OS X SDK 10.6.

Change-Id: I8ca16db2fb93d350829e14f4339e7ece75a2fb54
abf72cf3f4cc189ec0129f855028c6a7be0c07bf 26-May-2012 Ying Wang <wangying@google.com> Use Mac OS X SDK 10.6.

Change-Id: I8ca16db2fb93d350829e14f4339e7ece75a2fb54
9d50defb8b13324d2b81f76dace70e2baeaa7cf1 26-May-2012 Ying Wang <wangying@google.com> Revert "Use Mac OS X SDK 10.6."

This reverts commit 4c1b310b9bdbebef83d298d305beb0122a7204f6
4c1b310b9bdbebef83d298d305beb0122a7204f6 26-May-2012 Ying Wang <wangying@google.com> Use Mac OS X SDK 10.6.

Change-Id: Ie36914ab1763c5606111f7501c97ed97517e7187
468d6a584f45227a13f15c8ebb17002f80f79d93 24-May-2012 Elliott Hughes <enh@google.com> Compile Mac OS binaries with unwind tables for libcorkscrew.

Change-Id: I9755d8d39913830180da2ce32bcdd357309ff792
35bb6422bc4dddaf7871793d213c0f7144c02f0c 07-May-2012 Al Sutton <al@funkyandroid.com> Use the same compilation flags on OS X 10.8 as 10.7

Added Mountain Lion to the list of versions which don't need ranlib
and don't need the pre-Lion linker flags

Change-Id: I0c785f0c66e324af9a209520c5a5b3c9bf7df0d5
Signed-off-by: Al Sutton <al@funkyandroid.com>
b2680757a07bfd16efae3c8710c69b14807f425f 02-May-2012 Shih-wei Liao <sliao@google.com> Members in LOCAL_WHOLE_STATIC_LIBRARIES should be force_loaded.

For Mac build, force_load the LOCAL_WHOLE_STATIC_LIBRARIES.

Mac has its custom linker. However, its linking rule for generating
shared libraries doesn’t take the LOCAL_WHOLE_STATIC_LIBRARIES
into consideration.

Change-Id: Ia6858bf6e2ebb334db8f3d0bdc71d7ecc0ef11c1
0d07c732c79ec5d624dea2fa0198ffc2dfeafe2b 23-Feb-2012 Al Sutton <al@funkyandroid.com> Force use of compatibility compilers on Apple's command line tools

The cc and c++ compilers included in Apple's command line tools show some
unusual behaviour which causes the build to fail in several projects under
Xcode 4.3

This patch uses the gnu compatibility gcc and g++ compilers on OS X instead
to reduce problems, and generates an error when an llvm based compiler is
detected because they currently do not generate usable emulator executables
due to them not honouring global register variables.

Change-Id: I506c22dad3dcbd41df3c7672802a675d3655e262
Signed-off-by: Al Sutton <al@funkyandroid.com>
f9613a4f730b8a385971f95150582b9a543302ae 27-Apr-2012 Andrew Hsieh <andrewhsieh@google.com> Added BUILD_HOST_static to build statically linked executable/shared-lib

Statically linked executable/shared-lib (eg. SDK tools) are useful
in sandboxed environment.

In BUILD_HOST_static zipalign needs -lpthread indirectly:
zipalign->libutils.a->liblog.a->logd_write.c->pthread

Change-Id: I8fa91a937b728ccdf942c4ba199efb1e2e49da3d
ed6b8155056c52ac6d6a38151a97fc948b4614c3 28-Feb-2012 Andrew Hsieh <andrewhsieh@google.com> BUILD_HOST_64bit=1 to build host tools in 64-bit

By default we build tool in 32-bit. This flag allow individual tool and its
dependencies to be built in 64-bit (eg. Emulator). Fixes to resolve 64-bit
porting issues (in other git) will be submitted seperately.

Change-Id: I486cf7ddac727d3c374ed890857d497c3a69e598
92ca609cd18d0e0466b6ee9080c628b38c84251a 24-Feb-2012 Ying Wang <wangying@google.com> Fix bug with the HOST_AR.

Change-Id: I28ab86d3b6e7cbd4391e2640cf8e2be269b03e76
5dea692715dfe992432037c6005f91875a725841 01-Feb-2012 Ying Wang <wangying@google.com> Use @rpath and @loader_path to avoid absolute path

With "-Wl,-rpath,@loader_path/../lib" the linker embeds
@loader_path/../lib as the target binary's rpath.
Here @loader_path means the path of the binary that initiates the
loading.
With "-install_name @rpath/libfoo.dylib " the linker runtime searches
libfoo.dylib in the binary's embeded rpath.

With this change you can call dlopen() without specifying the full path
of the shared library.

Change-Id: If9beb3f6f4642a377bff603bab5ba3fdb96211bf
80469e4d6c9d14a8e5942260f44e1dd83a51df74 01-Feb-2012 Ying Wang <wangying@google.com> Delete unused var.

Change-Id: Ib6c295287f064529a8b4d8ada15a9fbb73064f1e
b4c2a6404089805ca2bae0c82677115c240cbdd6 01-Feb-2012 Ying Wang <wangying@google.com> Set install name with absolute path for Mac host shared libraries.

Before this change, path of the install name is relative to the top dir.
That means you can execute dynamically-linked binaries only in the top dir.
With this change, you can execute dynamically-linked binaries anywhere.

Change-Id: I1c6441579ffb68505ea678296aceb2e66a6df1be
fcf246c989110d76a80fc66ac72f1fbba4289ff6 20-Jan-2012 Ying Wang <wangying@google.com> Workaround for lack of "-Wl,--whole-archive" in MacOS's linker.

Change-Id: I2b1de0a253d341bcb7ee05fdc96bdc0d0967985e
80cfc37d0f0ddbb7db09b7662b84e816ab409537 05-Jan-2012 Al Sutton <al@funkyandroid.com> Partial fix for emulator under Lion.

Don't use -Wl,-dynamic on Lion
9ce06f11d69f5154843c234fe0624f9e70d39359 21-Dec-2011 Al Sutton <al@funkyandroid.com> Don't run ranlib on MacOS 10.7

Change-Id: I74f4623e6044dd804669aaa70c6e410fa8988d75
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>
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
3a7e4ccad9c910ac798a8c324f7718d137bd7692 28-Jan-2011 Ying Wang <wangying@google.com> Unify use of $(hide).

Change-Id: Ib7e17bbb4682caecce5812e63de872b676403d64
f5653d1cee10cd8995217e0831678a3610544b20 28-Jan-2011 Ying Wang <wangying@google.com> Regularize use of PRIVATE_CXX.

Change-Id: Ifc628c67b5fa142cec59187f89f2d39df81160b9
80e6cce93e36787be9123f9b5dc91da1a0d2f472 25-Jan-2011 Ying Wang <wangying@google.com> Correct misuse of target/host vars.

Change-Id: Ide41aeddc44ca05d85a36035c2d55ea453cfd216
9a8732fb6c6a569495e3695fc1e2b638de209beb 25-Aug-2010 Ying Wang <wangying@google.com> Link against Mac OSX 10.5 SDK if building on 10.6.

So that tools built on Snow Leopard (10.6) can be used on Leopard (10.5).

Change-Id: I99745ecbe2ad11feaae31d5be31c34c2e0ad7cc5
d6683f08c9ad0a924db663621844a6527164b99f 25-Aug-2010 Ying Wang <wangying@google.com> Link against Mac OSX 10.5 SDK if building on 10.6.

So that tools built on Snow Leopard (10.6) can be used on Leopard (10.5).

Change-Id: I99745ecbe2ad11feaae31d5be31c34c2e0ad7cc5
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>
ebc2869b8d324caf93ca68be08aa2be9a09c4cce 27-May-2010 Jeff Hamilton <jham@android.com> Build host tools as 32bit on all Darwin machines.

Change-Id: I121b388056e68b787518c66a01c172bc4ffaef9b
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