View Issue Details

IDProjectCategoryView StatusLast Update
0001417Issue 8 draftsShell and Utilitiespublic2024-06-11 09:12
Reporterjoerg Assigned Toajosey  
PrioritynormalSeverityEditorialTypeClarification Requested
Status ClosedResolutionAccepted As Marked 
NameJörg Schilling
OrganizationFraunhofer FOKUS
User Reference
Sectionmake
Page Number2910
Line Number97964
Final Accepted Text0001417:0005253
Summary0001417: Need to make sure that makefiles with += and ?= are portable to all make implementations
DescriptionIn 0000330 we added support for += and ?= but forgot to mention that there need to be a <space> character before *= and ?=.

The background is that some make implementations as an extension support the characters '+' and '?' to appear in macro names and as a result, the parser needs a leading space to properly detect += and ?=.

Note that += is supported (wihth leading space) in SunPro Make since January 1986.
Desired ActionIn draft 1.1 on page 2910 after line 97964 add:

Some make implementations (e.g. SunPro Make) support the characters '+' and '?' to appear in macro names and as a result, the parser needs a leading space to properly detect += and ?=. A conforming makefile needs to have a <space> character before += or ?=.
Tagsissue8

Relationships

related to 0000373 Closedajosey 1003.1(2008)/Issue 7 make should allow dash in macro names 

Activities

rhansen

2021-02-25 17:18

manager   bugnote:0005253

On page 2895 line 97283 section make (Macros), change:
In all cases the value of string2 is defined as all characters, if any, after the <equals-sign>, up to a comment character ('#') or an unescaped <newline>. Any <blank> characters immediately after the <equals-sign> or immediately before the <plus-sign> shall be ignored.
to:
In all cases the value of string1 is defined as all characters from the first non-<blank> character to the last non-<blank> character, inclusive, before the <tt>=</tt>, <tt>::=</tt>, <tt>?=</tt>, or <tt>+=</tt>. Portable applications shall ensure that a <blank> precedes the <tt>::=</tt>, <tt>?=</tt>, or <tt>+=</tt> in those forms to avoid any parsing ambiguity with implementations that permit <colon>, <question-mark>, or <plus-sign> in macro names as extensions. The value of string2 is defined as all characters from the first non-<blank> character, if any, after the <equals-sign>, up to but not including a comment character ('#') or an unescaped <newline>.

On page 2895 line 97286 section make (Macros) change:
Applications shall select macro names from the set of characters consisting solely of characters from the portable character set (see [xref to XBD 6.1). A macro name shall not contain an <equals-sign>. Implementations may allow other characters in macro names as extensions.
to:
Portable applications shall select macro names from the set of characters consisting solely of characters from the portable filename character set. Implementations may allow other characters in macro names as extensions; however, a macro name shall not contain an <equals-sign>, <blank>, or control character.

Issue History

Date Modified Username Field Change
2020-11-03 17:14 joerg New Issue
2020-11-03 17:14 joerg Status New => Under Review
2020-11-03 17:14 joerg Assigned To => ajosey
2020-11-03 17:14 joerg Name => Jörg Schilling
2020-11-03 17:14 joerg Organization => Fraunhofer FOKUS
2020-11-03 17:14 joerg Section => make
2020-11-03 17:14 joerg Page Number => 2910
2020-11-03 17:14 joerg Line Number => 97964
2020-11-04 09:49 geoffclare Project 1003.1(2008)/Issue 7 => Issue 8 drafts
2021-02-22 16:56 nick Relationship added related to 0000373
2021-02-25 17:18 rhansen Note Added: 0005253
2021-02-25 17:19 rhansen Final Accepted Text => 0001417:0005253
2021-02-25 17:19 rhansen Status Under Review => Resolved
2021-02-25 17:19 rhansen Resolution Open => Accepted As Marked
2021-02-25 17:19 rhansen Tag Attached: issue8
2021-03-12 11:39 geoffclare Status Resolved => Applied
2024-06-11 09:12 agadmin Status Applied => Closed