Commit graph

2016 commits

Author SHA1 Message Date
Conley Owens
8e0f7129fa Add a module_path_check for vendor files
When this is enabled we ensure that files from the vendor directory
get installed to /system/vendor/* instead of elsewhere in /system/*.

This changes the PRODUCT_RESTRICT_VENDOR_FILES variable
to accept "owner", "path", "owner path", or "all".
"true" will still only enforce vendor file owner restrictions.

Change-Id: I4598130a590ad56976e011f4cb2a9f5f227d5732
2012-01-10 15:45:40 -08:00
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