Issue 78776

Summary: Create function macro / macro expansion to (filename-)normalize a macro
Product: Build Tools Reporter: quetschke
Component: dmakeAssignee: hjs <hans-joachim.lankenau>
Status: CLOSED FIXED QA Contact: issues@tools <issues>
Severity: Trivial    
Priority: P3 CC: hans-joachim.lankenau, issues
Version: current   
Target Milestone: ---   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
Patch for dmake none

Description quetschke 2007-06-21 19:01:43 UTC
See issue 74007 for details. The objective is to create a function macro

  $(normpath[,var] list)

and a macro expansion

  $(macro_name:n list)

that normalizes the elements of list to the shortest representation, see dmake
man page BINDING TARGETS. The setting of .WINPATH is used to determine the
output format.

If var is given in the $(normpath ...) case it is expanded and used as if it
were the value of .WINPATH to determine the output format.
Comment 1 quetschke 2007-06-21 19:11:03 UTC
Obviously I meant
  $(macro_name:n)
for the macro expansion and that the value of that macro (tokenwise) is normalized.
Comment 2 quetschke 2007-07-24 23:47:17 UTC
Created attachment 47055 [details]
Patch for dmake
Comment 3 quetschke 2007-07-27 18:07:54 UTC
Documentation committed.
Comment 4 quetschke 2007-07-27 18:08:28 UTC
@ause: Please verify
Comment 5 quetschke 2007-09-17 23:25:35 UTC
Fixed testcases function_macros-8 and macros-7 for non-cygwin OSs.
Comment 6 hjs 2007-10-12 12:11:40 UTC
additional thoughts:
i'm wondering if a native windows dmake could able to use d:/tmp translation
too. that could e.g. make a combination like MSYS/MSVC possible, for what it is
worth...
Comment 7 quetschke 2007-10-12 17:12:37 UTC
I like that idea. I haven't checked in a while, but most of the tools that we
currently use from cygwin should be available as as native W32 versions. Well,
I don't particularly like MSYS, because it needs it's own "cygwin-like" dll,
but if we could find a native shell bash, or tcsh (or related, even ksh might
work. I guess we don't really use sophisticated shell features.) we could
remove the need for cygwin. Or a free 4nt would work ;)
Comment 8 hjs 2007-12-21 13:39:15 UTC
dmake 4.11 is in use now