The module names are phony targets and we should avoid having file targets
depend on phony targets.
Instead the build system makes sure to use the file dependency with
PRODUCT_PACKAGES.
Change-Id: I8dc59d8f9ed92c146b8827d71278e27214e60f3a
Emit a warning when the static linker detects a shared library
has text relocations. Text relocations make it harder to
share pages across processes, and make it harder to use
certain memory protection features in, for example, SELinux.
This warning will turn into an error in a future change
(via --fatal-warnings)
References: http://www.akkadia.org/drepper/textrelocs.html
Change-Id: I3bc818e3ecdb8a4338668a9e816b6dc1081b7557
Based on existing setup, when EMMA_INSTRUMENT is used on a full
build, all Java modules will be processed with emma instrument
unless otherwise marked in their own Makefiles.
For the purpose of collecting code coverage, emma-instrument
all Java modules aren't that useful, instead, instrumenting all
the app packages is more useful. This change adds a new flag
EMMA_FULL_APP_INSTRUMENT, which can be used with a full build
to instrument all app packages.
Change-Id: Ie143fed49c23402b21f6cccac2ef25741726be45
init used to automatically execute hardware specific init.rc files from
init.<hardware>.rc. If the hardware specific init.rc file was installed
in recovery.img, various unwanted services would try to start, so init*.rc
was deleted when creating the recovery root directory.
init was recently modified to explicitly import init.${ro.hardware}.rc
from the default init.rc, rather than always trying to load it. Since
recovery replaces the default init.rc with a custom one, it will never
try to load hardware specific init files.
In addition, there are cases where we need to start hardware specific
services, for example watchdogd, so we need
init.recovery.${ro.hardware}.rc to be installed.
Modify the build rule to delete the default init.rc from the recovery
root directory so it can be replaced with the custom recovery init.rc,
but leave all the hardware specific init files in place.
Bug: 6953625
Change-Id: I5d9555e3d54d2f1d9f49fb981bd412c53741337e
Arrange to take $(BOARD_MKBOOTIMG_ARGS) and pass it to all invocations
of mkbootimg from within make, and to store it in the target_files so
it can be used by future invocations of img_from_target_files and
ota_from_target_files.
Bug: 6918260
Change-Id: I7130ac52e96bd51d4d8b80ca036635e1626f01f1
- the old behaviour was to override with default one, which makes
trying different sets of platform.zip difficult if default one exists
Change-Id: I4c8ac2e44d9e7b48f77d628cce3edb20fbdf27e4
- app_process is not in PDK, and this makes native debugging difficult
So provide symbol file instead of source
Bug: 6774048
Change-Id: I1a3a86cf64d8f1d22cdb3a22714f508de963099b
Set BUILD_EMULATOR to true when HOST_OS is linux.
Disable the emulator package target if BUILD_EMULATOR is not true.
Change-Id: I8987c0a091622baa0e861b451e635c4ddb148b29
Set BUILD_EMULATOR to true when HOST_OS is linux.
Disable the emulator package target if BUILD_EMULATOR is not true.
Change-Id: I8987c0a091622baa0e861b451e635c4ddb148b29
This parameter (which causes GCC to pull additional command line
parameters out of a file) is incompatible with ccache.
- With ccache 2.x, ccache will ignore this parameters, and potentially
compute invalid command line hashes since it is not reading the
parameter file
- With ccache 3.x, ccache will refuse to cache the files and error
with 'Unsupported compiler option'.
We still use the parameter file, but Make expands it instead.
Change-Id: I070c3877cbe2d058e1cf4754bac535e7f3498861
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Include the MMAC install perms policy configuration
file to the list of SELINUX dependencies.
This changes depends on the project:
git.selinuxproject.org/~seandroid/selinux/mac-policy
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
Change-Id: Ief91d6a717741c91c5ba8745452bb247dc8048ec
Set "LOCAL_SOURCE_FILES_ALL_GENERATED := true" if you want to build a
Java library from only generated source files, without any static
source files. Previously this is not allowed.
This is needed by building api stub libraries, which have only source
files of generated stub files.
Bug: 6814443
Change-Id: Idb2ae9c71a473b796154a03ef07a3403461c4f3c
Factory test apps may need to compile against telephony-common and
mms-common, include the jars in the pdk platform.zip.
Change-Id: Ic3533ec42115150b94298f15acd877ef61c6660c
The 4.4.3 TC was still being specified in one spot.
Also, no need to cross-set x86/ARM variables when buliding
for ARM/x86.
Change-Id: Icbb0f772a983a24dc10ccab0800d4b7bbd60a099
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
These have been created to reduce the size and complexity
of frameworks/base.
mms-common was created by moving all of
frameworks/base/core/java/com/google/android/mms
to:
frameworks/opt/mms
telephony-common was created by moving some of
frameworks/base/telephony
to:
frameworks/opt/telephony
Change-Id: I5613c1447dbe655c55f9ba499e453bb59a06c4c0
This eases cross-repo dependencies between device/ and
vendor/.
Change-Id: I72e283d22f16e50555ec7ba7bcf9c61ea07f083c
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
These have been created to reduce the size and complexity
of frameworks/base.
mms-common was created by moving all of
frameworks/base/core/java/com/google/android/mms
to:
frameworks/opt/mms
telephony-common was created by moving some of
frameworks/base/telephony
to:
frameworks/opt/telephony
Change-Id: I5613c1447dbe655c55f9ba499e453bb59a06c4c0
This ensures there is a dependency between the root image
and changes to property_contexts file.
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
Change-Id: I9bd2c3fc44015d6013e6a1f200f8abded271654f
This will provide a convenient method for determing build
configuration when in the Java layer. For instance, this will
be used in change id I69529fb7a3adfe31eccb16d79740fc4952ff5e68
to determine if the Settings app should display the SE Linux
status.
Change-Id: Idc8dff020aaac41649eac64f5fa8e311dabbc51f
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
Targets of type NONE are used extensively in Android makefiles which have been
auto-generated from gyp build files. The gyp generator uses such targets to
represent gyp targets which don't produce an output file. Typically, many such
targets exist in a single Android makefile.
We use a generated Android makefile for Chromium. This project has a NOTICE
file, intended to be installed with a SHARED_LIBRARY target. However, the build
fails when processing the targets of type NONE, as it does not know where
to install the NOTICE file.
This change causes the NOTICE to be ignored in this case, rather than failing
the build.
Change-Id: I70cf9a406e4a1c932f8a734f53491f7c5281ee17
- Usually you don't need to set LOCAL_JAR_EXCLUDE_FILES in your
Android.mk, if your static library is directly used by an app.
- If your library will be included by another library that need
reference the R/Manifest class, you can set
LOCAL_JAR_EXCLUDE_FILES := none
to keep the generated classes.
- If your library includes another static library that has Android
resource and you want to remove the generated classes carried by
the static library, set:
LOCAL_JAR_EXCLUDE_FILES := $(ANDROID_RESOURCE_GENERATED_CLASSES)
With the LOCAL_JAR_EXCLUDE_FILES value "none", deprecate the old
long variable LOCAL_KEEP_R_CLASS_IN_STATIC_JAVA_LIBRARY.
Change-Id: I3b9ad5d66f0262f784feb09bc1537c5b01256258
Bug: 6167394
$make lint-<app-name> # to lint on a single module
$make lintall # to lint on all packages in the source
tree.
Change-Id: I4decc76fb75793ce44809232b0ec72b766fbb434
- define ...JAVA_ZIP_... variables only when necessary
- fix missed case for TARGET_BUILD_JAVA_SUPPORT_LEVEL definition
Change-Id: I4f491ff212fd1e973a77499bbf3fd8d1940bb1f8
Handle the case where a static library is not built because it has no
input files (e.g. because they are conditionally included and it happens
that the computed list is empty). Previously, ar never ran because of
split-long-arguments, and anything that depended on the static library
would fail to link. Make sure that ar runs at least once.
Change-Id: If0071d7ae50c4e45fff1772dca43187af155db1f
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>
Add additional compile and runtime buffer overflow detection to
Android. As of today, Android supports additional buffer overflow
detection for the following libc functions:
* memcpy
* memmove
* strcpy
* strcat
* strncpy
* strncat
Support for additional functions will be added to bionic libc in
future code changes.
Please see
* http://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html
* http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
for information on these features.
Change-Id: I1a281a4bac20009f4730dd8d8b798fa107576230
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