Commit Graph

157 Commits

Author SHA1 Message Date
Ying Wang fcdabd4bdb 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
2011-04-25 14:22:41 -07:00
Ying Wang ddbcad8c85 Add TARGET_PROJECT_INCLUDES as system includes
And do the same to host modules.

Bug: 4279745
Change-Id: I5b0cd0e13e0e61b5051537b5834eba48e5f822f8
2011-04-18 11:45:44 -07:00
Ying Wang 4761e56a71 Pass TARGET_C_INCLUDES as system include directories to gcc
So warnings from those headers can be suppressed.
Bug: 4279745

Change-Id: Id69b253c5566de53153b87ef69eff15b8a47c832
2011-04-12 12:49:04 -07:00
Ying Wang bb9c230b68 Set the default app sdk verstion to LOCAL_SDK_VERSION
Instead of using the DEFAULT_APP_TARGET_SDK, which is the hardcoded in
the build system, ie the sdk version of the current source tree.

Change-Id: I2fae3521300cc6b2449df3659ded7f7a397609c0
2011-04-08 17:27:35 -07:00
Brian Carlstrom bb7c6d88c6 Tracking merge of dalvik-dev to master
git cherry-pick --no-commit  5fac8d8f7096d8a950acad1ad0a8b963cef72e03

git cherry-pick --no-commit  1a8210710b46a0796ff2f8e76b6beb3a54f89019

git cherry-pick --no-commit  4fe2ac9f7284b838393aec8f0f48caef2510fd46

git cherry-pick --no-commit  7beb710a8f976fc4cb1e8be780644386870c4975

Change-Id: Ib10348e5509c906c6b95fa4accd6a18900bfe748
2011-04-01 15:45:58 -07:00
Ying Wang cd4e323e0e am ce467097: am 54aa74ef: am a9e5bb8a: am f78fb1d1: Merge "Use my-dir in a consistent way as others"
* commit 'ce4670977d0367983e40ed339da793792fdb6e06':
  Use my-dir in a consistent way as others
2011-03-31 15:16:36 -07:00
Ying Wang ce4670977d am 54aa74ef: am a9e5bb8a: am f78fb1d1: Merge "Use my-dir in a consistent way as others"
* commit '54aa74ef5da0a76a0fc1afdabaa24d2fb0744cd1':
  Use my-dir in a consistent way as others
2011-03-31 15:14:32 -07:00
Ying Wang 4f1ab92aac Move screen density config from PRODUCT_LOCALES to PRODUCT_AAPT_CONFIG
With this change, PRODUCT_LOCALES will contain only locales.
Other aapt config flags, such as *dpi, small/normal/large/xlarge,
should go to PRODUCT_AAPT_CONFIGS.
Bug: 4086309

Change-Id: I922f153d79777a9522c542a3907111193b40e7b7
2011-03-15 13:19:30 -07:00
Iliyan Malchev b375e71d30 build: remove prelinker build build system
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
2011-03-12 14:59:46 -08:00
Chih-Wei Huang e73c4bbc50 Use my-dir in a consistent way as others
Change-Id: I3fd0cc58b48d621b431d7dd05fb689c1917b530d
2011-03-11 11:48:48 +08:00
Ying Wang a67ce69e9a Handle MODULE_LICENSE_MPL the same as MODULE_LICENSE_GPL.
Change-Id: Iefc6df3f3401a591f53ec3f22202044c60acf460
2011-03-03 14:57:10 -08:00
Jeff Brown bd528a82a2 Build system tweaks for Valgrind.
Added LOCAL_NO_CRT to enable building executables that do not link
to the C runtime library.

Removed support for LOCAL_MODULE_SUBDIR since it was broken
and unused.  (Was going to use it but ended up using LOCAL_MODULE_PATH
instead.)

Change-Id: Ifed4ffe17003d90370c711ea6606e2b75e841dee
2011-02-16 15:06:30 -08:00
David 'Digit' Turner d6b413a904 am 3be47af9: am b3f59bde: am 86a90364: Merge "core/binary.mk: Add missing Objective-C objects to the build."
* commit '3be47af9491b7fd93b74122cb7f979f2b86c1634':
  core/binary.mk: Add missing Objective-C objects to the build.
2011-02-15 11:03:57 -08:00
David 'Digit' Turner 3be47af949 am b3f59bde: am 86a90364: Merge "core/binary.mk: Add missing Objective-C objects to the build."
* commit 'b3f59bde44fc16fa43b6a01a890c4b42cf446292':
  core/binary.mk: Add missing Objective-C objects to the build.
2011-02-15 10:40:24 -08:00
David 'Digit' Turner 5ca286d58b core/binary.mk: Add missing Objective-C objects to the build.
For some reason, all_objects was not listing objects generated from
objective-C sources. We need these for the emulator (which builds its
own version of SDL which uses Quartz on OS X).

+ Fix a typo in transform-host-m-to-o definition.

This also explains why https://review.source.android.com/#change,21074
had to be reverted, since it gets rid of the prebuilt SDL libraries when
building the emulator.

Change-Id: I173811cf11cdb5b045073aade59364236145bc77
2011-02-11 17:52:52 +01:00
Ying Wang 4a2ecaf5dc Fix the case image-size-from-data-size returns 0.
This time with correct escaping.

Change-Id: I660887ac62425e9960e266391b52979a7dff4617
2011-02-09 17:24:27 -08:00
Ying Wang bfaf531e05 Revert "Fix the case BOARD_FLASH_BLOCK_SIZE smaller than BOARD_NAND_PAGE_SIZE, eg generic_x86"
This reverts commit 279f3084bb.

Change-Id: I27069190503e586d3d77a933d92459a34eb55cb8
2011-02-09 16:15:21 -08:00
Ying Wang 389cf7ac4e Merge "Fix the case BOARD_FLASH_BLOCK_SIZE smaller than BOARD_NAND_PAGE_SIZE, eg generic_x86" 2011-02-09 13:21:09 -08:00
Ying Wang 279f3084bb Fix the case BOARD_FLASH_BLOCK_SIZE smaller than BOARD_NAND_PAGE_SIZE, eg generic_x86
Also don't build ota package for generic_x86.

Change-Id: I7606d56b312ac2e0c3514a8f250e005e0c05a3f1
2011-02-09 13:11:50 -08:00
Jeff Brown 703e7c6d50 Build system tweaks for Valgrind.
Added LOCAL_NO_CRT to enable building executables that do not link
to the C runtime library.

Removed support for LOCAL_MODULE_SUBDIR since it was broken
and unused.  (Was going to use it but ended up using LOCAL_MODULE_PATH
instead.)

Change-Id: I3b6f5ab7e5ae6aaa7119899adccece2b4ab1cbb3
2011-02-08 16:38:56 -08:00
Ying Wang 3a7e4ccad9 Unify use of $(hide).
Change-Id: Ib7e17bbb4682caecce5812e63de872b676403d64
2011-01-28 14:14:47 -08:00
Ying Wang a02d3d9f74 Break down the buge shell command line preparing whole static libraries.
This can fix the "@: command not found" messages, which is caused by "@"
in the middle of the shell command line.

Change-Id: I444827458045efcbc70a6e1e43bf4ee040e71b79
2011-01-27 18:48:00 -08:00
Jean-Baptiste Queru c61d4c91b6 Extra protobuf-related support
Change-Id: I375d32f0bcb695ccb0603743133034941d584163
2011-01-27 13:49:30 -08:00
Jean-Baptiste Queru 79ee7bf896 Protobuf compiler support in the build system 2011-01-27 12:44:30 -08:00
Ying Wang 80e6cce93e Correct misuse of target/host vars.
Change-Id: Ide41aeddc44ca05d85a36035c2d55ea453cfd216
2011-01-24 23:25:36 -08:00
Ying Wang 015edd2c1b Add modifier goal incrementaljavac
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
2011-01-21 17:49:30 -08:00
Ying Wang 84ed6fa27b Disable "-t" for acp.
Acp can not handle high resolution file timestamp on ext4.
We need this to fix incremental build on ext4.

Change-Id: I54e45c73ffa44c4253c7a431375d419fa4dccfd9
2011-01-19 12:15:38 -08:00
David 'Digit' Turner 60a1e88052 Add support for custom Linux host toolchains when building the SDK.
This is needed in order to build Linux SDK binaries that can run
properly on Ubuntu 8.04 (Hardy). By default, the host toolchain
on 10.04 (Lucid) generates machine code that won't run on Hardy
due to GLibc ABI mistmatches.

Note that nothing happens if the new toolchain is not in the
prebuilt tree.

Change-Id: I914f5a303f16b6871759ce5a7178585ed3060870
2011-01-16 19:14:04 +01:00
Ying Wang 085ff6a8ac am 098826bf: am 099fecd7: Use PRIVATE_CXX in HOST modules.
* commit '098826bf61cba2b14a0538100878bdb029f50790':
  Use PRIVATE_CXX in HOST modules.
2010-12-20 11:42:35 -08:00
Ying Wang 098826bf61 am 099fecd7: Use PRIVATE_CXX in HOST modules.
* commit '099fecd759ce54168fe4094880d1ca748e8906b9':
  Use PRIVATE_CXX in HOST modules.
2010-12-20 11:40:33 -08:00
Ying Wang 099fecd759 Use PRIVATE_CXX in HOST modules.
This fixes the build error:
out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_util_intermediates/neo_err.o:
file not recognized: File format not recognized
See also CL #84578

Change-Id: Ib91230c7a5c9809eb1935959eaa9be8fa7c596b9
2010-12-20 11:18:28 -08:00
David 'Digit' Turner 02e172e892 am efc5d814: am 15f4980d: Merge "Add support for custom Linux host toolchains when building the SDK." into gingerbread
* commit 'efc5d81428a8c7d9cf7cb7b3a5f1a8344b02a700':
  Add support for custom Linux host toolchains when building the SDK.
2010-12-14 02:45:58 -08:00
David 'Digit' Turner efc5d81428 am 15f4980d: Merge "Add support for custom Linux host toolchains when building the SDK." into gingerbread
* commit '15f4980d510824113a4d2b71d70de9c67715f3dc':
  Add support for custom Linux host toolchains when building the SDK.
2010-12-14 02:42:10 -08:00
Brian Carlstrom 782695112d Unify target and host Java compilation
This changes tries to reconcile drift between
transform-java-to-classes.jar which is used to build java for the
target with transform-host-java-to-package which is used for the
host. Several packages such as libcore are built both ways and the
drift between these rules was making it hard to make common changes to
things such as warning options.

The new compile-javac definition tries to include as much as possible
from the two previous definitions. Some conflicts it sorts out:
- hardwired -g vs PRIVATE_JAVAC_DEBUG_FLAGS
- consistent order of arguments
- moving PRIVATE_JAVAC_FLAGS to end to allow override of arguments
- xlint_unchecked is always conditional based on LOCAL_WARNINGS_ENABLE

Now what differs between the two is clear in the
transform-java-to-classes and transform-host-java-to-package
definitions. Notable differences:
- the target case supplies a bootclasspath while the host case does not.
- .class files are cleaned up after jaring in the target case,
  but in the cost case they are left for the sake of the vm-tests target
  which expects them to be present. That should probably be fixed in the future.
- PRIVATE_EXTRA_JAR_ARGS used to package resources into the jar only
  happens for the host. Its handled by add-java-resources-to-package for the
  target after dxing.

Change-Id: I2fb28f688fbb632102ca63448c2ac911db0477ae
2010-12-13 11:29:58 -08:00
David 'Digit' Turner 0960ca7488 Add support for custom Linux host toolchains when building the SDK.
This is needed in order to build Linux SDK binaries that can run
properly on Ubuntu 8.04 (Hardy). By default, the host toolchain
on 10.04 (Lucid) generates machine code that won't run on Hardy
due to GLibc ABI mistmatches.

Note that nothing happens if the new toolchain is not in the
prebuilt tree.

Change-Id: I45c1f68e37e15a0032f885df1c5c0f297b3d8642
2010-12-13 11:52:03 +01:00
Jean-Baptiste Queru 1ee80eefc7 am dbd43691: am 3ef1d674: am 4985f06f: Merge "Make image-size-from-data-size not use hard coded values."
* commit 'dbd43691870fa64d1ad79371e3d796ed8e63b3b9':
  Make image-size-from-data-size not use hard coded values.
2010-12-06 16:45:01 -08:00
Jean-Baptiste Queru 3ef1d67480 am 4985f06f: Merge "Make image-size-from-data-size not use hard coded values."
* commit '4985f06f4e96351c77b88b20bc9ded65daefcd3e':
  Make image-size-from-data-size not use hard coded values.
2010-12-06 15:10:35 -08:00
Lars Svensson 9cb8c28352 Make image-size-from-data-size not use hard coded values.
The function image-size-from-data-size was using hard
coded values. The size of spare area and pages has become
configurable so we need to read from the variables.

Change-Id: I9461d34400ffc2cc5920860d8aa78750d559e397
2010-12-06 16:18:46 +01:00
Ying Wang 33c0d952fc Allow module-specific protoc flags.
You can add local protoc flags via LOCAL_PROTOC_FLAGS.

Change-Id: If246a4edafe1edcec6a7f193bde8ce3c83de745b
2010-11-05 11:30:58 -07:00
Ying Wang a5fc87a937 Integrate protocol buffer compiler into the build system.
Bug: 3152546
Change-Id: Ida3ca3d633ce45704dc8e80d044cdbd3ca69aca5
2010-11-02 19:25:47 -07:00
Shih-wei Liao c656030f7d Turn off llvm-rs-link to make launch time go faster.
Change-Id: Idbbb5e24a269e3c9a1911b47b4fbb1616cef5803
2010-10-23 03:07:13 -07:00
Doug Zongker 98582b28e8 radio files aren't modules, prebuilt or otherwise
Change-Id: Ic21cf9f7d9657819e40c6700c98e61971dab24b4
2010-10-13 13:39:56 -07:00
Ying Wang 4a5bd245ff Fix typo.
Change-Id: Iabdc6ec1ead4f37294f01ebebc1e71e188455533
2010-10-11 16:36:02 -07:00
Shih-wei Liao f7b32bfe41 Enable LLVM_RS_LINK. No longer forking an LLVM linker inside llvm-rs-cc.
Change-Id: I2ebc6ec759daf36d1e77fa8e30147ab8e40b44fc
2010-10-11 10:36:42 -07:00
Shih-wei Liao d01fadb6bc Make naming consistent: llvm-rs-cc and llvm-rs-link.
Change-Id: I8e8ae27548131b47fbbd037d55b472d095d7bb8f
2010-10-08 17:55:26 -07:00
Joe Onorato e814ad4950 am 5c41c178: am 700b88e1: Pass device characteristic information through to aapt.
Merge commit '5c41c17868865d1f2e9e2ff4680b528da61d16af'

* commit '5c41c17868865d1f2e9e2ff4680b528da61d16af':
  Pass device characteristic information through to aapt.
2010-10-08 14:36:43 -07:00
Ying Wang 24e1c018ba Integrate the slang "-MD" into the build system.
So that the header dependency can be included.
Bug: 2932230

Change-Id: I4d69870049157206ce2ab637ec6d673467db0c64
2010-10-08 09:37:44 -07:00
Shih-wei Liao c95899f46d "Slang" no longer needs "--allow-rs-prefix" option. "Slang" now knows if a function
is in a system header file. If so, the function can be prefixed by "rs". Otherwise,
"rs" prefix is rightly disallowed. So, no more "allow-rs-prefix" hacking.

Change-Id: I8d5982cd6a75d465ffa6f98ca96941ae761117a2
2010-10-08 07:14:03 -07:00
Joe Onorato 5c41c17868 am 700b88e1: Pass device characteristic information through to aapt.
Merge commit '700b88e1451f216d137d8a356496bf51712512c6' into gingerbread-plus-aosp

* commit '700b88e1451f216d137d8a356496bf51712512c6':
  Pass device characteristic information through to aapt.
2010-10-07 07:09:25 -07:00
Joe Onorato 700b88e145 Pass device characteristic information through to aapt.
A build configuration can define PRODUCT_CHARACTERISTICS, which is
a comma-separated list of device characteristics, for example
"nosdcard,grayscale".  This will be passed through to aapt with
the --product flag.

Change-Id: I902c034b2f2824dbd2d33449308ee08beeb09551
2010-10-06 10:44:33 -04:00