Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 319676 - case sensitive environments convert to uppercase
Summary: case sensitive environments convert to uppercase
Status: CLOSED DUPLICATE of bug 564123
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build (show other bugs)
Version: 7.0   Edit
Hardware: PC Windows XP
: P3 major with 2 votes (vote)
Target Milestone: 10.0.0   Edit
Assignee: jan baeyens CLA
QA Contact: Andrew Gvozdev CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-13 05:32 EDT by Erhard Wagner CLA
Modified: 2020-08-18 18:47 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erhard Wagner CLA 2010-07-13 05:32:42 EDT
Build Identifier: I20100608-0911

all case sensitive environment in the global- or project-properties e.g. 'ccDir', 'asmDir' used in lots of makefiles
are converted to uppercase 'CCDIR', 'ASMDIR' after a while or restart of eclipse.

now, the build-process do not run anymore.

eclipse 3.4.x and 3.5.x worked correctly!

Reproducible: Always

Steps to Reproduce:
1. create a Environment like 'sdeDir=E:\sde'
2. restart eclipse
3. the Environment is now 'SDEDIR=E:\sde'
Comment 1 Andrew Gvozdev CLA 2010-07-13 11:50:03 EDT
How do you use your environment variables? In eclipse 3.5+CDT6.0Final they may show with lowercase in Environment tab but only uppercase is working from makefile (on Windows).
Comment 2 Erhard Wagner CLA 2010-07-13 12:07:57 EDT
makefile: -->
...
MAKE      = $(mksBin)\make
...
makefile: <--

in my makefile project I have to use MKS Environment with MRI 68k compiler, linker, etc.

Since CDT 7.0 don't leave the Environment variables untouched in the case sensitive way I got the error:

(Cannot run program "\make": Launching failed)
Comment 3 Erhard Wagner CLA 2010-07-13 12:16:10 EDT
(In reply to comment #1)
> How do you use your environment variables? In eclipse 3.5+CDT6.0Final they may
> show with lowercase in Environment tab but only uppercase is working from
> makefile (on Windows).

That is NOT correct "but _only uppercase_ is working from makefile". e.g. GNU make (cygwin) needs also case sensitive VARIABLES!!
Comment 4 Andrew Gvozdev CLA 2010-07-13 12:31:16 EDT
(In reply to comment #3)
> (In reply to comment #1)
> > How do you use your environment variables? In eclipse 3.5+CDT6.0Final they may
> > show with lowercase in Environment tab but only uppercase is working from
> > makefile (on Windows).
> That is NOT correct "but _only uppercase_ is working from makefile". e.g. GNU
> make (cygwin) needs also case sensitive VARIABLES!!
I agree that it should work case sensitive but I don't see how it was working for you in eclipse 3.5. Can you tell exact version of CDT you were using when it was working? Can you look it up in Help->About->[Installation details]->C/C++ Development Tools?
Comment 5 Erhard Wagner CLA 2010-07-13 13:14:14 EDT
(In reply to comment #4)
> I agree that it should work case sensitive but I don't see how it was working
> for you in eclipse 3.5. Can you tell exact version of CDT you were using when
> it was working? Can you look it up in Help->About->[Installation
> details]->C/C++ Development Tools?

It worked correctly in eclipse 3.5.2 with CDT 6.0.2.201002161416.
All environments (Project->Properties->C/C++ Build->Environment as well Window->Preferences->C/C++->Environment) are unchanged after restart of eclipse 3.5.2. 
Not so in eclipse 3.6: All environment variables in these tabs are changed in uppercase after restart.
Comment 6 Andrew Gvozdev CLA 2010-07-13 14:22:44 EDT
(In reply to comment #2)
> makefile: -->
> ...
> MAKE      = $(mksBin)\make
> ...
> makefile: <--
That is not working for me even in eclipse 3.5.2 with CDT 6.0.2.201002161416 on Windows, even if mksBin shows on Environment page. It only works if I put $(MKSBIN). How did you manage to get it working?
Comment 7 Erhard Wagner CLA 2010-07-13 14:56:35 EDT
(In reply to comment #6)
> (In reply to comment #2)
> > makefile: -->
> > ...
> > MAKE      = $(mksBin)\make
> > ...
> > makefile: <--
> That is not working for me even in eclipse 3.5.2 with CDT 6.0.2.201002161416 on
> Windows, even if mksBin shows on Environment page. It only works if I put
> $(MKSBIN). How did you manage to get it working?

I have done nothing. since years I worked with eclipse it worked without any troubles. I found an older version on an USB-Stick eclipse 3.4.1 CDT 5.0.1.200809120802. I try to run my project with this one and it builds the project correctly even with $(mksBin).

I always unzipped the Classic version of eclipse to a portable disk or stick then I install CDT via 'Software Updates..." and other plug-ins and features like EPIC.  
The 'Build location' is an absolute path.
Comment 8 Eclipse Genie CLA 2020-05-29 13:58:06 EDT
New Gerrit change created: https://git.eclipse.org/r/163859
Comment 9 Eclipse Genie CLA 2020-05-29 18:26:41 EDT
New Gerrit change created: https://git.eclipse.org/r/163874
Comment 10 Eclipse Genie CLA 2020-05-29 19:09:10 EDT
New Gerrit change created: https://git.eclipse.org/r/163876
Comment 11 Eclipse Genie CLA 2020-05-30 22:45:59 EDT
New Gerrit change created: https://git.eclipse.org/r/163898
Comment 12 jan baeyens CLA 2020-08-18 18:46:48 EDT
The bug 564123 that has just been merged fixes this issue.
Only PATH is still converted to uppercase as it is used by CDT internally
Other environment variables may be added to the list of to uppercase variables if they are used by CDT internally.
Comment 13 jan baeyens CLA 2020-08-18 18:47:00 EDT

*** This bug has been marked as a duplicate of bug 564123 ***