(define-interface collect-channels-interface (export make-tagged-msg is-tagged-msg? tagged-msg-tag tagged-msg-stripped collect&reply/make-channel send&collect/make-channel is-collect&reply-channel? is-send&collect-channel? make-link collect&reply/receive collect&reply/receive-rv collect&reply/send collect&reply/send-rv send&collect/send send&collect/send-rv send&collect/receive send&collect/receive-rv)) (define-structure collect-channels collect-channels-interface (open scheme-with-scsh finite-types srfi-9 threads threads-internal (with-prefix rendezvous cml-rv/) (with-prefix rendezvous-channels cml-sync-ch/)) (files collect-channels)) (define-interface make-rule-interface (export make-rule is-rule? rule-prereqs rule-wants-build? rule-build-func rule-make)) (define-structure make-rule make-rule-interface (open scheme-with-scsh locks with-lock threads srfi-1 srfi-9 finite-types collect-channels (with-prefix rendezvous cml-rv/) (with-prefix rendezvous-channels cml-sync-ch/)) (files make-rule)) (define-interface make-rule-no-cml-interface (export make-rule is-rule? rule-prereqs rule-wants-build? rule-build-func rule-make)) (define-structure make-rule-no-cml make-rule-no-cml-interface (open scheme-with-scsh locks with-lock srfi-1 srfi-9) (files make-rule-no-cml)) (define-interface makros-interface (export (make-is-out-of-date? :syntax) (makefile :syntax) (makefile-rule :syntax) (make :syntax))) (define-structure makros makros-interface (open scheme-with-scsh srfi-1 make-rule) (files makros))