Bug: 5398808
Before this change we have duplicate code in the Makefile and the
python-based releasetool. That's a real headache to maintain.
Change-Id: I8ddf04a79c6886540e89d990f723d8f77c9dd883
They are relative to PRODUCT_OUT so can be used in PRODUCT_COPY_FILES.
If TARGET_COPY_OUT_VENDOR instead of hardcoded system/vendor is used, we
will be able to transition smoothly to a separate vendor staging directory.
Change-Id: Ia9fdb208768cf4699180306280b4c02421b2ea9c
While building Android with latest host gcc, it causes the following
build error:
Install: out/host/linux-x86/bin/mkbootimg
host C++: obbtool <= frameworks/base/tools/obbtool/Main.cpp
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
cc1plus: all warnings being treated as errors
In order to make build system happy, this patch does unset macro
_FORTIFY_SOURCE and then define it in host cflags.
Change-Id: Ic37a90f05081a2c3650b3335bc87e9e895900fb2
Set "LOCAL_DEX_PREOPT := nostripping" to do dex-preopt while not strip
the classes.dex.
Bug: 5396625 5502338
Change-Id: Ie8dea4414ebeefeae89c6433b246faea27baa5e7
Compile all programs on Android with -fPIE and -pie. This enables
PIE (Position Independent Executables), which helps protect Android
applications from exploitation due to memory management bugs.
Stop using the armelf.x linker script. This script hard codes the
load address of the executable, defeating the position independence
PIE requires.
Note: PIE *static* executables are not supported at this time and
require additional linker changes.
Bug: 5323301
Change-Id: Ieafcc9c4f142495847e163881889d371a59d0878
While building Android with latest host gcc, it causes the following
build error:
Install: out/host/linux-x86/bin/mkbootimg
host C++: obbtool <= frameworks/base/tools/obbtool/Main.cpp
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
cc1plus: all warnings being treated as errors
In order to make build system happy, this patch does unset macro
_FORTIFY_SOURCE and then define it in host cflags.
Change-Id: Ic37a90f05081a2c3650b3335bc87e9e895900fb2
Before, if a module had several proto source files,
they would all be compiled in a single invocation
of aprotoc. If any of the files imported one of the
other files, you got an aprotoc error about duplicates.
And if you removed the files that were imported
from the list of source files, no Java code
would be generated for the imported files,
causing a Java compile time error.
This changes compiles each proto file separately, which
avoids both of the problems above. It's slightly more
inefficient, but aprotoc is really fast.
Change-Id: I7bd8092ec2953c20269367a1c68ff84acceea3be
To use the new aapt --preferred-configurations option. For use with Prime
to be able to strip everything but xhdpi density bitmaps selectively,
not stripping when this would result in no data for the resource.
Change-Id: I4e1012929b8f9b0b1e79c06496647f69661ba1f2
To package libstlport_shared.so, use the following syntax in the app
module definition:
LOCAL_NDK_STL_VARIANT := stlport_shared
LOCAL_NDK_VERSION := <num>
The rationale behind is:
The NDK prebiult libstlport_shared.so is intentionally different from
the system libstlport.so.
Essentially they are slightly different versions of the library so
shouldn't be mixed up.
libstlport.so is used by the system, but not exposed by the NDK, it is
routinely tweaked in various ways between platform releases, and there
is no guarantee that its ABI is stable, or that it will not be replaced
by something else in the future.
libstlport_shared.so is typically distributed with application packages,
and should not be part of the system.
Change-Id: I72c9911781f7d8402687e9891f3f605f3a60be22
Bug: 5430740
- Remove nonexistent names in PRODUCT_PACKAGES.
- Push down bluetooth-health, hostapd and wpa_supplicant.conf to
generic_no_telephony.mk and large_emu_hw.mk because they are not needed
by sdk builds.
- Remove core.mk from generic_armv5.mk and generic_x86.mk because they
already inherit from generic.mk.
Change-Id: Ie44b95f1cae7ed0d4cf827ffce6a91d41902434d
The fingerprint should only say dev-keys if it's actually using custom
keys; builds with the old default (from build/target/product/security)
should still say test-keys.
Change-Id: Ib8c662c348cf63f5db47e2f8f81bc3246cb15fdc
Since dev keys can now vary per device, we can't assume they are
checked in with the correct signature.
Change-Id: I7577a3a6bd98d005c15936c99b2944acc4412798
Generate an empty target even if there is no packages defined in the
source tree. Such case can happen when building in an unbundled branch.
Change-Id: Id8b94bc00557cd5ea2066859e440427474ced5f5
This allows an app to target a different SDK level for its resources
than it uses for its Java code. This is useful because it is generally
safe to use various newer symbols like attribute names, as older versions
of the platform will simply ignore them.
Change-Id: Ida19ec9f259c4ea70de846e9a63546e263b1c91e
So that prebuilt shared libraries can be referenced with the module name
in other module's Android.mk.
Change-Id: I4c4b471696642694b805b71dd7605b91724ad924
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
Bug: 5265104
- Move installed-files.txt forward to ahead of system.img in the
dependency graph, so that even if the system.img fails to build due to
too large size we can still get the size stats.
- Change the script tools/fileslist.py to sort items in decreasing size.
Change-Id: I5913bc51971e341ffbfcf3fa449c987f126e409b
Bug 5267392
After coming across another place where I would have to use
package.apk.unaligned, I decided maybe it is best to just
disable dexpreopt as was previously suggested.
Use package.apks in the CTS Makefile task.
Change-Id: Iec839a72f4b53441337523b8a9cccda657eec8e8
Save these in the target_files so we don't have to depend on using the
contents of android_filesystem_config.h at the tip of tree.
Bug: 5266067
Change-Id: Ica5dd43a2013c9db72d7c9434f9d7de1abaf18f9
Bug 5252989
This prevents dexopt installation failures when trying to
install CTS apks on production devices.
Change-Id: I1eeb0ac567c3be3b831c8c27dee4005ec00fd7cd
This patch fixes the broken builds for PRODUCT-google_sdk-sdk_addon
and PRODUCT-google_sdk_x86-sdk_addon.
Change-Id: Iba0f23a03c143cd38aaba98b0bd0d52686330ed6
BUG=5206223
This allows us to set the RS API level independent of the other SDK
versions that a developer might choose.
Change-Id: Id8b476abcbbbdaa86e04ba0ea16414cb2fa5bd15
Since classes from this jar are part of the public API, it should be
included by default.
Also add the jar into the dex_preopt list.
Bug: 5098987
Change-Id: Ib39deffea43714eb56630ad1d65411cfde5878fd
This patch defines the DLL_EXTENSION variable to the host
shared library suffix (i.e. either ".so", ".dll" or ".dylib")
when packaging the SDK.
This is required by another patch to sdk/build/tools.atree that
will use ${DLL_EXTENSION} to copy the GLES emulation host libraries
to $SDK/tools/lib
Change-Id: I120d39e905afb453b0702d5f0eb2707f214385cc
This patch enables the build of OpenGLES emulation libraries
(both in the guest and the host) for any emulator-specific
product config.
+ update core/main.mk to ensure that the right path is parsed
when building the Windows SDK
Change-Id: Ifde047f8c0ef922504a7286c8c5b57f7c79c71f8
Aapt will discard the hidden files anyway.
With this change, we can avoid unnecessary rebuild if a module has only
hidden files in its resource dir.
Change-Id: Iaf0a13e038cca5fb60012c550cc90f7abbe967e1
$(eval) in the commands does not evaulate in the same order in emake as
in gmake. Using shell vars work in both makes.
Change-Id: I4e95adb2bc6f4600e29b9a8524275a099f47a401
To avoid race condition:
Say a module with LOCAL_NDK_VERSION built in the full source tree,
Before this change it may be linked against TARGET_GLOBAL_LD_DIRS/libc.so
that's being partially written out by the linker, because there is no dependency
between the module and TARGET_GLOBAL_LD_DIRS/libc.so.
Change-Id: If6e4921d226fee133b53e4d819a07b48f4fca016