(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 make-cmd-msg is-cmd-msg? cmd-msg-cmd cmd-msg-data print-info collect&reply/make-channel send&collect/make-channel is-collect&reply-channel? is-send&collect-channel? make-link collect-cmd 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 ; big-util ; for breakpoints ; let-opt ; for logging threads threads-internal (with-prefix rendezvous cml-rv/) (with-prefix rendezvous-channels cml-sync-ch/) (with-prefix rendezvous-async-channels cml-async-ch/)) (files collect-channels)) (define-interface make-rule-interface (export make-rule ; set!-target/rule-alist 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 threads-internal ; big-util ; for breakpoints 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))) (define-structure macros macros-interface (open scheme-with-scsh srfi-1 to-rule-set rule-cand autovars make) (files macros)) (define-interface to-rule-set-interface (export lookup-rc lookup-fname lookup-rule rcs->dag dag->rcs rcs+commons->rules rules->rule-set)) (define-structure to-rule-set to-rule-set-interface (open scheme-with-scsh srfi-1 srfi-9 templates make-rule common-rules rule-cand 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 let-opt (with-prefix rendezvous-channels cml-sync-ch/)) (files dfs)) (define-interface templates-interface (export all file md5 always perms md5-perms paranoid once)) (define-structure templates templates-interface (open scheme-with-scsh common-rules autovars srfi-1 ; big-util srfi-13) (files templates)) (define-interface autovars-interface (export bind-fluids-common bind-fluids-gnu bind-all-fluids fluid-$@ fluid-$< fluid-$? fluid-$^ fluid-$+ fluid-$* fluid-$=* fluid-$*= fluid-$=*= fluid-$@/ fluid-/$@ fluid-$=*=/ fluid-/$=*= fluid-$common-rules make-empty-common-rules add-common-rules search-match-in-common-rules)) (define-structure common-rules common-rules-interface (open scheme-with-scsh autovars srfi-1 srfi-9 rule-cand srfi-13) (files common-rules)) (define-interface rule-cand-interface (export make-rule-cand is-rule-cand? rule-cand-target rule-cand-prereqs rule-cand-up-to-date?-func rule-cand-build-func)) (define-structure rule-cand rule-cand-interface (open scheme-with-scsh srfi-9) (files rule-cand)) (define-interface make-interface (export make make-rc file->rc once->rc all->rc always->rc perms->rc md5->rc md5-perms->rc paranoid->rc %-pattern->match %-pattern->rx file-rx once-rx all-rx always-rx perms-rx md5-rx md5-perms-rx paranoid-rx file-% once-% all-% always-% perms-% md5-% md5-perms-% paranoid-% %->func rx->func common->func)) (define-structure make make-interface (open scheme-with-scsh srfi-1 ; macros let-opt to-rule-set templates autovars rule-cand make-rule) (files make)) (define make-rule make-rule-no-cml)