(define-interface jobd-interface (export make-jobd jobd? version execute stop continue shutdown set-jobbers!)) (define-structure jobd jobd-interface (open scheme-with-scsh formats srfi-1 (with-prefix srfi-8 srfi-8/) srfi-9 srfi-11 threads threads-internal (with-prefix rendezvous cml-rv/) (with-prefix mcast-channels cml-mcast-ch/) (with-prefix rendezvous-channels cml-sync-ch/) (with-prefix rendezvous-async-channels cml-async-ch/) finite-types job cml-pe) (files jobd)) (define-interface cml-pe-interface (export cml-fork cml-fork-collecting)) (define-structure cml-pe cml-pe-interface (open scheme-with-scsh srfi-9 threads (with-prefix rendezvous cml-rv/) (with-prefix rendezvous-channels cml-sync-ch/)) (files cml-pe)) (define-interface mcast-channels-interface (export make-mcast-channel mcast-channel? mcast-port? mcast mcast-port mcast-port-receive mcast-port-receive-rv)) (define-structure mcast-channels mcast-channels-interface (open scheme srfi-9 threads finite-types rendezvous rendezvous-channels) (files mcast-channels)) (define-interface job-interface (export make-job-desc job-desc? job-desc-wd job-desc-env job-desc-cmd make-job-res job-res? job-res-errno job-res-stdout job-res-stderr display-job-output)) (define-structure job job-interface (open scheme-with-scsh srfi-9) (files job)) (define-structure test-jobd (export do-some-jobs) (open scheme-with-scsh locks threads threads-internal srfi-1 (with-prefix rendezvous cml-rv/) (with-prefix rendezvous-channels cml-sync-ch/) (with-prefix rendezvous-async-channels cml-async-ch/) cml-pe job (with-prefix jobd jobd/)) (files test-jobd)) (define-structure test-mcast-channels (export test-it) (open scheme srfi-9 threads rendezvous rendezvous-channels mcast-channels) (files test-mcast-channels)) (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? make-empty-rule-set rule-set-add is-rule-set? make-rule-result is-rule-result? rule-result-wants-build? rule-result-build-func rule-make)) (define-structure make-rule-cml make-rule-interface (open scheme-with-scsh locks with-lock threads srfi-1 srfi-9 finite-types collect-channels dfs (with-prefix rendezvous cml-rv/) (with-prefix rendezvous-channels cml-sync-ch/)) (files make-rule)) (define-structure make-rule-no-cml make-rule-interface (open scheme-with-scsh locks with-lock srfi-1 srfi-9) (files make-rule-no-cml)) (define-interface macros-interface (export (makefile :syntax) (file :syntax) (makefile-rule :syntax) (is-out-of-date? :syntax) (md5 :syntax) (file-md5 :syntax) (phony :syntax) (always :syntax) (is-out-of-date! :syntax) (once :syntax) (file-once :syntax))) (define-structure macros macros-interface (open scheme-with-scsh srfi-1 to-rule-set dfs autovars templates make-rule) (files macros)) (define-interface to-rule-set-interface (export lookup-rc lookup-fname lookup-rule rcs->dag dag->rcs rcs->rules rules->rule-set)) (define-structure to-rule-set to-rule-set-interface (open scheme-with-scsh srfi-1 templates make-rule dfs) (files to-rule-set)) (define-interface dfs-interface (export make-dfs dfs->list dfs dfs-dag-show sort)) (define-structure dfs dfs-interface (open scheme-with-scsh finite-types threads srfi-1 srfi-9 misc let-opt (with-prefix rendezvous-channels cml-sync-ch/)) (files dfs)) (define-interface misc-interface (export sort insert)) (define-structure misc misc-interface (open scheme-with-scsh) (files misc)) (define-interface templates-interface (export make-file-build-func make-md5-build-func make-always-build-func make-once-build-func make-is-out-of-date! make-once make-is-out-of-date? make-md5-sum-changed?)) (define-structure templates templates-interface (open scheme-with-scsh autovars srfi-1 big-util srfi-13) (files templates)) (define-interface autovars-interface (export bind-fluids-gnu fluid-$@ fluid-$< fluid-$? fluid-$^ fluid-$+ fluid-$* fluid-$@/ fluid-/$@ fluid-$*/ fluid-/$* fluid-$