Get a relative path to out by using $(get_build_var PRODUCT_OUT)
instead of hardcoding it to out/target/product/$TARGET_DEVICE.
That will correctly return the path to the out directory
when setting an external OUT_DIR_COMMON_BASE.
Change-Id: I8a990b710222bc72755c6b6b88fd0c9e80711e14
Partial squash of:
From e33ba4c49e Mon Sep 17 00:00:00 2001
From: Jeff Brown <jeffbrown@google.com>
Date: Mon, 11 Jul 2011 22:11:46 -0700
Subject: [PATCH] Remove the simulator target from all makefiles. Bug: 5010576
From: Ying Wang <wangying@google.com>
Date: Thu, 3 Mar 2016 20:57:21 -0800
Subject: [PATCH] Speed up lunch/tapas/etc. shell utility functions.
1. Combined ~10 calls to the make build system to only one.
We added a phony target "dump-many-vars" to the build system to dump
"<var>=<value>" pairs. We then store the pairs as shell variables.
With this cache get_build_var/get_abs_build_var can just return
the shell variables instead of querying the build system.
2. Prune .git when we search for AndroidProduct.mks.
In internal source tree lunch time was reduced from ~15s to ~1.5s.
Bug: 27429759
(cherry picked from commit 08800fd905)
Change-Id: I862a0ec3c1aae97c552054dacec133e857042edf
From ec92ea8708f93f07099fd94e882140aa5991af9a Mon Sep 17 00:00:00 2001
From: Luca Stefani <luca.stefani.ge1@gmail.com>
Date: Sun, 1 Jan 2017 21:45:07 +0100
Subject: [PATCH] lunch: Use cd - instead of popd
* ZSH breaks a lot of things.
Change-Id: Idee8485bee673bebf6fe5857253306b20aa92eb5
From c2dcf4b1d2b3c6aa2209ce2b4bd8426a62fa9949 Mon Sep 17 00:00:00 2001
From: Luca Stefani <luca.stefani.ge1@gmail.com>
Date: Thu, 5 Jan 2017 16:30:15 +0100
Subject: [PATCH] build: Replace pushd with cd
* For consistency
Change-Id: I96711e3be7b73ebadd589f460e5c5e90d000a4f7
From 587463c7779d639c5866ebd6c49ac298ae602c33 Mon Sep 17 00:00:00 2001
From: Koushik Dutta <koushd@gmail.com>
Date: Sat, 26 Nov 2011 18:51:42 -0800
Subject: [PATCH] roomservice delivers you lunch combos from the CyanogenMod
github.
fix roomservice formatting
support product names with _ in them
fix roomservice to handle pagination
Change-Id: I4923c2f768094dbad8e06a72d9f27d46414030ab
Change-Id: I5bb07944f558e3e5551ab65c97ecfa303609be57
Squashed also with the following changes:
Author: Luca Stefani <luca020400@lineageos.org>
Date: Thu Aug 17 22:22:13 2017 +0200
core: Include Lineage pathmap
Change-Id: Ie25dee383cc5bc9bb6390cff2cb2460d526d80b6
Author: Simon Shields <simon@lineageos.org>
Date: Fri Mar 2 12:55:47 2018 +1100
build: unconditionally use lineage pathmap
even if we're not building a lineage target, we need to
use the lineage pathmap to make things like recovery and ril
happy
Change-Id: I974c30ad10d4ff5b7805c3df9c22010f1e002bf1
Author: Luca Stefani <luca.stefani.ge1@gmail.com>
Date: Tue Jan 22 15:50:52 2019 +0100
Don't export BUILD_NUMBER in envsetup
* The value is meant to be set only before running an /official/ build
* This allows us to execute consecutive make commands without
running kati for every invocation
Change-Id: Ifa94b839f30c7260009c8a3c91c202b50e28022e
Author: Luca Stefani <luca020400@lineageos.org>
Date: Fri Aug 18 10:17:00 2017 +0200
envsetup: Call fixup_common_out_dir
Change-Id: I84e16b0df5822cfd8514c46d709109a13c20f86e
Author: Adrian DC <radian.dc@gmail.com>
Date: Sat May 12 11:24:33 2018 +0200
build: Include LineageOS specific properties in build.prop
* Our properties were supposed to go to /system/etc/prop.default
after the following commit:
"lineage: Move to Google's method of defining system default props"
Change-Id: I6cb0e28a7599b010b389cc541015a37010a00f4b
* However if BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED is not true,
only /default.prop will retain the properties contents of
ADDITIONAL_DEFAULT_PROPERTIES and PRODUCT_SYSTEM_DEFAULT_PROPERTIES,
and none of our versioning identification was held in the system
* Enabling BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED globally would
break all properties on devices that handle partitions usually
at the device level rather than the kernel due to mounting races
* Include the vendor/lineage/config/main.mk entrypoint to be allowed
to extend ADDITION_BUILD_PROPERTIES as we need to define our releases
Change-Id: I19918eece0f0dd3ee967db0339b4d09c9a6d540e
Signed-off-by: Adrian DC <radian.dc@gmail.com>
Author: Simon Shields <simon@lineageos.org>
Date: Fri Aug 10 14:39:32 2018 +1000
soong: include Lineage soong_config
Change-Id: Ic7b8993f4a201f8a9d24c6ba32617fa34843afc2
Author: Rashed Abdel-Tawab <rashed@linux.com>
Date: Thu Sep 5 21:35:38 2019 -0700
core: Only include Lineage SE policy if repo exists
Change-Id: If799106d2da6d8c303430e316edff365a22f7c99
Author: dianlujitao <dianlujitao@lineageos.org>
Date: Thu Sep 5 21:56:36 2019 +0800
product: Exclude AOSP apn list on Lineage build
Change-Id: I1fd10089421a2e4b57ef565d87ad1f6036bd1898
Author: Michael Bestas <mkbestas@lineageos.org>
Date: Fri Apr 12 02:10:12 2019 +0300
build: Conditionally include AudioPackage14.mk instead of AllAudio.mk
* AllAudio.mk doesn't contain latest material files and also
contains multiple duplicate files. Just copy the latest
material ones and we'll include the older files in vendor/lineage
Change-Id: Ic7353216a3f3dc3c51006d951ac932cfd6e5f3b5
Author: dhacker29 <dhackerdvm@gmail.com>
Date: Sat Jun 6 22:22:05 2015 -0400
Remove LatinIME as it is included per target in vendor/lineage
Change-Id: Ibce4a244ec0653a7c7798d864047ac667866a1dc
Author: Arne Coucheron <arco68@gmail.com>
Date: Sat Mar 3 22:53:06 2012 +0100
Fix inheritance of PRODUCT_PROPERTY_OVERRIDES for Lineage audio files
Otherwise the ones set in Lineage vendor will be overridden by these.
Change-Id: I3f87dfd009d8ddfd48972c15770599742b12c4af
Author: Abhisek Devkota <ciwrl@cyanogenmod.com>
Remove extra product property overrides
This appears to clash with vendor/lineage/common mk's for overrides; causes
a broken default alarm (and OnTheHunt is so bleh).
Change-Id: I5ec990d3c5ad56b573c45f1a3b20169c989851a0
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date: Sat Jan 28 09:05:16 2012 +0700
Disable dataroaming by default
The property is removed so that the property in vendor/lineage
can take effect.
Change-Id: Iefadc1a6e71cbf92ecb7363c953f4b5a82064446
Author: razorloves <razorloves@gmail.com>
Date: Mon Oct 7 05:10:56 2019 -0500
build: Remove su inclusion
This stops including su in all lineage userdebug/eng builds.
Inclusion of su is conditionally handled in /vendor/lineage.
Change-Id: Ia3ad978146f170a2b260d77afe9eb580d4b4f823
Change-Id: Iab8b2ef8b644a7bea10bfd28b99d9e69539b1357
Make it explicit that we will build *and* install all the modules under
the directories. And that 'mm[m]' is now the same as 'mm[m][a]'.
Test: hmm
Change-Id: I86c42229f8cdc24922fb3014777ad13d72a1c0ea
zsh doesn't split variables (by default), but it will split command
output. bash will split both. Apparently a portable way to do this in
both is to just turn it into another command: "$(echo $var)".
Test: source build/envsetup.sh; lunch (see list; repeat in bash and zsh)
Change-Id: I9716a8d77aefdf05da8923deb9e37e0b6132b549
Arrays are zero indexed in bash and one indexed in zsh by default. This
leads to an off-by-one issue in the `godir` and `choosevariant` commands: when
prompted to chose an option, in order to pick option "n" you have to input
"n+1".
In those two specific instances, by using "substring expansion" instead of
array indexing, one can get consistent behaviour between bash and zsh
(equivalent to zero indexing).
Test: manual -
# godir
$ zsh
$ source build/envsetup.sh
$ godir SurfaceFlinger # There should be many options
# Pick 1, check that you end up in the right location
$ godir SurfaceFlinger.cpp # There should be only one possibility
# make sure you end up in the right location
# repeat with bash (to ensure compatibility is not broken)
# choosevariant
$ zsh
$ source build/envsetup.h
$ choosevariant # pick whatever variant you want
$ printconfig # make sure the variant matches your choice
# repeat with bash (to ensure compatibility is not broken)
Change-Id: I998d8fb48b708066b6db28a2129a2b09785fb0b1
Right now, leaks are disabled globally on host. This is problematic
because:
a). people write leaks in new code
b). if we fix leaks in old code, it doesn't get tested
c). fixing leaks in old code is harder because when we set
ASAN_OPTIONS="" locally, other targets start hitting errors,
and we have to set __asan_default_options there
Fixes: 141313466
Test: host ASAN build passes
Change-Id: I89298c7518c016e6a30884c75d7b791db16a5217
Get the lunch choices before starting to print the lunch menu prompt
so that it doesn't sit at `Lunch menu... pick a combo:` with no
choices for a few seconds.
Fixes: 138719635
Test: lunch
Change-Id: I2bb373ec037bff0ab1d7e4f5ff8a8bd3b57f3263
Currently when switching between internal to aosp, PYTHONPATH will be
contaminated. This CL is to ensure PYTHONPATH will be as clean as
opening a new terminal and source/lunch.
Bug: 121106770
Test: internal:
$ source build/envsetup.sh; lunch; echo $PYTHONPATH| sed 's/:/\n/g'
will see VENDOR_PYTHONPATH in PYTHONPATH.
switch to aosp:
$ source build/envsetup.sh; lunch; echo $PYTHONPATH| sed 's/:/\n/g'
won't see VENDOR_PYTHONPATH in PYTHONPATH.
Change-Id: Id1916673000ee3fad55e9611d0c47cc80de86645
Fix this error:
rprichard@cashew:/x/aosp/out/target/product/walleye/system/bin$ ls
bash: ./ls: cannot execute binary file: Exec format error
Bug: none
Test: lunch a target, "echo $PATH | grep ::"
Test: lunch an arm target, cd $OUT/system/bin, ls (
Change-Id: I2c0d5ece85964dffa14d6ac8df168dd4e733162e
This reverts commit 610b6302cf.
Reason for revert: m mlibc from root dir works. Create a tmp dir and then cd in to tmp. Run the same command and it fails.
Change-Id: I0f0c056d7e668da621ae99d347a055ecdf2dec07
The functionality of m* envsetup.sh commands has been implemented in
soong_ui. The bash functionality of m* commands can be replaced by
soong's modules-in* build commands.
Fixes: b/130049705
Test: * Loaded the envsetup.sh on a new environment
* Executed each m* command.
* Verified with "type <build command>" to make sure
the function generation is correct.
* Ran on Darwin environment.
Change-Id: I8792e4f1f1727aba2ca6ee4bdfe657f6ac42302a
Very few vendorsetup.sh files are needed anymore, since add_lunch_combo
has been deprecated. So add a way so that only approved vendorsetup.sh
files can be loaded into the shell, and others will be skipped.
This further limits the amount of code that can run outside the build
sandbox, and makes this list more visible to tree maintainers before
they're used instead of after.
Test: no allowed-vendorsetup_sh-files
Test: empty allowed-vendorsetup_sh-files
Test: one file in allowed-vendorsetup_sh-files
Test: two files in allowed-vendorsetup_sh-files
Test: non-present file in allowed-vendorsetup_sh-files
Change-Id: Ia23d1c9d11a7295d5be5abd10cf56edbdec80483
Remove atest/acloud/aidegen functions and append prebuilt path
in PATH. Use local built by default; if there is no local built,
use the prebuilt one instead.
Bug:
Test: $ source build/envsetup.sh; lunch
$ echo $PATH|sed 's/:/\n/g' | egrep "out|asuite"
# will see out/host prioritises prebuilts/asuite.
Change-Id: I1e5869bcb81cf7058cf8971f480a47d2c8f8b6f0
If ANDROID_QUIET_BUILD environment variable is set, do not print
build timing and colorized summary result.
Test: treehugger
Change-Id: I7ae3f8eb407df470837560706f06e5785911828c
Remove atest/acloud/aidegen functions and append prebuilt path
in PATH. Use local built by default; if there is no local built,
use the prebuilt one instead.
Bug:
Test: $ source build/envsetup.sh; lunch
$ echo $PATH|sed 's/:/\n/g' | egrep "out|asuite"
# will see out/host prioritises prebuilts/asuite.
Change-Id: I16c3e85c195b878d3c629149afbd96636ed1f0e1
When target directories are specified, mmm now scans their parent
direcotries to when searching for build config files. Also make it look
more like mm as minor refactoring.
Bug: 62899341
Test: Manual builds.
Change-Id: Ic9c081090e1baeb0849508e9086f2976b108c0ee
After running "lunch" multiple times, the global variable
PYTHONPATH grows larger and larger with repetively content.
This patch is to prevent PYTHONPATH from prepending redundant path.
Bug: b/121110600
Test: $ source build/envsetup.sh && lunch
$ echo $PYTHONPATH | sed 's/:/\n/g'
$ lunch; lunch
$ echo $PYTHONPATH | sed 's/:/\n/g' # not growing.
Change-Id: Ifc36d071fb63bb1494bb0a94fdff477a41708c74
A function name with dashes is apparently not universally recognized
by shell versions/variants(?). Using underscore in place of dashes
solves this problem.
Test: ./development/vndk/tools/header-checker/utils/create_reference_dumps.py -l libGLESv1_CM
Change-Id: Id7d701600760140dae9e4762a11f4abd64947d10
Usage:
...aosp/$ gomod libbase
...aosp/system/core/base$
Using in alias:
alias g=gomod
complete -F _complete-android-module-names g
...aosp/$ g libbase
...aosp/system/core/base$
Nothing in Android keeps an up to date index of all Android modules
and their locations between builds. However, there is a target
'module-info.json' which is used to contain some of that information.
This module can be updated using the command 'refreshmod' added
here, but it will also be updated during a normal Android build.
This also adds auto-complete for m.
Bug: N/A
Test: manual
Change-Id: I06b0b87c308b9fe2798dbc29225906cc30fe59fe
toybox xxd treats -ps as -p -s with a missing argument to -s, rather
than as a bizarre synonym for -p.
Test: manual
Change-Id: Ia576861588a4ddeac9885bce8d718929b74f31b1
There are plenty of .hpp files in the AOSP sources.
$ find . -name \*.hpp | wc -l
2430
They were already grepped in cgrep(), but were missing in
sgrep and treegrep.
Test: manual - run the script
Change-Id: I1fb3f576f6cdcc2b492e2beadf11ced98cb3938e
Atest will run in the sequence of built -> prebuilt -> source code.
Bug: b/118801769
Test: source build/envsetup.sh; lunch
and atest will run in the appearing sequence above.
Change-Id: I0494aeab99c390c31bb02641c6c1c11afd5642a2
I call "compinit -i" in my .zshrc, to allow loading autocompletion from
"unsafe" locations. envsetup.sh breaks that. Change behavior to only
call compinit if bash-style completion is not already enabled.
This is a minimal fix; an alternative would be to rely on the user
to call 'bashcompinit' in their .zshrc instead, and just skip all
autocomplete functionality if they don't.
Test: manual - source ./envsetup.sh in {bash, zsh, zsh -f} and test
completion for lunch
Change-Id: Ibb10eb68a96d69c19b9db9b21e0546fe8ae299b2