PR# 19853 Makefile.SH incorrectly uses a '\' character in a -I directive

Problem Report Summary
Submitter: HowardThomsonSurrey
Category: EiffelStudio
Priority: Low
Date: 2022/03/30
Class: Bug
Severity: Non-critical
Number: 19853
Release: 21.11
Confidential: No
Status: Open
Responsible:
Environment: linux
Synopsis: Makefile.SH incorrectly uses a '\' character in a -I directive

Description
I have an Include Path in my Project Settings, for which the Location starts with an Environment variable, currently $GIT_EIFFEL

In the generated Makefile.SH is a line:

INCLUDE_PATH =  -I"/home_fs/data/git/nng/include/nng" -I"/\$GIT_EIFFEL/eiffel-nng/wrapc" -I"/usr/lib/x86_64-linux-gnu/glib-2.0/include" 

in which the extraneous \ has been inserted before the $GIT_EIFFEL.

There may be some rationale for escaping the $, but the net result, at the moment, is that compilation fails to find my .h file as a result.

Previously, I had an explicit path, not using an environment variable, but that was not portable to my MacPro, and I thought that an environment variable
would solve that portability issue ...
To Reproduce
Ensure that a test Project has a C external that uses an #include <xxx.h> for which an external #include path is needed in the project settings
Problem Report Interactions
From:HowardThomsonSurrey    Date:2022/03/30    Status: Open    Download   
On directly editing the .ecf file, it appears that <external_include location="...."/> does not provide for environment expansion.

The attached eiffel_accounts-OK.ecf compiles OK, the eiffel_accounts-FAIL.ecf does not, with GIT_EIFFEL=/data/git/eiffel


Attachment: eiffel_accounts-FAIL.ecf     Size:10283
Attachment: eiffel_accounts-OK.ecf     Size:10278
From:HowardThomsonSurrey    Date:2022/03/30    Download   
Attachments for problem report #19853

Attachment: Makefile.SH     Size:2727