chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] Re: #167: implement new build system


From: Chicken Trac
Subject: [Chicken-janitors] Re: #167: implement new build system
Date: Sun, 05 Sep 2010 20:35:57 -0000

#167: implement new build system
---------------------------+------------------------------------------------
  Reporter:  felix         |       Owner:          
      Type:  task          |      Status:  assigned
  Priority:  major         |   Milestone:          
 Component:  build system  |     Version:  4.3.x   
Resolution:                |    Keywords:          
---------------------------+------------------------------------------------

Comment(by sjamaan):

 I've just pushed a new branch called "make-refactoring" which includes a
 heavily refactored set of Makefiles.  I've done this the slow and
 incremental way, piling together lines that were similar and related, and
 abstracting those into meta-rules. I've also put some things into
 variables that were previously repeated all over the file. The only place
 of needless repetition is in the bootstrap .c files.  It might be possible
 to simplify that too (listing just the dependencies that differ from the
 default, for example).

 I used the dreaded "eval", which is the only way to do generate rules
 programmatically in GNU Make as far as I can see.

 Oh well, at least this still uses GNU Make, which is a pretty simple
 dependency and available almost everywhere. That also saves us from
 breaking our heads over the nasty bootstrapping problems we'd get with a
 Scheme-based build system. Since the rules are all moved around and
 extracted from the original Makefiles, I think the margin of error is also
 a lot smaller than a grand approach to create something proper from
 scratch.

 One final note: I have not touched defaults.make. There may be some stuff
 that could be simplified there, but I didn't dare touch that yet. Maybe
 later (there's one important simplication and that's the way all the
 executable programs are built; the rules to build those are still quite
 redundant now)

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/167#comment:11>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]