Path: utzoo!utgpu!water!watmath!clyde!att!mtunx!rutgers!njin!princeton!udel!rochester!cornell!batcomputer!itsgw!steinmetz!uunet!munnari!vuwcomp!andrew From: andrew@comp.vuw.ac.nz (Andrew Vignaux) Newsgroups: comp.sys.mac.programmer Subject: Lightspeed C projects Message-ID: <13742@comp.vuw.ac.nz> Date: 8 Jun 88 03:42:07 GMT References: <1407@its63b.ed.ac.uk> <4710@husc6.harvard.edu> Reply-To: andrew@comp.vuw.ac.nz (Andrew Vignaux) Organization: Comp Sci, Victoria Univ, Wellington, New Zealand Lines: 31 Something that I would like to see in LSC is the ability to define preprocessor symbols for the *project* as a whole (ala Unix "cc -D"). I think there is a need for a conditional compilation facility even when writing Macintosh-only code. Consider a "change cursor" module to be used in two programs, one event-driven and the other a more batch-like processor. There is no need have the "maintain cursor" code when there will be no event loop to call it. One solution is for LSC to define the symbol `LSC' and the "project symbol" (a canonicalized version of the project file name ?). Then the programmer can define whatever s/he likes in a header file. A better solution might be to "include" the data fork of the project file before compiling each file so s/he can do anything they want -- this fork is currently unused. "Putting the definitions in an include file" doesn't work because I want different definitions depending on the particular project. LSC's #include search path partially solves the problem, except it means that you can only have one project per directory, and the "library" file must be in a distinct directory. Of course if LSC (2.15) already has things predefined and they are in TFM, or there's a nicer/better way, i'll shutup and go back to doing my Masters :-) Comments? Andrew ------------------------------------------------------------------------------ Domain address: andrew@comp.vuw.ac.nz Path address: ...!uunet!vuwcomp!andrew