Commit graph

45 commits

Author SHA1 Message Date
Joe Onorato
7c3a77f4c9 Split envsetup.sh PATH setting into lunch-dependent and lunch-independent values
This gets b (and other scripts that are coming soon) into the path without running lunch.

Also gets rid of the make dumpvar ANDROID_BUILD_PATHS variable, used to set a few more paths,
so that the setting is all in one place, now that the get_abs_build_var is cached.

Test: Lots of manual checks of before and after combinations
Change-Id: I745168c43ccf2fef4cdd22657fd087f1ad07e510
2022-12-05 13:13:37 -08:00
Cole Faust
ec8316de2e Optionally dump RBC variables at the end of config.mk
config.mk represents essentially the entire product/board
configuration. In order to develop a "quick" rbc regression
test, dump all the make variables at the end of config.mk.

We can then compare these variable dumps instead of ninja
files, because the ninja files take much longer to generate.

Bug: 229132189
Test: Manually
Change-Id: I4e8371be446b7e511aba22dff58530a6d9ff072f
2022-04-13 14:48:32 -07:00
Cole Faust
2ce1fd907b Make dump-many-vars work for large variables
When printing a large variable like PRODUCT_PACKAGES,
dump-many-vars could fail because the command line is
too long. This is seen as a E2BIG error on the execve
in kati.

To solve this, split the printing up by word in the
variable.

Change-Id: I49db726d7a4769a2f02028194d79934ed5655adf
Fixes: 172287533
Test: lunch bonito-userdebug; get_build_var PRODUCT_PACKAGES
2020-11-07 01:38:20 +00:00
Sasha Smundak
23a44f1b05 Fix dump-vars output to handle quotes.
Bug: 132766811
Test: treehugger
Change-Id: I4c054343cd11a089d93b7386b8d8ba04a7b6b77e
2019-05-30 20:59:50 -07:00
Yi Kong
dfd00b1ba1 Add LLVM binutils prebuilds in PATH
Test: lunch; manually examine $PATH
Bug: 133170927
Change-Id: Iceb0add1bfde052acf547402f8d932b87cdf0a2d
2019-05-22 23:36:53 -07:00
Dan Willemsen
8cf5aa5e92 Prevent using config.mk from make, clean up unused code
Print a large warning and stop unless we're using ckati. Then remove a
bunch of code that soong_ui doesn't use.

Test: command make -f build/core/config.mk
Test: . build/envsetup.sh; lunch aosp_arm-eng; m nothing
Test: cs/CALLED_FROM_SETUP
Change-Id: Ib823d5ef8955fb68dbc9a035cfa8d5ac4903534a
2017-10-19 20:26:23 +00:00
Colin Cross
8873713f36 Add TARGET_PLATFORM_VERSION to lunch
lunch can now take combos in the form:
$TARGET_PRODUCT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT-$TARGET_PLATFORM_VERSION

If all 3 are not specified the unspecified ones will take the
default values provided by the build system (eng, and currently
OPR1).

In addition, error handling for invalid products, variants and
versions is moved to the build system.

Bug: 34972208
Test: build/make/tests/envsetup_tests.sh
Change-Id: Ib0aaa98633448ba9bd8df911704c9cb3a8ebbe85
2017-03-23 09:44:08 -07:00
Alexey Polyudov
ccdc311b33 introduce AUX build class of targets
AUX is a new class, similar to TARGET
While TARGET defines toolchain for Application Processors
AUX is defining toolchains for arbitrary utility cores (DSPs, GPUs,
MCUs, etc). This allows building of non-android sources as part
of Android tree and avoid using prebuilts if source code is avaliable

Bug: 29635686
Change-Id: Ie755ea054b16c3e86369f5fb2ba6eb0b384af77f
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2016-08-02 08:06:28 -07:00
Dan Willemsen
60d9c673d7 Add Soong tools to PATH
Change-Id: I8f8649106df4ba7cefbfa37a724ebe0635d90b76
2016-05-31 18:32:35 -07:00
Ying Wang
80ceadc945 Fix dumping variables of absolute paths.
Calling $(abspath) is better than checking and prepending $(PWD) if
necessary.

Bug: 27429759
Change-Id: Ia156f8a5d6b88b6090f4d23c7f9166bd62d3ab70
2016-03-07 11:30:35 -08:00
Ying Wang
08800fd905 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
Change-Id: I24e88598f6fab598ef26518885fd5e86e71a772d
2016-03-04 11:01:57 -08:00
Dan Willemsen
9ecbf83259 Add 64-bit windows cross-compiles
This is mostly the same as the existing 2ND_HOST / HOST_CROSS support.

The interesting thing I did here was make x86 the 'first' architecture,
and x86_64 the second. This way LOCAL_MULTILIB := first defaults to
32-bit windows modules.

  windows-x86/bin   <- defaults to 32-bit executables
  windows-x86/lib   <- 32-bit libraries, like before
  windows-x86/lib64 <- 64-bit libraries
  windows-x86/obj   <- 32-bit intermediates
  windows-x86/obj64 <- 64-bit intermediates

Then modules are registered with the names:

  host_cross_liblog    <- 32-bit, like before
  host_cross_liblog_64 <- 64-bit

Bug: 26957718
Change-Id: I9f119411acb43e973ec1e6bca3c1dc291c91556c
2016-02-05 16:33:18 -08:00
Colin Cross
6b66fcf378 Move PDK selection into config.mk
config.mk needs to know TARGET_BUILD_PDK in order to select prebuilt
tools.  Move the selection of TARGET_BUILD_PDK into config.mk.

Change-Id: I1f73c92917887f27259b2db64b3779a2fe0df162
2016-02-01 18:05:07 -08:00
Dan Willemsen
057aaea54a Add HOST_CROSS_OS
Instead of using recursive make to change the HOST_OS when building the
windows SDK under linux, add the concept of cross-building to another
host os.

Bug: 23566667
Change-Id: I6dc525b601b6251d458d197c30bf4660d7485502
2015-09-09 18:12:29 +00:00
Christopher Ferris
4fe22ae9e8 Print all 2ND variables.
Change-Id: I11180a3ec3481d293100c59c331f05db9e6a689b
2014-05-14 19:16:25 -07:00
Dmitriy Ivanov
d5cd1e2ecf Add TARGET_2ND_ARCH to dumpvar
Change-Id: Ida87a61cceb55b7ebc28735b4688a03a10c01096
2014-03-12 11:13:41 -07:00
Ying Wang
3da7b96a39 Remove dead code.
It seems the code was meant to add the toolchain to ANDROID_BUILD_PATHS
and then export to PATH by lunch.
But now we export the toolchain to PATH explicitly in envsetup.sh and
the code is unnecessary.
This reduces the places to change when we upgrade the gcc version.
It also fixed the bug that the mips toolchain was always exported
regardless of the target arch.

Change-Id: Iee3b895b4c4e0df8971c27c01b9ecbd591848b12
2014-02-19 18:25:55 -08:00
Pavel Chupin
c1a5664ea3 Switch x86 default compiler to multilib version
Switch from gcc-4.7 32-bit only to gcc-4.7 multilib (32/x32/64) compiler.
Tested x86 image build on Linux and Darwin.

This bionic patch is required:
https://android-review.googlesource.com/#/c/64183

Change-Id: Ifc2c6c5d6a4a1b71a00a87af072bb7f67b1c284d
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-08-26 10:42:42 +04:00
Ben Cheng
7028f5ec86 Stash TARGET_CPU_VARIANT and print it in dumpvar.
Bug:7961327
Change-Id: I8a3637a87b5a0f791568fe74e44a4a173541deb7
2013-01-16 10:01:26 -08:00
Ben Cheng
8bc4c438bd [ARM] Extend the usage of TARGET_GCC_VERSION for gdb and arm-eabi-*.
In the future to upgrade the gcc version we just need to edit one
line in core/config.mk.

Change-Id: I01bb38c38f2388913bb7369aa4b2da480411dfbe
2012-11-16 13:29:13 -08:00
Andrew Hsieh
06b63baedc Add TARGET_GCC_VERSION
Default to 4.6, but can overwritten to something else in
prebuilts/gcc/$os/$arch/$arch-linux-android*-$ver

Change-Id: I16f99d642b8ff8e831d392261a0c536041107051
2012-10-23 12:06:01 +08:00
Raghu Gandham
8da4310646 MIPS support to *.mk files and envsetup.sh
Change-Id: Iba4d046e3202524b29cfe32980927f8cc0aa8496
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Raghu Gandham <raghu@mips.com>
2012-08-10 09:15:38 -07:00
Bruce Beare
42ced6d5e2 x86: cleanups for toolchain
The 4.4.3 TC was still being specified in one spot.
Also, no need to cross-set x86/ARM variables when buliding
for ARM/x86.

Change-Id: Icbb0f772a983a24dc10ccab0800d4b7bbd60a099
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2012-07-17 21:40:12 -07:00
Jean-Baptiste Queru
feec98b139 resolved conflicts for merge of 62855a83 to jb-dev-plus-aosp
Change-Id: Ic424ff756396463b98d137f8353d4a230e806a07
2012-05-16 13:18:39 -07:00
Jean-Baptiste Queru
a50ef1c124 Switch to new locations of toolchains
Change-Id: I15a8be11b3d0f1985ffd97dd51a1af18e1ce7b67
2012-04-20 16:15:42 -07:00
Jing Yu
f5172c7564 Switch default gcc toolchain from 4.4.3 to 4.6.
Switch both arm-linux-androideabi toolchainand arm-eabi toolchain.

Change-Id: I7b2771fe684853ab37e3b5b7cfe4146f9f901e02
2012-03-29 20:45:50 -07:00
Jean-Baptiste Queru
93a1a0ec6b am e50d91f9: am d93d4601: am 45873583: Merge "Add extra environment info to build output"
* commit 'e50d91f9dac20546152b575cdab7781b646ee2ed':
  Add extra environment info to build output
2012-02-13 14:42:43 -08:00
Conley Owens
5f1c9ba0b8 Add extra environment info to build output
This should help us support users with build issues.
Given that they inculde the dumpvars in their error report,
we will be able to avoid asking standard questions like
"what version of Ubuntu are you using?"

Change-Id: Ib7c452d805d5e64075a44dc40e41d4605cc1ef4a
2012-02-07 11:16:42 -08:00
Jean-Baptiste Queru
cb8f66305c Revert "Point arm toolchain to the new gcc-4.6 one."
This reverts commit 1f87795eef.
2012-01-11 04:23:06 -08:00
Jean-Baptiste Queru
ea91f0a40e Reference x86 toolchain in its new location
Change-Id: I990b03107d1596a87a8d4cea6973735c60db4c64
2012-01-09 13:02:03 -08:00
Jing Yu
1f87795eef Point arm toolchain to the new gcc-4.6 one.
Tested build mysid-eng, sojus-eng, trygon-eng, yakju-eng.

Change-Id: I742cf9fcf2407b9098c99136d67161ecf062ac01

Conflicts:

	core/combo/TARGET_linux-arm.mk
2012-01-06 14:14:06 -08:00
Jean-Baptiste Queru
c401b4438c am 0cd997ff: am 8af0efd6: Improve handling of absolute paths in out directory
* commit '0cd997ff31852af80eab4f3d0c2db8d1a1328085':
  Improve handling of absolute paths in out directory
2011-12-06 22:53:45 -08:00
Jean-Baptiste Queru
316febd715 am 78b68045: am ffe03c98: Set OUT_DIR based on a common base path
* commit '78b680458b3ba53fb2f88a603e371c002eb8944b':
  Set OUT_DIR based on a common base path
2011-12-06 22:53:44 -08:00
Jean-Baptiste Queru
8af0efd6a1 Improve handling of absolute paths in out directory
Change-Id: If6b320e274fb1cee33808424246ce2c88b9b7ef5
2011-12-06 16:33:11 -08:00
Jean-Baptiste Queru
ffe03c984b Set OUT_DIR based on a common base path
Change-Id: I2c4ba8b101d4d186ed4b371b9d07b3bcf75bbcc9
Author: Jean-Baptiste Queru<jbq@google.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-12-06 14:36:49 -08:00
Nick Kralevich
0ab21d3ed3 make gdbclient work on x86
Change-Id: I2fd4fc2b89db13a8db1b177afdab593772cb12f8
2011-11-11 09:02:01 -08:00
Jeff Brown
e33ba4c49e Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: Ie814f4c8d3aa1e7cc7f5735822ab25542f36cf62
2011-07-11 23:51:37 -07:00
Raphael
732936d99a resolved conflicts for merge of 8508a073 to honeycomb-plus-aosp
Change-Id: I376928881adb0e9fd62fabc1e21542bf0d700ca2
2011-06-22 14:35:32 -07:00
Raphael Moll
c639c787a0 Lunch: don't use a toolchain that doesn't exist.
"lunch sdk-eng" on cygwin tries to use a gcc.exe from the
prebuild arm toolchain, but it doesn't exist. This prevents
from setting variables to point on a gcc toolchain if there
is none for the given arch.

Change-Id: I3b72220663687f9fdaacc050899aef00632f2c3c
2011-06-21 06:11:05 -07:00
Jean-Baptiste Queru
1804025f53 am f41934fc: am 26d8c589: Merge "Display the TARGET_ARCH_VARIANT"
* commit 'f41934fcd42c56a02742014e8e24520a85166117':
  Display the TARGET_ARCH_VARIANT
2010-11-19 10:38:49 -08:00
Jean-Baptiste Queru
f41934fcd4 am 26d8c589: Merge "Display the TARGET_ARCH_VARIANT"
* commit '26d8c5896e937ed677007c23d46d6759845fe91f':
  Display the TARGET_ARCH_VARIANT
2010-11-19 10:37:07 -08:00
Bruce Beare
8ee0dfdd43 Display the TARGET_ARCH_VARIANT
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2010-10-14 12:26:31 -07:00
Jing Yu
9d396e37ac Make arm-linux-androideabi toolchain the default for Android build.
androideabi target is already in upstream GCC. The arm-linux-
androideabi toolchain can be built directly from upstream GCC.
Switching from old special tailored arm-eabi toolchain to the new
arm-linux-androideabi toolchain make us closer to the opensource
community and friendly to all toolchain developers.

kernel still uses arm-eabi toolchain. So we add arm-eabi toolchain
path to PATH.

The arm-linux-androideabi-4.4.x toolchain is built with the same
source as the latest arm-eabi-4.4.3 toolchain except for the
target change patches.

Change-Id: I1e5f2fe2faeee08f913f37e0ba93e84d2654a8ff
2010-07-29 19:09:12 -07:00
The Android Open Source Project
c9d1186151 merge from open-source master
Change-Id: Iad583004b67ce1ef0651e81b57c2c95632da9845
2010-07-12 14:43:29 -07:00
Bruce Beare
b73dc6690b Allow TARGET_ARCH to be set from BoardConfig.mk
Change-Id: I66aed78b763d238719822257c1f4f35301247df6
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2010-07-12 09:42:10 -07:00