# 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.