home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 160.lha / CrossReference / README.AMI < prev    next >
Text File  |  1988-04-27  |  4KB  |  70 lines

  1.                  C Cross Reference DataBase
  2.                     by: Greg McGary
  3.                 Amiga Port by Rick Schaeffer
  4.                               E. 13611 26th Ave.
  5.                               Spokane, Wa.  99216
  6.  
  7. This archive contains binaries and documentation for a really nice C
  8. language cross-reference data base system.  The following documents are
  9. for the Unix environment it was originally written for.  Except for the 
  10. differences I will note below the programs work as documented.  The
  11. documents are:
  12.  
  13.     mkid.man
  14.     lid.man
  15.     tutorial
  16.  
  17. First, the caveats:
  18. This system was designed for the Unix programming environment and, as such,
  19. expects that the underlying shell program will expand command line wild-
  20. card arguments.  I thought of using the Arp library wildcard expansion
  21. routines but then I would have had to restrict users to those that had 
  22. installed the Arp library.  Personally, I use the Matt Dillon/Steve Drew
  23. shell program (often known as "csh") on my system and it performs all
  24. wildcard expansions quite nicely (as any decent shell should!).  This
  25. system, while useable without wildcard expansion, really needs it and so
  26. that is the one restriction on it's use...you must be running either "csh"
  27. or some equivalent shell which expands command line wildcards and passes
  28. a proper "argv" array to the program being run.  I will be posting the
  29. source to this system so that those that can't or won't run "csh" or it's
  30. equivalent can add wildcard expansion themselves.
  31.  
  32. In Unix, the "lid" program is actually linked to two other names: "eid" and
  33. "gid".  Since we can't link files together on Amigados in this manner, I
  34. added a flag, "-g", to "lid" which makes it run the "gid" functions as
  35. documented in "lid.man".  Typing "lid -g string" is the same as typing
  36. "gid string" under Unix.  On my system, I have placed a file named "gid.sh"
  37. in my command search path which is a one line csh script and is included in
  38. this arc file.  Since "csh" will automatically execute a file containing
  39. a ".sh" extension as a script, this means that I can type "gid string"
  40. just as I do on Unix.  Put "gid.sh" in the same place you put the other
  41. files.
  42.  
  43. Under Unix, the "eid" function of "lid" automatically invokes the "vi" 
  44. editor with the files found in the data base and does an automatic
  45. search for the desired string.  I have not yet implemented this function
  46. on Amigados...so "eid" doesn't work.
  47.  
  48. Other than the differences in root directory naming (which should be
  49. transparent to the user), this program should function exactly as
  50. documented in the manual pages.  One really good use I have found for
  51. it (aside from keeping track of symbols in a rather large system I am
  52. developing on the Amiga) is to create a database of all the symbols in
  53. the standard "include" files.  To do this, just change to the directory
  54. which contains all of your ".h" files and type:
  55.  
  56.    mkid *.h */*.h
  57.  
  58. This will create a file named "ID" in your "include" directory.  You can
  59. then type, for instance, "lid FileInfoBlock" and it will instantly tell
  60. you which file(s) reference that symbol.  If you type "gid FileInfoBlock",
  61. then it will also display the lines of the files that reference that
  62. symbol.  It's similar to grep only *MUCH* faster.  If you are currently
  63. "cd'd" to "include/graphics" it will automatically find the ID file in
  64. the parent directory (you don't have to cd to it in order to run lid or
  65. gid) and will report pathnames of files it finds relative to the directory
  66. you are currently in!  Really nice tool!
  67.  
  68.     Rick Schaeffer
  69.     70120,174
  70.