[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] Variable name of USER:CONFIG environment goes to uppercase
|
Hi
When I add an environment variable to a managed build CDT project in
project properties->C/C++ build->environment the variable name is
converted to uppercase.
If for instance you add the variable named "test" with the value
"testvalue" it will look as if "test" is not converting to upper case
but when you close the project properties and reopen the variable name
is converted to "TEST".
This is not done for environment variables of origin USER:PREFS
Because CDT is case sensitive when resolving variables this is a bit of
a problem for me and as you can see in this video "strange things happen"
https://youtu.be/Cqs7V46ffvM
So I'm wondering:
1) Is this a known feature?
2) can I turn this uppercasing off?
3) anyone can provide me with some background info?
Background info of what I'm working on right now.
ESP32 is working on a new release and they want to use nested variables. FI:
build.mcu=esp32s2
compiler.cpp.flags.esp32s2=-mlongcalls -ffunction-section
compiler.cpp.flags={compiler.cpp.flags.{build.mcu}}
resulting in
compiler.cpp.flags=-mlongcalls -ffunction-section
Though the comments in CDT code state this should not work it works
fine. But the (timing of the) uppercasing combined with the case
sensitivity causes a problem.
BUILD.MCU=esp32s2
COMPILER.CPP.FLAGS.ESP32S2=-mlongcalls -ffunction-section
COMPILER.CPP.FLAGS={COMPILER.CPP.FLAGS.{BUILD.MCU}}
gives
COMPILER.CPP.FLAGS={COMPILER.CPP.FLAGS.esp32s2}
Which is not resolved.
There is no obvious way to know that the value of BUILD.MCU should be
uppercased. Moreover BUILD.MCU is used in cases where the value can not
be uppercased.