bart@videovax.tv.tek.com (Bart Massey) (02/01/90)
I hesitate to even comment on such an obviously emotionally-charged subject :-), but since the *only* reason I am not currently using C News is the amount of hassle I had trying to set it up, test it, and keep it up-to-date, I thought I might make one humble suggestion... The X11 people have a configuration system based on a makefile generator called 'imake', which is distributed with the X11R4 stuff. This system is already fairly general and *very* portable, and does most of what most people seem to want for configuring C News. I wonder if it wouldn't be worthwhile for Henry and Geoff to use 'imake' as well? Bart Massey ..tektronix!videovax.tv.tek.com!bart
moraes@cs.toronto.edu (Mark Moraes) (02/01/90)
bart@videovax.tv.tek.com (Bart Massey) writes: >The X11 people have a configuration system based on a makefile generator >called 'imake', which is distributed with the X11R4 stuff. This system is >already fairly general and *very* portable, and does most of what most >people seem to want for configuring C News. I wonder if it wouldn't be >worthwhile for Henry and Geoff to use 'imake' as well? [For those who aren't keeping up with, or are studiously avoiding the X world, Imake is a preprocessor that pushes an Imakefile through cpp to generate a Makefile -- with some smoke and mirrors to avoid # comments in Makefiles from getting in the way] Imake is a reasonable solution to X's release engineering problems - a very large source tree (R4 weighs in at 45M for mit software, 100M for user contributed software), many people from different places contributing code, and living on the leading edge of OS features -- networking, sockets, er streams, shared libraries whatever. For C News, which is a little over 1M, Imake is probably overkill. X.V11R4/mit/config is 179K. So it would raise the C News distribution by 15%. Imake is actually portable to a smaller class of systems than C News is, I suspect. The targets for X are a bit different from the targets for C News; people will be putting up C News on a lot of hardware that they won't even dream of bringing X near -- R4 config is configured for apollo, att, bsd, cray, hp, ibm, macII, pegasus, sgi, sony, sun, ultrix. (Trying to bring up R3 on a system that wasn't listed in the supported list was wild fun, I assure you) Similarly, the "sun" config sort of assumed SunOS4.0 -- we had a few things go wrong because we run SunOS3.5 on many machines. (So we can't afford to throw away our 3/50s...) People who think X is easier to install than C news haven't been following comp.windows.x over the last month... Imake may have really come of age only in R4 - there were a lot of things that made people unhappy in R3's imake setup. C News was released before X11R4 came out. Changing C News to use Imakefiles wouldn't be too easy -- making the build process easier probably rates slightly lower on Henry's list of things to do to C News than some other stuff (like more performance improvements, yay!) Imake has a learning curve - people who haven't seen it before have been known to describe it as steep. (They've also been known to describe it more colorfully than that) Since imake involves interactions between cpp, make, and imake itself, the number of places things can go wrong increase a bit. Some versions of make get really upset when confronted with Imake-generated Makefiles. For X, that possible price is well worth the control it brings to building release. For C News, it may not break even. C News has a mere 24 makefiles -- fixing them with sed, subst, or some editor is feasible. X has more than 24 makefiles. A lot more. (Our disks object to me running a find to count them...) X badly needs imake (actually, it needs more than imake, but that's another matter) Running build takes a lot less time than configuring your site.def if you want programs to go places other than /usr/ (We prefer not to touch areas that OS upgrades will devastate and create different hierarchies and partitions for local software)
henry@utzoo.uucp (Henry Spencer) (02/02/90)
In article <90Feb1.050823est.2260@neat.cs.toronto.edu> moraes@cs.toronto.edu (Mark Moraes) writes: >... Some versions of make get really >upset when confronted with Imake-generated Makefiles. For X, that >possible price is well worth the control it brings to building >release. For C News, it may not break even. Between possible problems with different versions of make -- something we've already had fun with, notably the discovery that many AT&T makes violate the SVID (!) -- and the relatively simple nature of the problem for us, I agree with Mark: Imake is considerable overkill. I think we can get the same result, making the makefiles easier to use, with less complexity. It probably won't happen right away. It's not my highest priority right now, and time is scarce. -- 1972: Saturn V #15 flight-ready| Henry Spencer at U of Toronto Zoology 1990: birds nesting in engines | uunet!attcan!utzoo!henry henry@zoo.toronto.edu