Commit Graph

16892 Commits

Author SHA1 Message Date
Roshan Pius ac25dd3cb2 Merge "soong: Support system_server jars from apexes" 2019-11-23 03:09:35 +00:00
Evgenii Stepanov 64bee4decf Add -instcombine-lower-dbg-declare to hwasan flags.
This is a workaround to improve hwasan reports involving stack
variables.

Bug: 112437883
Test: SANITIZE_TARGET=hwaddress, build and boot

Change-Id: I21ea2fdd2d1f04e2bb9b9847785c00a951030c74
2019-11-22 18:40:07 -08:00
Colin Cross 7de9de871c Merge "Add GlobWithDeps to MakeVarsContext"
am: 3ea15b5a72

Change-Id: Ia5fd8513ec766fc936e9329ee25dc8da05ea0b88
2019-11-22 16:40:25 -08:00
Colin Cross 3ea15b5a72 Merge "Add GlobWithDeps to MakeVarsContext" 2019-11-23 00:29:12 +00:00
Roland Levillain 43fb1ffd94 Merge "Fix a typo in a comment in `android/module.go`."
am: 3351b33595

Change-Id: Ic85197ec7234fb532dbe06bbcfd78926e7ad8729
2019-11-22 13:48:00 -08:00
Roland Levillain 3351b33595 Merge "Fix a typo in a comment in `android/module.go`." 2019-11-22 21:13:43 +00:00
Paul Duffin 9154718303 Adds droidstubs support to sdk module
Adds stubs_sources property to sdk and unzips the droidstubs srcjar
into the snapshot directory.

Adds an UnzipToSnapshot method to the SnapshotBuilder which creates
a rule that uses zip2zip to repackage the supplied zip content into a
temporary zip file that matches what the required snapshot structure.
e.g. if the supplied zip contains foo/Foo.java and that needs to be in
the snapshot directory java/foo/stubs then it will create a zip that
contains java/foo/stubs/foo/Foo.java.

The temporary zip that is the output of that rule is added to the
zipsToMerge field for merging later.

If the zipsToMerge is empty then the snapshot zip is created as
before. Otherwise, a temporary zip file is created. That is then
merged with the other zip files in zipsToMerge to create the final
snapshot zip.

Adds prebuilt_stubs_sources for use by the generated .bp module.

Bug: 143678475
Test: added conscrypt sdk module and attempted to build it
Change-Id: Ie274263af3a08e36a73c61c0dbf0c341fd6967e2
2019-11-22 20:52:59 +00:00
Roshan Pius 9b51a4078a soong: Support system_server jars from apexes
Allow system_server jars delivered via apex. Regular system_server
jars are located in /system/framework folder. But, jars delivered via
apex are mounted at /apex/<module_name>/javalib.

Bug: 144722612
Bug: 141785760
Test: Compiles
Change-Id: Ia40bb91d2e05b2601a52eac28a985fe2d8da3481
2019-11-22 12:47:11 -08:00
Colin Cross 2d42ef51d2 Merge "Make fuzz rules reproducible"
am: 87847f7280

Change-Id: I9c12e9f0a3a12f0ea8f2847a7dfd9f2948ba95aa
2019-11-22 12:03:08 -08:00
Treehugger Robot 87847f7280 Merge "Make fuzz rules reproducible" 2019-11-22 19:09:42 +00:00
Paul Duffin 504b46160f Simplify building an SDK snapshot from the command line
Adds a phony target for each sdk module that builds the snapshot zip.

Test: built an sdk module from command line and checked the zip was created.
Bug: 143678475
Change-Id: I4599332443b8da9adea0a16f00f569ffbd421602
2019-11-22 14:52:29 +00:00
Roland Levillain 97c1f34067 Fix a typo in a comment in `android/module.go`.
Test: m
Change-Id: I1ea4e3ba70fc5f9e919495442ff94ab1e3b1fce2
2019-11-22 14:20:54 +00:00
Kyeongkab.Nam c49971469f Fix incorrect install path for priv-app prebuilt
Dexpreopted files for privleged app prebuilt(android_app_import) are
installed wrongly to /system/app.
To fix this issue, install path is changed to /system/priv-app
in the case that "privileged" flag is true.

Bug: 144945646
Test: build and check dexpreopted files of privileged app are
      installed to /system/priv-app

Change-Id: Iec140119f58179a3eb0feeff7af2699fcc855fe7
2019-11-22 13:36:21 +09:00
Jiyong Park 739e955b33 Merge changes I7642c57b,I2120b40e
am: 126c57b52d

Change-Id: Ie20dadc5c30ac3d519b9b65c22d32aae0a70f82c
2019-11-21 18:59:55 -08:00
Treehugger Robot 126c57b52d Merge changes I7642c57b,I2120b40e
* changes:
  apex uses the first arch variant of prebuilt_etc modules
  sh_binary prefer 32bit when TARGET_PREFER_32_BIT
2019-11-22 02:53:04 +00:00
Ivan Lozano 182163c499 Merge "Change stdlib linkage for C libraries."
am: bdebb171cc

Change-Id: Ib4d560623f4519cc66c8d7d71c954dfc02efc105
2019-11-21 18:44:59 -08:00
Ivan Lozano 239c81f2e0 Merge "Allow cc.LinkabeInterfaces to request "" variants."
am: 3bc70db398

Change-Id: I5ca3b585689be50367b792d1085946ab7cd69952
2019-11-21 18:44:43 -08:00
Jiyong Park e3dfb51c8c Merge "symbols in stub library isn't affected by -fvisibility=hidden"
am: 66278b6224

Change-Id: I45d66cc2e8eeec41c85b4973abbd67550aa2edbe
2019-11-21 18:38:27 -08:00
Ivan Lozano bdebb171cc Merge "Change stdlib linkage for C libraries." 2019-11-22 01:49:07 +00:00
Ivan Lozano 3bc70db398 Merge "Allow cc.LinkabeInterfaces to request "" variants." 2019-11-22 00:24:23 +00:00
Treehugger Robot 66278b6224 Merge "symbols in stub library isn't affected by -fvisibility=hidden" 2019-11-22 00:22:48 +00:00
Jaewoong Jung 41afdba365 Merge "Fix test app and helper installation dirs."
am: a21e9ddcf8

Change-Id: I9c318eb6cd6e67e9ef6788e7dce18bb4406bcf64
2019-11-21 15:26:24 -08:00
Treehugger Robot a21e9ddcf8 Merge "Fix test app and helper installation dirs." 2019-11-21 23:20:16 +00:00
Ivan Lozano 88f2b1ce53 Change stdlib linkage for C libraries.
Rust C libraries cannot currently depend on dylibs. This prevents device
libraries from attempting to link the stdlib dynamically, instead using
rlibs.

Bug: 144861059
Test: Simple Rust library compiles as a shared/static library.
Change-Id: I38e5aae90e50ddcc5fc72d5a8d1820d92955cf48
2019-11-21 14:45:33 -08:00
Ivan Lozano 2b26297dc7 Allow cc.LinkabeInterfaces to request "" variants.
cc.LinkableInterfaces should be able to request if an empty variant is
required from the LinkageMutator. We were previously assuming that if only
static or shared libraries were being built, then we didn't need the
empty variant. However this should be explicit to handle cases where the
default set of variants being created may not include both static and
shared libraries.

Bug: 144861059
Test: m -j crosvm.experimental
Change-Id: I66724bdc16ff350b06dfa4d049c82f33019979a5
2019-11-21 13:25:08 -08:00
Colin Cross dc809f9bc5 Make fuzz rules reproducible
Use lists instead of maps to make the order and contents of fuzz
packaging rules reproducible.

Test: m nothing; touch Android.bp; m nothing
Change-Id: Id11323f7528e594370c391bfe82eb7367bc1bcd5
2019-11-21 11:03:23 -08:00
Jaewoong Jung 326a9417ce Fix test app and helper installation dirs.
Fixes: 143902486
Test: app_test.go + m CtsIsolatedSplitApp
Change-Id: I3e1b8bf14cb9f440a6d8b0d2ac65525f00470cb8
2019-11-21 10:41:00 -08:00
Ivan Lozano 7f49786061 Merge "Add rust default compilation flags."
am: 0aa51a018b

Change-Id: I58403dc3f0d84919180c33f860ddf6cfa4f29b25
2019-11-21 10:15:33 -08:00
Ivan Lozano 0aa51a018b Merge "Add rust default compilation flags." 2019-11-21 17:45:45 +00:00
Martin Stjernholm 6be9b91b79 Merge "Reland "Recognize libdl_android as a Bionic library"."
am: d0738b3608

Change-Id: I16d4c30e5730f631450479f187087cfba6d3e513
2019-11-21 08:29:49 -08:00
Martin Stjernholm d0738b3608 Merge "Reland "Recognize libdl_android as a Bionic library"." 2019-11-21 16:17:42 +00:00
Jooyung Han 54aca7b3f3 Make 'file_contexts' prop as `android:"path"`
For platform APEXes, file_contexts should point a file under
/system/sepolicy.

Bug: 144732805
Test: m
Change-Id: Ib2d5db715bbebc80a6178d1c42e387b268cc4a0d
2019-11-21 22:05:06 +09:00
Jiyong Park ce6aadc410 apex uses the first arch variant of prebuilt_etc modules
prebult_etc module type does not respect prefer32, i.e. its primary arch
is 64-bit on 64/32-bit device even when built with TARGET_PREFER_32_BIT
is true. However, the apex module type respects prefer32 and therefore
when TARGET_PREFER_32_BIT is true its primary arch becomes 32-bit. Then
the problem is that the apex tries to depend on 32-bit variant of the
prebuilt_etc modules which don't exist.

Fixing the problem by force using the first arch of the device when
adding dependencies to prebuilt_etc modules.

Bug: 144532908
Test: choosecombo 1 aosp_arm64 userdebug; TARGET_PREFER_32_BIT=true m;
Change-Id: I7642c57b05a837495587bbe4d3589d8549607862
2019-11-21 16:16:40 +09:00
Jiyong Park 48d75efa6f symbols in stub library isn't affected by -fvisibility=hidden
Fixing the bug that -fvisibility=hidden in a cc_library is used even
when compiling stub.c file where the symbols shouldn't be hidden.

Bug: 144781653
Test: add folowing to libEGL and build
+    stubs: {
+        symbol_file: "libEGL.map.txt",
+        versions: ["29"],
+    },

Change-Id: Iab70f36a4fb98737fc35827dbc9e1ca1a99d4354
2019-11-21 15:11:49 +09:00
Colin Cross 7228ecd5e3 Move cc.imageMutator into the android package
Prepare for making the image mutator available to all modules and
moving it between the os and arch mutators by moving it into the
android package and using an interface implemented by the module
types to control it.

Bug: 142286466
Test: No unexpected changes to out/soong/build.ninja
Change-Id: I0dcc9c7b5ec80edffade340c367f6ae4da34151b
2019-11-20 15:21:32 -08:00
Ivan Lozano 31b095d071 Add rust default compilation flags.
Bug: 140725928
Test: m -j crosvm.experimental
Change-Id: I1674f099659957f024cce70341a6a69610118a69
2019-11-20 10:14:33 -08:00
Artur Satayev 352df50c64 Merge "Pass hiddenapi-greylist-max-q.txt to greylist generator."
am: b2e729d14c

Change-Id: I5d5120e0ff0d4985f6da0782317502deb58253de
2019-11-20 10:04:18 -08:00
Treehugger Robot b2e729d14c Merge "Pass hiddenapi-greylist-max-q.txt to greylist generator." 2019-11-20 17:51:55 +00:00
Jiyong Park 4bdd38a1e5 Add override_apex module type
am: 5d790c3dda

Change-Id: Ie6fbcb51bf027a71af8862efc596eee3f3cca984
2019-11-20 05:15:59 -08:00
Artur Satayev c5b4f99104 Pass hiddenapi-greylist-max-q.txt to greylist generator.
Bug: 137350495
Test: m, manual inspection of out/soong/hiddenapi/hiddenapi-flags.csv
Change-Id: I67227307ec08ab56a385980eceacaab1b985eb49
Merged-In: I67227307ec08ab56a385980eceacaab1b985eb49
2019-11-20 10:46:16 +00:00
Colin Cross 43b92e0d0f Make CreateVariations return []android.Module
Test: soong tests
Change-Id: I9bc40642c4902392eb8193bf73e32b7f1c18c14e
2019-11-19 10:33:08 -08:00
Martin Stjernholm 203489b321 Reland "Recognize libdl_android as a Bionic library".
Necessary to create the symlinks from /system/lib{,64} to the Runtime APEX.

Test: build & boot
Bug: 135753770
Bug: 144343305
Change-Id: I221bed87a85f18c927ba44ee75b7db75316c1f49
2019-11-19 16:35:47 +00:00
Jiyong Park 5d790c3dda Add override_apex module type
override_apex module type is used to override existing apex module with
certain properties overridden. Currently, only the 'apps' property is
overridable.

Bug: 144338929
Test: m
Change-Id: Ic050b062093cda29ce78126cc92dd6097647f7db
2019-11-19 16:49:36 +09:00
Jiyong Park 6ac3cac7d1 sh_binary prefer 32bit when TARGET_PREFER_32_BIT
The module type can be referenced in the 'binaries' property of an
APEX, where it is expected that the binary modules prefer 32bit arch
when the build is configured with TARGET_PREFER_32_BIT. Satisfying the
expectation by allowing the module types to use 32bit arch in the
case.

Bug: 144532908
Test: choosecombo 1 aosp_arm64 userdebug; TARGET_PREFER_32_BIT=true m;
Change-Id: I2120b40e3230aa695b4c38b850c1ea32e46cbbfb
2019-11-19 13:45:18 +09:00
Jiyong Park 15e53ff2fe Merge "split apex.go"
am: c6e9f92cfa

Change-Id: I6631f9ca3d9a608620d140d5463983d0f729a771
2019-11-18 16:40:36 -08:00
Treehugger Robot c6e9f92cfa Merge "split apex.go" 2019-11-19 00:34:26 +00:00
Dan Willemsen f7d7ed73e7 Merge "Remove BASH_ENV from the build environment"
am: 0398cd2af4

Change-Id: Ie98ff941fab0a346101b49aebfe17ff037d087c2
2019-11-18 15:43:10 -08:00
Treehugger Robot 0398cd2af4 Merge "Remove BASH_ENV from the build environment" 2019-11-18 23:26:18 +00:00
Colin Cross bbefebaede Merge "Add more suggestions on converting Makefile conditionals"
am: 874da80729

Change-Id: Ib39c0d2ad3ec534c07cab7c116d584c7d7501a06
2019-11-18 13:06:08 -08:00
Treehugger Robot 874da80729 Merge "Add more suggestions on converting Makefile conditionals" 2019-11-18 20:02:05 +00:00