Commit graph

2015 commits

Author SHA1 Message Date
Ying Wang
c7a10ddd31 Include toolchain makefile based on the current config.
So we can have the same set of module names in different host arch
/ toolchain version combinations.

Change-Id: Iec66584bf3de92aedd71a59f9dbe74b6ed025b2e
2012-01-06 11:59:30 -08:00
Al Sutton
f79ce15891 am 1964c8ed: am d8765f0f: am 80cfc37d: Partial fix for emulator under Lion.
* commit '1964c8ed2d6b1981ee991b5ecd95ab711affdf62':
  Partial fix for emulator under Lion.
2012-01-05 12:08:29 -08:00
Al Sutton
80cfc37d0f Partial fix for emulator under Lion.
Don't use -Wl,-dynamic on Lion
2012-01-04 15:16:50 -08:00
Ying Wang
aaa8f06fe3 Default LOCAL_SDK_RES_VERSION to LOCAL_SDK_VERSION
in static_java_library.mk.

Change-Id: I25ad47fea0fdb10c8aa0a0cb0d4c5ed117cd76ef
2012-01-03 11:52:26 -08:00
Jean-Baptiste Queru
89fbc541ad Add CSR to the list of known vendors
Change-Id: I978569e1be4c9d1d52d2b7fb7de2da4d4f616f39
2011-12-28 15:42:40 -08:00
Ying Wang
29b6918fdd Remove the restriction that PHONY_PACKAGE needs LOCAL_REQUIRED_MODULES
Change-Id: I33e776ea80368e0f0290169e680689a680186ed6
2011-12-22 17:51:28 -08:00
Conley Owens
d38c870d2e 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 15:16:05 -08:00
Conley Owens
015c7885e0 Merge "Get build system to work with Make 3.82" 2011-12-22 15:14:01 -08:00
Tor Norbye
4630c32189 Merge "Make asm-3.1 an optional module, remove from grandfathered list" 2011-12-22 12:13:15 -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
Ying Wang
4c54b9fa2a We should include factory ramdisk if one shot makefile is NOT defined.
Change-Id: I711dbfb0d98a5e8a4d784d3ee6f3f9cfdc926209
2011-12-21 18:59:40 -08:00
Al Sutton
a4f5991486 am 657aeac8: am 9ce06f11: Don\'t run ranlib on MacOS 10.7
* commit '657aeac8423d9e3cd31c0dffcecaad78a53d7604':
  Don't run ranlib on MacOS 10.7
2011-12-21 16:46:37 -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
Ying Wang
c26f4d3904 Merge "Disable factory ramdisk if build with mm/mmm" 2011-12-21 16:24:43 -08:00
Ying Wang
9f0e3c9658 Disable factory ramdisk if build with mm/mmm
Because factory ramdisk build depends on the global view of all modules.

Change-Id: I5b35821cd287b70702191f3c30be6735d3339544
2011-12-21 16:24:30 -08:00
Raphael
fe927e18a6 Merge "Allow make 3.82 to be used under Cygwin 1.7" 2011-12-21 15:02:44 -08:00
Raphael
d44d54a0d9 Merge "Add 2 SDK directories that can build under Cygwin/Mingw" 2011-12-21 15:02:38 -08:00
Ying Wang
931a099a4c Fix multiple modules with the same name in FACTORY_RAMDISK_MODULES
With this change, if a module name is associated with multiple modules,
you can specify multiple install paths in
PRODUCT_FACTORY_RAMDISK_MODULES.
For example, if we have 2 modules named "foo", one is Java library and
the other is executable, then you can write:
PRODUCT_FACTORY_RAMDISK_MODULES += \
  foo:system/bin/foo:system/framework/foo.jar
Or:
PRODUCT_FACTORY_RAMDISK_MODULES += \
  foo:system/bin/foo \
  foo:system/framework/foo.jar

The build system will choose the correct built files based on the
install paths.

Change-Id: I6efc72e8abd1e81710ada16731b6792989aefd85
2011-12-21 13:50:06 -08:00
Al Sutton
9ce06f11d6 Don't run ranlib on MacOS 10.7
Change-Id: I74f4623e6044dd804669aaa70c6e410fa8988d75
2011-12-21 13:12:33 -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
0d75a0a54c Filter out static library in PRODUCT_FACTORY_RAMDISK_MODULES
If there is shared library with the same name.

Change-Id: Iaa43219cab7737c02a79d168f13ad4c473421f24
2011-12-20 17:36:26 -08:00
Raphael
76bf62d75e Allow make 3.82 to be used under Cygwin 1.7
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
2011-12-19 13:39:51 -08:00
Raphael
0ae6d29568 Add 2 SDK directories that can build under Cygwin/Mingw
Change-Id: I020c2691d7d92a48bd406360e2752357ae79e3b0
2011-12-19 13:39:43 -08:00
Bruce Beare
cf0b20413e am b056d71f: If setupwizard is disabled, don\'t force it to optional
* commit 'b056d71f79b717fb36d375e48c19509900f977d3':
  If setupwizard is disabled, don't force it to optional
2011-12-19 11:38:37 -08:00
Bruce Beare
b056d71f79 If setupwizard is disabled, don't force it to optional
Change-Id: I15912ed77b88ea94feb149fdd081a309e3cf4678
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-12-19 09:51:40 -08:00
Ying Wang
4b9d4ea2e2 Merge "Collect the GPL source files." 2011-12-16 17:00:46 -08:00
Ying Wang
89686538d7 Support to build factory ramdisk image.
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
2011-12-16 13:54:10 -08:00
Ying Wang
1eed1cd429 Merge "Print out ignored PRODUCT_COPY_FILES" 2011-12-16 13:52:26 -08:00
Brian Muramatsu
5fc0057b7d Stop Building CTS VM Tests
Bug 5728172

The VM tests were used with the old test runner.

Change-Id: I7ba819a394bb9643f937240ebd315d7d7820a8bf
2011-12-16 13:07:15 -08:00
Ying Wang
193010cc8f Print out ignored PRODUCT_COPY_FILES
So that people know their files are not really copied in accident.

Change-Id: I8fab920483230a9f349304dcbdb2fb9d60ee0215
2011-12-16 11:56:24 -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
205a20a42c Merge "Support to build static Java library with Android resource" 2011-12-15 14:34:32 -08:00
Conley Owens
d497a1db71 Add several module owners to the whitelist
Change-Id: I9a215b74167efc2a6b3070dc8b616a289669d10f
2011-12-15 10:25:17 -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
Brian Muramatsu
393dde5525 resolved conflicts for merge of 80fa947b to master
Change-Id: I0febb15b690932ad342da4b10eb9c0f13d1d1517
2011-12-14 15:39:46 -08:00
Brian Muramatsu
80fa947b03 am fea66cee: Merge "Build Support for CTS Native Tests" into ics-mr1
* commit 'fea66cee1cd661b6bf8ead1988cf008fa61b01a7':
  Build Support for CTS Native Tests
2011-12-14 15:33:22 -08:00
David 'Digit' Turner
6371da10f8 x86: Refine the way we configure the x86 build.
This is the result of a recent conversation around the x86 ABI
and its relationship with how we build platform images. Briefly:

- We want to use feature-based macros like ARCH_X86_HAVE_$FEATURE
  instead of relying on explicit compiler macros like -DUSE_$FEATURE

- We want to allow for other x86-based arch variants, e.g. if
  someone wants to build Android for a CPU that doesn't support
  the NDK x86 ABI. However, we need to ensure these are not
  tagged compatible by mistake (see check at the end of TARGET_linux-x86.mk)

- There are several flags which use is dubious now that we have
  a dedicated toolchain to build all the x86 stuff. Comment them
  as 'to be considered for removal'. We'll do the proper checks
  later.

Change-Id: I7768d7c34d73e274cbf4c09ae831b55280d6bb58
2011-12-14 18:08:47 +01:00
Brian Muramatsu
237fa07339 Build Support for CTS Native Tests
Bug 4970300

Adds two new variables, CTS_TEST_CASES and CTS_TEST_XMLS, to be read
from CtsTestCaseList.mk. The CTS_TEST_CASES variable can be used to
copy any sort of file to the repository/testcases CTS directory.
The CTS_TEST_XMLS variable can be used to inject test package xmls
from any source rather than relying upon the monolithic and
mostly serial buildCts.py script.

The existing CTS_CORE_CASE_LIST is coded to only support APKs, so
it could not be retrofitted to support native tests. However, the
two new variables can do even more than CTS_CORE_CASE_LIST due to
their generality. In the future, the idea is move away from
CTS_CORE_CASE_LIST and also generate XMLs using separate tools
rather than just buildCts.py.

Change-Id: Ib52722861c37e0f4d511f9041928395bcaba5dea
2011-12-13 14:14:36 -08:00
Ying Wang
6a7c6064c2 Merge "Allow to build Java module from mere static Java libraries." 2011-12-13 09:06:08 -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
b5a413e6cc Merge "Restrict vendor modules to help AOSP product distribution." 2011-12-12 17:32:22 -08:00
Jean-Baptiste Queru
a2c1261e71 Set version numbers for AOSP - do not merge
Change-Id: I7be67f46069ed758e67066e696aa2567983fa374
2011-12-12 17:16:07 -08:00
Bruce Beare
29371f157a am 38158161: am 3343b27c: x86: The default ATOM BSP flags need to be in sync with the NDK ABI
* commit '381581613aab988acc6f9d5b459fd4f533d8c2a5':
  x86: The default ATOM BSP flags need to be in sync with the NDK ABI
2011-12-12 15:39:05 -08:00
Ying Wang
dbb31be413 Restrict vendor modules to help AOSP product distribution.
Bug: 5692177

If you set "PRODUCT_RESTRICT_VENDOR_FILES := true" in a product
configuration, this changes restricts that:
- No overlays in the vendor tree.
- No PRODUCT_COPY_FILES coming from the vendor tree.
- Any referenced package with Android.mk in the vendor tree must have
  LOCAL_MODULE_OWNER set to a value that's compared against a whitelist
  stored in the core build system.

Change-Id: I172b84c7c853e9a04bf9879ea8dec90bd5054230
2011-12-12 14:17:55 -08:00
Ying Wang
fd626f2d21 Collect the GPL source files.
Bug: 5693205
Change-Id: I045b83949f8b29d7c5cf5c0ab32c5b83cf398e71
2011-12-12 12:57:38 -08:00
Bruce Beare
381581613a am 3343b27c: x86: The default ATOM BSP flags need to be in sync with the NDK ABI
* commit '3343b27c534fb4ea238f2feaa0d9346840ee2f92':
  x86: The default ATOM BSP flags need to be in sync with the NDK ABI
2011-12-09 16:21:00 -08:00
Bruce Beare
3343b27c53 x86: The default ATOM BSP flags need to be in sync with the NDK ABI
Change-Id: Ic741e1795c655ace1e33ae6708219f2708358090
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-12-09 13:27:08 -08:00
Stephen Hines
d2972716be Merge "Enable -Wall/-Werror with LOCAL_RENDERSCRIPT_FLAGS." 2011-12-07 17:26:25 -08:00
Stephen Hines
914f7a2990 Enable -Wall/-Werror with LOCAL_RENDERSCRIPT_FLAGS.
Change-Id: Ia2a058e6711839d89072c2e96f0c60aa4cedda6b
2011-12-07 11:41:28 -08:00