Return-Path: Received: from b.gp.cs.cmu.edu by WB1.CS.CMU.EDU id aa11175; 9 Oct 91 18:22:44 EDT Received: from lisp-pmax2.slisp.cs.cmu.edu by B.GP.CS.CMU.EDU id aa09125; 9 Oct 91 18:04:07 EDT Received: from BatMail.robin.v2.12.CUILIB.3.45.SNAP.NOT.LINKED.LISP.PMAX2.SLISP.CS.CMU.EDU.pmax.ul4 via MS.5.6.LISP-PMAX2.SLISP.CS.CMU.EDU.pmax_ul4; Wed, 9 Oct 1991 17:25:07 -0400 (EDT) Message-ID: Date: Wed, 9 Oct 1991 17:25:07 -0400 (EDT) From: William.Lott@CS.CMU.EDU To: Jussi Rintanen , simon@liasun6.epfl.CH Subject: Re: BUGS in CLX in CMU CL CC: cmucl-bugs@CS.CMU.EDU In-Reply-To: <9110071319.AA24012@liasun5.epfl.ch> References: <199110071200.AA04489@rook.hut.fi> <9110071319.AA24012@liasun5.epfl.ch> >>>>> On Mon, 7 Oct 1991 14:00:49 +0200, Jussi Rintanen said: > P.S. I would also like to know if there is an easy way to get a > CMU CL without all the bells and whistles i.e. the 24 MB image > is a problem for some people who do not need everything. "(Simon Leinen)" writes: > Yes, that would not be bad. I, for example, would like to recompile > CLX with a different setting of *DEF-CLX-CLASS-USE-DEFCLASS* because > of CLUE :-( It's actually rater easy to build a CMUCL core with exactly what you want in it. But to do this you need two things: the source and a working CMUCL. Basically, you use the working copy of CMUCL to compile the sources, then run a process call ``genesis'' which builds a ``kernel'' core. You then load whatever you want into this kernel core, and save it. This is exactly what we do to build a core. Seeing as you were already trying to compile CLX, I'm going to assume you already have a copy of the sources and a working CMUCL. If not, let us know and we can point you at 'em. In the ../tools directory in the sources, there are several files that we use to compile everything, and build cores, etc. Specifically, when worldbuild.lisp is loaded, it will call genesis with the correct arguments to build a kernel core. After you have build a kernel core, you can use worldload.lisp to build a full core. If you push various symbols onto *features* before loading worldload.lisp, it will avoid loading different parts of the system. These symbols are: :no-compiler - don't load the compiler :no-xp - don't load the pretty printer (XP) :no-clx - don't load CLX :no-hemlock - don't load hemlock :no-pcl - don't load PCL. Note: if you don't load the compiler, you can't (successfully) load xp or pcl. And if you compiled hemlock with CLX loaded, you can't load it without CLX also being loaded. Anyway, you can use this mechanism to build cores with whatever you want in them. If you have any questions, feel free to send them in. -William Lott CMU Common Lisp Group