Skip to content
  1. Jul 31, 2019
  2. Jul 30, 2019
  3. Jul 29, 2019
    • Dan Willemsen's avatar
      Remove reference to PRODUCT-* · a2a8ecb3
      Dan Willemsen authored
      The code still needs to exist, but for buildspec.mk files, not the
      PRODUCT-* arguments.
      
      Test: none
      Change-Id: I60c6044ab2d1627af7e6e2e8831b77d9db12aa55
      a2a8ecb3
    • Mathieu Chartier's avatar
      460bf6ae
    • Vic Yang's avatar
      Add sort_bss_symbols_by_size property for shared libs · 6cd1be89
      Vic Yang authored
      If sort_bss_symbols_by_size is true, a shared library is built twice.
      The first build generates an unsorted output file, which is used to
      generate the symbol ordering file.  The output of the second build is
      a shared library with its bss symbols sorted by their size.
      
      With this, the only user of symbol_ordering_file, libc, is migrated to
      use the new property, so we remove symbol_ordering_file support as well.
      
      Bug: 135754984
      Test: Build and check the resulting libc.so has its bss symbols sorted.
      Change-Id: I5c892b44d82eb99cbc070cfa2c680be3087f3364
      6cd1be89
    • Roland Levillain's avatar
      Handle `test_per_src` modules as indirect dependencies in APEXes. · f89cd094
      Roland Levillain authored
      In `apex.apexBundle.GenerateAndroidBuildActions`, we used to pass the
      "all tests" ("") module as `module` for all `apexFile` objects created
      from a test module using `test_per_src: true`.  An immediate issue of
      this situation was that the "" module is hidden from Make, which made
      all the generated `apexFile` objects hidden from Make too. This would
      break the construction of flattened APEXes, as they rely on Make logic
      to install their files.
      
      Instead of collecting `test_per_src` test variations' output files in
      `cc.Module.GenerateAndroidBuildActions` and using them in
      `apex.apexBundle.GenerateAndroidBuildActions` as part of handling the
      "" variation as a direct dependency of an `apexBundle`, process them
      as indirect dependencies (and do nothing for the "" variation direct
      dependency).
      
      Adjust the indirect dependency logic in
      `apex.apexBundle.GenerateAndroidBuildActions` to allow not only
      shared/runtime native libraries as indirect dependencies of an
      `apexBundle`, but also `test_per_src` tests.
      
      Test: m (`apex/apex_test.go` amended)
      Bug: 129534335
      Change-Id: I845e0f0dd3a98d61d0b7118c5eaf61f3e5335724
      f89cd094
    • Treehugger Robot's avatar
      Merge "Deprecate ONE_SHOT_MAKEFILE" · 1d73e5e5
      Treehugger Robot authored
      1d73e5e5
    • Jeongik Cha's avatar
      Add a rule about platform_apis · 538c0d0c
      Jeongik Cha authored
      As sdk_check.mk checks, soong starts to check every app.
      If sdk_version is empty, platform_apis must be true.
      If sdk_version is not empty, platform_apis must be false.
      
      Test: soong test
      Test: m
      Bug: 132780927
      Change-Id: I7ba702d616404d155f8ac40cd008828663ad1488
      538c0d0c
  4. Jul 26, 2019
    • Mathieu Chartier's avatar
      Specify boot image format to be lz4hc · 54fd8072
      Mathieu Chartier authored
      Reduce boot image space taken from 28803072B -> 9572352B (-20MB).
      
      No reason to have this be configurable yet.
      
      Test: ls -l $OUT/system/framework/*/apex*.art | awk '{s += $5} END {print s}'
      Bug: 77863440
      
      Change-Id: I280b740dfbd001109ce1e288e395595f21567aa6
      54fd8072
    • Sasha Smundak's avatar
      Support source code cross-referencing for C++ and Java · 2a4549ec
      Sasha Smundak authored
      Use Kythe (https://kythe.io) to build cross reference for the Android
      source code. ~generate the input for it during the build. This is done
      on demand: if XREF_CORPUS environment variable is set, build emits a
      Ninja rule to generate Kythe input for each compilation rule. It
      also emits two consolidation rules (`xref_cxx` and `xref_java`),
      that depend on all Kythe input generation rules for C++ and Java.
      
      The value of the XREF_CORPUS environment variable is recorded in the
      generated files and thus passed to Kythe. For the AOSP master branch it is
      `android.googlesource.com/platform/superproject`, so the command to build
      all input for Kythe on that branch is:
      ```
      XREF_CORPUS=android.googlesource.com/platform/superproject m xref_cxx xref_java
      ```
      
      Each Kythe input generation rule generates a single file with .kzip
      extension. Individual .kzip files have a lot of common information, so
      there will be a post-build consolidation step run to combine them.
      The consolidated .kzip file is then passed to Kythe backend.
      
      The tools to generate .kzip files are provided by Kythe (it calls them
      'extractors'). We are going to build them in toolbuilding branches
      (clang-tools and build-tools) and check them in as binaries into master
      and other PDK branches:
      For C++,  `prebuilts/clang-tools/linux-x86/bin/cxx_extractor`
      for Java, `prebuilts/build-tools/common/framework/javac_extractor.jar`
      
      Bug: 121267023
      Test: 1) When XREF_CORPUS is set, build generates Ninja rules to create
      .kzip files; 2) When XREF_CORPUS is set, building
      `xref_cxx`/`xref_java` creates .kzip files; 3) Unless XREF_CORPUS is
      set, build generates the same Ninja rules as before
      
      Change-Id: If957b35d7abc82dbfbb3665980e7c34afe7c789e
      2a4549ec
    • Treehugger Robot's avatar
    • Paul Duffin's avatar
    • Paul Duffin's avatar
      Merge changes I7b9462d3,Icadd470a,I1d459da1,I01d8f518 · 4b03cb46
      Paul Duffin authored
      * changes:
        Add defaults_visibility support
        Refactor visibility to support visibility on defaults modules
        Add DefaultsModule interface
        Improve documentation of defaults mechanism
      4b03cb46
    • Jiyong Park's avatar
      Revert "Revert "Split Java libraries per apex"" · 7f7766d5
      Jiyong Park authored
      This reverts commit f0f7ca83.
      
      Bug: 138182343
      Test: apex_test added
      Change-Id: I5c8a0935ac0f456137c8656815e220b0e7848a5d
      7f7766d5
    • Treehugger Robot's avatar
      Merge "fix: prebuilt_etc_xml" · 04b2a82b
      Treehugger Robot authored
      04b2a82b
    • Peter Collingbourne's avatar
      Specify the API level via the triple instead of __ANDROID_API__. · b0e6143b
      Peter Collingbourne authored
      Clang derives the value of __ANDROID_API__ from the triple these days. In a
      future version of clang I plan to start making the behaviour of the HWASAN pass
      dependent on the API level in the triple, so it's going to need to be accurate.
      
      Test: walleye-userdebug boots
      Change-Id: Ie5e36b5c8f6dcda084cc12b1160abbdf94765174
      b0e6143b
  5. Jul 25, 2019
    • Treehugger Robot's avatar
      Merge "Disable linux_bionic fuzzers" · 71568c7c
      Treehugger Robot authored
      71568c7c
    • Dan Willemsen's avatar
      Deprecate ONE_SHOT_MAKEFILE · c6360837
      Dan Willemsen authored
      mm is now doing the same thing as mma. Now print a deprecation message
      for other tools that may be setting ONE_SHOT_MAKEFILE directly (or users
      that are still using a very old envsetup.sh).
      
      Test: mm  # does not print
      Test: ONE_SHOT_MAKEFILE=bionic m
      Change-Id: I98221657024d824a61c0d721d5c7dd1a2ea2fb1e
      c6360837
    • Treehugger Robot's avatar
      Merge "Fixed minor typo" · e515886a
      Treehugger Robot authored
      e515886a
    • Nicolas Geoffray's avatar
      1f9f57cc
    • Paul Duffin's avatar
      Fixed minor typo · 036cacee
      Paul Duffin authored
      Bug: 138207002
      Test: m nothing
      Change-Id: Idc6bc6ae9d7e4052da0c0bde6247bff47eab60be
      036cacee
    • Treehugger Robot's avatar
      38b9f76d
    • Paul Duffin's avatar
      Correct tags on StaticSharedLibraryProperties.Cflags · 5213e2b4
      Paul Duffin authored
      Remove path as cflags are not paths.
      
      Test: m nothing
      Change-Id: Ia3f3064cb6642a67e8320ab3c472af2ad5863b52
      5213e2b4
    • Paul Duffin's avatar
      Add defaults_visibility support · 95d53b58
      Paul Duffin authored
      Bug: 130796911
      Test: m nothing
      Change-Id: I7b9462d3360be2bbeaf6ff38c5328f45ff5b5ebb
      95d53b58
    • Paul Duffin's avatar
      Refactor visibility to support visibility on defaults modules · 63c6e183
      Paul Duffin authored
      Existing modules, either general one or package ones have a single
      visibility property, called visibility in general, and
      default_visibility on package, that controls access to that module, or
      in the case of package sets the default visibility of all modules in
      that package. The property is checked and gathered during the similarly
      named phases of visibility processing.
      
      The defaults module will be different as it will have two properties.
      The first, visibility, will not affect the visibility of the module, it
      only affects the visibility of modules that 'extend' the defaults. So,
      it will need checking but not parsing. The second property,
      defaults_visibility, will affect the visibility of the module and so
      will need both checking and parsing.
      
      The current implementation does not handle those cases because:
      1) It does not differentiate between the property that affects the
         module and those that do not. It checks and gathers all of them with
         the last property gathered overriding the rules for the previous
         properties.
      
      2) It relies on overriding methods in MethodBase in order to change the
         default behavior for the package module. That works because
         packageModule embeds ModuleBase but will not work for
         DefaultsModuleBase as it does not embed ModuleBase and instead is
         embedded alongside it so attempting to override a method in
         MethodBase leads to ambiguity.
      
      This change addresses the issues as follows:
      1) It adds a new visibility() []string method to get access to the
         primary visibility rules, i.e. the ones that affect the module.
      
      2) It adds two fields, 'visibilityPropertyInfo []visibilityProperty'
         to provide information about all the properties that need checking,
         and 'primaryVisibilityProperty visibilityProperty' to specify the
         property that affects the module.
      
      The PackageFactory() and InitAndroidModule(Module) functions are
      modified to initialize the fields. The override of the
      visibilityProperties() method for packageModule is removed and the
      default implementations of visibilityProperties() and visibility()
      on ModuleBase return information from the two new fields.
      
      The InitDefaultsModule is updated to also initialize the two new
      fields. It uses nil for primaryVisibilityProperty for now but that
      will be changed to return defaults_visibility. It also uses the
      commonProperties structure created for the defaults directly instead
      of having to search for it through properties().
      
      Changed the visibilityProperty to take a pointer to the property that
      can be used to retrieve the value rather than a lambda function.
      
      Bug: 130796911
      Test: m nothing
      Change-Id: Icadd470a5f692a48ec61de02bf3dfde3e2eea2ef
      63c6e183
    • Paul Duffin's avatar
      Add DefaultsModule interface · e62432fe
      Paul Duffin authored
      Changes the InitDefaultsModule method from taking a DefaultableModule
      to taking a DefaultsModule in preparation for adding visibility support
      to defaults modules.
      
      Bug: 130796911
      Test: m nothing
      Change-Id: I1d459da1017ae7f2654e7eb275cb424e52d85730
      e62432fe
    • Paul Duffin's avatar
      Improve documentation of defaults mechanism · 7df7fb0d
      Paul Duffin authored
      Also, removes unnecessary cast from DefaultableModule to Defaultable.
      
      Bug: 130796911
      Test: m nothing
      Change-Id: I01d8f5186927215a1aa6b7431558041f427d7381
      7df7fb0d
    • Jiyong Park's avatar
      Revert "Split Java libraries per apex" · f0f7ca83
      Jiyong Park authored
      This reverts commit aa53324a.
      
      Reason for revert: b/138337109 (broke ndk build)
      
      Change-Id: I9497cb4337add3f8c491a684bcaadea3bdbfaa85
      f0f7ca83
Loading