1. 02 Mar, 2016 1 commit
  2. 12 Nov, 2015 1 commit
    • Dan Albert's avatar
      Allow globally disabling the relocation packer. · 52831d11
      Dan Albert authored
      The relocation packer is part of prebuilts/misc, and pulling that
      repository into the manifest requires pulling in a lot of other things
      not needed by the simpler builds (like the clang toolchain manifest).
      
      Bug: http://b/17441393
      Change-Id: If4a94804fc1a3f81215b840247f8e332d0b510c1
      52831d11
  3. 26 Sep, 2015 1 commit
    • Steve Fung's avatar
      Package breakpad symbols in target files zip · dfbab49b
      Steve Fung authored
      When BREAKPAD_GENERATE_SYMBOLS is set to true, package the breakpad
      symbols into the target files zip thats generated with `make dist`.
      
      Bug: 24165970
      Change-Id: I11c0d9a9d9e159475bfdb7bc338f9e9ac60aeada
      dfbab49b
  4. 24 Sep, 2015 1 commit
    • Steve Fung's avatar
      Generate breakpad symbols · cb2e67fd
      Steve Fung authored
      When BREAKPAD_GENERATE_SYMBOLS is set to true, generate breakpad
      symbols for binaries.
      
      Bug: 23900817
      Change-Id: I7b992d819350f4f80df5868d16f13016502dfca0
      cb2e67fd
  5. 07 May, 2015 2 commits
  6. 04 May, 2015 2 commits
  7. 23 Apr, 2015 2 commits
  8. 22 Apr, 2015 1 commit
  9. 20 Apr, 2015 1 commit
  10. 13 Mar, 2015 1 commit
    • Ying Wang's avatar
      Strip prebuilt shared library by default. · c1729f36
      Ying Wang authored
      Strip prebuilt shared library but not try adding gnu debuglink.
      It would fail if you try run the adding gnu debuglink command if a
      prebuilt is already stripped.
      
      Bug: 17177288
      Change-Id: If5811865715c2437e45fbd329983ef1212ef0109
      (cherry picked from commit bfb52a2e)
      c1729f36
  11. 18 Dec, 2014 1 commit
    • Ying Wang's avatar
      Fix using variable intermediates.COMMON before defining. · 98ae7985
      Ying Wang authored
      In commit e9dd9f2b we moved "include $(BUILD_SYSTEM)/android_manifest.mk"
      forward before the variable intermediates.COMMON gets defined. That's a
      mistake.
      This change replaced the tentative variables
      package_expected_intermediates_COMMON and guessed_intermediates with
      their proper counterparts defined in base_rules.mk.
      If their values differ in the two file, that's an error and we should
      fix.
      
      Bug: 18168693
      Change-Id: I2bf17b0476b4a7f97810fbb0bde7630eb8878b53
      98ae7985
  12. 03 Sep, 2014 1 commit
    • Ying Wang's avatar
      Strip prebuilt shared library by default. · bfb52a2e
      Ying Wang authored
      Strip prebuilt shared library but not try adding gnu debuglink.
      It would fail if you try run the adding gnu debuglink command if a
      prebuilt is already stripped.
      
      Bug: 17177288
      Change-Id: If5811865715c2437e45fbd329983ef1212ef0109
      bfb52a2e
  13. 10 Aug, 2014 1 commit
    • Ying Wang's avatar
      Allow to strip everything for only some build variants. · d8c5ca9e
      Ying Wang authored
      When LOCAL_STRIP_MODULE is keep_symbols, you can still use
      STRIP_EVERYTHING_BUILD_VARIANTS in product configuration to strip
      everything for some build variants, such as user build to save image
      space.
      
      Bug: 16897368
      Change-Id: I2a1b7204e5c976387ddea8846c82e11a7b478d8d
      d8c5ca9e
  14. 21 May, 2014 1 commit
    • Ying Wang's avatar
      Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build · 966c1e0c
      Ying Wang authored
      We already support pure 32-bit and 64-bit-by-default multilib build.
      With HOST_PREFER_32_BIT we can build 32-bit-by-default multilib build.
      This will be lest disruptive during the period we transition to
      64-bit-by-default.
      
      Bug: 13751317
      Change-Id: I0d56ce4abbe4afeaacfd70d709f6a349791c0722
      966c1e0c
  15. 14 May, 2014 1 commit
    • Ying Wang's avatar
      Support host multilib build · 6feb6d56
      Ying Wang authored
      This change basically ported our target multilib to the host side.
      It supports 2 host build modes: x86 and x86_64 multilib build.
      For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64
      multilib build. Later we'll default to x86_64 build and have a flag
      to force 32-bit only build, which may be needed by SDK build.
      
      In host module definition, like in target ones, you can use the
      following
      LOCAL variables to set up multilib configuration:
      LOCAL_MULTILIB: can be "both", "first", "32" or "64".
      It also supports the same set of arch or 32-vs-64 specific LOCAL
      variables.
      By default, it builds only for the first arch.
      
      To keep path compatibility, in x86_64 build files are still output to
      out/host/linux-x86; Both 32-bit and 64-bit executables are in
      out/host/linux-86/bin;
      In x86_64 build 32-bit shared libraries are installed to
      out/host/linux-x86/lib32
      and 64-bit shared libraries are installed to out/host/linux-x86/lib;
      32-bit object files are output to out/host/linux-x86/obj32 and 64-bit
      object files
      are output to out/host/linux-x86/obj.
      
      Bug: 13751317
      Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
      6feb6d56
  16. 25 Mar, 2014 1 commit
    • Colin Cross's avatar
      add support for LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64 · 5a9db90e
      Colin Cross authored
      Some executables will need to be built for both 32-bit and 64-bit.
      For linker/linker64, debuggerd/debuggerd64, and a few more, they
      will be installed in the same path (/system/bin), but with different
      filenames.  Allow the module to specify LOCAL_MODULE_STEM_32 and
      LOCAL_MODULE_STEM_64 to name the two versions.
      
      Change-Id: I573e8678c7332245a064f31246be0a05f0a9e25f
      5a9db90e
  17. 19 Mar, 2014 1 commit
    • Christopher Ferris's avatar
      Add a method to leave the symbol table in a library. · a6e2f932
      Christopher Ferris authored
      When LOCAL_STRIP_MODULE := keep_symbols is set, then the normal strip rules
      will be modified so that only the .debug_* sections are removed. The original
      symbol table is left alone.
      
      This allows the compilation of certain libraries so that libbacktrace library
      can provide meaningful names to functions.
      
      Bug: 12958251
      Change-Id: I82bdc304a463012e29086325ccb51163464cb4a9
      a6e2f932
  18. 16 Mar, 2014 1 commit
  19. 24 Jan, 2014 3 commits
    • Ying Wang's avatar
      Support arch-specific LOCAL_ variables · b8e01854
      Ying Wang authored
      With those variables, you can set up different values for TARGET_ARCH
      and TARGET_2ND_ARCH.
      Also fixed a couple of variables.
      
      Bug: 11654773
      Change-Id: I4c7684a562cd5877d18f67d4f848b8df07d0103b
      
      Conflicts:
      	core/base_rules.mk
      b8e01854
    • Ying Wang's avatar
      Set up rules to build shared libraries for TARGET_2ND_ARCH · 4d2cc665
      Ying Wang authored
      The rules for the 2nd arch are set up in the second inclusion
      of shared_library_internal.mk.
      Intermediate fils of libfoo of the 2nd arch will be built into
      $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/SHARED_LIBRARIES/libfoo_intermediates/
      and the built libfoo.so will be in
      $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/lib.
      
      Bug: 11654773
      Change-Id: I58bbe5a05a65f63bce6279131552f3792000716e
      4d2cc665
    • Ying Wang's avatar
      Load compiler environment for a second arch. · 1d274d26
      Ying Wang authored
      This is the first step to build 32-bit libraries in a 64-bit product.
      It will work like this:
      1) In the product's BoardConfig.mk, define:
      TARGET_2ND_ARCH, TARGET_2ND_ARCH_VARIANT, TARGET_2ND_CPU_VARIANT.
      The build system uses those variables to set up an additional compiler
      environment for the second arch.
      
      2) When parsing Android.mks, the build system sets up rules to build a
      module for both the 1st arch and the 2nd arch, unless it's explicitly
      asked to skip so.
      Android.mk will be adapted if there is additional rule of generating
      source files.
      The build system will accept arch-specific LOCAL_ variables, such as
      LOCAL_CFLAGS_arm, LOCAL_CFLAGS_armv7-a-neon, LOCAL_CFLAGS_cortex-a15,
      LOCAL_CFLAGS_aarch64 etc. Modules use such variables to set up build for
      various archs at the same time.
      
      3) Install binary of the 2nd arch by adding "<module_name>:32" to
      PRODUCT_PACKAGES. All 2nd-arch libraries linked in by "<module_name>:32"
      will be installed automatically.
      
      Bug: 11654773
      Change-Id: I2df63cd5463a07bf5358bee2a109f8fb9590fe30
      
      Conflicts:
      	core/combo/TARGET_linux-arm.mk
      1d274d26
  20. 23 Jan, 2014 1 commit
    • Ying Wang's avatar
      Support arch-specific LOCAL_ variables · e3d06792
      Ying Wang authored
      With those variables, you can set up different values for TARGET_ARCH
      and TARGET_2ND_ARCH.
      Also fixed a couple of variables.
      
      Bug: 11654773
      Change-Id: I4c7684a562cd5877d18f67d4f848b8df07d0103b
      e3d06792
  21. 16 Jan, 2014 2 commits
    • Ying Wang's avatar
      Set up rules to build shared libraries for TARGET_2ND_ARCH · 791fa6a9
      Ying Wang authored
      The rules for the 2nd arch are set up in the second inclusion
      of shared_library_internal.mk.
      Intermediate fils of libfoo of the 2nd arch will be built into
      $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/SHARED_LIBRARIES/libfoo_intermediates/
      and the built libfoo.so will be in
      $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/lib.
      
      Bug: 11654773
      Change-Id: I58bbe5a05a65f63bce6279131552f3792000716e
      791fa6a9
    • Ying Wang's avatar
      Load compiler environment for a second arch. · e1d44c3b
      Ying Wang authored
      This is the first step to build 32-bit libraries in a 64-bit product.
      It will work like this:
      1) In the product's BoardConfig.mk, define:
      TARGET_2ND_ARCH, TARGET_2ND_ARCH_VARIANT, TARGET_2ND_CPU_VARIANT.
      The build system uses those variables to set up an additional compiler
      environment for the second arch.
      
      2) When parsing Android.mks, the build system sets up rules to build a
      module for both the 1st arch and the 2nd arch, unless it's explicitly
      asked to skip so.
      Android.mk will be adapted if there is additional rule of generating
      source files.
      The build system will accept arch-specific LOCAL_ variables, such as
      LOCAL_CFLAGS_arm, LOCAL_CFLAGS_armv7-a-neon, LOCAL_CFLAGS_cortex-a15,
      LOCAL_CFLAGS_aarch64 etc. Modules use such variables to set up build for
      various archs at the same time.
      
      3) Install binary of the 2nd arch by adding "<module_name>:32" to
      PRODUCT_PACKAGES. All 2nd-arch libraries linked in by "<module_name>:32"
      will be installed automatically.
      
      Bug: 11654773
      Change-Id: I2df63cd5463a07bf5358bee2a109f8fb9590fe30
      e1d44c3b
  22. 18 Dec, 2013 1 commit
  23. 14 Nov, 2013 1 commit
  24. 25 Sep, 2013 1 commit
    • Ying Wang's avatar
      Allow module to specify LOCAL_INSTALLED_MODULE_STEM · 2408479c
      Ying Wang authored
      With this change, you can install a shared library with module name foo
      as bar.so to the system.img with:
      LOCAL_INSTALLED_MODULE_STEM := bar.so
      Note that we in general still disallow a static/shared library to
      specify LOCAL_MODULE_STEM or LOCAL_BUILT_MODULE_STEM, because the build
      system uses LOCAL_MODULE to compute build time dependencies, such as
      export_includes, the -l linker flag etc.
      Also, if you use LOCAL_INSTALLED_MODULE_STEM to change the installed
      file name and if any other module links against this library, you may
      run into runtime error: the library name baked in to the binary is not
      the same as file name in the system image.
      
      Change-Id: I55b571c8139c3bda07a4a0e50cea0f20d8d6c168
      2408479c
  25. 24 Sep, 2013 1 commit
    • Ying Wang's avatar
      Allow module to specify LOCAL_INSTALLED_MODULE_STEM · feb75860
      Ying Wang authored
      With this change, you can install a shared library with module name foo
      as bar.so to the system.img with:
      LOCAL_INSTALLED_MODULE_STEM := bar.so
      Note that we in general still disallow a static/shared library to
      specify LOCAL_MODULE_STEM or LOCAL_BUILT_MODULE_STEM, because the build
      system uses LOCAL_MODULE to compute build time dependencies, such as
      export_includes, the -l linker flag etc.
      Also, if you use LOCAL_INSTALLED_MODULE_STEM to change the installed
      file name and if any other module links against this library, you may
      run into runtime error: the library name baked in to the binary is not
      the same as file name in the system image.
      
      Change-Id: I55b571c8139c3bda07a4a0e50cea0f20d8d6c168
      feb75860
  26. 28 Jan, 2013 1 commit
  27. 07 Jul, 2011 1 commit
  28. 14 Mar, 2011 1 commit
  29. 12 Mar, 2011 1 commit
    • Iliyan Malchev's avatar
      build: remove prelinker build build system · b375e71d
      Iliyan Malchev authored
      This patch removes support for prelinking from the build system.  By now, the
      prelinker has outlived its usefulness for several reasons.  Firstly, the
      speedup that it afforded in the early days of Android is now nullified by the
      speed of hardware, as well as by the presence of Zygote.  Secondly, the space
      savings that come with prelinking (measued at 17MB on a recent honeycomb
      stingray build) are no longer important either.  Thirdly, prelinking reduces
      the effectiveness of Address-Space-Layout Randomization.  Finally, since it is
      not part of the gcc suite, the prelinker needs to be maintained separately.
      
      The patch deletes apriori, soslim, lsd, isprelinked, and iself from the source
      tree.  It also removes the prelink map.
      
      LOCAL_PRELINK_MODULE becomes a no-op.  Individual Android.mk will get cleaned
      separately.  Support for prelinking will have to be removed from the recovery
      code and from the dynamic loader as well.
      
      Change-Id: I5839c9c25f7772d5183eedfe20ab924f2a7cd411
      b375e71d
  30. 16 Feb, 2011 1 commit
    • Jeff Brown's avatar
      Build system tweaks for Valgrind. · bd528a82
      Jeff Brown authored
      Added LOCAL_NO_CRT to enable building executables that do not link
      to the C runtime library.
      
      Removed support for LOCAL_MODULE_SUBDIR since it was broken
      and unused.  (Was going to use it but ended up using LOCAL_MODULE_PATH
      instead.)
      
      Change-Id: Ifed4ffe17003d90370c711ea6606e2b75e841dee
      bd528a82
  31. 09 Feb, 2011 1 commit
    • Jeff Brown's avatar
      Build system tweaks for Valgrind. · 703e7c6d
      Jeff Brown authored
      Added LOCAL_NO_CRT to enable building executables that do not link
      to the C runtime library.
      
      Removed support for LOCAL_MODULE_SUBDIR since it was broken
      and unused.  (Was going to use it but ended up using LOCAL_MODULE_PATH
      instead.)
      
      Change-Id: I3b6f5ab7e5ae6aaa7119899adccece2b4ab1cbb3
      703e7c6d
  32. 07 Sep, 2010 1 commit
  33. 03 Sep, 2010 1 commit
  34. 09 Jul, 2010 1 commit