OSDN Git Service

android-x86/build.git
7 years agoota_from_target_files: Remove device dependent arguments
Gabriele M [Tue, 10 Jan 2017 22:14:12 +0000 (23:14 +0100)]
ota_from_target_files: Remove device dependent arguments

These device-specific arguments are defined at build time and are
necessary to generate the zip correctly. Don't use command line
arguments to specify them, but write all the needed information
in misc_info.txt when the target-files zip is generated.
ota_from_target_files will then read misc_info.txt and set
everything automatically.

Change-Id: Ibdbca575b76eb07b53fccfcea52a351c7e333f91

7 years agoreleasetools: support reading release keys out of some sort of command
Tom Powell [Sat, 21 Jan 2017 04:47:49 +0000 (20:47 -0800)]
releasetools: support reading release keys out of some sort of command

key passphrases may live in some sort of secure storage, support running
an arbitrary command to retrieve them.

Change-Id: I49862cf60f1b73a2356e0c492e1038beef28a95f
(cherry picked from commit 9caf8603575aecf51761feaeac6db619be76cfd3)

7 years agoreleasetools: Add script to sign zips
Gabriele M [Wed, 11 Jan 2017 15:11:57 +0000 (16:11 +0100)]
releasetools: Add script to sign zips

Change-Id: I9cbeb6edea79a7e9bb0fc692e53497b54058d67f
(cherry picked from commit 040a8b007974c6cb56d361d6db8ba96f9b63da10)

7 years agobuild: Warn about prebuilt apk in PRODUCT_COPY_FILES
Adrian DC [Wed, 18 Jan 2017 23:41:12 +0000 (00:41 +0100)]
build: Warn about prebuilt apk in PRODUCT_COPY_FILES

 * Show a warning if an apk is found in PRODUCT_COPY_FILES

 * Partially reverts "build: Disable check
    for blocking prebuilt apk in PRODUCT_COPY_FILES"

Change-Id: I4830c4f46b1ee33d916d015b6ed02d02ecf7faa3

7 years agobuild: Disable check for blocking prebuilt apk in PRODUCT_COPY_FILES
Arne Coucheron [Tue, 17 Jan 2017 20:53:18 +0000 (21:53 +0100)]
build: Disable check for blocking prebuilt apk in PRODUCT_COPY_FILES

Sometimes we have broken packages due to newly introduced bugs, so some
people might want to be able to ship prebuilt working packages.

This will make them able to, like in all previous ROMs.

Change-Id: Ic3171ce220b04ee18ed47016a030f1d93a7ec43d

7 years agobuild sign_target_files_apks.py: clean tmp on exit
Sam Mortimer [Tue, 17 Jan 2017 20:30:20 +0000 (12:30 -0800)]
build sign_target_files_apks.py: clean tmp on exit

Currently, this script creates and leaves nearly 2GB in tmp
per run.  Clean up on exit.

Change-Id: I4247dd2508e9d27de57c611c18e70800d7a47f33
(cherry picked from commit 462425468899f264155a3413aab75a099d1bbd25)

7 years agoRevert "build: Enable custom ccache cache dir for Android"
Matt Mower [Tue, 10 Jan 2017 19:48:56 +0000 (13:48 -0600)]
Revert "build: Enable custom ccache cache dir for Android"

Developers can specify ccache parameters by sourcing a personal build
environment script before envsetup. For example:

  CMHOME=$HOME/android/cm
  export USE_CCACHE=1
  export CCACHE_DIR=$CMHOME/.ccache
  $CMHOME/prebuilts/misc/linux-x86/ccache/ccache -M50G
  # Maybe someday, currently not supported in ccache 3.1.x
  # echo "max_size = 50G" > "$CCACHE_DIR/ccache.conf"

This reverts commit d99981e6f2576d5fcce8bc5f6255407184b2de16.

Change-Id: Ic7b36a6d61269647aec022a86570cfa2068f65d7

7 years agocore: move platform-specific helper macros to target makefiles
Dan Pasanen [Sun, 8 Jan 2017 07:01:52 +0000 (01:01 -0600)]
core: move platform-specific helper macros to target makefiles

* These (qcom specifically) are now needed sooner than we had
  previously been importing them. Move to vendor/cm and include
  them within their <platform>_target.mk makefiles.

Change-Id: I06c6ab66446e2f0b54c245cf6c2cf665b649e0c9

7 years agobuild: Replace pushd with cd
Luca Stefani [Thu, 5 Jan 2017 15:30:15 +0000 (16:30 +0100)]
build: Replace pushd with cd

* For consistency

Change-Id: I96711e3be7b73ebadd589f460e5c5e90d000a4f7

7 years agoMerge tag 'android-7.1.1_r9' of https://android.googlesource.com/platform/build into...
Michael Bestas [Fri, 6 Jan 2017 23:38:09 +0000 (01:38 +0200)]
Merge tag 'android-7.1.1_r9' of https://android.googlesource.com/platform/build into cm-14.1

Android 7.1.1 release 9

7 years agoMerge tag 'android-7.1.1_r6' of https://android.googlesource.com/platform/build into...
Michael Bestas [Fri, 6 Jan 2017 23:38:00 +0000 (01:38 +0200)]
Merge tag 'android-7.1.1_r6' of https://android.googlesource.com/platform/build into cm-14.1

Android 7.1.1 release 6

7 years agolunch: Use cd - instead of popd
Luca Stefani [Sun, 1 Jan 2017 20:45:07 +0000 (21:45 +0100)]
lunch: Use cd - instead of popd

* ZSH breaks a lot of things.

Change-Id: Idee8485bee673bebf6fe5857253306b20aa92eb5

7 years agoenvsetup: Tweak nested executed commands
Matt Mower [Mon, 2 Jan 2017 08:31:27 +0000 (02:31 -0600)]
envsetup: Tweak nested executed commands

$(( causes some text editors to expect arithmetic is incoming and then
syntax highlighting is thrown off for the rest of the script due to
missing )). Include a space before the subshell command to help
distinguish the nested command.

Change-Id: I5bae8f32b3c70ac460681fcfde1df0febbe554fd

7 years agoenvsetup: Combine nested else; if into elif in check_product()
Matt Mower [Mon, 2 Jan 2017 08:24:58 +0000 (02:24 -0600)]
envsetup: Combine nested else; if into elif in check_product()

Change-Id: I2ea97b892d6e3d0beab2910ae88143b1c213608c

7 years agobuild: core: Rebrand CM_VERSION to LINEAGE_VERSION
Zhao Wei Liew [Sun, 1 Jan 2017 07:23:10 +0000 (15:23 +0800)]
build: core: Rebrand CM_VERSION to LINEAGE_VERSION

Change-Id: Ie169e28c6992b9ed474641dec2b9244eb1a3bd38

7 years agobuild: support lineage device trees
Simon Shields [Wed, 28 Dec 2016 00:31:07 +0000 (11:31 +1100)]
build: support lineage device trees

Change-Id: I087a97e31cab2ccfba16b5378cef429785baf7d0

7 years agocore: Fix build_{date,number}
Luca Stefani [Wed, 31 Aug 2016 13:12:01 +0000 (15:12 +0200)]
core: Fix build_{date,number}

Change-Id: I81e6cb0e5e191f669bb665207d71f28f3fa19581

7 years agobinary: Allow specifying a path for generated proto headers
Ricardo Cerqueira [Mon, 25 Jan 2016 16:49:27 +0000 (16:49 +0000)]
binary: Allow specifying a path for generated proto headers

protobuf compilation defaults to dropping the generated objects and
headers onto a path derived from the origin source path. This poses
a problem with some of our repositories since they're not placed in
their original paths, and may include hard references to pb headers
assuming the original directory.

Typical use of this will be to place a

LOCAL_PROTOC_OUTPUT := <original repo path>

line in the relevant module block (for example, "hardware/ril" for our
"hardware/ril-caf")

Change-Id: Ib9b0cadd47e29a0d2e693b331cfc18e71b048ee5

binary: Don't run protobuf header relocations if origin/target are the same

Change-Id: I3746746bdf1526674f345d884e2eccef85e946ef

build: Fix LOCAL_PROTOC_OUTPUT

 * This code was refactored in 7.1 adjust accordingly.
 * This is used by projects like ril-caf where the proto-c generated
   sources dir might not match the project path.

Change-Id: I7a7d0bb7a397b02deb5406a591059a877ac2c6da

7 years agocore: finish using PRIVATE_RECOVERY_OUT rather than hard-coding "RECOVERY"
Dan Pasanen [Thu, 29 Dec 2016 20:58:32 +0000 (14:58 -0600)]
core: finish using PRIVATE_RECOVERY_OUT rather than hard-coding "RECOVERY"

* This macro was added for a reason, that reason being for devices
  without a dedicated recovery partition (marlin/sailfish for example?)

* Use it

Change-Id: Ieb08d498f1e201a01557b40aac8a30df26c97673

7 years agocore: we're now lineage
Dan Pasanen [Mon, 19 Dec 2016 17:23:13 +0000 (11:23 -0600)]
core: we're now lineage

* Change necessary bits to support our project move

Change-Id: Ie6a04eec45b6eb9f6f76f29e3163abd3f95f5da6

7 years agobuild: Ensure that we can always find the CM envsetup script
Zhao Wei Liew [Wed, 21 Dec 2016 00:33:26 +0000 (08:33 +0800)]
build: Ensure that we can always find the CM envsetup script

Change-Id: Ie145a2667cd14f7e4e4622a0d8b46f1e01c0b3c3

7 years agoenvsetup: Split cached vars
Luca Stefani [Sun, 18 Dec 2016 15:57:49 +0000 (16:57 +0100)]
envsetup: Split cached vars

* Broken after ZSH v5.3

Change-Id: I99febebfa22efd702c2dea13369a9dd90f8e6120

7 years agocore: allow specifying building ramdisk(s) with lzma
Dan Pasanen [Fri, 2 Dec 2016 02:06:14 +0000 (20:06 -0600)]
core: allow specifying building ramdisk(s) with lzma

* Add a flag that specifies which ramdisk(s) to compress with lzma
* If not specified, fall back to gzip
* Example: LZMA_RAMDISK_TARGETS := boot,recovery

Change-Id: I9cce4da90343fb6dfb7039863649e37d78262726

7 years agoblockimgdiff: plz don't spam my terminal, thx
Dan Pasanen [Tue, 6 Dec 2016 15:45:46 +0000 (09:45 -0600)]
blockimgdiff: plz don't spam my terminal, thx

Change-Id: I44b1e7b2725e781ea65209f1b26f521f12a67a00

7 years agobuild: Conditionally disable ccache for modules with FDO enabled
Gabriele M [Tue, 29 Nov 2016 14:56:50 +0000 (15:56 +0100)]
build: Conditionally disable ccache for modules with FDO enabled

ccache supports the compiler option -fprofile-use since v3.2. If the
current wrapper is ccache v3.2 or newer, don't disable it when FDO
is turned on.

Change-Id: I506010173f60b791eae0d65afeac36995c57dbe6

7 years agobinary: Append cc/cxx wrapper to sdclang
Luca Stefani [Tue, 29 Nov 2016 20:41:05 +0000 (21:41 +0100)]
binary: Append cc/cxx wrapper to sdclang

* Make ccache great again

Change-Id: I20da69f3f8ce695e7e5e4bdd06f7436cc5331003

7 years agobuild: Require devices to opt-in for SDCLANG
Steve Kondik [Tue, 8 Nov 2016 20:51:59 +0000 (12:51 -0800)]
build: Require devices to opt-in for SDCLANG

 * Only devices which see a measureable benefit should use this
   since it requires more resources to build.
 * Set TARGET_USE_SDCLANG to true in your BoardConfig if your
   device benefits from it.

Change-Id: I12ee20b0627ff0ca121d653cde482e5449a768cc

7 years agobuild: Increase diff timeout
AndropaX [Wed, 2 Nov 2016 06:10:46 +0000 (07:10 +0100)]
build: Increase diff timeout

This sometimes breaks packing on weak PCs

Change-Id: I1f10ef8b046e06be865d9e5213095afae251a29d

7 years agoFix a race condition while building the recovery patch (needed for msm8226)
Martin Blumenstingl [Sun, 6 Mar 2016 21:06:28 +0000 (22:06 +0100)]
Fix a race condition while building the recovery patch (needed for msm8226)

RECOVERY_PATCH_INSTALL has a dependency on RECOVERY_FROM_BOOT_PATCH.
This is correct, because RECOVERY_PATCH_INSTALL uses make_recovery_patch
which needs the imgdiff tool. imgdiff on the other hand is a dependency
of RECOVERY_FROM_BOOT_PATCH. This should ensure that all dependencies
are met.
However, RECOVERY_FROM_BOOT_PATCH is defined after
RECOVERY_PATCH_INSTALL, making the dependency effectively non-existant.
Moving RECOVERY_FROM_BOOT_PATCH before RECOVERY_PATCH_INSTALL fixes a
race-condition where sometimes imgdiff was not build before
RECOVERY_PATCH_INSTALL is called.

Upstream is not affected by this bug, since it does not contain
RECOVERY_PATCH_INSTALL anymore.

The following error can be observed whenever someone hits this race
condition (which is basically always reproducible when building with
-j1):
Installing recovery patch to system partition
Warning: could not find SYSTEM/build.prop in <built-in function zip>
using prebuilt recovery.img from BOOTABLE_IMAGES...
using prebuilt boot.img from BOOTABLE_IMAGES...
Traceback (most recent call last):
  File "./build/tools/releasetools/make_recovery_patch", line 55, in <module>
    main(sys.argv[1:])
  File "./build/tools/releasetools/make_recovery_patch", line 51, in main
    common.MakeRecoveryPatch(input_dir, output_sink, recovery_img, boot_img)
  File "build/tools/releasetools/common.py", line 1461, in MakeRecoveryPatch
    _, _, patch = d.ComputePatch()
  File "build/tools/releasetools/common.py", line 1146, in ComputePatch
    p = Run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  File "build/tools/releasetools/common.py", line 100, in Run
    return subprocess.Popen(args, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
build/core/Makefile:1047: recipe for target
    'out/target/product/t00n/system/bin/install-recovery.sh' failed

Fixes: 3d1c612e5c82 ("Revert "Revert "core: Makefile: Build
install-recovery into the system image""")

Change-Id: I28e8c845ffc830553ca5177cbe22ae72b185b437

7 years agoSource CM specific envsetup
Michael Bestas [Thu, 25 Aug 2016 21:37:02 +0000 (00:37 +0300)]
Source CM specific envsetup

Change-Id: I39d3e711a6beab47e3284919a9a4fef15b0f40b9

7 years agoninja: increase maximum suffix length
Simon Shields [Fri, 7 Oct 2016 06:18:33 +0000 (17:18 +1100)]
ninja: increase maximum suffix length

HFS+ and ext4 both support filenames up to 255 characters in length.
It should be ok to allow longer suffixes. This fixes mmp in places with
long paths (where otherwise the build system defaults to using md5sum
for the suffix)

Change-Id: I93e39875470417ce1b0febe7a9e0da37b56b5b00

7 years agoAdd LOCAL_AIDL_FLAGS
Luis Vidal [Wed, 13 Jul 2016 22:16:08 +0000 (15:16 -0700)]
Add LOCAL_AIDL_FLAGS

Allow modules to define custom AIDL flags

Change-Id: I5609e6eb0a10d441cea2556179c8496293116dcf

7 years agoWe want Browser
Quang Ngô [Sun, 25 Sep 2016 03:08:49 +0000 (10:08 +0700)]
We want Browser

See: https://git.io/viAru
Change-Id: I6f68e3e5cb09a8b64a8869396bb43c76e9bc181b

7 years agoShow complete command with args when ComputePatch fails
SteadyQuad [Tue, 4 Oct 2016 09:36:18 +0000 (11:36 +0200)]
Show complete command with args when ComputePatch fails

When Difference.ComputePatch() failed for some reason, only
the first part of the failed command was show with the error,
not all arguments.

old (simplified):
WARNING: failure running ['imgdiff', '-b', '/tmp/recovery-resource.dat']:

new:
WARNING: failure running ['imgdiff', '-b', '/tmp/recovery-resource.dat',
  '/tmp/tmpSsy_kf', '/tmp/tmpOMCXSn', '/tmp/tmpA3FtZw']:

Change-Id: Id8b498df3ed7934815430e4b4c2651ef4aa781c6

7 years agoninja: use host's ninja if it exists
Dan Pasanen [Wed, 21 Sep 2016 13:31:42 +0000 (08:31 -0500)]
ninja: use host's ninja if it exists

* For whatever reason mainline ninja improves my build significantly

* Allow users to bust out of using whatever binary is provided with the
  build system and use their own copy if they have it installed

Change-Id: I14dbb7b9d8a028d1b0f16e136a8310584df329be

7 years agobuild: Allow both OpenJDK and OracleJDK by default
Zhao Wei Liew [Mon, 8 Aug 2016 23:24:10 +0000 (07:24 +0800)]
build: Allow both OpenJDK and OracleJDK by default

Some users would like to build with Oracle JDK on Linux,
while others would like to build with OpenJDK on Darwin.

CM should build fine with either configuration, so drop
the OpenJDK checks to allow both of them.

Change-Id: I64d7887c2fab4dd301b07d7df0d19f28e97d80ab

7 years agobuild: use the system's ccache by default
Anthony King [Sun, 8 Feb 2015 03:19:03 +0000 (21:19 -0600)]
build: use the system's ccache by default

* ccache gets updated semi-frequently and some builders would like
  to be able to take advantage of new features without having to
  rely on the prebuilt version getting updated

* If a build system has ccache installed already, use that version
  instead of the prebuilt

Change-Id: I8988c8a25fab3694d84633f957c2b92ce84cf69e

7 years agosupport macOS sdk 10.12
Alexander Martinz [Thu, 15 Sep 2016 17:26:49 +0000 (19:26 +0200)]
support macOS sdk 10.12

Change-Id: Ief6c7141303f8f431d95d330b87293d67bcc1386
Signed-off-by: Alexander Martinz <eviscerationls@gmail.com>
7 years agoRevert "main: Use date -d on OSX"
Brandon McAnsh [Thu, 1 Sep 2016 04:22:53 +0000 (21:22 -0700)]
Revert "main: Use date -d on OSX"

Operation not permitted using -d
Needs to be looked into

This reverts commit b4bf8caf60c2d61b1dc41d635b68081e57a77d55.

Change-Id: I54799e64d31ee6204523e3c51f2fb28ef10a3281

7 years agolibart: Allow adjustment of the base address
flintman [Wed, 17 Dec 2014 13:25:44 +0000 (08:25 -0500)]
libart:  Allow adjustment of the base address

On some devices the base address may need to be adjusted to
prevent overlapping of memory.  This will allow the adjustment
to take place in the boardconfig.mk

Change-Id: I17da0301960f1b0183db20b7b592eb1efd28343d

7 years agobuild: remove dotfiles on a make clean as well
Dan Pasanen [Mon, 5 Sep 2016 23:38:05 +0000 (18:38 -0500)]
build: remove dotfiles on a make clean as well

* kati & ninja create dotfiles (example: .ninja_log) in out/

Change-Id: I83ffd1c26a37f7ffef45fd4598435db93058ab67

7 years agobuild: Don't create /system/vendor symlink in recovery ramdisk
dianlujitao [Sun, 4 Sep 2016 11:09:53 +0000 (19:09 +0800)]
build: Don't create /system/vendor symlink in recovery ramdisk

 * Sometimes we want to put some private recovery resources there.

Change-Id: I0cfa68ad92872cef654dbe1c71a536f7a950e53f

7 years agobuild: don't dex preopt by default on linux
Dan Pasanen [Mon, 5 Sep 2016 23:17:44 +0000 (18:17 -0500)]
build: don't dex preopt by default on linux

Change-Id: I7726cb87da576d1fcc59a4a3108e5a7ca2bf5304

7 years agobuild: Fix a few mis-merges
Ricardo Cerqueira [Wed, 7 Sep 2016 23:13:56 +0000 (00:13 +0100)]
build: Fix a few mis-merges

Change-Id: I6b785bbef48babac21aeb6c4d90999830ddad50d

7 years agobuild_image: Unbreak verity/FEC generation
Ricardo Cerqueira [Wed, 7 Sep 2016 23:05:21 +0000 (00:05 +0100)]
build_image: Unbreak verity/FEC generation

Change-Id: Icbd36b11659ced7764599c5d2e0e91be67a3e4bc

7 years agoAllow finer control over how product variables are inherited.
Chris Sarbora [Wed, 17 Dec 2014 22:41:04 +0000 (14:41 -0800)]
Allow finer control over how product variables are inherited.

Change-Id: I3abc22eea94293d1d0ebf0a81b396ebea0baf5a8
(cherry picked from commit 29357f5ea1dd8507f70efc330b2e5966d13504e8)

7 years agoRevert "Remove mkyaffs2image references."
Michael Bestas [Sun, 11 Oct 2015 16:10:28 +0000 (19:10 +0300)]
Revert "Remove mkyaffs2image references."

* Can be enabled on devices that need it with TARGET_USERIMAGES_USE_YAFFS

This reverts commit 65d4186f85ddd8c3f6d0c521f31911cceee573c1.

Change-Id: I891f2e6a963178ffec92fedb25e7e28c60a768d1

7 years agoAdd WITHOUT_CHECK_API guard around checkapi
Brandon McAnsh [Thu, 1 Sep 2016 04:47:46 +0000 (00:47 -0400)]
Add WITHOUT_CHECK_API guard around checkapi

* Granted we should never not check the API, the flag was added
  so we need to account for it

Change-Id: Iae58ab6484c5c72904cae30e74f5ea1e89a86618
Signed-off-by: Brandon McAnsh <brandon.mcansh@gmail.com>
7 years agobuild: add BOARD_GLOBAL_C[PP]FLAGS to TARGET_GLOBAL_C[PP]FLAGS
Simon Shields [Sun, 28 Aug 2016 13:52:24 +0000 (23:52 +1000)]
build: add BOARD_GLOBAL_C[PP]FLAGS to TARGET_GLOBAL_C[PP]FLAGS

* workaround these being reset after BoardConfig.mk is run

Change-Id: Ibe984d862df0e1a5910ea80a66c44d599c299f10

7 years agomain: Use date -d on OSX
Brandon McAnsh [Wed, 31 Aug 2016 02:24:18 +0000 (22:24 -0400)]
main: Use date -d on OSX

* OSX doesn't have an -r flag on date

Change-Id: I04cb58366926418fb9b05482514800a5a72af0e1
Signed-off-by: Brandon McAnsh <brandon.mcansh@gmail.com>
7 years agobuild: Re-add I_WANT_A_QUAIL_STAR
Luca Stefani [Tue, 30 Aug 2016 22:38:04 +0000 (15:38 -0700)]
build: Re-add I_WANT_A_QUAIL_STAR

* This partially reverts commit c7d6cc2a9cda88c8b110f69d8e121a732d570aa7
* Move cmsdk check to checkapi-cm, android checkapi shouldn't be
  under this ifeq

Change-Id: Ia7c9853cc5f978ed533f2879367428eb1d64bd46

7 years agoenvsetup: fix lunch
Chirayu Desai [Fri, 26 Aug 2016 16:43:51 +0000 (22:13 +0530)]
envsetup: fix lunch

Change-Id: I9dea4605857741132b8d10143c20d4bd7829086a

7 years agobuild: Don't add cm jars if cm sdk is disabled
Luca Stefani [Fri, 26 Aug 2016 19:18:56 +0000 (14:18 -0500)]
build: Don't add cm jars if cm sdk is disabled

Change-Id: Iaec955e1738cd644d879db0c38d66d250c24ce91

7 years agoreleasetools: don't attempt to read fingerprint on unified devices
Dan Pasanen [Thu, 15 Oct 2015 14:10:50 +0000 (09:10 -0500)]
releasetools: don't attempt to read fingerprint on unified devices

* You wont find this in the build.prop on these devices and this is
  how we handled them in previous versions

Change-Id: I56332c87916da1a1206980df0e7a6ca8a55f0e8e

7 years agoAll operating systems are beautiful
Christopher N. Hesse [Wed, 16 Sep 2015 12:29:36 +0000 (14:29 +0200)]
All operating systems are beautiful

Thou shalt not discriminate OS X.

Change-Id: I9c993d44ca74cb15631ea25d6105a3398ea57e95

7 years agobuild: Add build flag to disable CMSDK usage
Rashed Abdel-Tawab [Wed, 24 Aug 2016 19:22:56 +0000 (15:22 -0400)]
build: Add build flag to disable CMSDK usage

Change-Id: Ib4d966b1bcc5cf1578a28c0fcd3f9077c14af573

7 years agocore_minimal: Change make_f2fs to mkfs.f2fs
Michael Bestas [Sun, 6 Dec 2015 23:21:59 +0000 (01:21 +0200)]
core_minimal: Change make_f2fs to mkfs.f2fs

Change-Id: Ic95ea804a4dffb3af5ea5ba7e495bb5175281a78

7 years agoAdd workaround for iTerm2 integration on macOS
Rashed Abdel-Tawab [Tue, 23 Aug 2016 19:58:56 +0000 (15:58 -0400)]
Add workaround for iTerm2 integration on macOS

7 years agocore_minimal.mk: Remove duplicate packages
Elektroschmock [Wed, 17 Aug 2016 18:30:50 +0000 (20:30 +0200)]
core_minimal.mk: Remove duplicate packages

Change-Id: Iaf7833334985450576ffb0a8d1b1babf39fcb63a

7 years agobuild: Source a CM-specific global BoardConfig
Steve Kondik [Mon, 8 Aug 2016 06:07:32 +0000 (23:07 -0700)]
build: Source a CM-specific global BoardConfig

 * Read vendor/cm/config/BoardConfigCM.mk. Kind of surprised we haven't
   needed this until now.

Change-Id: I91cd89b14f6a5975e91f15dcfce1070502aa3861

7 years agobuild: Use the password manager for the verity key if possible
Ricardo Cerqueira [Mon, 11 Jul 2016 10:17:56 +0000 (11:17 +0100)]
build: Use the password manager for the verity key if possible

If we're operating with a password dict, try to use it for verity

Change-Id: Ie0e8e33c873fc9f1ae9bd6da559f9cbbced183e9
Ref: CYNGNOS-3156

7 years agobuild: Let the verity signer and metadata builders ask for a password
Ricardo Cerqueira [Mon, 4 Jul 2016 15:34:19 +0000 (16:34 +0100)]
build: Let the verity signer and metadata builders ask for a password

Don't grab stdin/out for these tools. We want to know when a password
is being requested (and be able to actually provide one) if the corresponding
key needs it

Change-Id: I8dd439322b7d8942adc9ce7ce0912fb20c69654f
Ref: CYNGNOS-3156

7 years agoConditionally skip dex-preopting specific prebuilts.
Ricardo Cerqueira [Wed, 15 Jun 2016 21:35:15 +0000 (22:35 +0100)]
Conditionally skip dex-preopting specific prebuilts.

Extend change I13f10e2a9c251366f29606158f8c2fb54f8ee8b so that it
optionally applies to a specific list of modules.

Change-Id: Id56aeadfb8d2581a2c7b7045725419bf4f6b8faa

7 years agobuild: add kernel header dependency if module uses kernel headers
Scott Mertz [Wed, 1 Jun 2016 20:40:25 +0000 (13:40 -0700)]
build: add kernel header dependency if module uses kernel headers

Many of the QCOM components use kernel headers, but don't declare
the dependency on them.  This is fine in CAF because of the way they
build the boot.img before anything else.  In CM, we don't build the
boot.img the same, so we run into a race between the kernel build &
these modules... and the modules lose.

Warn about modules that have this missing dependency, and add it for
them so we don't have to modify each Android.mk.

Change-Id: I95f1e47b5ef440f6f5d8f64a0c3f38d9572e839e

7 years agoereleasetools: Allow for custom boot image signing tools
Brint E. Kriebel [Tue, 17 May 2016 01:53:19 +0000 (18:53 -0700)]
ereleasetools: Allow for custom boot image signing tools

Some boot images will need to be signed using specific tools. Allow
passing the path to this tool through an environment variable.

Change-Id: I958726fdae8d63fe99d639dfa361046b528a087c
Ticket: CYNGNOS-2868

7 years agoAvoid accidentally using the host's native 'as' command.
Alistair Strachan [Thu, 5 May 2016 23:29:08 +0000 (16:29 -0700)]
Avoid accidentally using the host's native 'as' command.

When invoking clang for the host to assemble .S files, the -B flag
would not be provided, which allowed the host prebuilt clang to
use an 'as' from the native environment. Most of the time this
"just works", but some newer 'as' versions cause problems with
the older prebuilt toolchain, for example by generating
unsupported relocation types.

To avoid this problem, simply use the -B flag to tell clang to
invoke the assembler from the correct prebuilt gcc prefix.

Change-Id: I18ea4f37ae637b652cfd7321c41929f8be075342
Signed-off-by: Alistair Strachan <alistair.strachan@imgtec.com>
7 years agobuild: Fix manual invocation of aar targets.
Adnan Begovic [Mon, 2 May 2016 22:53:56 +0000 (15:53 -0700)]
build: Fix manual invocation of aar targets.

Change-Id: Ic5a4980d1d45df24f6242e31fdfd86543f56e19c
TICKET: RM-232

7 years agobuild: Make sure to check for variable definition during execution.
Adnan Begovic [Mon, 2 May 2016 22:22:30 +0000 (15:22 -0700)]
build: Make sure to check for variable definition during execution.

TICKET: RM-232
Change-Id: Ic5b3850a81b959b05a218cd967dcec71c15a4cd5

7 years agobuild: allow to set a consumer proguard file
Jorge Ruesga [Fri, 29 Apr 2016 15:55:51 +0000 (17:55 +0200)]
build: allow to set a consumer proguard file

This allow to specify a proguard file by defining LOCAL_CONSUMER_PROGUARD_FILE
that will inserted in the root directory of the aar and to be consumed by another apk
via gradle plugin

Change-Id: Ia3c11e5ea8e694800fb262b835432f86a6777f86
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
7 years agobuild: skip 'ro.product.device' using new macro "TARGET_SKIP_PRODUCT_DEVICE"
Edward Wang [Sat, 16 Apr 2016 06:03:14 +0000 (23:03 -0700)]
build: skip 'ro.product.device' using  new macro "TARGET_SKIP_PRODUCT_DEVICE"

Change-Id: Id17ef7de8b0146dd6e4b2cc3cc5b88453da38f6c
Ticket: FEIJ-62

7 years agobuild: Add BOOTIMAGE_EXTRA_DEPS for BOOT_SIGNER products too
Ethan Chen [Thu, 14 Apr 2016 00:49:36 +0000 (17:49 -0700)]
build: Add BOOTIMAGE_EXTRA_DEPS for BOOT_SIGNER products too

* Products supporting BOOT_SIGNER should depend on BOOTIMAGE_EXTRA_DEPS
  as well, since that dt.img generation is tied to that rule.

Change-Id: I7c3040d0c59c66aaac46121d6ca50ab96bdf7e72

7 years agobuild: Add MTK support
Diogo Ferreira [Wed, 16 Mar 2016 19:04:48 +0000 (19:04 +0000)]
build: Add MTK support

When setting BOARD_USES_MTK_HARDWARE, a global MTK_HARDWARE define will
be available to all target modules.

Change-Id: Id2a2996139a31afb6eb37f7ee24202587cb4beb1

kernel: remove support for unused MTK Kernel

Remove unused MTK kernel build support.

Change-Id: I4f4df078ae03b1bd5edc7000e5b942bfc05c02bd

7 years agobuild: add cmts config to global build
Khalid Zubair [Wed, 2 Mar 2016 21:57:01 +0000 (13:57 -0800)]
build: add cmts config to global build

Change-Id: I554840be954545ab7637c9e5a6fcc7cb5a5da7c1

7 years agoPreventing default locale from being overridden because of buildinfo.sh
Abhishek G [Tue, 5 Apr 2016 00:03:24 +0000 (17:03 -0700)]
Preventing default locale from being overridden because of buildinfo.sh

Adding the ability to set default locale from the device tree. Adding
the TARGET_SKIP_DEFAULT_LOCALE flag which can be set in the device tree,
thus preventing buildinfo.sh from overriding default locale.

Change-Id: I66bcedb42216acee56ceaf657a39dc23d7eea6f4
Issue-Id: FEIJ-22

7 years agoenvsetup: fix mm under zsh
Khalid Zubair [Wed, 2 Mar 2016 22:01:45 +0000 (14:01 -0800)]
envsetup: fix mm under zsh

Fix a word splitting issue in zsh. Instead of building a duplicate
ARGS array for the !GET-INSTALL-PATH case, leave it untouched. For the
GET-INSTALL-PATH case, modify the argument list as needed.

Change-Id: I902ff1bc7a53e7afa8c4737d4208592ac18f95d7

7 years agobuild: better compatibility between zsh shells
Roman Birg [Tue, 1 Mar 2016 18:27:51 +0000 (10:27 -0800)]
build: better compatibility between zsh shells

Handle equals expansion in zsh

http://www.zsh.org/mla/users/2011/msg00160.html

Change-Id: I2b0cb23991aa88c3fa2c4dce00f7c3a673176e0a
Signed-off-by: Roman Birg <roman@cyngn.com>
7 years agoenvesetup: mmm/mmma: fix for zsh
Khalid Zubair [Thu, 11 Feb 2016 22:34:12 +0000 (14:34 -0800)]
envesetup: mmm/mmma: fix for zsh

Fix broken argument handling due to differnt word-splitting behavior
in zsh [1]. Zsh arrays should be explicitly defined.

 - [1] http://zsh.sourceforge.net/FAQ/zshfaq03.html

Change-Id: Ic299c1952384001e374c64caebbb23e9792fddf2

7 years agoreleasetool: add OSIP partitions specifics
Artefvck 07 [Thu, 4 Feb 2016 17:37:15 +0000 (09:37 -0800)]
releasetool: add OSIP partitions specifics

- Declare OSIP as a new partition type
- Standard boot.img update is not possible for OSIP partitions
We are simply removing it on AOSP handling, and let the board handle
it in its own releasetool.py

Change-Id: Ie19fc3f6a0ca42e2eda264904b20fceeddbeaf53

7 years agoenvsetup: add function to detect shell
Khalid Zubair [Tue, 9 Feb 2016 00:27:55 +0000 (16:27 -0800)]
envsetup: add function to detect shell

Add a function to detect shell, other functions can now use this to
handle shell specific behavior.

Change-Id: I4aabc0068e836c5433053b144d163fb0ed49f752

7 years agobuild: e2fsck missing from emulator
msfkonsole [Tue, 26 Jan 2016 21:28:37 +0000 (04:28 +0700)]
build: e2fsck missing from emulator

The emulator file system was recently switched to ext4 however, e2fsck was not
added to the emulator build.

Change-Id: Ida9ed1083de7576e20a7ad11f085e5cc4f17ecf4
Signed-off-by: msfkonsole <msfkonsole@gmail.com>
7 years agoota_from_target_files: Don't validate data signatures with data wipe
Brint E. Kriebel [Tue, 3 Nov 2015 01:26:07 +0000 (17:26 -0800)]
ota_from_target_files: Don't validate data signatures with data wipe

If data is going to be wiped later in the script, there is no reason to
validate signatures. This breaks updates that may be designed to wipe
data and change signatures.

Change-Id: I0b794b43cec2d22996eaa5571688c66582475d55
Ticket: CYNGNOS-1289

7 years agobuild: Enforce checkapi-cm on system image gen.
Adnan Begovic [Tue, 9 Feb 2016 19:15:55 +0000 (11:15 -0800)]
build: Enforce checkapi-cm on system image gen.

TICKET: CYNGNOS-1950
Change-Id: If13ff02b913d5586df163ff3aee254dd4cfb4e24

7 years agoreleasetools: Don't extract BOOTABLE_IMAGES when signing target files
Brint E. Kriebel [Wed, 10 Feb 2016 23:54:05 +0000 (15:54 -0800)]
releasetools: Don't extract BOOTABLE_IMAGES when signing target files

boot and recovery images need to be re-created during the signing
process to ensure that the proper keys are embedded in the images. Don't
extract the BOOTABLE_IMAGES path if it exists in the source target files
to avoid re-using the prebuilt versions.

Change-Id: Icdf61367efc2364f89c7ab1c61a81536431aea2e
Ticket: CYNGNOS-1994

7 years agoprebuild: compress shared libraries in prebundled apks
Scott Mertz [Tue, 9 Feb 2016 19:28:53 +0000 (11:28 -0800)]
prebuild: compress shared libraries in prebundled apks

Prebundled APK shared libraries get installed like any
other APK.  Compress these libraries in the APK to save
space.

Change-Id: If3f85b43e492dd42d2da89d3b3f0a1b1b44ccdbb

7 years agoreleasetools: Replace key values in permission files during re-signing
Brint E. Kriebel [Thu, 4 Feb 2016 21:48:13 +0000 (13:48 -0800)]
releasetools: Replace key values in permission files during re-signing

Permission files may grant permissions based on signatures in the same
way mac_permissions grants selinux permissions. In order to have this
work properly with dev-key and production key signed builds, allow these
files to be re-written during the signing process to replace the value
of the keys in production signed builds.

Change-Id: Id0311e49f8bba5a9f71b2fa49b480cb74779c853
Ticket: CYNGNOS-1877, RM-179

7 years agobuild: Always run checkapi when building system image
Tom Marshall [Thu, 17 Dec 2015 00:07:10 +0000 (16:07 -0800)]
build: Always run checkapi when building system image

This should significantly reduce the number of quail stars given out.

This only applies when building the system image.  Packages may still
be built and tested individually without any impact.

If you like to live dangerously, set I_WANT_A_QUAIL_STAR in your
environment.

Change-Id: I3da6646f022f2e967ebe2c3dd9ed616fab7991fe

7 years agoreleasetools: Use the first entry of a mount point when reading fstab
Brint E. Kriebel [Fri, 29 Jan 2016 19:47:56 +0000 (11:47 -0800)]
releasetools: Use the first entry of a mount point when reading fstab

There may be multiple entries in fstab for a mount point. Use the first
value found so the entries are prioritized in order.

Change-Id: Ibd2631413d3e00507d3a0ec84fb91755f1c7993c
Ticket: OPO-326

7 years agomms: introduce a shortcut to quickly rebuild kernel/boot.img
Khalid Zubair [Wed, 21 Oct 2015 19:43:14 +0000 (12:43 -0700)]
mms: introduce a shortcut to quickly rebuild kernel/boot.img

Add a new shortcut to short circuit the long build process that walks
the entire tree collecting all Android.mks. The resulting dependency
list is sufficient to rebuild the kernel, copy product files and
repack the system image with updated modules.

This shortcut allows Kernel devs to rebuild just the boot.img and
kernel modules very quickly (20s vs 3min).

Change-Id: Ie0a69f241ea7b920859ff1e02c3542b79952462c

7 years agoimg_from_target_files: Imports added to fix the script
Jessica Wagantall [Fri, 4 Dec 2015 23:01:12 +0000 (15:01 -0800)]
img_from_target_files: Imports added to fix the script

Change-Id: Ib9e43c9d0a067106f5d554b7ea2fa414ce93a55b

7 years agobuild: recovery: Support extra recovery resources
Tom Marshall [Wed, 2 Dec 2015 19:23:53 +0000 (11:23 -0800)]
build: recovery: Support extra recovery resources

If set, RECOVERY_EXTRA_RESOURCE_DIR will override default resources.

Device specific private directories in TARGET_DEVICE_DIR and
TARGET_RECOVERY_DEVICE_DIRS will continue to override both of these.

Change-Id: I9e5a2210ffe53483173056f3dc4b17fe669509e7

7 years agoPermit redirection of vendor to system
Sam Mortimer [Mon, 16 Nov 2015 22:47:25 +0000 (14:47 -0800)]
Permit redirection of vendor to system

For devices where /system/vendor needs to be a symlink to /vendor.

This allows a target to set TARGET_COPY_OUT_VENDOR := system in
order to force modules that want to be placed in vendor to instead
be redirected into /system.
eg angler

Change-Id: I4bffcefcda0b33dc5350b1702ec6d0166b18d775

7 years agobuild: Add option to disable block-based ota
Tom Marshall [Sat, 22 Nov 2014 16:43:59 +0000 (08:43 -0800)]
build: Add option to disable block-based ota

While block-based is great when building on a local machine, it kills rsync
performance when syncing rebuilds from remote machines.  Provide an option
to disable it for those whose network bandwidth is less than their device's
emmc bandwidth.

Usage: export BLOCK_BASED_OTA=false

Change-Id: I1dfaa5478a87dad286014dbe57cd5a03da4d1980

7 years agobuild: Disable relocation packing on recovery and utility executables
Tom Marshall [Fri, 30 Oct 2015 13:08:48 +0000 (06:08 -0700)]
build: Disable relocation packing on recovery and utility executables

Change-Id: I2a543537c114cfc1a6d9746fe7c0bc00338ad32d

7 years agoConditionally create symlink /system/vendor if needed
dhacker29 [Thu, 5 Nov 2015 05:55:01 +0000 (00:55 -0500)]
Conditionally create symlink /system/vendor if needed

We don't need to build a vendor image in CM, just create the symlink
for Nexus devices that use a vendor partition

To use add BOARD_NEEDS_VENDORIMAGE_SYMLINK := true to BoardConfig.mk

Change-Id: Id39ee89007af39346f0887796ed3cbad81765c46

7 years agobuild: create dt.img task
Luca Stefani [Sat, 31 Oct 2015 11:50:20 +0000 (04:50 -0700)]
build: create dt.img task

* Remove dt.img creation from generate_extra_images

Change-Id: I676b588cd9acb671771acda638abefee036f0519

build: Don't load dt.img task if custom mkbootimg is used

Change-Id: I7617554a8dc6f44ea0c6a713d834da4fe558caec

core: Account for prebuilt DT images

Change-Id: I52b49fd3e9fc0cb196372e3249c7e3d8b888cdd1

dt_image: Fix build error

build/core/tasks/dt_image.mk:38: *** missing `endif'.  Stop.

Change-Id: If333d378e091ff9d333729dc8a75323966954194

build: only specify least specific directory to dtbtool

New kernels (3.18) place dtb files into the qcom subdirectory,
but older kernels simply create a qcom subdirectory and place
the dtb files at the same level in the heirarchy.  Rather than
looking for the first directory that exists, dtbtool has been
modified to search all subdirectories for dtb files, and
therefore we have to remove the specific subdirectories.

Change-Id: I82e948c0a20605f051a60fdfaae9679e1fa6555e

core: tasks: Use KERNEL_ARCH in dt_image task

* KERNEL_ARCH equals to TARGET_ARCH or TARGET_KERNEL_ARCH if specified

Change-Id: I906e04fd646467ce70da92cb047f0fa0a6ebdb94

build: Use compatibility DTB directory path for custom DTB tool builds

* dtbToolCM is able to search subdirectories, but we are not guaranteed
  that other dtbTool binaries have the same capability. Re-specify
  multiple paths for non-dtbToolCM builds just in case.

Change-Id: Id69e000af5eba60a07662b178cb95950451efd17

build: Add dt.img and kernel target

Change-Id: I4a266d8bd2b01ec4ec696f10f0cc7e912f25a38a

dt_image: Rename target

Change-Id: I2fbe952b55296b6e1a533d071c769788ab3f14ae
Signed-off-by: Brandon McAnsh <brandon.mcansh@gmail.com>
7 years agobuild: skip checking boot jars by default
Scott Mertz [Fri, 30 Oct 2015 19:48:06 +0000 (12:48 -0700)]
build: skip checking boot jars by default

Currently, builds are failing this because of
non-whitelisted classes in the boot jar.  Lets
disable this check until we can refactor the code.

Change-Id: I1d4b231d43702441a2d5ee9e3c058b9b2a88a38c

7 years agobuild: Introduce ainfo, aerror functions
Tom Marshall [Wed, 28 Oct 2015 18:04:01 +0000 (11:04 -0700)]
build: Introduce ainfo, aerror functions

envsetup.sh calls make directly to set some build vars.  Any "bare" info or
error messages interfere with the logic, so they must be guarded with
checks for CALLED_FROM_SETUP.  This is tedious and error prone, so provide
an alternative that handles this logic automagically.

Change-Id: I9f9a355a6ae58f2b173cffce796e37be1e68238c

7 years agobuild: Remove extra $ to properly parse build number file
Rashed Abdel-Tawab [Wed, 24 Aug 2016 04:00:56 +0000 (00:00 -0400)]
build: Remove extra $ to properly parse build number file

7 years agoFix OSX support for new CLI Tools (starting with 7.1)
Brian Chu [Wed, 7 Oct 2015 06:49:43 +0000 (23:49 -0700)]
Fix OSX support for new CLI Tools (starting with 7.1)

To build on OSX with late-2015 CLI Tools, the build system must include C++
headers from a new location.  Mid-2015 CLI Tools and older can still be used, so
the older location will also be kept.

Change-Id: I422d28cb41ab57fcc816538a822df8aecdf7d9d6

7 years agobuild: Make sure we're building our secondary resource package as dependency.
Adnan Begovic [Wed, 30 Sep 2015 19:17:41 +0000 (12:17 -0700)]
build: Make sure we're building our secondary resource package as dependency.

  This allows us to reference internal or public resources without
  going explicitily through the platform sdk.

Change-Id: Iba361a3dcd20bc62a06e600e0240fb09d4e7bda4