Commit graph

12 commits

Author SHA1 Message Date
Joe Onorato
64f3db2ec1 Keep the first and last snapshot of variables.
So we can compare our reconstruction of the variable state.

Test: treehugger
Change-Id: I9c1995f8969dcf95256aa7c05a01d0431e36caa2
2021-02-17 10:02:41 -08:00
Joe Onorato
f20c93afa3 Emit and parse the product config variables from kati/make
Test: cls && rm -rf out/config/ && m product-config-test product-config && java -jar out/host/linux-x86/testcases/product-config-test/product-config-test.jar && time ( product-config --ckati_bin /source/kati/ckati > ~/Desktop/out.txt )
Change-Id: I52e5c07f9aaf899f9d45680313275c6d9e246ff2
2021-02-17 10:02:41 -08:00
Anton Hansson
d26c647f74 Add support for single-value product variables
Prior to this change, all PRODUCT_* variables are inherited with
list semantics, meaning the variable value in the current makefile
as well as all the makefiles it inherits are concatenated together.

Many of these variables are not lists, so this change adds the
ability to classify a variable as a single-value variable, which
will inherit at most one value (the first one), unless the variable
is already defined in the current file.

This change also marks all current variables as list variables.
A future change will re-classify the single-value variables as such.

Bug: 116769560
Test: presubmit
Change-Id: I57719a5eefd0749e92c08b1773b6f929629267a3
2019-05-06 16:17:20 +01:00
Ying Wang
157a5e1695 Load only the current product config makefile.
To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
2012-09-27 15:17:41 -07:00
Jeff Brown
01efddb0b8 Make make make faster.
Optimize common case of uniq-words where the word is not
actually duplicated.  Reduces make startup overhead.

Change-Id: I1bee13bbd08a7b01248f4452283a64a724663d02
2012-05-30 13:52:22 -07:00
Doug Zongker
1d89773c1d fix makefile inheritance system
The variable inheritance system can leave extra spaces in a variable
when multiple levels of inheritance are used.  It can expand:

  "@inherit:foo @inherit:bar @inherit:baz"

     to

  "value @inherit:bar @inherit:baz"

     and then

  "value  @inherit:baz"   (if bar has no value for the variable)

     and then

  "value "  (if baz also has no value).

Call strip to remove excess spaces between words after each
replacement pass.

Change-Id: Ic4cfc6fed1865066a6353a522e4bdcb68ec875d3
2010-02-18 12:23:35 -08:00
Joe Onorato
7b86bfb03e add a warning about using include in product spec files.
currently disabled because there are too many of them.
2010-01-07 11:26:05 -08:00
Sean McNeil
d47804e929 Provide LOCAL_DIR as some product variables might need a reference directory (i.e. PRODUCT_COPY_FILES).
Change from LOCAL_DIR to LOCAL_PATH
2009-04-04 18:46:13 +07:00
The Android Open Source Project
6a5f7f068b auto import from //depot/cupcake/@136594 2009-03-05 14:34:30 -08:00
The Android Open Source Project
88b607994a auto import from //depot/cupcake/@135843 2009-03-03 19:28:42 -08:00
The Android Open Source Project
05806d7af6 auto import from //depot/cupcake/@135843 2009-03-03 18:28:14 -08:00
The Android Open Source Project
b6c1cf6de7 Initial Contribution 2008-10-21 07:00:00 -07:00