This is the same patch I sent out to the PRCS mailing list last August - back then I didn't know about this neat patch submission feature of SourceForge.
Over the last days I have adapted PRCS for Mac OS X. The compilation itself is rather simple (only a small change to src/include/regex2.h is needed),
however there are problems caused by the fact that Mac OS X' native filesystem HFS is case insensitive (though case preserving).
The changes can be dividedinto three groups:
- src/include/regex2.h: As mentioned, just a little change to satisfy the compiler.
- src/repository.cc: In method RepFreeFilename::find_next(), the code now
uses just the radix directories a-z instead of a-zA-Z . As it is implemented in the diff, this change is active only when PRCS is compiled for Mac OS X; however I suggest to make this change for all platforms as it reduces interoperability issues while being compatible with existing repositories.
- everything else: to make it easier on Mac OS X to work with repositories imported from Unix (or other case-sensitive filesystems), I introduced a
new standard option '-I', aka '--ignore-case'. If this option is set, all lookups for the repository files will ignore the case of the radix directory names: for example the file descriptor 'b/0_room.h,v' will match the file with the actual filename 'B/0_room.h,v'.
I don't really like the last change, but the only alternative I see is to restrict this mode to the rebuild process, which then would have to be expanded to re-write the file descriptor names in the .prj file.