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
- three levels: not defined, sdk, platform
- TARGET_BUILD_PDK_JAVA_PLATFORM gives the original meaning of java platform API
supported for java.mk
- remove libexif from user tag
- libexif_jni is pulled from f/b/media
Bug: 6623618
Change-Id: I5fa085bd10f43963350c57b7f885c700de8963e5
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>
Also fixes atree to accept an alternate command via the env var ATREE_STRIP
and correctly splits it for execvp if it contains arguments.
Change-Id: I8691bdc569bea3dddfde6249217dc305b6ef19f7
This change cleans the packages' intermediate files if their overlays
changed between incremental builds.
If two builds have different overlay, they will have different R
classes, and so the jar files in the common intermediate dirs can
not be shared. Therefore incremental build can't be applied.
This change detects the overlay changes on package's base.
If a package's overlay is different from the previous build, its common
intermediate dir is nuked.
This makes broader incremental builds possible.
Change-Id: I368610ebbbbc85a80f9aecd714ab22cd78da7f12
The module rild is telephony specific, since Nakasi has no radio
it shouldn't run rild. Changing the build system so rild is optional
for products that don't have telephony support.
Since rild is now optional, it is necessary to add it explicitly to
the sdk build as the sdk build is special.
Bug: 6463864
Change-Id: If944e051023b567807585fb91163a1e3f79c1024
Optimize common case of uniq-words where the word is not
actually duplicated. Reduces make startup overhead.
Change-Id: I1bee13bbd08a7b01248f4452283a64a724663d02
- maguro platform.zip contains hdcp.keys symbolic link which is broken except env with the key
- this causes error in the touch
Bug: 6555557
Change-Id: I5f9ff5d57c87c0d3038545eeba3b553445a8493c
- make platform-java will add necessary Java stuffs from out/target/common/
to platform.zip
- make platform works as before: no Java libraries
- normal fusion build will pick up the file, and define TARGET_BUILD_PDK_JAVA
besides TARGET_BUILD_PDK if Java stuffs are included
- For TARGET_BUILD_PDK_JAVA, java.mk does not touch LOCAL_SDK_VERSION, which will lead into
pulling non-SDK Java APIs
Bug: 6482799
Change-Id: I90b1a0b06dc774150711680a6612f2b97b9eab3f
Previously PWD is passed in as a shell environmental variable,
which does not point to top of the source tree if you run mm/mmm.
That in turn breaks mm/mmm if OUT_DIR_COMMON_BASE is set to an absolute
path.
Change-Id: Iac99d5668aee1bbd3cb9897750afc2149bd9f973
Change TARGET_ARCH_VARIANT from x86-atom to x86, for the reason
that atom-specific instruciton like "movbe" isn't "generic" to
x86 Android devices and x86 host running emulator-x86, which may
crash non-atom host in VT because "movbe" isn't supported natively.
Also revert previous fix in TARGET_linux-x86.mk which conservatively
disable "movbe" across the board
Change-Id: Ief93a3585566ffae558fcdc29741e6213a048d7d
Intruction "movbe" (move data after swapping bytes) is only available in
Intel atom. Disable it for more general x86 devices and x86 hosts which
run emulator-x86. Although emulator-x86 can support "movbe", most of
the time we want to run emulator-x86 with VT support for speed (with KVM
in Linux, or HAXM in Windows/MacOSX). The presence of "movbe" can crash
emulator-x86 in VT because non-atom host doesn't have it natively.
Change-Id: I86e037900ddcb8d544f92b8d8464c8627347e560
Bug: 6465084
With this change and prebuilt current SDK checked in, you can build
unbundled apps with LOCAL_SDK_VERSION current in an unbundled branch.
Change-Id: I4efcee611d08a3a903bd6bf5a80de11500564206
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>
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>
Bug: 6418863
This change expands the PRODUCT_PACKAGES with the required modules.
Before this change, since the required modules are not in the
PRODUCT_PACKAGES, they are not directly depended on by the image files.
If the dependent is not to be included in the image but the required
modules are to be included, the dependency of the image on the required
modules gets lost!
That would lead to build race condition.
Change-Id: I0b656db1538ca43d3785dbf17364ffa88b80ac41
touch $(_pdk_fusion_files) is too long for some systems, use
split-long-arguments to execute touch multiple times with a
subset of the list of files.
Change-Id: I8e8c6770936337b93e0fdf381eca8c79fd722523
Enable relro / bind_now when compiling Android applications.
This marks certain regions of memory as read-only after linking,
making memory corruption security vulnerabilities are harder
to exploit.
See:
* http://www.akkadia.org/drepper/nonselsec.pdf (section 6)
* http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html
Stop using the custom linker script, which inhibits
relro / bind_now support.
Change-Id: Ie97ccdd2845886bbc2ba2fdd47eed0ff4b29b60b
Touch files unzipped from platform.zip to update their timestamp.
Prevents make dependency confusion from files with old times.
Also add a dependency for the implicit copy rule on the
pdk_fusion.stamp file to force make to use the updated
files.
Change-Id: Ia54454518d229ce3670023819836f586fef65d3f
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
aapt is not needed for a dist build and not available in a pdk dist
build. Create a new list DISTTOOLS that dist builds depends on,
and change OTATOOLS to be DISTTOOLS plus aapt, which is build by
make otatools.
Change-Id: I9a39020640b0e2cade8073aa14ee2ada9a20d78b
via a new definition LOCAL_ABS_MANIFEST_FILE. The existing
LOCAL_MANIFEST_FILE variable will also be supported.
(Necessary if manifests are being programmatically generated in the
intermediates directory)
Change-Id: I77a8eb1b8040b966b944464281d00c161ff34d3c
PDK fusion builds will include system/etc/event-log-tags from a full
build from platform.zip, which needs to be merged into the event-log-tags
built locally based on *.logtags from projects that have source.
Bug: 6297675
Change-Id: I91409f37c6dc88d6942eade2946155c2a6640b6f
This allows us to have per-host OS (or OS + arch) atree files in case we
need to get tools which source varies per host OS, example:
- sdk/build/tools.linux.atree
- sdk/build/tools.linux-x86_64.atree
- sdk/build/tools.windows.atree
etc.
(cherry picked from commit 3ab307a68c)
Change-Id: I05140bb02ecd41152e47ecdf404b1b8fb34fdf24
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
With "foo bar : req", the build command will be run separately for foo
and bar.
Instead with "foo : bar" and "bar : req", the build command will be run
only once to produce both targets.
Also running the same build command concurrently may lead to build race
condition.
Change-Id: I8af2817546a7e2697a553c9320bd10f6bd4f20a2
Enable relro / bind_now when compiling Android applications.
This marks certain regions of memory as read-only after linking,
making memory corruption security vulnerabilities are harder
to exploit.
See:
* http://www.akkadia.org/drepper/nonselsec.pdf (section 6)
* http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html
Stop using the custom linker script, which inhibits
relro / bind_now support.
Change-Id: Iaebfbbb492299004f9da92b649985b6cd67d8c97
Pass the file_contexts configuration to the releasetools scripts
so that the security contexts of files can be properly set for OTA
and update packages.
Requires Ica5fb73d6f2ffb981b74d1896538988dbc4d9b24
Change-Id: I5a63fd61a7e74d386d0803946d06bcf2fa8a857e
This configuration is used to determine the file security contexts
to set on the files in the yaffs2 or ext4 image that is generated.
This is similar to the android_filesystem_config.h tables for determining
the UID/GID/mode, but as a configuration rather than code.
Change-Id: I7c6f59fe7cb8bc4c86c8790f991b12dd93a61f68
* BOARD_KERNEL_CMDLINE_FACTORY_BOOT can be set to
add kernel commandline items to the factory ramdisk,
such as fiq_debugger.console_enable=Y
Change-Id: Iee4060b96eaeecc517975c56342fd5445b1feabf
Signed-off-by: Nick Sanders <nsanders@google.com>
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
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
Bug: 6241618
If platform appears on the build command line, build platform.zip,
which essentially is the zip package of the system directory.
Put the platform.zip to the dist dir if "dist" is specified too,
so the platform.zip can be downloaded from the build page.
Change-Id: I988dd5c753a4ee744b4e3dccf261d8df904d9847