Path: utzoo!attcan!uunet!cs.utexas.edu!sdd.hp.com!uakari.primate.wisc.edu!bin From: bin@primate.wisc.edu (Brain in Neutral) Newsgroups: comp.windows.x Subject: Re: Bug with imake (I think) Message-ID: <2851@uakari.primate.wisc.edu> Date: 31 Jul 90 15:21:45 GMT References: <1244@sirius.ucs.adelaide.edu.au> Sender: bin@primate.wisc.edu Reply-To: bin@primate.wisc.edu Lines: 51 From article <1244@sirius.ucs.adelaide.edu.au>, by mrp@UCS.Adelaide.EDU.AU (Mark Prior): > /**/# > /**/# Special definitions for compiling default resources; these parameters > /**/# should be set in util/imake.includes/site.def or the appropriate .macros > /**/# file in that directory. The lack of initial spaces is to prevent imake > /**/# from accidently turning the lines into rules by putting a leading tab. These comments look like they were originally written for the R3 configuration file architecture. There are no imake config files under util anymore and the .macros files are now .cf files. Aside from that, the "lack of initial spaces" comment looks specious. You should be able to put spaces before any make variable definition... > DEF_SERVER = $(BINDIR)/X > DEF_USER_PATH = DefaultUserPath /* no leading spaces or imake will */ > DEF_SYSTEM_PATH = DefaultSystemPath /* indent as rule */ > BOURNE_SHELL = DefaultSystemShell > CPP_PROGRAM = CppCmd > > When you try adding #define's to site.def to set these values, such as > > #ifndef DEF_USER_PATH > #define DEF_USER_PATH ":/usr/bin:/usr/local/bin/X11:/usr/ucb:/usr/local/bin" > #endif > #ifndef DEF_SYSTEM_PATH > #define DEF_SYSTEM_PATH "/etc:/usr/bin:/usr/local/bin/X11:/usr/ucb:/usr/local/bin" > #endif You are confusing make variables with cpp symbols. The first set of lines above define make variables by equating them to something. The second set of lines #define cpp symbols. But you have used the same names for both, with, not surprisingly, unfortunate consequences. Put this in site.def instead: #ifndef DefaultUserPath #define DefaultUserPath ":/usr/bin:/usr/local/bin/X11:/usr/ucb:/usr/local/bin" #endif #ifndef DefaultSystemPath #define DefaultSystemPath "/etc:/usr/bin:/usr/local/bin/X11:/usr/ucb:/usr/local/bin" #endif This will override the values of the cpp symbols DefaultUserPath and DefaultSystemPath to replace whatever values they might otherwise get. DEF_USER_PATH and DEF_SYSTEM_PATH are eventually equated to those symbols, which should then have the values you want. (disclaimer: This response is speculation, I haven't tried it out.) Paul DuBois dubois@primate.wisc.edu