[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] Variable name of USER:CONFIG environment goes to uppercase
|
Thanks for the info
I tried this on Linux and indeed no conversion to uppercase on
linux. So this is a windows thing.
This means that the conversion to uppercase must be inside an os
check.
I'm really curious what this is supposed to workaround.
Best regards
Jantje
Op 22/05/2020 om 2:06 schreef Jonah
Graham:
I can look into it further (when at my desk) but I
believe the problem is a workaround for environment variables
being not case sensitive on windows. What you mention rings a
bell, so I'll try to find the bit of code in CDT that is doing
it.
Jonah
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.
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev