[comp.sys.ti.explorer] Defsystem question

bharat@milton (R. Bharat Rao) (06/01/91)

I have a question regarding defsystem (on the TI Explorer's).  If you
have defined a system (say PLS) via defsystem, how do you make this
a module within another system.

Consider the case where a system FOR has been defined such that
(make-system 'FOR) loads the for macro.  If I say

(require "for-macros" "../FOR/system.lisp")

(defsystem mysys
	(:name "Blah")
	(:component-systems FOR)
	(:do-components)
   ;	^^^^ optional^^^^
	(:module bar1 "file1")
	(:compile-load bar1))

This is not quite right as all component systems are compiled after
the main system.  

If I do use (:do-components) with a null argument, FOR is compiled
before mysys, but NOT loaded - then bar1 is compiled and errors
result as the for macros have not yet been loaded.

The ideal solution would be if external systems (like FOR) could
become modules in mysys, so that they could be :compile-load'ed and
load and compile dependencies could be built up.  Another way would
be to include a (make-system 'for :compile :noconfirm) in the
system.lisp file for mysys, but that seems somewhat kludgy, and
requires reloading the system file every time the for macro is changed
(its not likely that the for macro will be changed, but other external
systems may not be so stable).

Thanks in advance,


R. Bharat Rao                         E-mail: bharat@cs.uiuc.edu
Beckman Institute for Advanced Science and Technology
Electrical & Computer Engineering, University of Illinois, Urbana
Snail Mail: Beckman Institute, 405 N Matthews, Urbana, IL 61801