job000015 #7

  • //
  • spec/
  • job/
  • job000015
  • View
  • Commits
  • Open Download .zip Download (3 KB)
# Perforce Public Depot Jobs
#
#  Job:           The job name. 'new' generates a sequenced job number.
#  Status:        Job status; [open/closed/suspended].  Required
#  Project:       The project this job is for [none/cdsp4/jam/p4hl]  Optional.
#  Severity:      [A/B/C] (A is highest)  Required.
#  ReportedBy     The user who created the job. Can be changed.
#  ReportedDate:  The date the job was created.  Automatic.
#  ModifiedBy:    The user who last modified this job. Automatic.
#  ModifiedDate:  The date this job was last modified. Automatic.
#  OwnedBy:       The owner, responsible for doing the job. Optional.
#  Description:   Description of the job.  Required.
#  DevNotes:      Developer's comments.  Optional.

Job:	job000015

Status:	closed

Project:	jam

Severity:	C

ReportedBy:	craig_mcpheeters

ReportedDate:	2002/02/26 10:13:28

ModifiedBy:	shawn_hladky

ModifiedDate:	2008/04/13 13:00:54

Description:
	Error in the definition of FIncludes and FDefines for NT and OS2?
	
	Date: Fri, 11 Jan 2002 17:33:21 -0800 (PST)
	Message-Id: <[email protected]>
	From: Craig McPheeters <[email protected]>
	To: [email protected]
	Subject: Re: [jamming] Perforce internal jam changes to //public/jam/...
	
	Hi Richard,
	
	
	I noticed that in the Jambase, there may be an error in the definition
	of FIncludes and FDefines for NT and OS2?
	
	>From the Jambase:
	
	---
	
	rule FQuote { return \\\"$(<)\\\" ; }
	rule FDefines { return -D$(<) ; }
	rule FIncludes { return -I$(<) ; }
	
	rule FDirName
	{
		# Turn individual elements in $(<) into a usable path.
	
		local _i ;
		local _s = $(DOT) ;
	
		for _i in $(<)
		{
		    _s = $(_i:R=$(_s)) ;
		}
	
		return $(_s) ;
	}
	
	if $(OS2)
	{
		rule FQuote { return \"$(<)\" ; }
		rule FInclude { return -I$(<) ; }
	}
	
	else if $(NT)
	{
		rule FInclude { return -I$(<) ; }
	}
	
	---
	
	Which first creates the default Unix versions and then overrides them
	with specialized versions for NT and OS2, etc.
	
	NT and OS2 define a rule called FInclude  (not FIncludes).  This seems 
	wrong, as I don't see it being called, only the plural version is called?
	
	Also, the NT versions should use /I and /D I think.   This may be
	what was intended?
	
	if $(OS2)
	{
		rule FQuote { return \"$(<)\" ; }
		rule FIncludes { return -I$(<) ; }
	}
	
	else if $(NT)
	{
		rule FDefines { return /D$(<) ; }
		rule FInclude { return /I$(<) ; }
	}
	
	
	NT should override FDefines as well.  Although I'm not familiar with OS2
	and don't now its flag convention.  For the NT includes, you can cross
	check it with the use of STDHDRS in some of the actions.  Ie:
	
		actions Cc
		{
		$(CC) /c /Fo$(<) $(CCFLAGS) $(CCDEFS) $(CCHDRS) /I$(STDHDRS) $(>)
		}
	
	
	
	Cheers,
	 Craig.
# Change User Description Committed
#7 default
#6 default
#5 default
#4 default
#3 default
#2 default
#1 default