Commit Graph

421 Commits

Author SHA1 Message Date
Colin Cross e97e69359a Use java prebuilts
Point the make java variables at JDK prebuilts in
prebuilts/jdk/jdk8, add them to the path, and clean up
some old overrides.

Reapplies Ibbeb30fab96e45aedd5bb6d710d1170f85789982 after updating
some more manifests to include the prebuilts.

Bug: 62956999
Test: m -j checkbuild
Change-Id: I9e27aa5cb04d1ed09e43b798e5d654843afc000f
(cherry picked from commit 1931750940)
2017-07-20 15:14:26 +00:00
Colin Cross 02112900cc Revert "Use java prebuilts"
This reverts commit 1931750940.

Change-Id: I7a99fd6c53d35a2a674f2d60b113a727f3c453ce
2017-07-19 22:42:46 +00:00
Colin Cross 1931750940 Use java prebuilts
Point the make java variables at JDK prebuilts in
prebuilts/jdk/jdk8, add them to the path, and clean up
some old overrides.

Bug: 62956999
Test: m -j checkbuild
Change-Id: Ibbeb30fab96e45aedd5bb6d710d1170f85789982
2017-07-14 14:18:53 -07:00
Dan Willemsen d41ec5a3bc Stop using make wrapper around soong_ui
Instead of running make -> makeparallel -> soong_ui, just run soong_ui.
Soong_ui now handles user-facing argument parsing.

The user visible changes should only be:
* Most `make` command line options are no longer supported. Many didn't
do anything useful before this change either.
* `-j` is now implied, so not specifying it will default to full
parallelism instead of a single-threaded build.
* `make` debug messages are removed:
  make: Entering directory ...
  make: Leaving directory ...
  make: *** [run_soong_ui] Error 1

We still support the make workflow for users that don't use envsetup.sh
-- the build servers primarily, but also various helper scripts. These
will be converted later.

Test: in $TOP; make nothing
Test: in $TOP/bionic; make (runs real make, fails w/no makefile)
Test: in $TOP; m nothing
Test: in $TOP; mm nothing
Test: in $TOP; mma nothing
Test: in bionic/libc; m nothing
Test: in bionic/libc; mm
Test: in bionic/libc; mma
Test: in $TOP; mmm bionic/libc
Test: in $TOP; mmma bionic/libc
Test: in bionic; mmm libc
Test: in bionic; mmma libc
Test: set WITH_STATIC_ANALYZER=1, repeat above
Change-Id: Ic00190ac65a6aa924dad35d3d540c11d653b9c53
2017-07-12 17:16:49 -07:00
David Gross d1d6fc5cff Teach mgrep to find soong/*.go files.
Test: $ cd $ANDROID_BUILD_TOP
      $ mgrep FORCE_BUILD_LLVM_DEBUG
      ./external/llvm/llvm-host-build.mk:24:ifeq ($(FORCE_BUILD_LLVM_DEBUG),true)
      ./external/llvm/soong/llvm.go:44:       if ctx.AConfig().IsEnvTrue("FORCE_BUILD_LLVM_DEBUG") {
      $ cd external/llvm
      $ mgrep FORCE_BUILD_LLVM_DEBUG
      ./llvm-host-build.mk:24:ifeq ($(FORCE_BUILD_LLVM_DEBUG),true)
      ./soong/llvm.go:44:     if ctx.AConfig().IsEnvTrue("FORCE_BUILD_LLVM_DEBUG") {

Change-Id: Ibe114550a8022d792a0c10c766c964a67721a6ba
2017-05-10 10:49:44 -07:00
Colin Cross 1c1e142199 Only set TARGET_PLATFORM version in lunch when explicitly requested
Setting TARGET_PLATFORM_VERSION to DEFAULT_PLATFORM_VERSION during
"lunch sailfish-userdebug" causes unnecessary pain when
DEFAULT_PLATFORM_VERSION becomes invalid after branching.  Only
set TARGET_PLATFORM_VERSION if it was explicitly requested with
lunch sailfish-userdebug-OPR1.

Test: build/make/tests/envsetup_tests.sh
Bug: 34972208
Bug: 37208937
Change-Id: I40ba4617e73803c5bec1a8d317382f70fb3ec3a2
Merged-In: I40ba4617e73803c5bec1a8d317382f70fb3ec3a2
2017-05-03 02:47:59 +00:00
Christopher Ferris fd0cb496b1 Merge "Small fixes for environment variables." 2017-03-24 16:15:07 +00:00
Christopher Ferris 55257d2b78 Small fixes for environment variables.
Fix all of the leaking of local variables by marking locals properly.

Fix a case where ANDROID_TOOLCHAIN_2ND_ARCH is set incorrectly.

Test: lunch'd aosp_angler-userdebug and then aosp_fugu-userdebug
Test: and verified ANDROID_TOOLCHAIN_2ND_ARCH is set properly after
Test: the first lunch and unset after the second lunch.
Test: Also attempt to build the two targets.
Change-Id: I49548e0d6654bfb1105a6ecaf2705825b9ddf3a5
2017-03-23 11:12:04 -07: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
Josh Gao 310b6ff676 Fix stacks on 64 bit processes.
debuggerd64 doesn't exist anymore, `debuggerd $PID` works on both 32
and 64 bit processes.

Bug: http://b/35872661
Change-Id: I47be05c7ec346e5d657d06e6c3aff1723494639b
2017-03-01 11:34:58 -08:00
Simran Basi dd050ed1b3 Share *_OUT_TESTCASES environment variables with TF
Instead of having test tools search the OUT_DIR for the
testcases folders (of which there can be multiple different
targets), let's have these variables become part of the runtime
environment after a developer has run lunch.

Bug: 35322559
Test: . build/envsetup.sh ; lunch ; printenv | grep TESTCASES
Change-Id: Ic4addc2b9727ff717b2e595b9be224650e2f1b1d
2017-02-13 13:50:14 -08:00
Wei Wang 79056db4e0 Support Android.bp in mgrep
This patch enabled Android.bp in mgrep result

Bug: 32313127
Test: mgrep
Change-Id: Ie3171a10ab54322bfc3844d1f629c783286ec212
2016-10-20 14:31:05 -07:00
Colin Cross 127fceae06 Walk up tree to find makefiles in mma
Call findmakefile in mma to walk up the tree to find the nearest
makefile.  Fixes mma in subdirectories of directories that have
Android.mk or Android.bp files.

Change-Id: I6fa509171699071fc34a2a75dd7e191d4ddca31a
2016-09-01 15:35:57 -07:00
Colin Cross 4bfae06e71 Canonicalize mmm path
Canonicalize the mmm path relative to the top level before creating the
MODULES-IN-dir target.  Fixes cd frameworks/base; mmm -j .

Test: cd frameworks/base; mmm -j
Change-Id: If7bc321e8a87b76121f876bf4bc296b0f9b80578
2016-08-31 22:00:03 -07:00
Dan Willemsen 9fc9cac0ac Merge "Fix GET-INSTALL-PATH to work with Soong"
am: 6b9aa6938d

Change-Id: I9f433cb383846ec6ccb8e39be4b30110d60d54fd
2016-08-15 21:17:33 +00:00
Dan Willemsen 53e3899222 Fix GET-INSTALL-PATH to work with Soong
This was printing all of the Soong modules in addition to the modules
defined in the ONE_SHOT_MAKEFILE. So replicate what we did with
MODULES-IN-* with GET-INSTALL-PATH-IN-* and update all the users.

Bug: 30191725
Change-Id: Ib1e4bf00f64d7a3e8cd91f44eaf1ff82fdfbf162
2016-08-12 05:10:51 +00:00
Colin Cross 6f8244b62d Merge "Fix mm and mmm in Android.bp directories" am: 8ed91b6624
am: 323396993c

* commit '323396993c6651b4b98974df9e9d53118f27a840':
  Fix mm and mmm in Android.bp directories

Change-Id: I95d6bde7a0ea72b47779f1a5b0577ff423524b6f
2016-05-27 00:29:14 +00:00
Colin Cross 8642525726 Fix mm and mmm in Android.bp directories
mm and mmm were not parsing out/soong/Android.mk, so they were ignoring
all modules defined in an Android.bp file.  Always include
out/soong/Android.mk when ONE_SHOT_MAKEFILE is set, and convert the mm
and mmm functions to build MODULES-IN-$DIR instead of all_modules so
that only the subset of modules defined in out/soong/Android.mk for the
requested directory are built.

Bug: 28986194
Change-Id: I6e1ff8cacfc668a4154a0d5937450db840bb7a6b
2016-05-26 15:56:21 -07:00
Vishwath Mohan 9cdb6f1a31 Merge "Double quote some statements for zsh compatibility" am: 576fd3ebb9
am: 29c2c4db19

* commit '29c2c4db19c6c9f152a1c48aee368a3439cd195f':
  Double quote some statements for zsh compatibility

Change-Id: Id02db06a190370d18e3b7828a453cd16948d77c1
2016-05-23 22:29:50 +00:00
Vishwath Mohan 7d35f001e1 Double quote some statements for zsh compatibility
Two eval commands did not enclose their arguments in double quotes, and
this broke compatibility on zsh - preventing lunch from running to
completion. This CL adds the double quotes and fixes the issue.

Change-Id: I5ed884b455e2e61182f6c29fb807ed92372af039
2016-05-19 12:38:16 -07:00
Keun Soo Yim 46a259651f resolve merge conflicts of 72b82dc to nyc-dev-plus-aosp
Change-Id: I6e62226774584154ad1a802594e386fe7942504b
2016-04-25 15:27:21 -07:00
Keun Soo Yim 3d4847525f build rule change for VTS (vendor test suite)'s metadata files
Change-Id: I76b81529a97b672e08632703d2f6a2777ee8811e
2016-04-25 13:06:57 -07:00
Marie Janssen 32ec50a1f1 make croot slightly more useful
Have croot take an argument of a directory to end up in,
so we can jump around the tree even faster.

Change-Id: Ieb6a8d47fee0412006a11192b29ed44604961312
2016-04-22 16:25:29 -07:00
Chih-Hung Hsieh a9a55c7c7e Call clang-tidy based on WITH_TIDY* variables.
* Call clang-tidy before every C/C++ compilation if
  (1) clang-tidy is found at $(PATH_TO_CLANG_TIDY)
  (2) $(my_clang) is true
  (3) LOCAL_TIDY is 1 or true, or
      LOCAL_TIDY is undefined and WITH_TIDY is 1 or true.
* clang-tidy is called with -checks=$(my_tidy_checks),
  which has default '-*,google*,-google-readability*'
  and can be overwritten by WITH_TIDY_CHECKS.
* LOCAL_TIDY_CHECKS is appended to $(my_tidy_checks)
* Extra flags are passed to clang-tidy through
  WITH_TIDY_FLAGS or LOCAL_TIDY_FLAGS.
* To quickly find and fix clang-tidy warnings, set $(WITH_TIDY_ONLY)
  to 1 or true to skip compilation of C/C++ files.
* Add a PHONY tidy_only target,
  which includes all $(cpp_objects) and $(c_objects).
* The 'mm' and 'mmm' functions are changed to call make with
  the 'tidy_only' target when WITH_TIDY_ONLY is true or 1.
  In that case, only clang-tidy is called for C and C++ files.

Bug: http://b/27779618
Change-Id: I8adcfff217d68af49849b79aacee7d7654cafb1b
2016-04-21 12:31:13 -07:00
Elliott Hughes 910a355947 Use ulimit -p rather than prlimit.
Neither is standard, but ulimit is toybox and therefore a bit more
regular and at least has help text.

Change-Id: Id7ba9adc9ca256b821d8060506010abef30dee28
2016-03-07 14:05:22 -08:00
Ying Wang ac9092730e Small fixes.
Change-Id: Ia949ed0bc93edb78d0b029f3bd3dd584e9a00dc8
(cherry-pick from commit f0cb397a9e)
2016-03-04 14:02:25 -08:00
Ying Wang 7dfdb843b2 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
2016-03-04 14:02:03 -08:00
Ying Wang f0cb397a9e Small fixes.
Change-Id: Ia949ed0bc93edb78d0b029f3bd3dd584e9a00dc8
2016-03-04 13:56:23 -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
Chih-Hung Hsieh 42d5c292d9 Use new clang scan-build script.
The actual clang compiler called for static analysis is decided
by build/core/binary.mk, not the one given to --use-analyzer.

BUG: 13287788
Change-Id: I58105c20b56ce17ddf329a275c750d14284d1e25
2016-02-24 19:18:45 -08:00
Neil Fuller fcf7c81a7f Revert "Revert "Make OpenJDK 8 the default""
Reapply the JDK 8 switch in internal builds.

This reverts commit 85bddfdedf.
2016-01-25 17:35:57 +00:00
Neil Fuller 1f495b865e Revert "Revert "Make OpenJDK 8 the default""
Reapply the switch to JDK 8 on aosp/master.

This reverts commit 85bddfdedf.

Change-Id: If2e8733ba78b007d37914c0512cd6be1bd4c1e69
2016-01-25 17:12:41 +00:00
Neil Fuller 85bddfdedf Revert "Make OpenJDK 8 the default"
Temporary revert to help out Brillo folks.
It will be resubmitted tomorrow.

This reverts commit 4495f6afb8.

Change-Id: Id378c7d3a6e72e9be50f9404b19d5763568987a5
2016-01-25 17:04:14 +00:00
Neil Fuller 4495f6afb8 Make OpenJDK 8 the default
To return to OpenJDK 7:
export LEGACY_USE_JAVA7=true

And run envsetup.sh/lunch again.

Bug: 25786468
Change-Id: I8e00591a24d13e3b8b6baaafe0fdff6536c58770
2016-01-25 10:19:25 +00:00
Neil Fuller 8f354bc8c2 Merge "Use sensible default locations for Java" 2015-11-20 10:16:17 +00:00
Neil Fuller 91e012cd99 Use sensible default locations for Java
Use sensible default locations for Java based on
the EXPERIMENTAL_USE_JAVA8 flag.

Bug: 25786468
Change-Id: I7ec035b5329785efc41b3f971d5e3ae202293576
2015-11-19 16:41:36 +00:00
Marie Janssen 4afc2c0f6f envsetup: fix for provision to work on zsh
The -p option means something else on zsh and breaks this function.

Bug: None
Change-Id: Ie0ba8119e34c616f5b8f931806063d6b1d3d893e
2015-11-10 10:41:15 -08:00
Gaurav Shah 881ec090c4 Merge "build: Add support for defining products in /product"
am: acb8a7c1f8

* commit 'acb8a7c1f8cacaf136edba1a25d64467d352a432':
  build: Add support for defining products in /product
2015-11-02 22:27:08 +00:00
Lee Campbell 455f6f458d build: Add support for defining products in /product
The build will now search for AndroidProducts.mk in /product

BUG: 22030305

Change-Id: I2d067d95d0c8dc1341a55167f9ac7f6926e04ce3
2015-11-02 14:17:47 -08:00
Mike Frysinger 2bd3f6e12c Merge "use `find -exec ... +` everywhere"
am: 6ff6e9552c

* commit '6ff6e9552c90d091adf4e3f686d2922585d8060f':
  use `find -exec ... +` everywhere
2015-10-22 19:44:08 +00:00
Mike Frysinger 5e47973204 use `find -exec ... +` everywhere
This is more efficient as find itself can handle correctly passing
arguments down to the command, and this is in POSIX.  The current
versions of OS X also support this form.

BUG=None
TEST=mgrep still works

Change-Id: Ie570867609113868daaf068658c4f7e6f4ae42fa
2015-10-22 09:50:59 -04:00
Roland Levillain fef5ba8ec7 Merge "Typos in envsetup.sh."
am: 8503cfb49c

* commit '8503cfb49c797bffa2568cffaab483071230fef0':
  Typos in envsetup.sh.
2015-10-20 21:44:10 +00:00
Roland Levillain 39341924db Typos in envsetup.sh.
Change-Id: I31cc811e1352b9c924bdf164561f334b032d6f5c
2015-10-20 12:51:06 +01:00
Ying Wang 3a6ad87039 Merge "envsetup: Show error when supplied dir isn\'t present with mmm"
am: 475054a16a

* commit '475054a16ad57b184fa476c093cf1ce8e9ec3e15':
  envsetup: Show error when supplied dir isn't present with mmm
2015-10-19 23:21:46 +00:00
Abhinav1997 a72a6e7c72 envsetup: Show error when supplied dir isn't present with mmm
When a directory isn't present with mmm, don't show "No Android.mk present", rather show that the directory isn't present

Change-Id: I7259a60012c6f30c470daa60d5a5097d01ffc4c7
Signed-off-by: Abhinav1997 <abhinav.jhanwar.august2@gmail.com>
2015-10-19 22:38:42 +02:00
Brian Carlstrom 10abe69478 am b43cf696: am 848b8e9d: am fa2ce3b3: am f73f79f1: Merge "Use /filelist when OUT_DIR is set" into mnc-dev
* commit 'b43cf69672c72c025f0fe764d49ec950e3b57b81':
  Use $OUT_DIR/filelist when OUT_DIR is set
2015-10-04 20:05:54 +00:00
Brian Carlstrom f2257427d9 Use $OUT_DIR/filelist when OUT_DIR is set
Change-Id: Iadf3f05e752d71371d3d74e670ade3e937b1cd92
2015-09-30 20:36:15 -07:00
David Zeuthen 2fb9d0904f am 0238e879: Merge "envsetup.sh: Add \'provision\' function."
* commit '0238e879893bbbbab4e75b0fd1355c43547ca31e':
  envsetup.sh: Add 'provision' function.
2015-09-30 21:51:55 +00:00
David Zeuthen 1b126ffedc envsetup.sh: Add 'provision' function.
This will run ${ANDROID_PRODUCT_OUT}/provision-device which in turn can
run fastboot (and other vendor-specific bits, if needed) to repartition
the device and reflash all partitions with known versions. Options
passed to the 'provision' command will be passed on to said script which
is expected to pass them on to fastboot.

Since this is a rather destructive operation involving data loss etc.,
user confirmation is required. This confirmation can be bypassed using
the option --no-confirmation.

Change-Id: Iec5667f2f5070b95d2eb70ad1b2984909ae4184c
2015-09-30 17:18:22 -04:00
Ying Wang 945bc2f288 am 92facb1f: Merge "Substitue "/" with "-" in the MODULES-IN phony goal names."
* commit '92facb1fed26492746aca267df51b6082286521c':
  Substitue "/" with "-" in the MODULES-IN phony goal names.
2015-09-24 23:59:29 +00:00