Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!apollo!nazgul From: nazgul@apollo.uucp (Kee Hinckley) Newsgroups: comp.sys.apollo Subject: Re: Apollo C Preprocessor and Make Message-ID: <386f2c5e.b0a1@apollo.uucp> Date: Thu, 12-Nov-87 11:36:00 EST Article-I.D.: apollo.386f2c5e.b0a1 Posted: Thu Nov 12 11:36:00 1987 Date-Received: Sat, 14-Nov-87 19:12:11 EST References: <679@zycad.UUCP> Reply-To: nazgul@apollo.UUCP (Kee Hinckley) Organization: Apollo Computer, Chelmsford, MA Lines: 37 In article <679@zycad.UUCP> kjb@zycad.UUCP (Kevin Buchs) writes: > > The output of the preprocessor on Apollo gives the pathnames of included > files which are within the same directory with a leading dot, but with > out a slash following that. For example, it puts out: > > # 1 ".pin_list.h" > > Where other systems might give: > > # 1 "./pin_list.h" > > These are certainly different pathnames. Even more interesting is the > behavior of Make. Using the output of the preprocessor to generate > makefile dependency rules, without changing the pathname seems to > work correctly. > > Does anyone have good explanations for this behavior? Well, I have an explanation, I don't guarantee its goodness :-). First of all, it DOES work correctly at SR9.7 and possibly in releases before that, I haven't checked 9.6 or 9.5. I know I reported it as a bug several releases ago. The reasoning is really horrific. Under Aegis, before case sensitivity reared its head, files couldn't begin with "."s. Therefore the naming server was made to interpret ".foo" exactly the same as "./foo" (and "~foo" like "~/foo"). Thus the output of the compiler, and thus (I guess) the reason why make worked with the output. -nazgul -- ### {mit-erl,yale,uw-beaver}!apollo!nazgul ### apollo!nazgul@eddie.mit.edu ### ### pro-angmar!nazgul@pro-sol.cts.com ### nazgul@apollo.com ### ### (617) 641-3722 300/1200/2400 ### ### I'm not sure which upsets me more; that people are so unwilling to accept responsibility for their own actions, or that they are so eager to regulate everyone else's.