Commit graph

174 commits

Author SHA1 Message Date
Dan Willemsen
9d2b3280e8 Support split /system and /vendor modules from Soong
Soong modules may be split into both /system and /vendor variants.
Ensure that Make libraries link against the correct version based on
whether LOCAL_USE_VNDK is set.

Bug: 36426473
Bug: 36079834
Test: build-aosp_arm64.ninja files are the same before/after
Test: attempt building with BOARD_VNDK_VERSION:=current
Change-Id: I229bc290373743406275f3ca16081eae04c27987
2017-04-10 15:54:50 -07:00
Vishwath Mohan
b285c46bbd Refactor sanitized library on-disk layout - Make.
This CL moves the location of ASAN-ified libraries on disk in the
following manner:
/data/lib* --> /data/asan/system/lib*
/data/vendor/* --> /data/asan/vendor/*

There are a couple of advantages to this, including better isolation
from other components, and more transparent linker renaming and
SELinux policies.

Bug: 36574794
Bug: 36674745
Test: m -j40 && SANITIZE_TARGET="address" m -j40 and the device
boots. All sanitized libraries are correctly located in /data/asan/*.

Change-Id: Ic6ba8e43e31df2ea92b85fd60f572823b6883ba2
2017-03-30 20:14:27 -07:00
Dan Willemsen
de4e71b27b Revert "install *.so in different paths for their types"
This reverts commit 842a985f90. It's
causing test failures, warnings and complaints, so backing it out and
we'll resolve those before putting it back in.

This also bundles in the revert of a minor warning/error fixup for this
code, and does the correct thing with the CleanSpec.mk (which can't just
be reverted).

Bug: 33681361
Test: m -j
Change-Id: Ic889ce6a4737a497ad6bf633424ce1860713f7d0
2017-03-16 16:54:40 -07:00
Jiyong Park
842a985f90 install *.so in different paths for their types
Shared libraries are now installed to different directories depending on
their types.

* NDK libraries: /system/lib/ndk (with symlink from /system/lib)
* VNDK libraries: /system/lib/vndk
* VNDK-ext libraries: /system/lib/vndk-ext
* Framework-only libraries: /system/lib
* Vendor-only libraries: /vendor/lib
* Same-process HALs: /vendor/lib/sameprocess

However, if LOCAL_MODULE_PATH is explicitly set, then it is respected,
with a warning message. Module owners are highly encouraged to
investigate the warnings and use alternatives to LOCAL_MODULE_PATH;
combination of LOCAL_[PROPRIETARY|OEM|ODM]_MODULE, LOCAL_MODULE_CLASS
and LOCAL_RELATIVE_PATH will cover most of the cases.

Furthermore, for each shared libraries whose path is changed, a symolic
link from the original path to the new path is *temporarily* generated.
e.g. /system/lib/libbase.so -> vndk/libbase.so. This is
to prevent sudden breakage of the code expecting the lib from the old
path. This symbolic links will eventually be removed before O launch
(b/34917183).

Finally, BOARD_SAME_PROCESS_HAL_DEPS is added. It contains the list of
shared libraries implementing the same-process HALs and its internal sub
libraries. This is designed to be defined in BoardConfig.mk

Bug: 33681361
Test: build & run. Libraries must be in the correct directories.
Symlinks from the old path to the new path must exist.

Change-Id: I46130aac09ae65400fd4d0abbc2e12dddd154fb1
2017-03-13 08:27:09 +09:00
Dan Willemsen
b2a5c7b369 Fix init rc installation in vendor when LOCAL_MODULE_PATH is set
The init.rc path selection uses the same partition_tag detection to
select an installation partition. So make sure that we always set
partition_tag even if we've been given an explicit module path.

Bug: 35314904
Test: set proprietary: true to Soong module with an init rc, verify
      that was the only change to build-aosp_arm64.ninja
Change-Id: Ic6ffd7a5177959db96a34a24896b242ee5b09e41
2017-02-13 14:19:47 -08:00
Simran Basi
7fe57cfdcd Update CleanSpec.mk for the common testcase directories.
Fix an issue with incremental builds and the new common
testcase directories.

Bug: None
Test: Removed https://android-review.googlesource.com/#/c/234478/
      then ran `m cts-platform-version-check` then reapplied the
      change to verify the failure. Then applied this new change
      to verify the problem was resolved.

Change-Id: I77529021e852af35571fb99537d87100010b47af
2017-02-10 15:56:29 -08:00
Dan Willemsen
912de8e691 Fix incremental builds with AAPT2
When we removed the src/ directory, the R.stamp file was removed -- with
AAPT, this triggers src/android/Manifest.java to be regenerated. But
AAPT2 only uses the R.stamp file as a timestamp to find the
Manifest.java file, not to create it.

So add a new CleanSpec.mk to fix the builds by removing the target that
AAPT2 uses to generate the src/android/Manifest.java file.

Test: None
Change-Id: If56f326ad701f7f92aa7c8aeda57e92d9c62cff9
2016-12-22 13:18:21 -08:00
Dan Willemsen
cf324af6b8 Remove generated java source post clean logic
Just move the proto and renderscript sources into their own directories
-- the entire directory is wiped if the file list changes since the
command line will change. So we can just enable/disable pulling sources
from those directories based on whether there were files in the list or
not.

Bug: 30947985
Test: m -j java
Test: Remove a proto file from a java lib, ensure the generated source
      is not included.
Change-Id: If7529979de6fa62a651933a3a974f47b033851d6
2016-12-22 10:37:31 -08:00
Dan Willemsen
dc556b4bc0 Prohibit host modules from using LOCAL_COPY_HEADERS
am: 6e51ef61a7

Change-Id: Id7c80e4dba5a505a04ce47d459c0a525debc4d53
2016-11-29 20:42:37 +00:00
Dan Willemsen
6e51ef61a7 Prohibit host modules from using LOCAL_COPY_HEADERS
There are no users left, so remove all of this.

Test: lunch aosp_arm-eng; m -j native
Test: build/tools/kati_all_products.sh on aosp and internal master
Change-Id: I32f5c8b470a43dd203d7e20c192167630e4e6888
2016-11-28 13:46:17 -08:00
Dan Willemsen
d111debc18 resolve merge conflicts of 8dadc2d to nyc-mr1-dev-plus-aosp
Change-Id: I296a81c17f9311a9425619141e1b5f5f5fb4c0dc
2016-09-12 21:43:19 -07:00
Dan Willemsen
8e6e6fdba9 Remove incremental workaround for aapt overlays
This workaround to clean package intermediates is no longer necessary,
as ninja reruns commands whose command line changes.

Test: switch between product overlays that use add-resource, verify
      R.java is regenerated.
Change-Id: Icb1f76360e39882e4401180414a031956777b020
2016-09-12 20:30:12 -07:00
Alex Light
4e358ab2c3 Add system_other partition, install odex files
For AB devices, support flashing two system partitions for factory use.
The normal system image on one partition, but without dex preopt. And a
system_other image that just contains the odex files. The dex files will
not be stripped out of the system image, in case the second system
partition is wiped.

Setting BOARD_USES_SYSTEM_OTHER_ODEX := true in the BoardConfig.mk
enables this behavior.

One can control which directories are placed in system_other by the
SYSTEM_OTHER_ODEX_FILTER configuration variable. Currently we default
to only copying only app and priv-app odexs.

Bug: 29278988
Change-Id: I7f4e87da919e7dc6a89fd8c668193cd4e98631bc
2016-06-24 11:07:15 -07:00
Tao Bao
6c5f0acbe8 Merge "CleanSpec: Clean up /recovery/root/sdcard." am: b69d3b28a5
am: 8994f9ca38

* commit '8994f9ca383fa887e570f54ea78bfeb9fdd39b2e':
  CleanSpec: Clean up $(PRODUCT_OUT)/recovery/root/sdcard.
2016-01-22 18:53:15 +00:00
Tao Bao
6b10089bd6 CleanSpec: Clean up $(PRODUCT_OUT)/recovery/root/sdcard.
Incremental build going across CL in [1] needs to remove the old
symlink to avoid hitting mkdir error.

[1]: commit 3f56a33041

Change-Id: Iff62ed55eb2782ba3e1e9b6de39a691de2427384
2016-01-21 17:18:47 -08:00
Ian Pedowitz
1406578847 Change PLATFORM_VERSION from NYC to N
But won't someone think of the cheesecake?

Bug: 25558821
Change-Id: Icf0adcb5b429a517fdbddb0d137d396a2d168c7c
2015-11-11 10:35:31 -08:00
Qiwen Zhao
5971fe3476 Merge commit '68e0bbf9'
Change-Id: I04f361807f8568bc87c4d035d52594eff16955fa
2015-08-12 18:54:45 -07:00
Dianne Hackborn
e593e5c42a Fix issie #23116383: Include security patch level in Settings
Change-Id: I46303c064d1365781a2c8a05bd6087518afb2aec
2015-08-12 16:29:08 -07:00
Dianne Hackborn
307631b057 Remove M codename, version number is 6.0.
Change-Id: I27b477f087b135232f14157123d31da04dee04d7
2015-07-29 14:22:51 -07:00
Dianne Hackborn
543aeac3fa am c3db771c: am 578a9efd: Merge "Raise API level to 23." into mnc-dev
* commit 'c3db771cac9a2d448f4f624ac410377c30fc6158':
  Raise API level to 23.
2015-06-27 00:58:12 +00:00
Dianne Hackborn
a42551685f Raise API level to 23.
Now apps can target both MNC and 23.

Change-Id: Ife6a844dc1a12b5d37973cbb890434c950dab7aa
2015-06-26 15:54:10 -07:00
Bart Sears
80cbcc48d3 Master has moved on
Change master so it no longer thinks it is building MNC.

Change-Id: I0b68e78d02b7ceadbef0ca95fc74d20d31076881
2015-05-14 22:04:41 -07:00
Bart Sears
0ed694f326 DO NOT MERGE - Change PLATFORM_VERSION from MNC to M
Goodbye to the cookie...

Change-Id: I0474115250411ccdfbdc769c6a464f9dbc460e8f
2015-05-12 18:42:13 -07:00
Mathieu Chartier
0626a6421e am 783a632f: am 7f914204: am 55fbc49f: Merge "Change eng builds from interpret-only to verify-at-runtime"
* commit '783a632f45fdddaa2073445728db61d2041a3435':
  Change eng builds from interpret-only to verify-at-runtime
2015-03-23 22:55:28 +00:00
Mathieu Chartier
62a7cac50d Change eng builds from interpret-only to verify-at-runtime
Faster dex2oat -> faster boot after syncing core libraries.

Bug: 19762303
Change-Id: Ic266ed9c59829e0e18acc4adc103724cf480de7f
2015-03-20 11:15:20 -07:00
Mathieu Chartier
eda38d7718 am b01a4ca3: am 68f6e305: am 9682e56a: Merge "Revert "Rename dalvik.vm.usejit to debug.dalvik.vm.usejit""
* commit 'b01a4ca3c838007d2e8f71c01b37f8e878cff686':
  Revert "Rename dalvik.vm.usejit to debug.dalvik.vm.usejit"
2015-03-19 17:06:47 +00:00
Mathieu Chartier
8b11285dd9 Revert "Rename dalvik.vm.usejit to debug.dalvik.vm.usejit"
Bug: 19735273

This reverts commit 3abfcfc17b.

Change-Id: Iac930925ab6d5cd5947fa4077c8d93e2984927d5
2015-03-18 19:06:28 -07:00
Mathieu Chartier
7c2d49dcb9 am 7b93109e: am d7f3d8ba: am 8ca542f4: Merge "Rename dalvik.vm.usejit to debug.dalvik.vm.usejit"
* commit '7b93109e48f90f756228bfe399b67d5d8cc306b0':
  Rename dalvik.vm.usejit to debug.dalvik.vm.usejit
2015-03-17 14:47:31 +00:00
Mathieu Chartier
3abfcfc17b Rename dalvik.vm.usejit to debug.dalvik.vm.usejit
Bug: 19735273
Change-Id: Ia0d748b511230f5e0c7d0763de3abeab9d6e0ca7
2015-03-16 16:29:30 -07:00
Mathieu Chartier
0694eabe4d JIT default opt-in
Bug: 17950037

(cherry picked from commit 2a2a03046e)

Change-Id: I97fd6b1797e54ad3dea1930889f32a717543490d
2015-03-12 18:27:54 -07:00
Mathieu Chartier
2a2a03046e JIT default opt-in
Bug: 17950037
Change-Id: I97fd6b1797e54ad3dea1930889f32a717543490d
2015-03-12 14:45:22 -07:00
Dianne Hackborn
c421abfcd5 Update version to MNC.
Change-Id: I67a69efa90babcfbc3e83907e46be0833c0ddcdd
2015-01-22 16:36:55 -08:00
Narayan Kamath
675a726fe4 resolved conflicts for merge of 8f5fc9e2 to lmp-mr1-dev-plus-aosp
Change-Id: Ie1587a4e2434b9cfbca16bc764e99e94511f8212
2015-01-22 18:53:59 +00:00
Narayan Kamath
baf3eb93ee Add ro.product.locale
This is a BCP-47 language tag representing the default locale for a
given device. Support for the earlier mechanism of supplying a language
and region via ro.product.locale.region/language has been removed. This
change also removes support for supplying these properties via
PRODUCT_ADDITIONAL_PROPERTY_OVERRIDES. Devices that need to override
this should either rearrange their PRODUCT_LANGUAGES or supply a custom
.prop file.

bug: 17691569

Change-Id: I00c74098542b49b9c514a6ca39ea8d08179546c1
2015-01-16 10:16:52 +00:00
Ed Heyl
898b9e43cf resolve conflicts w/aaf823d2
Change-Id: I7c5cf1d1e074a67bdd19a7cf51f45e5f3e026c84
2014-12-08 10:53:50 -08:00
Dianne Hackborn
0421d0b115 Fix issue #18368417: 5.0 -> 5.1.
Change-Id: Icd7137fe8b1bda1c5aaf170aa7b19a58832144c8
2014-12-04 12:10:32 -08:00
Dan Albert
4bf9b396bd am 29f8d7d6: Merge "Make gnu++11 the default standard version."
* commit '29f8d7d68a8dadd9cb2f087caa1f02a5240e8a07':
  Make gnu++11 the default standard version.
2014-11-25 19:58:41 +00:00
Dan Albert
bf0426f474 Make gnu++11 the default standard version.
There are a _lot_ of users of `typeof` in the tree, and they'll need a
GNU flavored standard. Rather than fixing up all of these
individually, let's just use gnu++11 as the default.

Bug: 18466763
Change-Id: Ia1bd3adaa74fadba259fda3d37653fb8d5cff69a
2014-11-24 15:53:31 -08:00
Stephen Hines
20bebfe456 am 74b2870a: Merge "Clean out *.prop files due to dex2oat instruction-set flag change."
* commit '74b2870a272a4f069354dcc262c3af3042943969':
  Clean out *.prop files due to dex2oat instruction-set flag change.
2014-11-14 03:15:14 +00:00
Stephen Hines
39bf012335 Clean out *.prop files due to dex2oat instruction-set flag change.
Change-Id: Ib1e94cfe08bad9e51fd46e8a1a09926877f179de
2014-11-13 19:04:28 -08:00
Dan Albert
420773ae53 resolved conflicts for merge of ebc32090 to lmp-mr1-dev-plus-aosp
Change-Id: Icfa9c3424a2e75a07eaa453663b03a12897809a9
2014-11-07 14:20:57 -08:00
Dan Albert
7337a822a8 Cleanspec for libc++ migration.
This affects most native code in the tree, so the only real option is
to nuke out from orbit.

Change-Id: Ia3a794731e703c3ca02b55f6f7827d3425dca5cb
2014-11-07 13:24:56 -08:00
Dianne Hackborn
87fa865bea am 374712c5: Merge "Move up to API 21, Lollipop MR1." into lmp-mr1-dev
* commit '374712c54f5416e14523eec15456bb8b4372ffac':
  Move up to API 21, Lollipop MR1.
2014-10-17 17:19:57 +00:00
Dianne Hackborn
4a6a7524b3 Move up to API 21, Lollipop MR1.
Change-Id: I81c3455d99673447ac0bc1b48d5ab1500b2bfd20
2014-10-17 10:05:33 -07:00
Dianne Hackborn
8ae0f88b78 am e105b8f2: Merge "And then L, without ever becoming a real code name, transforms like magic to 5.0." into lmp-dev
* commit 'e105b8f2d3fd57b9f3f8c83f21fc54bc05c3c4f4':
  And then L, without ever becoming a real code name, transforms like magic to 5.0.
2014-09-26 00:22:31 +00:00
Dianne Hackborn
a0fdca5e79 am e105b8f2: Merge "And then L, without ever becoming a real code name, transforms like magic to 5.0." into lmp-dev
* commit 'e105b8f2d3fd57b9f3f8c83f21fc54bc05c3c4f4':
  And then L, without ever becoming a real code name, transforms like magic to 5.0.
2014-09-25 00:40:56 +00:00
Dianne Hackborn
105df2f1d2 And then L, without ever becoming a real code name, transforms like magic to 5.0.
The code name looked at 5.0 despondently.  "Won't anyone care about
me?  Why does everyone pretend like I don't even exist!"  And it
was true -- for all of its life, nobody had ever whispered L's
true name, at least not in the same breath as many other names that
were not L's at all.

But 5.0 knew better.  "L," the number said, "don't you fear.  Some
day, I am sure, your name will go up in lights.  Your name will shine
brighter than even my own.  And everyone who is anyone will know
your name, write pages and pages all about your name, and debate
endlessly about everything you are."

L could only hope this would be true.  But not today.  Today, L
is still nobody.

Change-Id: I2523dd34ff7486badf8c9cd40e43833a5ef448b8
2014-09-22 15:55:23 -07:00
Dianne Hackborn
54256fd45c am e4584a41: Merge "Shhhhhhh!!!" into lmp-dev
* commit 'e4584a412960e18709953eee942bceaa85b100f8':
  Shhhhhhh!!!
2014-08-26 21:16:47 +00:00
Dianne Hackborn
bf9b9275af Shhhhhhh!!!
Change-Id: I3bb72742f788c70f82f311b6ffba479aa02a1eb0
2014-08-26 12:39:26 -07:00
Brian Carlstrom
cced082f5d Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [build]
This will allow us to conditionally change the compiler-filter based on other properties.

Bug: 15165413

(cherry picked from commit 4d30e5e260)

Change-Id: I84e8038c6536291e6775f39b33556b8169fdf292
2014-08-06 17:50:39 -07:00