From cbf32e29a130d22bc734b7778e6304ac9df2a3e8 Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Mon, 14 May 2018 18:00:40 +0200 Subject: Expand environment variables in strings directly Make "$FOO" directly reference the environment variable $FOO in e.g. 'source' statements, instead of the symbol FOO. Use os.path.expandvars() to expand strings (which preserves "$FOO" as-is if no environment variable FOO exists). This gets rid of the 'option env' "bounce" symbols, which are mostly just spam and are buggy in the C tools (dependencies aren't always respected, due to parsing and evaluation getting mixed up). The same change will probably appear soon in the C tools as well. Keep accepting 'option env' to preserve some backwards compatibility, but ignore it when expanding strings. For compatibility with the C tools, bounce symbols will need to be named the same as the environment variables they reference (which is the case for the Linux kernel). This is a compatibility break, so the major version will be bumped to 6 at the next release. The main motivation for adding this now is to allow recording properties on each MenuNode in a clean way. 'option env' symbols interact badly with delayed dependency propagation. Side note: I have a feeling that recording environment variable values might be redundant to trigger rebuilds if sync_deps() is run at each compile. It should detect all changes to symbol values due to environment variables changing value. --- tests/Klocation | 24 ------------------------ 1 file changed, 24 deletions(-) (limited to 'tests/Klocation') diff --git a/tests/Klocation b/tests/Klocation index d3ac09c..6438739 100644 --- a/tests/Klocation +++ b/tests/Klocation @@ -33,30 +33,6 @@ config MULTI_DEF endif endif -config TESTS_DIR_FROM_ENV - string - option env="TESTS_DIR_FROM_ENV" - -config SUB_DIR_FROM_ENV - string - option env="SUB_DIR_FROM_ENV" - -config _SOURCED - string - default "_sourced" - -config _RSOURCED - string - default "_rsourced" - -config _GSOURCED - string - default "_gsourced" - -config _GRSOURCED - string - default "_grsourced" - # Expands to "tests/Klocation_sourced" source "$TESTS_DIR_FROM_ENV/Klocation$_SOURCED" -- cgit v1.2.3