Commit Graph

306 Commits

Author SHA1 Message Date
Stephen Hines 8f199b0588 Revert "libclcore.bc comes from prebuilts/sdk for unbundled projects."
This reverts commit ba6a7e1d46

Change-Id: I2855923e67c226d39fe362342570e9ab96b885b8
2013-01-23 18:39:05 +00:00
Stephen Hines ba6a7e1d46 libclcore.bc comes from prebuilts/sdk for unbundled projects.
This change also adds the NDK library path for unbundled builds.

Bug: 7419958

Change-Id: If22823c3890f5507d486e654a1e0296c06a2e239
2013-01-22 17:56:37 -08:00
Stephen Hines 9541f5864d Build RS compatibility objects with libcompiler-rt.a.
Change-Id: Ic49fdc30b1d4568bbdc94338e116a31a1ade1e80
2013-01-18 16:41:22 -08:00
Stephen Hines f692513071 Clean up libRSSupport.so and libclcore.bc dependencies.
Bug: 7419958
Change-Id: I62453bb6830cc2c82ca9dbbf576b52da95eef4b1
2012-12-17 17:59:47 -08:00
Ying Wang 3a990aee1e Merge "Build from source or prebuilt" 2012-12-14 14:52:16 -08:00
Ying Wang 63d94fa305 Build from source or prebuilt
With this change, you can easily switch between building from source
code and prebuilt.
Set LOCAL_PREBUILT_MODULE_FILE to the path of the prebuilt file,
relative to the top of the source tree, in the usual module definition.
The prebuilt will be used unless any of the followings satisfied:
1) ANDROID_BUILD_FROM_SOURCE is "true", which disable prebuilt globally;
2) The module name is in ANDROID_NO_PREBUILT_MODULES;
3) The LOCAL_PATH is prefixed by any of ANDROID_NO_PREBUILT_PATHS.
A developer can set ANDROID_NO_PREBUILT_MODULES or
ANDROID_NO_PREBUILT_PATHS to build only his own module(s) from source,
while build other modules from prebuilts.
You can set ANDROID_BUILD_FROM_SOURCE to true to build everything from
source.
Those variables can be set with shell environmental variable or in your
buildspec.mk.

Sometimes module B is able to be built from source only if module A is
also
built from source, for example, if B is the test apk of A.
In that case, you can use the macro include-if-build-from-source to
include B's Android.mk only if A is built from source too, or
if-build-from-source to conditionally include the definition of module
B,
if their module definitions are in the same Android.mk.

Support host-executable-hook and host-shared-library-hook.

Change-Id: Icab7cf028c87eaba0dd7efc2a7749fd6f32b44e4
2012-12-14 14:48:00 -08:00
Stephen Hines 7d6ec71965 Add -nostdlib to RS bc->so linker command line.
Change-Id: Ic715060c3d037ec9fecb0ad9b2be6c2e7052ce0a
2012-12-13 19:24:50 -08:00
Stephen Hines e719f28d93 Build rules for Renderscript compatibility library.
Bug: 7419958
Change-Id: I2e0f0bb632e6ff22b2cf1a1b96b28364637995cc
2012-12-12 14:58:02 -08:00
Ying Wang 90304a74a3 am ae56a570: am e1f94189: am ce811261: Merge "Move check-api to definition.mk" into jb-mr1.1-dev
* commit 'ae56a570cb7e16a0853433d20691b0ee72da5cc2':
  Move check-api to definition.mk
2012-11-16 10:42:41 -08:00
Ying Wang ae56a570cb am e1f94189: am ce811261: Merge "Move check-api to definition.mk" into jb-mr1.1-dev
* commit 'e1f94189d95084a72d206d89ecb9d38de0512fc6':
  Move check-api to definition.mk
2012-11-15 15:23:44 -08:00
Ying Wang e1f94189d9 am ce811261: Merge "Move check-api to definition.mk" into jb-mr1.1-dev
* commit 'ce811261bc8d56d43e59b1f9fb96ae53192de126':
  Move check-api to definition.mk
2012-11-15 15:20:58 -08:00
Ying Wang c065da2307 Move check-api to definition.mk
1) Move check-api to definition.mk, so it can be used in other places.
2) Add additional dependency to the api-stub module to consolidate the
apicheck dependency. Previously you have to run 2 "make"s in a row and
only in the 2nd run apicheck is run, due to a gnu-make optimization.

Bug: 7540265
Change-Id: Ib24ed87d9330027a9f95ed7b16dd4002cc0e3198
2012-11-14 16:00:45 -08:00
Ying Wang 31df068b38 Additional certificates support for an apk.
Change-Id: I5b35d5728ba9d65f7ece956127270a9ca2ea0efe
2012-11-13 10:56:04 -08:00
Tim Murray a7aa8005d2 Add support for RS in C++.
Change-Id: Ib8008d6301584bd0a2cd91c4c1294e0df8ac3b73
2012-11-01 15:07:27 -07:00
Joe Onorato 50462d67e9 am 8858d2a7: Add a tool to let you enforce layering between packages in a java module.
* commit '8858d2a731f432786b7548b5f63ac93be81eb986':
  Add a tool to let you enforce layering between packages in a java module.
2012-10-20 18:15:18 -07:00
Joe Onorato 8858d2a731 Add a tool to let you enforce layering between packages in a java module.
And build system support for it too.

Change-Id: I4dd5ed0b9edab6e8884b0d00cfeeae5fa38d967a
2012-10-20 17:25:55 -07:00
Ying Wang 057eba07b8 Use PRIVATE_WARNINGS_ENABLE
Before this LOCA_WARNINGS_ENABLE never worked :-(

Change-Id: I129a0bbbbb68e4179454b0827b0b0d18d6de67a0
2012-10-18 10:54:49 -07:00
Joe Onorato 0eccce99d7 Add a tool to let you enforce layering between packages in a java module.
And build system support for it too.

Change-Id: I4dd5ed0b9edab6e8884b0d00cfeeae5fa38d967a
2012-10-18 10:21:46 -07:00
Stephen Hines daf2ca50dd am d2637573: resolved conflicts for merge of ed38fe6f to jb-mr1-dev-plus-aosp
* commit 'd26375733992298edc036652d25170e1cd7cbd49':
  Add support for building Filterscript files.
2012-10-12 11:02:14 -07:00
Stephen Hines d263757339 resolved conflicts for merge of ed38fe6f to jb-mr1-dev-plus-aosp
Change-Id: If699b3ccf1f3befd4df881e3eef6b90dd7c505bf
2012-10-11 22:08:57 -07:00
Stephen Hines 0a0cfe95ac Merge "Add support for building Filterscript files." into jb-mr1-dev 2012-10-11 17:25:21 -07:00
Stephen Hines 0ab6e3e6e6 Add support for building Filterscript files.
This change piggybacks Filterscript rules onto the existing Renderscript
rules. There is no real difference other than the file extension (which
llvm-rs-cc uses to apply a more stringent set of warnings/errors).

Bug: 7166741
Change-Id: I27175ff1c16c27129cafa92b4e8caabf2e5f4150
2012-10-11 15:29:10 -07:00
Ying Wang 57ddcb1bbc Support to build executables against the NDK
Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you
include $(BUILD_EXECUTABLE).
Cherry-picked from master.

Bug: 7170098
Change-Id: Ib35a294bd6aa4e969d46ecd8ebab8ca5d843e24b
2012-10-10 10:24:26 -07:00
Ying Wang 15f116b2bb am 91fd1231: Support to build executables against the NDK
* commit '91fd1231c3254bc9d0642e5a646b5657bdaedffa':
  Support to build executables against the NDK
2012-10-08 14:21:37 -07:00
Ying Wang 91fd1231c3 Support to build executables against the NDK
Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you
include $(BUILD_EXECUTABLE).

Bug: 7170098
Change-Id: I4cebeae3355e79a4d2f2f5549ef0613ced77e3f0
2012-10-08 14:12:41 -07:00
Conley Owens bda3f9427d am 9b962440: am 672b1893: am 8c37f49f: Merge "Follow symlinks when using find"
* commit '9b962440b00591ba43dd05977299216d499c84da':
  Follow symlinks when using find
2012-10-02 16:28:39 -07:00
Conley Owens 9b962440b0 am 672b1893: am 8c37f49f: Merge "Follow symlinks when using find"
* commit '672b1893688be170fad79dd35c41236d7c0e36c0':
  Follow symlinks when using find
2012-10-02 16:27:15 -07:00
Conley Owens f435739bac Follow symlinks when using find
This allows more flexibility with symlinking subtrees within projects.
For example, a build bot with a read-only copy of the src can copy
directories which will be affected by applied patches while symlinking
to directories that will remain untouched.

Change-Id: I9c783180f3ebdd737d8daf17550f562e4f00b200
2012-10-02 14:34:36 -07:00
Ian Rogers e88d5af2ab am 318330dd: am 9acbbf12: am 76a6dc3a: Fix common typo in comments, warning and error messages.
* commit '318330dd920977733f20eeda338d3c36892373f6':
  Fix common typo in comments, warning and error messages.
2012-10-01 17:28:18 -07:00
Ian Rogers 76a6dc3a19 Fix common typo in comments, warning and error messages.
s/can not/cannot/g

Change-Id: I1bac31157732666deb46f6f20389ff539977ffb9
2012-10-01 16:36:23 -07:00
Ying Wang 54fa8c3ff9 Load only the current product config makefile.
To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
2012-09-28 15:08:12 -07:00
Ying Wang 157a5e1695 Load only the current product config makefile.
To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
2012-09-27 15:17:41 -07:00
Ying Wang c6ffc00b9f Support to build executables against the NDK
Use "LOCAL_SDK_VERSION := <number>" to build against the NDK when you
include $(BUILD_EXECUTABLE).

Bug: 7170098
Change-Id: I4cebeae3355e79a4d2f2f5549ef0613ced77e3f0
2012-09-25 18:33:53 -07:00
Ying Wang b301817223 Don't install all host modules by default.
Instead we should explicitly set up the dependency, if the module will
be used in the build process; Use LOCAL_MODULE_TAGS with eng, debug or
tests if the module is for testing; or add to PRODUCT_PACKAGES if it's
required by a product.

Change-Id: I326e97df6630dee4acc6582ce6cef2dec8289155
2012-09-24 18:17:26 -07:00
Ying Wang d43fbfe783 am 23755396: am 55861069: am 4595d7d6: am 410420ed: am 9efa5bae: Merge "Add transform-d-to-p-args"
* commit '23755396f5c1d62103c8a6930e1bad63d26189f6':
  Add transform-d-to-p-args
2012-09-10 17:14:21 -07:00
Ying Wang 5586106944 am 4595d7d6: am 410420ed: am 9efa5bae: Merge "Add transform-d-to-p-args"
* commit '4595d7d62c0d594aa3501e4f547563348a3a5eb0':
  Add transform-d-to-p-args
2012-09-10 10:25:41 -07:00
Ying Wang c23f4efdbb Add transform-d-to-p-args
This new indirection allows us too to output .P files when we are
generating non-.o files, such as .s or .S files.
Bug: 7127743

Change-Id: I9e46c417031764fefc9909ba4a3eb63885f34f9e
2012-09-07 17:04:06 -07:00
Ying Wang fb12f71fe7 am 18c8d9eb: am 3a6f7589: Add LOCAL_DONT_DELETE_JAR_META_INF
* commit '18c8d9eb1e0c0776862d554f0834e7ee3018375a':
  Add LOCAL_DONT_DELETE_JAR_META_INF
2012-08-30 14:16:31 -07:00
Ying Wang 3a6f7589e8 Add LOCAL_DONT_DELETE_JAR_META_INF
To support to not delete META_INF directory from the static Java
libraries.

Change-Id: I720bfa059c43dd457a74a0c60bb6797aa408ecaf
2012-08-30 12:59:42 -07:00
Ying Wang 3e500c6356 Automatically add Java resources carried by static Java libraries.
Bug: 6892294
Change-Id: I3ff71ee3d7b9ccdfde6a5284cc350864fbffa71f

Conflicts:

	core/package.mk
2012-08-27 15:21:51 -07:00
Joe Onorato cea08a5220 resolved conflicts for merge of 5836d3b3 to jb-mr1-dev
Change-Id: If3d84a7439717ccf7723b3f79e934d73abbb3fea
2012-08-17 00:09:27 -07:00
Joe Onorato 6a185e453d Remove support for user tags in the build system.
It is not forbidden to say LOCAL_MODULE_TAGS := user,
and if you don't say LOCAL_MODULE_TAGS, it now defaults
to optional.

Change-Id: I0a0b200bb6f1c7bf1fe3a89cdc8f69678617526c
2012-08-16 22:45:56 -07:00
Joe Onorato 918ee311f5 Don't give the user tag to host modules automatically.
Change-Id: I12d0a84786e5bf2224efd8684526b6097e6105d7
2012-08-16 22:45:55 -07:00
Joe Onorato 529302d912 Remove support for user tags in the build system.
It is not forbidden to say LOCAL_MODULE_TAGS := user,
and if you don't say LOCAL_MODULE_TAGS, it now defaults
to optional.

Change-Id: I0a0b200bb6f1c7bf1fe3a89cdc8f69678617526c
2012-08-16 22:36:41 -07:00
Joe Onorato f85cb7c936 Don't give the user tag to host modules automatically.
Change-Id: I12d0a84786e5bf2224efd8684526b6097e6105d7
2012-08-16 22:36:40 -07:00
Ying Wang 7429e21c2e Add LOCAL_CONLYFLAGS.
To pass compiler flags
LOCAL_CFLAGS: to both C and C++ files;
LOCAL_CONLYFLAGS: to only C files but not C++ files;
LOCAL_CPPFLAGS: to only C++ file.
LOCAL_CPPFLAGS and LOCAL_CONLYFLAGS can override flags in LOCAL_CFLAGS.

Bug: 6967573
Change-Id: I88d9de0980e451b94bc7ae8c741ea2030eada3e1
2012-08-15 11:02:28 -07:00
Ying Wang 939c427de2 Merge "Automatically add Java resources carried by static Java libraries." 2012-08-13 08:46:03 -07:00
Ying Wang 65d785274e Don't pass LOCAL_CFLAGS when compiling assembly code.
Bug: 6967574
Change-Id: Id428884dde3026c32fa6abcabbc88d188b7e9a38
2012-08-10 18:10:15 -07:00
Ying Wang 8548062922 Automatically add Java resources carried by static Java libraries.
Bug: 6892294
Change-Id: I3ff71ee3d7b9ccdfde6a5284cc350864fbffa71f
2012-08-09 15:24:27 -07:00
Jean-Baptiste Queru 1870b7f4f2 am a4814370: am 4733cfd2: Merge "definitions.mk: Don\'t use GCC \'@\' parameter"
* commit 'a4814370724634c0ee0bf35bc68f382f0df93668':
  definitions.mk: Don't use GCC '@' parameter
2012-08-08 13:26:40 -07:00
Andrew Boie 85f3b21971 definitions.mk: Don't use GCC '@' parameter
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>
2012-07-26 10:21:04 -07:00
Ying Wang 1cc65fd6ef resolved conflicts for merge of 9b76c054 to master
Change-Id: I4190ef6895b7ddb27d9a293cbacecdef1f4f20b8
2012-06-19 14:33:09 -07:00
Ying Wang ae25ec1bcd More flexibility to keep/remove R.class in static Java library
- 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
2012-06-19 10:40:37 -07:00
Torne (Richard Coles) bffaef246a Make building an empty static library work.
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
2012-06-15 16:06:21 +01:00
Joe Onorato 9136290afa Merge commit 'bf2e8a66' into work
Change-Id: I5cd704eb59218b56b48d689afdff84638deeacf1
2012-05-17 22:10:24 -07:00
Joe Onorato e44705a86f Add copy-many-files macro.
Change-Id: I327fc19bdf9c1ada18b3ba695fe4104e2a241156
2012-05-17 20:57:35 -07:00
Ying Wang 3ceecfa3da Check the well-formedness of an xml file before copying.
Bug: 6491991
Change-Id: I3dbf9a7e1fefd9fea2636c78a85bae63ea8391b8
2012-05-14 14:40:58 -07:00
Ying Wang 000e89a5b9 Strengthen dependencies on LOCAL_REQUIRED_MODULES
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
2012-04-30 16:32:25 -07:00
Ying Wang 68f1c77a8d Make export_includes depend on the module's definition makefile.
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
2012-04-23 21:29:18 -07:00
Ying Wang 4394aaef7e Merge "Build system support to export include paths" 2012-04-09 12:43:09 -07:00
Doug Zongker 9296f09277 optional cross-check between OTA radio images and board-info.txt
Adds a python script which checks the version of each radio image
added with the new add-radio-file-checked macro against a file
containing sha-1 -> version string mappings and the contents of
board-info.txt, so that the build can fail if board-info.txt and the
OTA images are out of sync.

Change-Id: Icb61dc2adefc240ced9059941582c23b629089c0
2012-03-21 09:18:15 -07:00
Wink Saville 8d5610cd1b Merge "Increase java heap size." 2012-01-30 15:42:28 -08:00
Wink Saville 29b3afaf79 Increase java heap size.
I got an Out of memory while compiling, Andreas Huber suggested that
increasing the heap size, which worked.

Change-Id: Id8293ef100ef814b0fe13aa6e1b891a36a2ee853
2012-01-30 15:30:10 -08:00
Ying Wang 707328a3ef Build should fail if any proto file fails compiling
When compile multipling proto files to Java in a for loop.

Change-Id: Ie6a9d3972401b0ad6406bf911db916fcbf88037b
2012-01-30 11:56:07 -08:00
Conley Owens 015c7885e0 Merge "Get build system to work with Make 3.82" 2011-12-22 15:14:01 -08:00
Conley Owens d7a1a9b49b Get build system to work with Make 3.82
Note: `sort` can't seem to handle newlines in 3.82.

Change-Id: Ieeaee1d19688688a02e396bbc5b4dea26e7f6943
2011-12-22 09:56:18 -08:00
Atte Peltomaki 5846050fd4 am 05e98055: am 60fe963c: build: explicitly define dependency files
* commit '05e98055fdb1d48bac80790cb719838598b687e8':
  build: explicitly define dependency files
2011-12-21 16:46:36 -08:00
Atte Peltomaki 60fe963c63 build: explicitly define dependency files
Groundwork for distcc support in Android build system,
see distcc FAQ for details on why -MF is needed:
http://distcc.googlecode.com/svn/trunk/doc/web/faq.html
2011-12-21 09:24:09 -08:00
Ying Wang 4b9d4ea2e2 Merge "Collect the GPL source files." 2011-12-16 17:00:46 -08:00
Ying Wang 5758b8ed96 Remove the R/Manifest classes when building the static Java library
Bug: 5448433

Instead of deferring the removal to building the app.
In that case any R/Manifest classes in any static Java libraries will be
deleted, no matter if they are generated from Android resource, or just
source R.java/Manifest.java in the source tree by accident.

Change-Id: I656f45e3cbc3796c5d4832363231480b3f1dc5b8
2011-12-15 16:36:55 -08:00
Ying Wang bf6c611cae Don't remove R class to fix the build.
Unfortunately there is R.java checked in the source tree that gets built
into static library.
So we have to find a way to delete classes from R.java generated by the
build system on the fly.

Change-Id: I2d82d28234cecbf6dd5b02b2dd4f7dbd47e3b626
2011-12-15 15:10:04 -08:00
Ying Wang 20e2083ea0 Support to build static Java library with Android resource
Bug: 5714516

The rationale behind this change:
- the library is compiled into a jar file, but its R class is generated
  making the constant not constant (static, not final static) (aapt
  option --non-constant-id). Also the jar file does not contain the R
  class.
- this allows the integer value to not be inlined in the compiled
  class files. Note that this prevents using switch statements.
- the main project use this jar file as a normal static library: it will
  add all the class files except the R.class.
- the main project uses the library res folder as a resource
  folder with lower priority than the main project (basically the
  main project is an overlay. This is accomplished using aapt's
  --auto-add-overlay to handle resources only in the main project
  (which the normal overlay mechanism doesn't allow).
- the main project creates R classes in the main project's
  package but also in the library's package. This is done with
  aapt's --extra-packages which accept as many packages as
  needed, separated by a :.
- manifest merging is not done yet, so
  activities/services/permissions/etc... have to be manually declared in
  the main app.

To use a static library with Android resource in your app,
1. Add the library's resource dir to your app as an overlay:
LOCAL_RESOURCE_DIR := <app_resource_dir> <static_library_resource_dirs>
2. Set the proper aapt flags:
LOCAL_AAPT_FLAGS := <apps_own_flags> --auto-add-overlay \
  --extra-packages <lib1_package_name>:<lib2_package_name>:...

Change-Id: Ifb4d2300b952ea4aaee74da1bb0c6c72ea0698a3
2011-12-14 16:04:59 -08:00
Ying Wang e109a1d08d Allow to build Java module from mere static Java libraries.
With this change, we can easily turn a static Java library to a shared
Java library.

Change-Id: I9915992cd19879846511d6272483d7a0a934e7eb
2011-12-12 17:52:03 -08:00
Ying Wang fd626f2d21 Collect the GPL source files.
Bug: 5693205
Change-Id: I045b83949f8b29d7c5cf5c0ab32c5b83cf398e71
2011-12-12 12:57:38 -08:00
Stephen Hines 914f7a2990 Enable -Wall/-Werror with LOCAL_RENDERSCRIPT_FLAGS.
Change-Id: Ia2a058e6711839d89072c2e96f0c60aa4cedda6b
2011-12-07 11:41:28 -08:00
Ying Wang 99bcbeb355 Print more info of the image size stats.
Bug: 5620615
Before this change it only reports the limit if the real size exceeeds
or approaches the limit.

Change-Id: Ie1737d6ba2dc2d57ad82c487990e109882526d6e
2011-12-02 10:34:45 -08:00
Jeff Hamilton 293f9392ba Bypass alias for grep in the tapas command.
Change-Id: I82705535bda927ddc7e9aebb9610d712b68a50d2
2011-11-18 17:24:13 -06:00
Ying Wang 5f074803fb Build system support to export include paths
Bug: 5573756
With this change, we can set LOCAL_EXPORT_C_INCLUDE_DIRS in the module
definition to export include dir paths.
Paths in LOCAL_EXPORT_C_INCLUDE_DIRS should be relative to the top dir
of the source tree.
If a library (shared or static) exports some include paths, any module
using it will import the include paths and add them to the compiler
command line.

Change-Id: I49aabc589d2cf214044d13ccd5532ef68209adf0
2011-11-17 10:52:32 -08:00
Conley Owens e04c2c21ee am e915ab45: Place linker arguments after objects for gcc
* commit 'e915ab45a11f88c4fa5f2561c1aaca4b7d3d7593':
  Place linker arguments after objects for gcc
2011-11-10 19:01:36 +00:00
Conley Owens e915ab45a1 Place linker arguments after objects for gcc
gcc 4.6.1 does not properly link if libraries are specified before
objects.

Change-Id: Iabe3eac831fe597abe8a93a946ab7a22d584db46
2011-11-10 10:55:13 -08:00
Conley Owens d9e7d25741 Place linker arguments after objects for gcc
gcc 4.6.1 does not properly link if libraries are specified before
objects.

Change-Id: Iabe3eac831fe597abe8a93a946ab7a22d584db46
2011-11-10 09:57:40 -08:00
Joe Onorato c72b1403e4 Add a tool to let you enforce layering between packages in a java module.
And build system support for it too.

Change-Id: I4dd5ed0b9edab6e8884b0d00cfeeae5fa38d967a
2011-10-30 21:37:35 -07:00
Bjorn Bringert cec077521e Merge "Compile each proto file separately" 2011-10-18 09:48:20 -07:00
Bjorn Bringert 20f5efd82c Compile each proto file separately
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
2011-10-18 16:08:27 +01:00
Dianne Hackborn 9baabf8d7e am a0f464a8: New PRODUCT_AAPT_PREF_CONFIG.
* commit 'a0f464a8e7f006177db084df7e925bbb8e5ffed3':
  New PRODUCT_AAPT_PREF_CONFIG.
2011-10-17 11:31:38 -07:00
Dianne Hackborn a0f464a8e7 New PRODUCT_AAPT_PREF_CONFIG.
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
2011-10-14 19:37:57 -07:00
Ying Wang d89452976b Merge "Use shell variable to eliminate $(eval) in commands." 2011-10-11 10:11:44 -07:00
Ying Wang f1054bf22e Merge "Discard hidden files when rounding up resource." 2011-09-08 14:16:23 -07:00
Stephen Hines c963eae72c Update build to properly use prebuilt llvm-rs-cc.
Change-Id: I52a83066b6c08d05d69db4f93631eeaf9c0b41c6
2011-08-10 17:01:43 -07:00
Ying Wang 6ab5d6aa16 Discard hidden files when rounding up resource.
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
2011-08-10 16:05:51 -07:00
Ying Wang 6e7db38de7 Use shell variable to eliminate $(eval) in commands.
$(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
2011-07-27 12:57:37 -07:00
Ying Wang 7e8d442ca4 Uniq the system properties.
If multiple items with the same key appear in a config variable,
only the first item is taken.

Change-Id: Icf57befafb36ec35dd4d48c8c3ec595f353f68e7
2011-06-17 17:10:04 -07:00
Ying Wang 194a8ec8ae Use arg list file to pass arguments to jar.
To fix error "/bin/bash: Argument list too long"

Change-Id: Ie336b18f9a7eba38d94a6e32c07a88589ce9f1fd
2011-06-06 14:34:52 -07:00
Ying Wang 4387dc3ee1 am 823f6389: am 3487736b: am 7d83ef8f: Support custom RenderScript compiler
* commit '823f63894fb4ad5c1280a5ee7eb004792223a488':
  Support custom RenderScript compiler
2011-06-02 16:49:33 -07:00
Doug Kwan e804fc92ec Merge "Allow enabling RTTI in a module." 2011-06-01 11:23:20 -07:00
Joe Onorato 149dd914b8 Switch the java encoding from ascii to utf8.
Change-Id: Iee0972df68b44fc8c653812cf165b57350a7ec5d
2011-05-31 18:21:07 -07:00
Ying Wang 823f63894f am 3487736b: am 7d83ef8f: Support custom RenderScript compiler
* commit '3487736bac5625bef8ff9bc4ef311b29348055d9':
  Support custom RenderScript compiler
2011-05-27 15:38:10 -07:00
Ying Wang 7d83ef8ff7 Support custom RenderScript compiler
Change-Id: I85e38e84565e04f99dd26217f280274883dc322d
2011-05-27 13:47:17 -07:00
Doug Kwan 9a8ecf970b Allow enabling RTTI in a module.
Change-Id: Ie8ce920e3ccb7e53bdf917d8ac5a386df3e7836a
2011-05-10 21:50:58 -07:00
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