- 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
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
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
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
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: Idbd504fd415b488c397e67ab487a22bff4fa188e
Remove apps.zip and package_stats.txt from the PDK build, they
fail because no apps or jar files are built.
Remove emulator.zip, the emulator is not built.
Also, put recovery.img back into the PDK build, it is needed by
the img.zip target, and will be necessary for fusion builds.
Change-Id: Ie314e0432881d3ee4f1ef3eec5a98be6b8581572
Remove the hack from main.mk to filter through installed files
to look for an apns file.
Change-Id: I31ba69bfc8323fea0a38154922df6b57a0f227c8
Signed-off-by: Dima Zavin <dima@android.com>
BUILD_PDK and some of the other infrastructure will go away once
we're done with the new new PDK work, but for now don't disturb
that stuff.
Change-Id: Ia39bf759ec03f203858ddcc4880af72bd132cb5a
This replaces the list maintained in build/core/main.mk
by 2 makefiles in sdk.git and development.git.
Pre-requisite CLs: Change Ifa8111dbae for sdk.git
and Change Ie6f728bee for development.git
(cherry-pick of 347f305181)
Change-Id: I6d1f4c974a6425e50e3e287c66a4e8090cf814cb
libgccdemangle.so is required to build libcorkscrew, which is in
system/core and built when BUILD_TINY_ANDROID is set.
Change-Id: Ide9af58cfc075e27a7368993b29be2c0e53275a8
This replaces the list maintained in build/core/main.mk
by 2 makefiles in sdk.git and development.git.
Pre-requisite CLs: Change Ifa8111dbae for sdk.git
and Change Ie6f728bee for development.git
Change-Id: Id6178b000c464c989da2c7f22977986a60de1f44
OTOH, should we just allow the expression to be >= 3.81
for all platforms? For cygwin it's a specific case since
we don't build the platform, only a handful set of tools
and it works just fine with a newer make 3.82.
Change-Id: Icff0d0e13bce79f7164007985f14db56e9049552
Bug: 5769921
With this change, to build factory_ramdisk.img, set
PRODUCT_FACTORY_RAMDISK_MODULES in your product config.
PRODUCT_FACTORY_RAMDISK_MODULES consists of
"<module_name>:<install_path>" pairs.
<install_path> is relative to the root of the factory ramdisk output.
For example:
PRODUCT_FACTORY_RAMDISK_MODULES := \
toolbox:bin/toolbox adbd:sbin/adbd adb:bin/adb
On the other hand you can use PRODUCT_COPY_FILES to copy prebuilt files
to the factory ramdisk.
Or you can define modules that are specific for the factory ramdisk
(with LOCAL_MODULE_PATH pointing to TARGET_FACTORY_RAMDISK_OUT) and add
the module names to PRODUCT_PACKAGES.
Change-Id: I80ff72606415cd74fe6f3bc93020a05d84e45b70
Bug: 5769921
With this change, to build factory_ramdisk.img, set
PRODUCT_FACTORY_RAMDISK_MODULES in your product config.
PRODUCT_FACTORY_RAMDISK_MODULES consists of
"<module_name>:<install_path>" pairs.
<install_path> is relative to the root of the factory ramdisk output.
For example:
PRODUCT_FACTORY_RAMDISK_MODULES := \
toolbox:bin/toolbox adbd:sbin/adbd adb:bin/adb
On the other hand you can use PRODUCT_COPY_FILES to copy prebuilt files
to the factory ramdisk.
Or you can define modules that are specific for the factory ramdisk
(with LOCAL_MODULE_PATH pointing to TARGET_FACTORY_RAMDISK_OUT) and add
the module names to PRODUCT_PACKAGES.
Change-Id: I3778e3d091979261cb476628da1365f931e11f49
Bug: 5153694
To build cache.img, set BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE (required,
ext4 only for now), BOARD_CACHEIMAGE_PARTITION_SIZE (optional) in
BoardConfig.mk.
Change-Id: I1d8b91646aa1dba88285e008ad3335768bcbddd2
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
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
This small patch prevents GNU Make from stating RCS and SCCS
specific files on the filesystem. This makes the output of
"make -d" slightly more readable, and also reduces the no-change
time on AOSP master by a bit less than a second on average.
Change-Id: Ifa50ace32e8689717956d7247b0d6f53ef72b7a1
When the build is invoked with the fake target "sdk_repo" and
a main target of sdk, win_sdk or sdk_addon, we now create
packages in DIST_DIR that can directly be used to populate the
SDK Repository.
This is quite close to how we actually distribute the SDK.
Change-Id: I863ac8baf159432d7c95df46cba6e4f3b9122629
When the build is invoked with the fake target "sdk_repo" and
a main target of sdk, win_sdk or sdk_addon, we now create
packages in DIST_DIR that can directly be used to populate the
SDK Repository.
This is quite close to how we actually distribute the SDK.
Change-Id: Id08a3a55a564938dbeb6e3dd170d4a9a7153ae6e
This patch removes support for prelinking from the build system. By now, the
prelinker has outlived its usefulness for several reasons. Firstly, the
speedup that it afforded in the early days of Android is now nullified by the
speed of hardware, as well as by the presence of Zygote. Secondly, the space
savings that come with prelinking (measued at 17MB on a recent honeycomb
stingray build) are no longer important either. Thirdly, prelinking reduces
the effectiveness of Address-Space-Layout Randomization. Finally, since it is
not part of the gcc suite, the prelinker needs to be maintained separately.
The patch deletes apriori, soslim, lsd, isprelinked, and iself from the source
tree. It also removes the prelink map.
LOCAL_PRELINK_MODULE becomes a no-op. Individual Android.mk will get cleaned
separately. Support for prelinking will have to be removed from the recovery
code and from the dynamic loader as well.
Change-Id: I5839c9c25f7772d5183eedfe20ab924f2a7cd411
When the build is invoked with the fake target "sdk_repo" and
a main target of sdk, win_sdk or sdk_addon, we now create
packages in DIST_DIR that can directly be used to populate the
SDK Repository.
This is quite close to how we actually distribute the SDK.
Change-Id: Ie7e0f789bafd73d5ee2461349155a6e562e2edd9
With "incrementaljavac" on your make command line, you will recompile
only Java source files that have been changed since last build.
Nothing is changed if "incrementaljavac" is not among your make goals.
Change-Id: Iae591459827df81ac91e95292464db5e9828343a
To be able to "make llvm-rs-cc" as a Windows SDK tool, we
first need to let the build system know which folders can be
built.
Once this is done, building can be done using the mingw32
package to do cross-compiling under Linux:
$ USE_MINGW=1 make llvm-rs-cc
Change-Id: I5538f4c52c74dad18dd50b59c9bdbcd6de3fd191
Any module that does not build in apps_only build should not dist for the
default goal "droid" -- they sould dist for "dist_files" instead.
Change-Id: I8696f1ea803fbd8554ec03352e0ef369f5d7be0d
Commit e334d255 added the `all' pseudo-goal (aka internal modifier
target) to have make dex all Java modules. Unfortunately the new
pseudo-goal wasn't added to INTERNAL_MODIFIER_TARGETS so no actual
phony goal was added, resulting in the obvious
make: *** No rule to make target `all'. Stop.
error message when running `make all'. This commit changes
INTERNAL_MODIFIER_TARGETS to also include `all' so that the
pseudo-goal is treated just like `showcommands' and `checkbuild'.
Change-Id: I7905c1e27d1b17bdc1b4331744bf06e18937406f
Bug: 3209290
It turns out that gmake 3.82 on Mac OSX crashes with segmentation fault
at some point.
Change-Id: I7b632abe1cafc5f0ff2ea45611d8ccf0aa3f976a
This eliminates one of the way a module could insert itself into
a build without going through a product definition file.
Change-Id: I1d537764d73c52ceaec96b64b6b6925e2f6a8d8e
Merge commit 'e7874c430895b9a4e631c89f1e7729da9264d167' into gingerbread-plus-aosp
* commit 'e7874c430895b9a4e631c89f1e7729da9264d167':
Integrate dexpreopt into the build system.
Merge commit '77070aa757806d1617d707db4d2bd7931b2353fc'
* commit '77070aa757806d1617d707db4d2bd7931b2353fc':
Turn dalvikvm host builds on by default when linux is the host OS.
Merge commit 'ce7d5023c3df4c16ae395d64d51dd8345e40a39e' into gingerbread-plus-aosp
* commit 'ce7d5023c3df4c16ae395d64d51dd8345e40a39e':
Turn dalvikvm host builds on by default when linux is the host OS.
Previously host builds were only enabled under user and user-debug
builds. This will make it easier for Androids to find out if they've
inadvertently broken host compatibility in native code.
Change-Id: Id1f2d5e189c4c1b6462fe03bab1b0f75e98a599c
Merge commit '659adc0b54e40b3b194c84ad4ac8d2e775276e60' into gingerbread-plus-aosp
* commit '659adc0b54e40b3b194c84ad4ac8d2e775276e60':
Change "make PRODUCT-XXX-tests" to build only tests-build-target
Merge commit 'ca917dc2b2140b9fc4e331f94907cd27c8b6a91f' into gingerbread-plus-aosp
* commit 'ca917dc2b2140b9fc4e331f94907cd27c8b6a91f':
Enable WITH_HOST_DALVIK for "user" builds on Linux.
Merge commit 'c5b8d4ceb63909e5f0811fa80dca205996fd8644' into gingerbread-plus-aosp
* commit 'c5b8d4ceb63909e5f0811fa80dca205996fd8644':
The old clean target had bit rotted.
Merge commit '200f25984ccc8a9e5fc13bfbcde22c17bc80d410' into gingerbread-plus-aosp
* commit '200f25984ccc8a9e5fc13bfbcde22c17bc80d410':
Build without OpenCore by default, remove obsolete opt-in to stagefright.
Merge commit '6ba4b59c9067b747ab2a4c85621e656c4d4614e3' into gingerbread-plus-aosp
* commit '6ba4b59c9067b747ab2a4c85621e656c4d4614e3':
SDK: add hierarchyviewer2 to windows target list.
Besides that, add enough magic to build everything tagged
as "shell_$(TARGET_SHELL)" and permit ash/mksh as not unusual
Change-Id: I36c0590ba49f45251d24dc179cb27c8368c3662a
Merge commit 'ddf08caafa9644a502c0804450b9b6572010eb0d'
* commit 'ddf08caafa9644a502c0804450b9b6572010eb0d':
Add easymock for list of Windows SDK targets.
Merge commit 'ddeb150d8d300806de576430444bf1a84ff35e96' into gingerbread-plus-aosp
* commit 'ddeb150d8d300806de576430444bf1a84ff35e96':
Add easymock for list of Windows SDK targets.
Merge commit 'b96e8a8cc629c3e3a196263cc548bd55824e4ade'
* commit 'b96e8a8cc629c3e3a196263cc548bd55824e4ade':
add phony target "all_modules" and use it as make goal for "mm"/"mmm"
Merge commit 'd9dea715e5841028b1a30aa3f357b05c9de3e8c7' into gingerbread-plus-aosp
* commit 'd9dea715e5841028b1a30aa3f357b05c9de3e8c7':
add phony target "all_modules" and use it as make goal for "mm"/"mmm"
Merge commit 'd5c217aca18726f0ed9f2ea034f750620d4bdf7d' into gingerbread
* commit 'd5c217aca18726f0ed9f2ea034f750620d4bdf7d':
add phony target "all_modules" and use it as make goal for "mm"/"mmm"
So that mm/mmm don't depend on phony target "files", which brings in
unwanted files for apps-only build.
Also allow "dist" for mmm.
Bug: http://b/issue?id=2811503
Change-Id: I2c0794aebd1d171d8a0f44eb8cda67855704d6bd
Merge commit '7d735133cd6f019ce839fa824f4507f19aff2e8f' into gingerbread-plus-aosp
* commit '7d735133cd6f019ce839fa824f4507f19aff2e8f':
Add ramdisk.img to the dist dir, again (was removed at some point) - from master - please do no merge
http://b/issue?id=2796939
This can fix commands mm and mmm in an unbundled branch.
The cause is that mm & mmm depends on phony target "files", which includes apns-conf.xml.
Change-Id: I72ce1c7c5ddfdcd3bbea5cb9645ca3a48ff8ac12
The path to the Java toolchain is now explicitly
specified so no manual configuration should be
required.
Change-Id: I84abc122c557372e77e4579e9a9efe56af2b412c
The java version changed, and we made envsetup automatically find the right JAVA_HOME.
This change forces everyone to re-source envsetup.sh
Change-Id: Ieb9512d5725cca26a83debf9b0480bc20e19d5ee
Fix javadoc for Java 6.
If you don't set bootclasspath, there would be errors like:
javadoc: error - In doclet class DroidDoc, method start has thrown an exception java.lang.reflect.InvocationTargetException
Change-Id: I1b83360cb595d50577c6043d6e91b0f92e4c04d6
Avoid inheriting PRIVATE_BOOTCLASSPATH from moduels that depend on api-stubs-timestamp
The inherited value has caused build breakage on Mac build.
Change-Id: I8a1b1d6c6d411f6aaaee2d8dbd0297e3d60ab5c2
Ignore STAY_OFF_MY_LAWN when setting JAVA_HOME.
Don't check STAY_OFF_MY_LAWN in set_java_home. That function already
refuses to update JAVA_HOME if it's set to something, which should
be sufficient for anybody who doesn't want the script to mess with it.
With this change, you can get the benefits of the 1.5/1.6 auto-selection
without having to suffer through window title changes.
Change-Id: I5cfc5d6fdf26a10b42b52925f877012c0506b9a5
So that "tapas" without argument won't end in makefile-could-not-load error in unbundled branch.
Also, the magic "all" apps will build only apps, not other things.
Change-Id: Iac6dd928ee4e42996147acdab31930cd4ffa1768
Merge commit 'c55bb9ecc92d34e448adec76bc06abdcd3c35f0e'
* commit 'c55bb9ecc92d34e448adec76bc06abdcd3c35f0e':
Remove now unnecessary property overrides to opt into stagefright.
The path to the Java toolchain is now explicitly
specified so no manual configuration should be
required.
Change-Id: I84abc122c557372e77e4579e9a9efe56af2b412c
Merge commit '2b8d2383043a2b16e53538f9ebf123bfffd27ba1' into froyo-plus-aosp
* commit '2b8d2383043a2b16e53538f9ebf123bfffd27ba1':
Add a tapas command.
Rename is_unbundled_app_build and UNBUNDLED_APP_BUILD to TARGET_BUILD_APPS.
(Actually there was a tapas command that just called choosecombo).
The new better tapas command is for building unbundled apps. Run
it with one or more modules to build and optionally a build variant.
tapas [variant] App1 App2 ...
If you don't supply a build variant, it defaults to eng.
Change-Id: I02214abd0b5ad02e364fcb024e10cf6ad17a9e68