Path: utzoo!utstat!helios.physics.utoronto.ca!jarvis.csri.toronto.edu!neat.cs.toronto.edu!moraes Newsgroups: news.software.b From: moraes@cs.toronto.edu (Mark Moraes) Subject: Re: Configuring And Building C News Message-ID: <90Feb1.050823est.2260@neat.cs.toronto.edu> Organization: Department of Computer Science, University of Toronto References: <519@smcnet.UUCP> <_E7166Cxds13@ficc.uu.net> <64T#Y$@rpi.edu> <7V716AAxds13@ficc.uu.net> <1990Jan29.232907.12180@utzoo.uucp> <1990Jan30.041541.23578@elroy.jpl.nasa.gov> <1990Jan30.185214.8197@utzoo.uucp> <5695@videovax.tv.tek.com> Date: 1 Feb 90 10:09:23 GMT Lines: 57 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)