(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define std/make#default-gambit-gsc '"gsc")
  (define std/make#default-gerbil-gxc '"gxc")
  (define std/make#force-outputs
    (lambda () (force-output (current-error-port)) (force-output)))
  (define std/make#message
    (lambda _lst2593_ (apply displayln _lst2593_) (std/make#force-outputs)))
  (define std/make#writeln
    (lambda (_x2591_) (write _x2591_) (newline) (std/make#force-outputs)))
  (define std/make#prefix/
    (lambda (_prefix2588_ _path2589_)
      (if _prefix2588_
          (string-append _prefix2588_ '"/" _path2589_)
          _path2589_)))
  (define std/make#vector-for-each
    (lambda (_f2579_ _v2580_)
      (letrec* ((_l2582_ (vector-length _v2580_)))
        (let _loop2584_ ((_i2586_ '0))
          (if (< _i2586_ _l2582_)
              (begin
                (_f2579_ _i2586_ (vector-ref _v2580_ _i2586_))
                (_loop2584_ (+ '1 _i2586_)))
              '#!void)))))
  (define std/make#vector-ensure-ref
    (lambda (_v2570_ _i2571_ _f2572_)
      (let ((_$e2574_ (vector-ref _v2570_ _i2571_)))
        (if _$e2574_
            _$e2574_
            (let ((_x2577_ (_f2572_)))
              (vector-set! _v2570_ _i2571_ _x2577_)
              _x2577_)))))
  (define std/make#settings::t
    (make-struct-type
     'std/make#settings::t
     '#f
     '13
     'settings
     '((transparent: . #t))
     ':init!
     '(srcdir libdir
              bindir
              prefix
              force
              optimize
              debug
              static
              static-debug
              verbose
              build-deps
              libdir-prefix
              parallelize)))
  (define std/make#settings? (make-struct-predicate std/make#settings::t))
  (define std/make#make-settings
    (lambda _$args2567_
      (apply make-struct-instance std/make#settings::t _$args2567_)))
  (define std/make#settings-srcdir
    (make-struct-field-accessor std/make#settings::t '0))
  (define std/make#settings-libdir
    (make-struct-field-accessor std/make#settings::t '1))
  (define std/make#settings-bindir
    (make-struct-field-accessor std/make#settings::t '2))
  (define std/make#settings-prefix
    (make-struct-field-accessor std/make#settings::t '3))
  (define std/make#settings-force
    (make-struct-field-accessor std/make#settings::t '4))
  (define std/make#settings-optimize
    (make-struct-field-accessor std/make#settings::t '5))
  (define std/make#settings-debug
    (make-struct-field-accessor std/make#settings::t '6))
  (define std/make#settings-static
    (make-struct-field-accessor std/make#settings::t '7))
  (define std/make#settings-static-debug
    (make-struct-field-accessor std/make#settings::t '8))
  (define std/make#settings-verbose
    (make-struct-field-accessor std/make#settings::t '9))
  (define std/make#settings-build-deps
    (make-struct-field-accessor std/make#settings::t '10))
  (define std/make#settings-libdir-prefix
    (make-struct-field-accessor std/make#settings::t '11))
  (define std/make#settings-parallelize
    (make-struct-field-accessor std/make#settings::t '12))
  (define std/make#settings-srcdir-set!
    (make-struct-field-mutator std/make#settings::t '0))
  (define std/make#settings-libdir-set!
    (make-struct-field-mutator std/make#settings::t '1))
  (define std/make#settings-bindir-set!
    (make-struct-field-mutator std/make#settings::t '2))
  (define std/make#settings-prefix-set!
    (make-struct-field-mutator std/make#settings::t '3))
  (define std/make#settings-force-set!
    (make-struct-field-mutator std/make#settings::t '4))
  (define std/make#settings-optimize-set!
    (make-struct-field-mutator std/make#settings::t '5))
  (define std/make#settings-debug-set!
    (make-struct-field-mutator std/make#settings::t '6))
  (define std/make#settings-static-set!
    (make-struct-field-mutator std/make#settings::t '7))
  (define std/make#settings-static-debug-set!
    (make-struct-field-mutator std/make#settings::t '8))
  (define std/make#settings-verbose-set!
    (make-struct-field-mutator std/make#settings::t '9))
  (define std/make#settings-build-deps-set!
    (make-struct-field-mutator std/make#settings::t '10))
  (define std/make#settings-libdir-prefix-set!
    (make-struct-field-mutator std/make#settings::t '11))
  (define std/make#settings-parallelize-set!
    (make-struct-field-mutator std/make#settings::t '12))
  (define std/make#settings:::init!__%
    (lambda (_g7387_
             _srcdir_24562471_
             _libdir_24572473_
             _bindir_24582475_
             _prefix_24592477_
             _force?24602479_
             _optimize24612481_
             _debug24622483_
             _static24632485_
             _static-debug24642487_
             _verbose24652489_
             _build-deps_24662491_
             _parallelize_24672493_
             _g24682495_
             _self2497_)
      (let* ((_srcdir_2499_
              (if (eq? _srcdir_24562471_ absent-value) '#f _srcdir_24562471_))
             (_libdir_2501_
              (if (eq? _libdir_24572473_ absent-value) '#f _libdir_24572473_))
             (_bindir_2503_
              (if (eq? _bindir_24582475_ absent-value) '#f _bindir_24582475_))
             (_prefix_2505_
              (if (eq? _prefix_24592477_ absent-value) '#f _prefix_24592477_))
             (_force?2507_
              (if (eq? _force?24602479_ absent-value) '#f _force?24602479_))
             (_optimize2509_
              (if (eq? _optimize24612481_ absent-value)
                  '#t
                  _optimize24612481_))
             (_debug2511_
              (if (eq? _debug24622483_ absent-value) 'env _debug24622483_))
             (_static2513_
              (if (eq? _static24632485_ absent-value) '#t _static24632485_))
             (_static-debug2515_
              (if (eq? _static-debug24642487_ absent-value)
                  '#f
                  _static-debug24642487_))
             (_verbose2517_
              (if (eq? _verbose24652489_ absent-value) '#f _verbose24652489_))
             (_build-deps_2519_
              (if (eq? _build-deps_24662491_ absent-value)
                  '#f
                  _build-deps_24662491_))
             (_parallelize_2521_
              (if (eq? _parallelize_24672493_ absent-value)
                  '#t
                  _parallelize_24672493_))
             (__24522523_ (if (eq? _g24682495_ absent-value) '#f _g24682495_)))
        (letrec* ((_gerbil-path2526_ (getenv '"GERBIL_PATH" '"~/.gerbil"))
                  (_srcdir2527_
                   (let ((_$e2550_ _srcdir_2499_))
                     (if _$e2550_
                         _$e2550_
                         (error '"srcdir must be specified"))))
                  (_libdir2528_
                   (let ((_$e2547_ _libdir_2501_))
                     (if _$e2547_
                         _$e2547_
                         (path-expand '"lib" _gerbil-path2526_))))
                  (_bindir2529_
                   (let ((_$e2544_ _bindir_2503_))
                     (if _$e2544_
                         _$e2544_
                         (path-expand '"bin" _gerbil-path2526_))))
                  (_prefix2530_
                   (let ((_$e2541_ _prefix_2505_))
                     (if _$e2541_
                         _$e2541_
                         (std/make#read-package-prefix _srcdir2527_))))
                  (_libdir-prefix2531_
                   (if _prefix2530_
                       (path-expand _prefix2530_ _libdir2528_)
                       _libdir2528_))
                  (_build-deps2532_
                   (path-expand
                    (let ((_$e2538_ _build-deps_2519_))
                      (if _$e2538_ _$e2538_ '"build-deps"))
                    _srcdir2527_))
                  (_parallelize2533_
                   (if (eq? _parallelize_2521_ '#t)
                       (std/make#gerbil-build-cores)
                       (let ((_$e2535_ _parallelize_2521_))
                         (if _$e2535_ _$e2535_ '0)))))
          (if (let ((__tmp7388
                     (let ()
                       (declare (not safe))
                       (##vector-length _self2497_))))
                (declare (not safe))
                (##fx< '13 __tmp7388))
              (begin
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '1 _srcdir2527_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '2 _libdir2528_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '3 _bindir2529_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '4 _prefix2530_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '5 _force?2507_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '6 _optimize2509_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '7 _debug2511_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '8 _static2513_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '9 _static-debug2515_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '10 _verbose2517_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '11 _build-deps2532_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '12 _libdir-prefix2531_))
                (let ()
                  (declare (not safe))
                  (##vector-set! _self2497_ '13 _parallelize2533_)))
              (error '"struct-instance-init!: too many arguments for struct"
                     _self2497_))))))
  (define std/make#settings:::init!__@
    (lambda (_keys24552556_ . _args2558_)
      (apply std/make#settings:::init!__%
             _keys24552556_
             (table-ref _keys24552556_ 'srcdir: absent-value)
             (table-ref _keys24552556_ 'libdir: absent-value)
             (table-ref _keys24552556_ 'bindir: absent-value)
             (table-ref _keys24552556_ 'prefix: absent-value)
             (table-ref _keys24552556_ 'force: absent-value)
             (table-ref _keys24552556_ 'optimize: absent-value)
             (table-ref _keys24552556_ 'debug: absent-value)
             (table-ref _keys24552556_ 'static: absent-value)
             (table-ref _keys24552556_ 'static-debug: absent-value)
             (table-ref _keys24552556_ 'verbose: absent-value)
             (table-ref _keys24552556_ 'build-deps: absent-value)
             (table-ref _keys24552556_ 'parallelize: absent-value)
             (table-ref _keys24552556_ 'depgraph: absent-value)
             _args2558_)))
  (define std/make#settings:::init!
    (lambda _args24692564_
      (apply keyword-dispatch
             '#(build-deps:
                #f
                #f
                force:
                bindir:
                #f
                #f
                static:
                #f
                #f
                #f
                #f
                #f
                #f
                depgraph:
                debug:
                #f
                #f
                #f
                #f
                #f
                #f
                #f
                srcdir:
                #f
                #f
                #f
                #f
                #f
                optimize:
                #f
                #f
                #f
                #f
                #f
                prefix:
                #f
                #f
                #f
                #f
                verbose:
                #f
                parallelize:
                #f
                #f
                #f
                #f
                #f
                #f
                static-debug:
                #f
                #f
                #f
                #f
                libdir:
                #f
                #f
                #f
                #f
                #f
                #f
                #f
                #f)
             std/make#settings:::init!__@
             _args24692564_)))
  (bind-method! std/make#settings::t ':init! std/make#settings:::init! '#f)
  (define std/make#gerbil-build-cores
    (lambda ()
      (with-exception-catcher
       (lambda (_g7389_) (let () (declare (not safe)) (##cpu-count)))
       (lambda () (string->number (getenv '"GERBIL_BUILD_CORES"))))))
  (define std/make#settings-verbose>=?
    (lambda (_settings2323_ _level2324_)
      (letrec* ((_verbose2326_
                 (##structure-ref
                  _settings2323_
                  '10
                  std/make#settings::t
                  '#f)))
        (if (real? _level2324_)
            (if (real? _verbose2326_) (>= _verbose2326_ _level2324_) '#f)
            '#f))))
  (define std/make#read-package-prefix
    (lambda (_srcdir2312_)
      (let* ((_plist2315_
              (with-exception-catcher
               false
               (lambda ()
                 (call-with-input-file
                  (path-expand '"gerbil.pkg" _srcdir2312_)
                  read))))
             (_pkg23162318_ (pgetq 'package: _plist2315_)))
        (if _pkg23162318_
            (let ((_pkg2321_ _pkg23162318_))
              (if (symbol? _pkg2321_) (symbol->string _pkg2321_) '#f))
            '#f))))
  (define std/make#spec-type
    (lambda (_spec2272_)
      (let* ((_spec22732283_ _spec2272_)
             (_else22762291_ (lambda () (error '"Bad buildspec" _spec2272_))))
        (let ((_K22812309_ (lambda () 'gxc:))
              (_K22782297_ (lambda (_type2295_) _type2295_)))
          (let ((_try-match22752305_
                 (lambda ()
                   (if (let () (declare (not safe)) (##pair? _spec22732283_))
                       (let ((_hd22792300_
                              (let ()
                                (declare (not safe))
                                (##car _spec22732283_))))
                         (if (keyword? _hd22792300_)
                             (let ((_type2303_ _hd22792300_))
                               (_K22782297_ _type2303_))
                             (_else22762291_)))
                       (_else22762291_)))))
            (if (string? _spec22732283_)
                (_K22812309_)
                (_try-match22752305_)))))))
  (define std/make#spec-file
    (lambda (_spec2042_ _settings2043_)
      (let* ((_spec20442092_ _spec2042_)
             (_else20532100_ (lambda () (error '"Bad buildspec" _spec2042_))))
        (let ((_K20902267_
               (lambda (_modf2265_)
                 (std/make#source-path _modf2265_ '".ss" _settings2043_)))
              (_K20852245_
               (lambda (_opts2242_ _modf2243_)
                 (std/make#source-path _modf2243_ '".ss" _settings2043_)))
              (_K20802221_
               (lambda (_opts2218_ _modf2219_)
                 (std/make#source-path _modf2219_ '".scm" _settings2043_)))
              (_K20752197_
               (lambda (_deps2194_ _modf2195_)
                 (std/make#source-path _modf2195_ '".ssi" _settings2043_)))
              (_K20702173_
               (lambda (_opts2170_ _modf2171_)
                 (std/make#source-path _modf2171_ '".ss" _settings2043_)))
              (_K20652149_
               (lambda (_opts2146_ _modf2147_)
                 (std/make#source-path _modf2147_ '".ss" _settings2043_)))
              (_K20602127_
               (lambda (_file2125_)
                 (std/make#static-file-path _file2125_ _settings2043_)))
              (_K20552106_ (lambda (_file2104_) _file2104_)))
          (let ((_try-match20462262_
                 (lambda ()
                   (if (let () (declare (not safe)) (##pair? _spec20442092_))
                       (let ((_tl20872250_
                              (let ()
                                (declare (not safe))
                                (##cdr _spec20442092_)))
                             (_hd20862248_
                              (let ()
                                (declare (not safe))
                                (##car _spec20442092_))))
                         (if (let ()
                               (declare (not safe))
                               (##eq? _hd20862248_ 'gxc:))
                             (if (let ()
                                   (declare (not safe))
                                   (##pair? _tl20872250_))
                                 (let ((_tl20892255_
                                        (let ()
                                          (declare (not safe))
                                          (##cdr _tl20872250_)))
                                       (_hd20882253_
                                        (let ()
                                          (declare (not safe))
                                          (##car _tl20872250_))))
                                   (let ((_modf2258_ _hd20882253_)
                                         (_opts2260_ _tl20892255_))
                                     (_K20852245_ _opts2260_ _modf2258_)))
                                 (_else20532100_))
                             (if (let ()
                                   (declare (not safe))
                                   (##eq? _hd20862248_ 'gsc:))
                                 (if (let ()
                                       (declare (not safe))
                                       (##pair? _tl20872250_))
                                     (let ((_tl20842231_
                                            (let ()
                                              (declare (not safe))
                                              (##cdr _tl20872250_)))
                                           (_hd20832229_
                                            (let ()
                                              (declare (not safe))
                                              (##car _tl20872250_))))
                                       (let ((_modf2234_ _hd20832229_)
                                             (_opts2236_ _tl20842231_))
                                         (_K20802221_ _opts2236_ _modf2234_)))
                                     (_else20532100_))
                                 (if (let ()
                                       (declare (not safe))
                                       (##eq? _hd20862248_ 'ssi:))
                                     (if (let ()
                                           (declare (not safe))
                                           (##pair? _tl20872250_))
                                         (let ((_tl20792207_
                                                (let ()
                                                  (declare (not safe))
                                                  (##cdr _tl20872250_)))
                                               (_hd20782205_
                                                (let ()
                                                  (declare (not safe))
                                                  (##car _tl20872250_))))
                                           (let ((_modf2210_ _hd20782205_)
                                                 (_deps2212_ _tl20792207_))
                                             (_K20752197_
                                              _deps2212_
                                              _modf2210_)))
                                         (_else20532100_))
                                     (if (let ()
                                           (declare (not safe))
                                           (##eq? _hd20862248_ 'exe:))
                                         (if (let ()
                                               (declare (not safe))
                                               (##pair? _tl20872250_))
                                             (let ((_tl20742183_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##cdr _tl20872250_)))
                                                   (_hd20732181_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##car _tl20872250_))))
                                               (let ((_modf2186_ _hd20732181_)
                                                     (_opts2188_ _tl20742183_))
                                                 (_K20702173_
                                                  _opts2188_
                                                  _modf2186_)))
                                             (_else20532100_))
                                         (if (let ()
                                               (declare (not safe))
                                               (##eq? _hd20862248_
                                                      'static-exe:))
                                             (if (let ()
                                                   (declare (not safe))
                                                   (##pair? _tl20872250_))
                                                 (let ((_tl20692159_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _tl20872250_)))
                                                       (_hd20682157_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _tl20872250_))))
                                                   (let ((_modf2162_
                                                          _hd20682157_)
                                                         (_opts2164_
                                                          _tl20692159_))
                                                     (_K20652149_
                                                      _opts2164_
                                                      _modf2162_)))
                                                 (_else20532100_))
                                             (if (let ()
                                                   (declare (not safe))
                                                   (##eq? _hd20862248_
                                                          'static-include:))
                                                 (if (let ()
                                                       (declare (not safe))
                                                       (##pair? _tl20872250_))
                                                     (let ((_tl20642137_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##cdr _tl20872250_)))
                                                           (_hd20632135_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##car _tl20872250_))))
                                                       (if (let ()
                                                             (declare
                                                               (not safe))
                                                             (##null? _tl20642137_))
                                                           (let ((_file2140_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          _hd20632135_))
                     (_K20602127_ _file2140_))
                   (_else20532100_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_else20532100_))
                                                 (if (let ()
                                                       (declare (not safe))
                                                       (##eq? _hd20862248_
                                                              'copy:))
                                                     (if (let ()
                                                           (declare (not safe))
                                                           (##pair? _tl20872250_))
                                                         (let ((_tl20592116_
                                                                (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (declare (not safe))
                          (##cdr _tl20872250_)))
                       (_hd20582114_
                        (let () (declare (not safe)) (##car _tl20872250_))))
                   (if (let () (declare (not safe)) (##null? _tl20592116_))
                       (let ((_file2119_ _hd20582114_))
                         (_K20552106_ _file2119_))
                       (_else20532100_)))
                 (_else20532100_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_else20532100_)))))))))
                       (_else20532100_)))))
            (if (string? _spec20442092_)
                (let ((_modf2270_ _spec20442092_)) (_K20902267_ _modf2270_))
                (_try-match20462262_)))))))
  (define std/make#spec-inputs
    (lambda (_spec2039_ _settings2040_)
      (cons (std/make#spec-file _spec2039_ _settings2040_)
            (std/make#spec-extra-inputs _spec2039_ _settings2040_))))
  (define std/make#spec-extra-inputs
    (lambda (_spec1962_ _settings1963_)
      (let* ((_spec19641983_ _spec1962_)
             (_E19691987_
              (lambda () (error '"No clause matching" _spec19641983_))))
        (let ((_K19792033_
               (lambda ()
                 (pgetq 'extra-inputs: (std/make#spec-plist _spec1962_) '())))
              (_K19762023_
               (lambda ()
                 (pgetq 'extra-inputs: (std/make#spec-plist _spec1962_) '())))
              (_K19712005_
               (lambda (_submodules1999_)
                 (std/srfi/1#append-map
                  (lambda (_g20002002_)
                    (std/make#spec-inputs _g20002002_ _settings1963_))
                  _submodules1999_)))
              (_K19701992_ (lambda () '())))
          (if (let () (declare (not safe)) (##pair? _spec19641983_))
              (let ((_hd19802036_
                     (let () (declare (not safe)) (##car _spec19641983_))))
                (if (let () (declare (not safe)) (##eq? _hd19802036_ 'gxc:))
                    (_K19792033_)
                    (if (let ()
                          (declare (not safe))
                          (##eq? _hd19802036_ 'gsc:))
                        (_K19762023_)
                        (let ((_tl19732010_
                               (let ()
                                 (declare (not safe))
                                 (##cdr _spec19641983_))))
                          (if (let ()
                                (declare (not safe))
                                (##eq? _hd19802036_ 'ssi:))
                              (if (let ()
                                    (declare (not safe))
                                    (##pair? _tl19732010_))
                                  (let* ((_tl19752013_
                                          (let ()
                                            (declare (not safe))
                                            (##cdr _tl19732010_)))
                                         (_submodules2016_ _tl19752013_))
                                    (_K19712005_ _submodules2016_))
                                  (_K19701992_))
                              (_K19701992_))))))
              (_K19701992_))))))
  (define std/make#spec-plist
    (lambda (_spec1885_)
      (let* ((_spec18861905_ _spec1885_)
             (_E18891909_
              (lambda () (error '"No clause matching" _spec18861905_))))
        (let ((_K18911922_ (lambda (_plist1920_) _plist1920_))
              (_K18901914_ (lambda () '())))
          (let ((___match72087209_
                 (lambda (_hd18921925_ _tl18931927_ _tl18951934_ _hd18961937_)
                   (letrec ((_splice-rest18991940_
                             (lambda (_rest19031947_ _plist1949_)
                               (if (let ()
                                     (declare (not safe))
                                     (##null? _rest19031947_))
                                   (_K18911922_ _plist1949_)
                                   (_K18901914_))))
                            (_splice-try19011942_
                             (lambda (_hd19021951_
                                      _rest19031953_
                                      _plist18981954_)
                               (let ((_plist1957_ _hd19021951_))
                                 (_splice-loop19001944_
                                  (let ()
                                    (declare (not safe))
                                    (##cdr _rest19031953_))
                                  (cons _plist1957_ _plist18981954_)))))
                            (_splice-loop19001944_
                             (lambda (_rest19031959_ _plist18981960_)
                               (if (pair? _rest19031959_)
                                   (_splice-try19011942_
                                    (let ()
                                      (declare (not safe))
                                      (##car _rest19031959_))
                                    _rest19031959_
                                    _plist18981960_)
                                   (_splice-rest18991940_
                                    _rest19031959_
                                    (reverse _plist18981960_))))))
                     (_splice-loop19001944_ _hd18961937_ '())))))
            (if (let () (declare (not safe)) (##pair? _spec18861905_))
                (let ((_tl18931927_
                       (let () (declare (not safe)) (##cdr _spec18861905_)))
                      (_hd18921925_
                       (let () (declare (not safe)) (##car _spec18861905_))))
                  (if ((lambda (_g19291931_) (member _g19291931_ '(gxc: gsc:)))
                       _hd18921925_)
                      (if (let () (declare (not safe)) (##pair? _tl18931927_))
                          (let ((_tl18951934_
                                 (let ()
                                   (declare (not safe))
                                   (##cdr _tl18931927_))))
                            (if (let ()
                                  (declare (not safe))
                                  (##pair? _tl18951934_))
                                (let ((_hd18961937_
                                       (let ()
                                         (declare (not safe))
                                         (##car _tl18951934_))))
                                  (___match72087209_
                                   _hd18921925_
                                   _tl18931927_
                                   _tl18951934_
                                   _hd18961937_))
                                (_K18901914_)))
                          (_K18901914_))
                      (_K18901914_)))
                (_K18901914_)))))))
  (define std/make#spec-outputs
    (lambda (_spec1651_ _settings1652_)
      (let* ((_spec16531701_ _spec1651_)
             (_else16621709_ (lambda () (error '"Bad buildspec" _spec1651_))))
        (let ((_K16991880_
               (lambda (_modf1878_)
                 (std/make#gxc-outputs _modf1878_ '#f _settings1652_)))
              (_K16941858_
               (lambda (_opts1855_ _modf1856_)
                 (std/make#gxc-outputs _modf1856_ _opts1855_ _settings1652_)))
              (_K16891834_
               (lambda (_opts1831_ _modf1832_)
                 (cons (std/make#gsc-c-path _modf1832_ _settings1652_) '())))
              (_K16841810_
               (lambda (_submodules1803_ _modf1804_)
                 (cons (std/make#library-path
                        _modf1804_
                        '".ssi"
                        _settings1652_)
                       (std/srfi/1#append-map
                        (lambda (_g18051807_)
                          (std/make#spec-outputs _g18051807_ _settings1652_))
                        _submodules1803_))))
              (_K16791782_
               (lambda (_opts1779_ _modf1780_)
                 (cons (std/make#library-path
                        _modf1780_
                        '".ssi"
                        _settings1652_)
                       (cons (std/make#binary-path
                              _modf1780_
                              _opts1779_
                              _settings1652_)
                             '()))))
              (_K16741758_
               (lambda (_opts1755_ _modf1756_)
                 (cons (std/make#binary-path
                        _modf1756_
                        _opts1755_
                        _settings1652_)
                       (cons (std/make#static-path _modf1756_ _settings1652_)
                             '()))))
              (_K16691736_
               (lambda (_file1734_)
                 (cons (std/make#static-file-path _file1734_ _settings1652_)
                       '())))
              (_K16641715_
               (lambda (_file1713_)
                 (cons (std/make#library-path _file1713_ '#f _settings1652_)
                       '()))))
          (let ((_try-match16551875_
                 (lambda ()
                   (if (let () (declare (not safe)) (##pair? _spec16531701_))
                       (let ((_tl16961863_
                              (let ()
                                (declare (not safe))
                                (##cdr _spec16531701_)))
                             (_hd16951861_
                              (let ()
                                (declare (not safe))
                                (##car _spec16531701_))))
                         (if (let ()
                               (declare (not safe))
                               (##eq? _hd16951861_ 'gxc:))
                             (if (let ()
                                   (declare (not safe))
                                   (##pair? _tl16961863_))
                                 (let ((_tl16981868_
                                        (let ()
                                          (declare (not safe))
                                          (##cdr _tl16961863_)))
                                       (_hd16971866_
                                        (let ()
                                          (declare (not safe))
                                          (##car _tl16961863_))))
                                   (let ((_modf1871_ _hd16971866_)
                                         (_opts1873_ _tl16981868_))
                                     (_K16941858_ _opts1873_ _modf1871_)))
                                 (_else16621709_))
                             (if (let ()
                                   (declare (not safe))
                                   (##eq? _hd16951861_ 'gsc:))
                                 (if (let ()
                                       (declare (not safe))
                                       (##pair? _tl16961863_))
                                     (let ((_tl16931844_
                                            (let ()
                                              (declare (not safe))
                                              (##cdr _tl16961863_)))
                                           (_hd16921842_
                                            (let ()
                                              (declare (not safe))
                                              (##car _tl16961863_))))
                                       (let ((_modf1847_ _hd16921842_)
                                             (_opts1849_ _tl16931844_))
                                         (_K16891834_ _opts1849_ _modf1847_)))
                                     (_else16621709_))
                                 (if (let ()
                                       (declare (not safe))
                                       (##eq? _hd16951861_ 'ssi:))
                                     (if (let ()
                                           (declare (not safe))
                                           (##pair? _tl16961863_))
                                         (let ((_tl16881820_
                                                (let ()
                                                  (declare (not safe))
                                                  (##cdr _tl16961863_)))
                                               (_hd16871818_
                                                (let ()
                                                  (declare (not safe))
                                                  (##car _tl16961863_))))
                                           (let ((_modf1823_ _hd16871818_)
                                                 (_submodules1825_
                                                  _tl16881820_))
                                             (_K16841810_
                                              _submodules1825_
                                              _modf1823_)))
                                         (_else16621709_))
                                     (if (let ()
                                           (declare (not safe))
                                           (##eq? _hd16951861_ 'exe:))
                                         (if (let ()
                                               (declare (not safe))
                                               (##pair? _tl16961863_))
                                             (let ((_tl16831792_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##cdr _tl16961863_)))
                                                   (_hd16821790_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##car _tl16961863_))))
                                               (let ((_modf1795_ _hd16821790_)
                                                     (_opts1797_ _tl16831792_))
                                                 (_K16791782_
                                                  _opts1797_
                                                  _modf1795_)))
                                             (_else16621709_))
                                         (if (let ()
                                               (declare (not safe))
                                               (##eq? _hd16951861_
                                                      'static-exe:))
                                             (if (let ()
                                                   (declare (not safe))
                                                   (##pair? _tl16961863_))
                                                 (let ((_tl16781768_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _tl16961863_)))
                                                       (_hd16771766_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _tl16961863_))))
                                                   (let ((_modf1771_
                                                          _hd16771766_)
                                                         (_opts1773_
                                                          _tl16781768_))
                                                     (_K16741758_
                                                      _opts1773_
                                                      _modf1771_)))
                                                 (_else16621709_))
                                             (if (let ()
                                                   (declare (not safe))
                                                   (##eq? _hd16951861_
                                                          'static-include:))
                                                 (if (let ()
                                                       (declare (not safe))
                                                       (##pair? _tl16961863_))
                                                     (let ((_tl16731746_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##cdr _tl16961863_)))
                                                           (_hd16721744_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##car _tl16961863_))))
                                                       (if (let ()
                                                             (declare
                                                               (not safe))
                                                             (##null? _tl16731746_))
                                                           (let ((_file1749_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          _hd16721744_))
                     (_K16691736_ _file1749_))
                   (_else16621709_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_else16621709_))
                                                 (if (let ()
                                                       (declare (not safe))
                                                       (##eq? _hd16951861_
                                                              'copy:))
                                                     (if (let ()
                                                           (declare (not safe))
                                                           (##pair? _tl16961863_))
                                                         (let ((_tl16681725_
                                                                (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (declare (not safe))
                          (##cdr _tl16961863_)))
                       (_hd16671723_
                        (let () (declare (not safe)) (##car _tl16961863_))))
                   (if (let () (declare (not safe)) (##null? _tl16681725_))
                       (let ((_file1728_ _hd16671723_))
                         (_K16641715_ _file1728_))
                       (_else16621709_)))
                 (_else16621709_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_else16621709_)))))))))
                       (_else16621709_)))))
            (if (string? _spec16531701_)
                (let ((_modf1883_ _spec16531701_)) (_K16991880_ _modf1883_))
                (_try-match16551875_)))))))
  (define std/make#spec-backgroundable?
    (lambda (_spec1646_)
      (let ((_$e1648_ (std/make#spec-type _spec1646_)))
        (if (eq? 'gxc: _$e1648_)
            (not (pgetq 'foreground: (std/make#spec-plist _spec1646_)))
            (if (eq? 'gsc: _$e1648_) '#t '#f)))))
  (define std/make#cache (make-parameter '#f))
  (define std/make#cache-put!
    (lambda (_key1641_ _value1642_)
      (letrec* ((_c1644_ (std/make#cache)))
        (if _c1644_ (table-set! _c1644_ _key1641_ _value1642_) '#!void)
        _value1642_)))
  (define std/make#cache-remove!
    (lambda (_key1637_)
      (letrec* ((_c1639_ (std/make#cache)))
        (if _c1639_ (table-set! _c1639_ _key1637_) '#!void))))
  (define std/make#call-with-cache__%
    (lambda (_key1622_ _thunk1623_)
      (letrec* ((_c1625_ (std/make#cache)))
        (if _c1625_
            (std/misc/hash#hash-ensure-ref _c1625_ _key1622_ _thunk1623_)
            (_thunk1623_)))))
  (define std/make#call-with-cache__0
    (lambda (_key1630_)
      (let ((_thunk1632_ false))
        (std/make#call-with-cache__% _key1630_ _thunk1632_))))
  (define std/make#call-with-cache
    (lambda _g7391_
      (let ((_g7390_ (let () (declare (not safe)) (##length _g7391_))))
        (cond ((let () (declare (not safe)) (##fx= _g7390_ 1))
               (apply std/make#call-with-cache__0 _g7391_))
              ((let () (declare (not safe)) (##fx= _g7390_ 2))
               (apply std/make#call-with-cache__% _g7391_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/make#call-with-cache
                _g7391_))))))
  (define std/make#call-with-fresh-cache
    (lambda (_thunk1615_)
      (call-with-parameters
       (lambda () (_thunk1615_))
       std/make#cache
       (let ((_ht1618_ (make-table 'size: '0))) _ht1618_))))
  (define std/make#modification-time
    (lambda (_file1607_)
      (call-with-current-continuation
       (lambda (_return1609_)
         (letrec* ((_info1611_
                    (with-exception-catcher
                     (lambda (_g7392_) (_return1609_ '#f))
                     (lambda () (file-info _file1607_ '#t)))))
           (time->seconds (file-info-last-modification-time _info1611_)))))))
  (define std/make#modification-time/cache
    (lambda (_file1604_)
      (std/make#call-with-cache__%
       (cons 'modification-time (cons _file1604_ '()))
       (lambda () (std/make#modification-time _file1604_)))))
  (define std/make#file-timestamp
    (lambda (_file1599_)
      (let ((_$e1601_ (std/make#modification-time/cache _file1599_)))
        (if _$e1601_ _$e1601_ '+inf.0))))
  (define std/make#module-strip-nesting
    (lambda (_module1590_)
      (letrec* ((_name1592_ (symbol->string _module1590_)))
        (let ((_$e1594_ (string-rindex _name1592_ '#\$)))
          (if _$e1594_
              ((lambda (_ix1597_)
                 (string->symbol (substring _name1592_ '0 _ix1597_)))
               _$e1594_)
              _module1590_)))))
  (define std/make#library-symbol
    (lambda (_module1588_)
      (make-symbol '":" (std/make#module-strip-nesting _module1588_))))
  (define std/make#library-file
    (lambda (_library1583_)
      (with-exception-catcher
       (lambda (_e1585_)
         (error '"missing library"
                'context:
                'library-file
                'library:
                _library1583_
                'symbol:
                (std/make#library-symbol _library1583_)
                'load-path:
                (let ((__values7383 (load-path)))
                  (if (let () (declare (not safe)) (##values? __values7383))
                      (let ()
                        (declare (not safe))
                        (##vector->list __values7383))
                      (list __values7383)))
                'error-message:
                (error-message _e1585_)
                'error:
                _e1585_))
       (lambda ()
         (gx#core-resolve-library-module-path
          (std/make#library-symbol _library1583_))))))
  (define std/make#library-timestamp
    (lambda (_library1581_)
      (std/make#file-timestamp (std/make#library-file _library1581_))))
  (define std/make#build-deps-tag 'gerbil-build-deps-v2:)
  (define std/make#read-build-deps
    (lambda (_file1539_)
      (let* ((_g15401550_
              (with-exception-catcher
               void
               (lambda () (call-with-input-file _file1539_ read))))
             (_E15431554_
              (lambda () (error '"No clause matching" _g15401550_))))
        (let ((_K15451567_ (lambda (_s1565_) _s1565_))
              (_K15441559_ (lambda () '())))
          (if (let () (declare (not safe)) (##pair? _g15401550_))
              (let ((_tl15471572_
                     (let () (declare (not safe)) (##cdr _g15401550_)))
                    (_hd15461570_
                     (let () (declare (not safe)) (##car _g15401550_))))
                (if ((lambda (_g15741576_)
                       (equal? _g15741576_ std/make#build-deps-tag))
                     _hd15461570_)
                    (let ((_s1579_ _tl15471572_)) (_K15451567_ _s1579_))
                    (_K15441559_)))
              (_K15441559_))))))
  (define std/make#write-build-deps
    (lambda (_file1534_ _build-deps1535_)
      (create-directory* (path-directory _file1534_))
      (call-with-output-file
       _file1534_
       (lambda (_port1537_)
         (pretty-print
          (cons std/make#build-deps-tag _build-deps1535_)
          _port1537_)
         (newline _port1537_)))))
  (define std/make#make
    (lambda _args1490_
      (letrec* ((_g7393_ (let ((_g7394_ (std/misc/list#separate-keyword-arguments__%
                                         _args1490_
                                         '#t)))
                           (let ((_g7395_ (let ()
                                            (declare (not safe))
                                            (if (##values? _g7394_)
                                                (##vector-length _g7394_)
                                                1))))
                             (if (not (let ()
                                        (declare (not safe))
                                        (##fx= _g7395_ 2)))
                                 (error "Context expects 2 values" _g7395_)))
                           _g7394_))
                (_positionals1492_
                 (let () (declare (not safe)) (##vector-ref _g7393_ 0)))
                (_keywords1493_
                 (let () (declare (not safe)) (##vector-ref _g7393_ 1)))
                (_buildspec1494_
                 (let* ((_positionals14981507_ _positionals1492_)
                        (_E15011511_
                         (lambda ()
                           (error '"No clause matching"
                                  _positionals14981507_))))
                   (let ((_K15031524_ (lambda (_x1522_) _x1522_))
                         (_K15021516_
                          (lambda ()
                            (error '"invalid arguments"
                                   std/make#make
                                   _positionals1492_))))
                     (if (let ()
                           (declare (not safe))
                           (##pair? _positionals14981507_))
                         (let ((_tl15051529_
                                (let ()
                                  (declare (not safe))
                                  (##cdr _positionals14981507_)))
                               (_hd15041527_
                                (let ()
                                  (declare (not safe))
                                  (##car _positionals14981507_))))
                           (if (let ()
                                 (declare (not safe))
                                 (##null? _tl15051529_))
                               (let ((_x1532_ _hd15041527_))
                                 (_K15031524_ _x1532_))
                               (_K15021516_)))
                         (_K15021516_)))))
                (_settings1495_ (apply std/make#make-settings _keywords1493_)))
        (call-with-parameters
         (lambda ()
           (std/make#call-with-fresh-cache
            (lambda () (std/make#%make _buildspec1494_ _settings1495_))))
         current-directory
         (##structure-ref _settings1495_ '1 std/make#settings::t '#f)))))
  (define std/make#%make
    (lambda (_buildspec1281_ _settings1282_)
      (letrec* ((_force?1284_
                 (##structure-ref _settings1282_ '5 std/make#settings::t '#f))
                (_build-deps-file1285_
                 (##structure-ref _settings1282_ '11 std/make#settings::t '#f))
                (_verbose1286_
                 (##structure-ref _settings1282_ '10 std/make#settings::t '#f))
                (_verbose>=?1287_
                 (lambda (_n1488_)
                   (std/make#settings-verbose>=? _settings1282_ _n1488_)))
                (_g7396_ (let ((_g7397_ (if (_verbose>=?1287_ '3)
                                            (std/make#writeln
                                             (cons 'Step:
                                                   (cons '0
                                                         (cons 'settings:
                                                               (cons _settings1282_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            '#!void)))
                           #!void
                           _g7397_))
                (_spec@1288_
                 (list->vector (std/make#normalize-buildspec _buildspec1281_)))
                (_nspec1289_ (vector-length _spec@1288_))
                (_specvec1290_ (lambda () (make-vector _nspec1289_ '#f)))
                (_spec-index%1291_
                 (std/misc/hash#invert-hash<-vector__%
                  '#f
                  absent-value
                  _spec@1288_))
                (_id@1292_ (_specvec1290_))
                (_id-index%1293_
                 (let ((_ht1484_ (make-table 'size: '0))) _ht1484_))
                (_deps@1294_ (_specvec1290_))
                (_timestamp%1295_
                 (let ((_ht1481_ (make-table 'size: '0))) _ht1481_))
                (_blocked-by@1296_ (_specvec1290_))
                (_blocking@1297_ (_specvec1290_))
                (_ready-fg1298_
                 (let ((__obj7384 (make-object std/misc/pqueue#pqueue::t '3)))
                   (std/misc/pqueue#pqueue:::init!__1 __obj7384 identity <)
                   __obj7384))
                (_ready-bg1299_
                 (let ((__obj7385 (make-object std/misc/pqueue#pqueue::t '3)))
                   (std/misc/pqueue#pqueue:::init!__1 __obj7385 identity >)
                   __obj7385))
                (_g7399_ (let ((_g7400_ (if (_verbose>=?1287_ '3)
                                            (std/make#writeln
                                             (cons 'Step:
                                                   (cons '1
                                                         (cons 'spec@:
                                                               (cons _spec@1288_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            '#!void)))
                           #!void
                           _g7400_))
                (_dependency-timestamp1300_
                 (lambda (_dep1476_)
                   (with-exception-catcher
                    (lambda (_g7402_) '+inf.0)
                    (lambda ()
                      (std/misc/hash#hash-ensure-ref
                       _timestamp%1295_
                       _dep1476_
                       (lambda () (std/make#library-timestamp _dep1476_)))))))
                (_g7403_ (let ((_g7404_ (let ((_build-deps-timestamp13011304_
                                               (std/make#modification-time/cache
                                                _build-deps-file1285_))
                                              (_previous@13021306_
                                               (std/make#read-build-deps
                                                _build-deps-file1285_)))
                                          (if _build-deps-timestamp13011304_
                                              (if _previous@13021306_
                                                  (let ((_build-deps-timestamp1309_
                                                         _build-deps-timestamp13011304_)
                                                        (_previous@1310_
                                                         _previous@13021306_))
                                                    (letrec* ((_previous-out-of-date%1312_
                                                               (let ((_ht1338_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                              (make-table 'size: '0)))
                         _ht1338_))
                      (_previous-file-up-to-date?1313_
                       (lambda (_file1336_)
                         (<= (std/make#file-timestamp _file1336_)
                             _build-deps-timestamp1309_)))
                      (_previous-dependency-up-to-date?1314_
                       (lambda (_dep1331_)
                         (let ((_$e1333_
                                (table-ref _id-index%1293_ _dep1331_ '#f)))
                           (if _$e1333_
                               _$e1333_
                               (if (not (table-ref
                                         _previous-out-of-date%1312_
                                         _dep1331_
                                         '#f))
                                   (<= (_dependency-timestamp1300_ _dep1331_)
                                       _build-deps-timestamp1309_)
                                   '#f)))))
                      (_previous-entry-up-to-date?1315_
                       (lambda (_spec1328_ _deps1329_)
                         (if (andmap1 _previous-file-up-to-date?1313_
                                      (std/make#spec-inputs
                                       _spec1328_
                                       _settings1282_))
                             (andmap1 _previous-dependency-up-to-date?1314_
                                      _deps1329_)
                             '#f)))
                      (_consider-previous1316_
                       (lambda (_id1322_ _spec1323_ _deps1324_)
                         (if (_verbose>=?1287_ '7)
                             (std/make#writeln
                              (cons 'previous:
                                    (cons _id1322_
                                          (cons 'spec:
                                                (cons _spec1323_
                                                      (cons 'deps:
                                                            (cons _deps1324_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (cons 'target:
                                (cons (table-ref
                                       _spec-index%1291_
                                       _spec1323_
                                       '#f)
                                      (cons 'up-to-date?:
                                            (cons (if (table-ref
                                                       _spec-index%1291_
                                                       _spec1323_
                                                       '#f)
                                                      (_previous-entry-up-to-date?1315_
                                                       _spec1323_
                                                       _deps1324_)
                                                      '#f)
                                                  '())))))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                             '#!void)
                         (letrec* ((_target1326_
                                    (table-ref
                                     _spec-index%1291_
                                     _spec1323_
                                     '#f)))
                           (if (and _target1326_
                                    (_previous-entry-up-to-date?1315_
                                     _spec1323_
                                     _deps1324_))
                               (begin
                                 (vector-set! _id@1292_ _target1326_ _id1322_)
                                 (table-set!
                                  _id-index%1293_
                                  _id1322_
                                  _target1326_)
                                 (vector-set!
                                  _deps@1294_
                                  _target1326_
                                  _deps1324_))
                               (table-set!
                                _previous-out-of-date%1312_
                                _id1322_
                                '#t))))))
              (for-each
               (lambda (_g13171319_)
                 (apply _consider-previous1316_ _g13171319_))
               _previous@1310_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                  '#f)
                                              '#f))))
                           #!void
                           _g7404_))
                (_g7406_ (let ((_g7407_ (if (_verbose>=?1287_ '3)
                                            (std/make#writeln
                                             (cons 'Step:
                                                   (cons '2
                                                         (cons 'previous-up-to-date:
                                                               (cons (std/misc/hash#hash->list/sort
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                              _id-index%1293_
                              std/misc/symbol#symbol<?)
                             '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            '#!void)))
                           #!void
                           _g7407_))
                (_g7409_ (let ((_g7410_ ((lambda (_g13401342_)
                                           (std/make#vector-for-each
                                            _g13401342_
                                            _spec@1288_))
                                         (lambda (_target1345_ _spec1346_)
                                           (if (_verbose>=?1287_ '7)
                                               (std/make#writeln
                                                (cons 'Step:
                                                      (cons '3.
                                                            (cons 'target:
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (cons _target1345_ (cons _spec1346_ '()))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                               '#!void)
                                           (if (vector-ref
                                                _id@1292_
                                                _target1345_)
                                               '#!void
                                               (let ((_g7412_ (std/make#file-dependencies
                                                               (std/make#spec-file
                                                                _spec1346_
                                                                _settings1282_)
                                                               _settings1282_)))
                                                 (begin
                                                   (let ((_g7413_ (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            (declare (not safe))
                            (if (##values? _g7412_)
                                (##vector-length _g7412_)
                                1))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (if (not (let ()
                                                                (declare
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (not safe))
                        (##fx= _g7413_ 2)))
                 (error "Context expects 2 values" _g7413_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                   (let ((_id1348_
                                                          (let ()
                                                            (declare
                                                              (not safe))
                                                            (##vector-ref
                                                             _g7412_
                                                             0)))
                                                         (_deps1349_
                                                          (let ()
                                                            (declare
                                                              (not safe))
                                                            (##vector-ref
                                                             _g7412_
                                                             1))))
                                                     (begin
                                                       (if (_verbose>=?1287_
                                                            '7)
                                                           (std/make#writeln
                                                            (cons _target1345_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (cons _spec1346_
                                (cons _id1348_ (cons _deps1349_ '())))))
                   '#!void)
               (vector-set! _id@1292_ _target1345_ _id1348_)
               (table-set! _id-index%1293_ _id1348_ _target1345_)
               (vector-set! _deps@1294_ _target1345_ _deps1349_))))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                           #!void
                           _g7410_))
                (_g7414_ (let ((_g7415_ (if (_verbose>=?1287_ '3)
                                            (std/make#writeln
                                             (cons 'Step:
                                                   (cons '3
                                                         (cons 'deps:
                                                               (cons (apply std/srfi/1#srfi-1-map
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                    list
                                    (map vector->list
                                         (cons _id@1292_
                                               (cons _spec@1288_
                                                     (cons _deps@1294_ '())))))
                             '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            '#!void)))
                           #!void
                           _g7415_))
                (_blockings1350_
                 (lambda (_blocks1462_)
                   (let _loop1464_ ((_i1466_ (- _nspec1289_ '1)) (_l1467_ '()))
                     (if (> '0 _i1466_)
                         _l1467_
                         (let* ((_h11469_ (vector-ref _blocks1462_ _i1466_))
                                (_h21471_
                                 (if _h11469_ (hash-keys _h11469_) '#f))
                                (_h31473_
                                 (if _h21471_
                                     (if (pair? _h21471_) _h21471_ '#f)
                                     '#f)))
                           (_loop1464_
                            (- _i1466_ '1)
                            (if _h31473_
                                (cons (cons _i1466_ (cons _h31473_ '()))
                                      _l1467_)
                                _l1467_)))))))
                (_init-walk1351_
                 (lambda ()
                   (if (_verbose>=?1287_ '8)
                       (std/make#writeln
                        (cons 'ready-fg:
                              (cons (std/misc/pqueue#pqueue-contents
                                     _ready-fg1298_)
                                    (cons 'ready-bg:
                                          (cons (std/misc/pqueue#pqueue-contents
                                                 _ready-bg1299_)
                                                (cons 'blocked-by:
                                                      (cons (_blockings1350_
                                                             _blocked-by@1296_)
                                                            (cons 'len:
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (cons (length (_blockings1350_ _blocked-by@1296_))
                                (cons 'blocking:
                                      (cons (_blockings1350_ _blocking@1297_)
                                            (cons 'len:
                                                  (cons (length (_blockings1350_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         _blocking@1297_))
                '())))))))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                       '#!void)
                   (if (null? (_blockings1350_ _blocked-by@1296_))
                       '#!void
                       (error '"Assertion failed"
                              '(null? (blockings blocked-by@))))
                   (if (null? (_blockings1350_ _blocking@1297_))
                       '#!void
                       (error '"Assertion failed"
                              '(null? (blockings blocking@))))
                   (if (std/misc/pqueue#pqueue-empty? _ready-fg1298_)
                       '#!void
                       (error '"Assertion failed" '(pqueue-empty? ready-fg)))
                   (if (std/misc/pqueue#pqueue-empty? _ready-bg1299_)
                       '#!void
                       (error '"Assertion failed" '(pqueue-empty? ready-bg)))
                   ((lambda (_g14401442_)
                      (std/make#vector-for-each _g14401442_ _deps@1294_))
                    (lambda (_target1445_ _deps1446_)
                      ((lambda (_g14471449_) (for-each _g14471449_ _deps1446_))
                       (lambda (_dep1452_)
                         (let ((_other-target1454_
                                (table-ref _id-index%1293_ _dep1452_ '#f)))
                           (if _other-target1454_
                               (begin
                                 (table-set!
                                  (std/make#vector-ensure-ref
                                   _blocked-by@1296_
                                   _target1445_
                                   make-hash-table)
                                  _other-target1454_
                                  '#t)
                                 (table-set!
                                  (std/make#vector-ensure-ref
                                   _blocking@1297_
                                   _other-target1454_
                                   make-hash-table)
                                  _target1445_
                                  '#t))
                               '#!void))))))
                   ((lambda (_g14551457_)
                      (std/make#vector-for-each _g14551457_ _spec@1288_))
                    (lambda (_target1460_ _g7417_)
                      (if (vector-ref _blocked-by@1296_ _target1460_)
                          '#!void
                          (std/misc/pqueue#pqueue-push!
                           _ready-fg1298_
                           _target1460_))))))
                (_mark-built1352_
                 (lambda (_target1424_ . _g7418_)
                   (let ((_blocking14251427_
                          (vector-ref _blocking@1297_ _target1424_)))
                     (if _blocking14251427_
                         (let ((_blocking1430_ _blocking14251427_))
                           ((lambda (_g14311433_)
                              (table-for-each _g14311433_ _blocking1430_))
                            (lambda (_unblocked1436_ _g7419_)
                              (table-set! _blocking1430_ _unblocked1436_)
                              (letrec* ((_blocked-by1438_
                                         (vector-ref
                                          _blocked-by@1296_
                                          _unblocked1436_)))
                                (table-set! _blocked-by1438_ _target1424_)
                                (if (std/misc/hash#hash-empty?
                                     _blocked-by1438_)
                                    (std/misc/pqueue#pqueue-push!
                                     _ready-fg1298_
                                     _unblocked1436_)
                                    '#!void)))))
                         '#f))))
                (_g7420_ (let ((_g7421_ (_init-walk1351_))) #!void _g7421_))
                (_build-list1353_
                 (std/misc/list#call-with-list-builder
                  (lambda (_c1422_ _g7423_)
                    (std/misc/concurrent-plan#perform-plan/threads__%
                     '#f
                     void
                     _c1422_
                     _mark-built1352_
                     void
                     '#t
                     '1
                     _ready-fg1298_
                     _ready-bg1299_))))
                (_g7424_ (let ((_g7425_ (std/make#write-build-deps
                                         _build-deps-file1285_
                                         (map (lambda (_target1355_)
                                                (map (lambda (_g13561358_)
                                                       (vector-ref
                                                        _g13561358_
                                                        _target1355_))
                                                     (cons _id@1292_
                                                           (cons _spec@1288_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (cons _deps@1294_ '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              _build-list1353_))))
                           #!void
                           _g7425_))
                (_g7427_ (let ((_g7428_ (if (= (length _build-list1353_)
                                               _nspec1289_)
                                            '#!void
                                            (error '"Circular dependency in build??? Remove build-deps and try again?"))))
                           #!void
                           _g7428_))
                (_g7430_ (let ((_g7431_ (if (_verbose>=?1287_ '3)
                                            (std/make#writeln
                                             (cons 'Step:
                                                   (cons '4
                                                         (cons 'build-deps:
                                                               (cons _build-deps-file1285_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             '())))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                            '#!void)))
                           #!void
                           _g7431_))
                (_compute-timestamp1360_
                 (lambda (_target1408_)
                   (letrec* ((_spec1410_ (vector-ref _spec@1288_ _target1408_))
                             (_deps1411_ (vector-ref _deps@1294_ _target1408_))
                             (_inputs1412_
                              (std/make#spec-inputs _spec1410_ _settings1282_))
                             (_outputs1413_
                              (std/make#spec-outputs
                               _spec1410_
                               _settings1282_))
                             (_dep-timestamps1414_
                              (map _dependency-timestamp1300_ _deps1411_))
                             (_in-timestamps1415_
                              (map std/make#file-timestamp _inputs1412_))
                             (_out-timestamps1416_
                              (map std/make#file-timestamp _outputs1413_))
                             (_dep-max1417_
                              (std/misc/number#xmax/list _dep-timestamps1414_))
                             (_in-max1418_
                              (std/misc/number#xmax__0
                               _dep-max1417_
                               (std/misc/number#xmax/list
                                _in-timestamps1415_)))
                             (_out-min1419_
                              (std/misc/number#xmin/list _out-timestamps1416_))
                             (_out-max1420_
                              (std/misc/number#xmax/list
                               _out-timestamps1416_)))
                     (if (_verbose>=?1287_ '6)
                         (std/make#writeln
                          (cons 'compute-timestamp:
                                (cons (cons 'target: (cons _target1408_ '()))
                                      (cons (cons 'spec: (cons _spec1410_ '()))
                                            (cons (cons 'in-max:
                                                        (cons _in-max1418_
                                                              '()))
                                                  (cons (cons 'out-min:
                                                              (cons _out-min1419_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            '()))
                (cons (cons 'out-max: (cons _out-max1420_ '()))
                      (cons (cons 'deps:
                                  (cons (std/srfi/1#map2
                                         list
                                         _dep-timestamps1414_
                                         _deps1411_)
                                        '()))
                            (cons (cons 'ins:
                                        (cons (std/srfi/1#map2
                                               list
                                               _in-timestamps1415_
                                               _inputs1412_)
                                              '()))
                                  (cons (cons 'outs:
                                              (cons (std/srfi/1#map2
                                                     list
                                                     _outputs1413_
                                                     _out-timestamps1416_)
                                                    '()))
                                        (cons (cons 'result:
                                                    (cons (if (<= _in-max1418_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          _out-min1419_)
                      _out-max1420_
                      '+inf.0)
                  '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              '())))))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                         '#!void)
                     (if (<= _in-max1418_ _out-min1419_)
                         _out-max1420_
                         '+inf.0))))
                (_compute-new-timestamp1361_
                 (lambda (_target1398_)
                   (letrec* ((_spec1400_ (vector-ref _spec@1288_ _target1398_))
                             (_outputs1401_
                              (std/make#spec-outputs
                               _spec1400_
                               _settings1282_))
                             (_g7433_ (let ((_g7434_ (for-each
                                                      (lambda (_x1403_)
                                                        (std/make#cache-remove!
                                                         (cons 'modification-time
                                                               (cons _x1403_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             '()))))
              _outputs1401_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                        #!void
                                        _g7434_))
                             (_out-timestamp1404_
                              (std/misc/number#xmax/map__0
                               std/make#file-timestamp
                               _outputs1401_)))
                     (begin
                       (if (< _out-timestamp1404_ '+inf.0)
                           '#!void
                           (begin
                             (if _verbose1286_
                                 (std/make#writeln
                                  (cons 'compute-timestamp-failed:
                                        (cons _spec1400_
                                              (cons (map (lambda (_x1406_)
                                                           (cons _x1406_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                         (cons (std/make#file-timestamp _x1406_) '())))
                 _outputs1401_)
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                    '()))))
                                 '#!void)
                             (error '"Build failed to generate expected outputs"
                                    _spec1400_
                                    _outputs1401_)))
                       _out-timestamp1404_))))
                (_target<-item1362_
                 (lambda (_item1396_)
                   (if (<= '0 _item1396_)
                       _item1396_
                       (bitwise-not _item1396_))))
                (_perform1363_
                 (lambda (_target1394_)
                   (if (<= '0 _target1394_)
                       (_fg-perform1364_ _target1394_)
                       (_bg-perform1366_ _target1394_))))
                (_fg-perform1364_
                 (lambda (_target1388_)
                   (letrec* ((_spec1390_ (vector-ref _spec@1288_ _target1388_))
                             (_id1391_ (vector-ref _id@1292_ _target1388_)))
                     (if (_verbose>=?1287_ '7)
                         (std/make#writeln
                          (cons 'Perform:
                                (cons _target1388_
                                      (cons _spec1390_
                                            (cons _id1391_
                                                  (cons (table-ref
                                                         _timestamp%1295_
                                                         _id1391_
                                                         '#f)
                                                        '()))))))
                         '#!void)
                     (if (and (not _force?1284_)
                              (< (std/misc/hash#hash-ensure-ref
                                  _timestamp%1295_
                                  _id1391_
                                  (lambda ()
                                    (_compute-timestamp1360_ _target1388_)))
                                 '+inf.0))
                         (begin
                           (if (_verbose>=?1287_ '5)
                               (std/make#writeln
                                (cons 'Up-to-date:
                                      (cons _target1388_
                                            (cons _spec1390_
                                                  (cons (table-ref
                                                         _timestamp%1295_
                                                         _id1391_)
                                                        '())))))
                               '#!void)
                           (table-ref _timestamp%1295_ _id1391_))
                         (if (std/make#spec-backgroundable? _spec1390_)
                             (begin
                               (std/misc/pqueue#pqueue-push!
                                _ready-bg1299_
                                (bitwise-not _target1388_))
                               '+inf.0)
                             (_build-target1365_ _target1388_))))))
                (_build-target1365_
                 (lambda (_target1386_)
                   (std/make#build
                    (vector-ref _spec@1288_ _target1386_)
                    _settings1282_)
                   (_compute-new-timestamp1361_ _target1386_)))
                (_bg-perform1366_
                 (lambda (_target1384_)
                   (_build-target1365_ (bitwise-not _target1384_))))
                (_on-success1367_
                 (lambda (_item1377_ _timestamp1378_)
                   (letrec* ((_target1380_ (_target<-item1362_ _item1377_))
                             (_spec1381_ (vector-ref _spec@1288_ _target1380_))
                             (_id1382_ (vector-ref _id@1292_ _target1380_)))
                     (if (_verbose>=?1287_ '7)
                         (std/make#writeln
                          (cons 'on-success:
                                (cons _item1377_
                                      (cons _target1380_
                                            (cons _id1382_
                                                  (cons _spec1381_
                                                        (cons _timestamp1378_
                                                              '())))))))
                         '#!void)
                     (if (< _timestamp1378_ '+inf.0)
                         (begin
                           (table-set!
                            _timestamp%1295_
                            _id1382_
                            _timestamp1378_)
                           (_mark-built1352_ _target1380_))
                         '#!void))))
                (_on-failure1368_
                 (lambda (_item1374_ _exception1375_)
                   (error '"Failure to build"
                          (vector-ref
                           _spec@1288_
                           (_target<-item1362_ _item1374_))
                          (error-message _exception1375_)))))
        (begin
          (create-directory*
           (##structure-ref _settings1282_ '3 std/make#settings::t '#f))
          (create-directory*
           (##structure-ref _settings1282_ '2 std/make#settings::t '#f))
          (if (##structure-ref _settings1282_ '8 std/make#settings::t '#f)
              (create-directory*
               (path-expand
                '"static"
                (##structure-ref _settings1282_ '2 std/make#settings::t '#f)))
              '#!void)
          (_init-walk1351_)
          (if (_verbose>=?1287_ '6)
              (std/make#writeln
               (cons 'Step:
                     (cons '5.
                           (cons 'queue:
                                 (cons (std/sort#sort
                                        (std/misc/pqueue#pqueue-contents
                                         _ready-fg1298_)
                                        <)
                                       '())))))
              '#!void)
          (std/misc/concurrent-plan#perform-plan/threads__%
           '#f
           _perform1363_
           (if (_verbose>=?1287_ '8)
               (lambda (_item1370_)
                 (letrec* ((_target1372_ (_target<-item1362_ _item1370_)))
                   (std/make#writeln
                    (cons 'announcing:
                          (cons _item1370_
                                (cons (vector-ref _spec@1288_ _target1372_)
                                      '()))))))
               void)
           _on-success1367_
           _on-failure1368_
           '#f
           (max (##structure-ref _settings1282_ '13 std/make#settings::t '#f)
                '1)
           _ready-fg1298_
           _ready-bg1299_)
          (if (_verbose>=?1287_ '3)
              (std/make#writeln
               (cons 'Step: (cons '5 (cons '"All built" '()))))
              '#!void)))))
  (define std/make#file-dependencies
    (lambda (_file1251_ _settings1252_)
      (letrec* ((_ht1254_ (make-table 'test: eq?))
                (_q1255_ (let ((__obj7386
                                (make-object std/misc/queue#queue::t '3)))
                           (std/misc/queue#queue:::init! __obj7386)
                           __obj7386))
                (_mod1256_
                 (with-cons-load-path
                  (lambda () (gx#import-module__0 _file1251_))
                  (##structure-ref
                   _settings1252_
                   '1
                   std/make#settings::t
                   '#f)))
                (_mod-id1257_
                 (##structure-ref _mod1256_ '1 gx#expander-context::t '#f))
                (_consider1258_
                 (lambda (_m1266_)
                   (let ((_id12671269_
                          (##structure-ref
                           _m1266_
                           '1
                           gx#expander-context::t
                           '#f)))
                     (if _id12671269_
                         (let* ((_id1272_ _id12671269_)
                                (_module-id1274_
                                 (std/make#module-strip-nesting _id1272_)))
                           (if (eq? _module-id1274_ _mod-id1257_)
                               (for-each
                                (lambda (_g12751277_)
                                  (std/misc/queue#enqueue!
                                   _q1255_
                                   _g12751277_))
                                (cons (gx#core-context-prelude__% _m1266_)
                                      (##structure-ref
                                       _m1266_
                                       '8
                                       gx#module-context::t
                                       '#f)))
                               (table-set! _ht1254_ _module-id1274_ '#t)))
                         '#f)))))
        (_consider1258_ _mod1256_)
        (let _lp1260_ ()
          (if (std/misc/queue#queue-empty? _q1255_)
              '#!void
              (begin
                (let ((_hd1264_ (std/misc/queue#dequeue!__% _q1255_ '#f)))
                  (if (let ()
                        (declare (not safe))
                        (##structure-instance-of?
                         _hd1264_
                         'gx#module-context::t))
                      (_consider1258_ _hd1264_)
                      (if (let ()
                            (declare (not safe))
                            (##structure-instance-of?
                             _hd1264_
                             'gx#prelude-context::t))
                          (_consider1258_ _hd1264_)
                          (if (let ()
                                (declare (not safe))
                                (##structure-direct-instance-of?
                                 _hd1264_
                                 'gx#module-import::t))
                              (std/misc/queue#enqueue!
                               _q1255_
                               (##direct-structure-ref
                                _hd1264_
                                '1
                                gx#module-import::t
                                '#f))
                              (if (let ()
                                    (declare (not safe))
                                    (##structure-direct-instance-of?
                                     _hd1264_
                                     'gx#module-export::t))
                                  (std/misc/queue#enqueue!
                                   _q1255_
                                   (##direct-structure-ref
                                    _hd1264_
                                    '1
                                    gx#module-export::t
                                    '#f))
                                  (if (let ()
                                        (declare (not safe))
                                        (##structure-direct-instance-of?
                                         _hd1264_
                                         'gx#import-set::t))
                                      (std/misc/queue#enqueue!
                                       _q1255_
                                       (##direct-structure-ref
                                        _hd1264_
                                        '1
                                        gx#import-set::t
                                        '#f))
                                      (error '"Unexpected module import"
                                             _hd1264_)))))))
                (_lp1260_))))
        (values _mod-id1257_
                (std/sort#sort
                 (hash-keys _ht1254_)
                 std/misc/symbol#symbol<?)))))
  (define std/make#make-depgraph true)
  (define std/make#make-depgraph/spec true)
  (define std/make#normalize-buildspec
    (lambda (_buildspec1213_)
      (letrec* ((_submodules1215_ '())
                (_get-submodules1216_
                 (lambda ()
                   (let ((_$r1248_ (reverse _submodules1215_)))
                     (set! _submodules1215_ '())
                     _$r1248_)))
                (_no-submodules1217_
                 (lambda (_spec1245_)
                   (if (null? _submodules1215_)
                       '#!void
                       (error '"incompatible sequence of build specifications"
                              (reverse (cons _spec1245_ _submodules1215_))))))
                (_push-submodule1218_
                 (lambda (_spec1243_)
                   (set! _submodules1215_
                         (cons _spec1243_ _submodules1215_)))))
        (std/misc/list#call-with-list-builder
         (lambda (_c1220_ _g7436_)
           ((lambda (_g12211223_) (for-each _g12211223_ _buildspec1213_))
            (lambda (_spec1226_)
              (let ((_$e1228_ (std/make#spec-type _spec1226_)))
                (if (or (eq? 'gxc: _$e1228_)
                        (eq? 'exe: _$e1228_)
                        (eq? 'static-exe: _$e1228_))
                    (begin
                      (_no-submodules1217_ _spec1226_)
                      (_c1220_ _spec1226_))
                    (if (or (eq? 'gsc: _$e1228_)
                            (eq? 'static-include: _$e1228_)
                            (eq? 'copy: _$e1228_))
                        (_push-submodule1218_ _spec1226_)
                        (if (eq? 'ssi: _$e1228_)
                            (_c1220_ (append _spec1226_
                                             (_get-submodules1216_)))
                            (error '"Unrecognized spec type" _spec1226_)))))))
           (_no-submodules1217_ '#!eof))))))
  (define std/make#shell-config
    (lambda (_cmd1205_ . _args1206_)
      (let* ((_proc1208_
              (open-input-process
               (cons 'path:
                     (cons _cmd1205_
                           (cons 'arguments: (cons _args1206_ '()))))))
             (_status1210_ (process-status _proc1208_)))
        (if (zero? _status1210_)
            '#!void
            (error '"Error executing config script"
                   _cmd1205_
                   _args1206_
                   _status1210_))
        (read-line _proc1208_))))
  (define std/make#env-ldflags
    (lambda ()
      (let ((_$e1198_ (getenv '"LDFLAGS" '#f)))
        (if _$e1198_
            ((lambda (_flags1201_)
               (lambda (_lib1203_) (string-append _flags1201_ '" " _lib1203_)))
             _$e1198_)
            identity))))
  (define std/make#env-cppflags
    (lambda ()
      (let ((_$e1190_ (getenv '"CPPFLAGS" '#f)))
        (if _$e1190_
            ((lambda (_flags1193_)
               (lambda (_more1195_)
                 (if (string-empty? _more1195_)
                     _flags1193_
                     (string-append _flags1193_ '" " _more1195_))))
             _$e1190_)
            identity))))
  (define std/make#include-gambit-sharp
    (lambda ()
      (if (gerbil-runtime-smp?)
          '("-e"
            "(define-cond-expand-feature|enable-smp|)"
            "-e"
            "(include \"~~lib/_gambit#.scm\")")
          '("-e" "(include \"~~lib/_gambit#.scm\")"))))
  (define std/make#build
    (lambda (_spec954_ _settings955_)
      (let* ((_spec9561004_ _spec954_)
             (_else9651012_ (lambda () (error '"Bad buildspec" _spec954_))))
        (let ((_K10021183_
               (lambda (_modf1181_)
                 (std/make#gxc-compile__% _modf1181_ '#f _settings955_ '#t)))
              (_K9971161_
               (lambda (_opts1158_ _modf1159_)
                 (std/make#gxc-compile__%
                  _modf1159_
                  _opts1158_
                  _settings955_
                  '#t)))
              (_K9921137_
               (lambda (_opts1134_ _modf1135_)
                 (std/make#gsc-compile _modf1135_ _opts1134_ _settings955_)))
              (_K9871113_
               (lambda (_submodules1106_ _modf1107_)
                 (for-each
                  (lambda (_g11081110_)
                    (std/make#build _g11081110_ _settings955_))
                  _submodules1106_)
                 (std/make#compile-ssi _modf1107_ '() _settings955_)))
              (_K9821085_
               (lambda (_opts1082_ _modf1083_)
                 (std/make#compile-exe _modf1083_ _opts1082_ _settings955_)))
              (_K9771061_
               (lambda (_opts1058_ _modf1059_)
                 (std/make#compile-static-exe
                  _modf1059_
                  _opts1058_
                  _settings955_)))
              (_K9721039_
               (lambda (_file1037_)
                 (std/make#copy-static _file1037_ _settings955_)))
              (_K9671018_
               (lambda (_file1016_)
                 (std/make#copy-compiled _file1016_ _settings955_))))
          (let ((_try-match9581178_
                 (lambda ()
                   (if (let () (declare (not safe)) (##pair? _spec9561004_))
                       (let ((_tl9991166_
                              (let ()
                                (declare (not safe))
                                (##cdr _spec9561004_)))
                             (_hd9981164_
                              (let ()
                                (declare (not safe))
                                (##car _spec9561004_))))
                         (if (let ()
                               (declare (not safe))
                               (##eq? _hd9981164_ 'gxc:))
                             (if (let ()
                                   (declare (not safe))
                                   (##pair? _tl9991166_))
                                 (let ((_tl10011171_
                                        (let ()
                                          (declare (not safe))
                                          (##cdr _tl9991166_)))
                                       (_hd10001169_
                                        (let ()
                                          (declare (not safe))
                                          (##car _tl9991166_))))
                                   (let ((_modf1174_ _hd10001169_)
                                         (_opts1176_ _tl10011171_))
                                     (_K9971161_ _opts1176_ _modf1174_)))
                                 (_else9651012_))
                             (if (let ()
                                   (declare (not safe))
                                   (##eq? _hd9981164_ 'gsc:))
                                 (if (let ()
                                       (declare (not safe))
                                       (##pair? _tl9991166_))
                                     (let ((_tl9961147_
                                            (let ()
                                              (declare (not safe))
                                              (##cdr _tl9991166_)))
                                           (_hd9951145_
                                            (let ()
                                              (declare (not safe))
                                              (##car _tl9991166_))))
                                       (let ((_modf1150_ _hd9951145_)
                                             (_opts1152_ _tl9961147_))
                                         (_K9921137_ _opts1152_ _modf1150_)))
                                     (_else9651012_))
                                 (if (let ()
                                       (declare (not safe))
                                       (##eq? _hd9981164_ 'ssi:))
                                     (if (let ()
                                           (declare (not safe))
                                           (##pair? _tl9991166_))
                                         (let ((_tl9911123_
                                                (let ()
                                                  (declare (not safe))
                                                  (##cdr _tl9991166_)))
                                               (_hd9901121_
                                                (let ()
                                                  (declare (not safe))
                                                  (##car _tl9991166_))))
                                           (let ((_modf1126_ _hd9901121_)
                                                 (_submodules1128_
                                                  _tl9911123_))
                                             (_K9871113_
                                              _submodules1128_
                                              _modf1126_)))
                                         (_else9651012_))
                                     (if (let ()
                                           (declare (not safe))
                                           (##eq? _hd9981164_ 'exe:))
                                         (if (let ()
                                               (declare (not safe))
                                               (##pair? _tl9991166_))
                                             (let ((_tl9861095_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##cdr _tl9991166_)))
                                                   (_hd9851093_
                                                    (let ()
                                                      (declare (not safe))
                                                      (##car _tl9991166_))))
                                               (let ((_modf1098_ _hd9851093_)
                                                     (_opts1100_ _tl9861095_))
                                                 (_K9821085_
                                                  _opts1100_
                                                  _modf1098_)))
                                             (_else9651012_))
                                         (if (let ()
                                               (declare (not safe))
                                               (##eq? _hd9981164_
                                                      'static-exe:))
                                             (if (let ()
                                                   (declare (not safe))
                                                   (##pair? _tl9991166_))
                                                 (let ((_tl9811071_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##cdr _tl9991166_)))
                                                       (_hd9801069_
                                                        (let ()
                                                          (declare (not safe))
                                                          (##car _tl9991166_))))
                                                   (let ((_modf1074_
                                                          _hd9801069_)
                                                         (_opts1076_
                                                          _tl9811071_))
                                                     (_K9771061_
                                                      _opts1076_
                                                      _modf1074_)))
                                                 (_else9651012_))
                                             (if (let ()
                                                   (declare (not safe))
                                                   (##eq? _hd9981164_
                                                          'static-include:))
                                                 (if (let ()
                                                       (declare (not safe))
                                                       (##pair? _tl9991166_))
                                                     (let ((_tl9761049_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##cdr _tl9991166_)))
                                                           (_hd9751047_
                                                            (let ()
                                                              (declare
                                                                (not safe))
                                                              (##car _tl9991166_))))
                                                       (if (let ()
                                                             (declare
                                                               (not safe))
                                                             (##null? _tl9761049_))
                                                           (let ((_file1052_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          _hd9751047_))
                     (_K9721039_ _file1052_))
                   (_else9651012_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_else9651012_))
                                                 (if (let ()
                                                       (declare (not safe))
                                                       (##eq? _hd9981164_
                                                              'copy:))
                                                     (if (let ()
                                                           (declare (not safe))
                                                           (##pair? _tl9991166_))
                                                         (let ((_tl9711028_
                                                                (let ()
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (declare (not safe))
                          (##cdr _tl9991166_)))
                       (_hd9701026_
                        (let () (declare (not safe)) (##car _tl9991166_))))
                   (if (let () (declare (not safe)) (##null? _tl9711028_))
                       (let ((_file1031_ _hd9701026_)) (_K9671018_ _file1031_))
                       (_else9651012_)))
                 (_else9651012_))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                     (_else9651012_)))))))))
                       (_else9651012_)))))
            (if (string? _spec9561004_)
                (let ((_modf1186_ _spec9561004_)) (_K10021183_ _modf1186_))
                (_try-match9581178_)))))))
  (define std/make#gxc-outputs
    (lambda (_mod950_ _opts951_ _settings952_)
      (cons (std/make#library-path _mod950_ '".ssi" _settings952_)
            (if (##structure-ref _settings952_ '8 std/make#settings::t '#f)
                (cons (std/make#static-path _mod950_ _settings952_) '())
                '()))))
  (define std/make#gsc-compile-opts
    (lambda (_opts884_)
      (let* ((_opts885900_ _opts884_)
             (_E888904_
              (lambda () (error '"No clause matching" _opts885900_))))
        (let ((_K890918_
               (lambda (_rest915_ _plist916_)
                 (std/misc/list#listify _rest915_)))
              (_K889909_ (lambda () (std/misc/list#listify _opts884_))))
          (let ((___match73817382_
                 (lambda (_hd891921_ _tl892923_)
                   (letrec ((_splice-rest894926_
                             (lambda (_rest898933_ _plist935_)
                               (if (let ()
                                     (declare (not safe))
                                     (##null? _rest898933_))
                                   (let ((_rest937_ _tl892923_))
                                     (_K890918_ _rest937_ _plist935_))
                                   (_K889909_))))
                            (_splice-try896928_
                             (lambda (_hd897939_ _rest898941_ _plist893942_)
                               (let ((_plist945_ _hd897939_))
                                 (_splice-loop895930_
                                  (let ()
                                    (declare (not safe))
                                    (##cdr _rest898941_))
                                  (cons _plist945_ _plist893942_)))))
                            (_splice-loop895930_
                             (lambda (_rest898947_ _plist893948_)
                               (if (pair? _rest898947_)
                                   (_splice-try896928_
                                    (let ()
                                      (declare (not safe))
                                      (##car _rest898947_))
                                    _rest898947_
                                    _plist893948_)
                                   (_splice-rest894926_
                                    _rest898947_
                                    (reverse _plist893948_))))))
                     (_splice-loop895930_ _hd891921_ '())))))
            (if (let () (declare (not safe)) (##pair? _opts885900_))
                (let ((_tl892923_
                       (let () (declare (not safe)) (##cdr _opts885900_)))
                      (_hd891921_
                       (let () (declare (not safe)) (##car _opts885900_))))
                  (___match73817382_ _hd891921_ _tl892923_))
                (_K889909_)))))))
  (define std/make#gxc-compile__%
    (lambda (_mod845_ _opts846_ _settings847_ _invoke-gsc?848_)
      (std/make#message '"... compile " _mod845_)
      (letrec* ((_foreground?850_
                 (if (pair? _opts846_)
                     (if (pair? (car _opts846_))
                         (pgetq 'foreground: (car _opts846_))
                         '#f)
                     '#f))
                (_gsc-opts851_ (std/make#gsc-compile-opts _opts846_))
                (_srcpath852_
                 (std/make#source-path _mod845_ '".ss" _settings847_)))
        (if (or _foreground?850_
                (> '1
                   (##structure-ref
                    _settings847_
                    '13
                    std/make#settings::t
                    '#f)))
            (let ((_gxc-opts857_
                   (cons 'invoke-gsc:
                         (cons _invoke-gsc?848_
                               (cons 'keep-scm:
                                     (cons (not _invoke-gsc?848_)
                                           (cons 'output-dir:
                                                 (cons (##structure-ref
                                                        _settings847_
                                                        '2
                                                        std/make#settings::t
                                                        '#f)
                                                       (cons 'optimize:
                                                             (cons (##structure-ref
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                            _settings847_
                            '6
                            std/make#settings::t
                            '#f)
                           (cons 'debug:
                                 (cons (##structure-ref
                                        _settings847_
                                        '7
                                        std/make#settings::t
                                        '#f)
                                       (cons 'generate-ssxi:
                                             (cons '#t
                                                   (cons 'static:
                                                         (cons (##structure-ref
                                                                _settings847_
                                                                '8
                                                                std/make#settings::t
                                                                '#f)
                                                               (cons 'verbose:
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             (cons (std/make#settings-verbose>=?
                                    _settings847_
                                    '9)
                                   (if _gsc-opts851_
                                       (cons 'gsc-options:
                                             (cons _gsc-opts851_ '()))
                                       '())))))))))))))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
              (gxc#compile-file__% _srcpath852_ _gxc-opts857_))
            (let* ((_arguments861_
                    (cons '"-d"
                          (cons (##structure-ref
                                 _settings847_
                                 '2
                                 std/make#settings::t
                                 '#f)
                                (foldr1 cons
                                        (foldr1 cons
                                                (foldr1 cons
                                                        (foldr1 cons
                                                                (foldr1 cons
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                                (foldr1 cons
                                        (cons _srcpath852_ '())
                                        (if _gsc-opts851_
                                            (std/srfi/1#append-map
                                             (lambda (_x859_)
                                               (cons '"-gsc-flag"
                                                     (cons _x859_ '())))
                                             _gsc-opts851_)
                                            '()))
                                (if (std/make#settings-verbose>=?
                                     _settings847_
                                     '9)
                                    (cons '"-v" '())
                                    '()))
                        (if (##structure-ref
                             _settings847_
                             '8
                             std/make#settings::t
                             '#f)
                            (cons '"-static" '())
                            '()))
                (if (##structure-ref _settings847_ '7 std/make#settings::t '#f)
                    (cons '"-g" '())
                    '()))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                (if (##structure-ref
                                                     _settings847_
                                                     '6
                                                     std/make#settings::t
                                                     '#f)
                                                    (cons '"-O" '())
                                                    '()))
                                        (if (not _invoke-gsc?848_)
                                            (cons '"-s" (cons '"-S" '()))
                                            '())))))
                   (___863_ (if (std/make#settings-verbose>=? _settings847_ '7)
                                (std/make#writeln
                                 (cons 'invoking:
                                       (cons (std/make#gerbil-gxc)
                                             _arguments861_)))
                                '#!void))
                   (_proc865_
                    (open-process
                     (cons 'path:
                           (cons (std/make#gerbil-gxc)
                                 (cons 'arguments:
                                       (cons _arguments861_
                                             (cons 'stdout-redirection:
                                                   (cons '#f '()))))))))
                   (_status867_ (process-status _proc865_)))
              (close-port _proc865_)
              (if (zero? _status867_)
                  '#!void
                  (error '"Compilation error; gxc exited with nonzero status"
                         _status867_)))))))
  (define std/make#gxc-compile__0
    (lambda (_mod873_ _opts874_ _settings875_)
      (let ((_invoke-gsc?877_ '#t))
        (std/make#gxc-compile__%
         _mod873_
         _opts874_
         _settings875_
         _invoke-gsc?877_))))
  (define std/make#gxc-compile
    (lambda _g7438_
      (let ((_g7437_ (let () (declare (not safe)) (##length _g7438_))))
        (cond ((let () (declare (not safe)) (##fx= _g7437_ 3))
               (apply std/make#gxc-compile__0 _g7438_))
              ((let () (declare (not safe)) (##fx= _g7437_ 4))
               (apply std/make#gxc-compile__% _g7438_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/make#gxc-compile
                _g7438_))))))
  (define std/make#gsc-libpath
    (lambda (_mod834_ _settings835_)
      (letrec* ((_libdir-prefix837_
                 (##structure-ref _settings835_ '12 std/make#settings::t '#f)))
        (let ((_$e839_ (string-rindex _mod834_ '#\/)))
          (if _$e839_
              ((lambda (_ix842_)
                 (path-expand
                  (substring _mod834_ '0 _ix842_)
                  _libdir-prefix837_))
               _$e839_)
              _libdir-prefix837_)))))
  (define std/make#gsc-base
    (lambda (_mod827_)
      (let ((_$e829_ (string-rindex _mod827_ '#\/)))
        (if _$e829_
            ((lambda (_ix832_)
               (substring _mod827_ (fx+ _ix832_ '1) (string-length _mod827_)))
             _$e829_)
            _mod827_))))
  (define std/make#gsc-c-path
    (lambda (_modf813_ _settings814_)
      (letrec* ((_mod816_ (path-strip-extension _modf813_))
                (_libpath817_ (std/make#gsc-libpath _mod816_ _settings814_))
                (_base818_ (std/make#gsc-base _mod816_)))
        (let _lp820_ ((_n822_ '1) (_cpath823_ '#f))
          (let ((_next825_
                 (path-expand
                  (string-append _base818_ '".o" (number->string _n822_))
                  _libpath817_)))
            (if (file-exists? _next825_)
                (_lp820_ (fx+ _n822_ '1) _next825_)
                _cpath823_))))))
  (define std/make#gsc-compile
    (lambda (_mod798_ _opts799_ _settings800_)
      (letrec* ((_gsc-opts802_ (std/make#gsc-compile-opts _opts799_))
                (_srcpath803_
                 (std/make#source-path _mod798_ '".scm" _settings800_))
                (_libpath804_ (std/make#gsc-libpath _mod798_ _settings800_)))
        (create-directory* _libpath804_)
        (std/make#message '"... compile foreign " _mod798_)
        (let* ((_proc806_
                (open-process
                 (cons 'path:
                       (cons (std/make#gerbil-gsc)
                             (cons 'arguments:
                                   (cons (cons '"-o"
                                               (cons _libpath804_
                                                     (foldr1 cons
                                                             (cons _srcpath803_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                           '())
                     _gsc-opts802_)))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                         (cons 'stdout-redirection:
                                               (cons '#f '()))))))))
               (_status808_ (process-status _proc806_)))
          (close-port _proc806_)
          (if (zero? _status808_)
              '#!void
              (error '"Compilation error; gsc exited with nonzero status"
                     _status808_)))
        (if (##structure-ref _settings800_ '8 std/make#settings::t '#f)
            (let ((_statpath811_
                   (std/make#static-path _mod798_ _settings800_)))
              (if (file-exists? _statpath811_)
                  (delete-file _statpath811_)
                  '#!void)
              (copy-file _srcpath803_ _statpath811_))
            '#!void))))
  (define std/make#gerbil-gsc
    (lambda () (getenv '"GERBIL_GSC" std/make#default-gambit-gsc)))
  (define std/make#gerbil-gxc
    (lambda () (getenv '"GERBIL_GXC" std/make#default-gerbil-gxc)))
  (define std/make#compile-ssi
    (lambda (_mod779_ _deps780_ _settings781_)
      (letrec* ((_srcpath783_
                 (std/make#source-path _mod779_ '".ssi" _settings781_))
                (_libpath784_
                 (std/make#library-path _mod779_ '".ssi" _settings781_))
                (_rtpath785_
                 (std/make#library-path _mod779_ '"__rt.scm" _settings781_))
                (_prefix786_
                 (##structure-ref _settings781_ '4 std/make#settings::t '#f)))
        (std/make#message '"... copy ssi " _mod779_)
        (create-directory* (path-directory _libpath784_))
        (if (file-exists? _libpath784_) (delete-file _libpath784_) '#!void)
        (copy-file _srcpath783_ _libpath784_)
        (std/make#message '"... compile loader " _mod779_)
        (with-output-to-file
         _rtpath785_
         (lambda ()
           (for-each
            (lambda (_dep789_)
              (pretty-print (cons 'load-module (cons _dep789_ '()))))
            _deps780_)
           (pretty-print
            (cons 'load-module
                  (cons (std/make#prefix/ _prefix786_ _mod779_) '())))))
        (let* ((_proc791_
                (open-process
                 (cons 'path:
                       (cons (std/make#gerbil-gsc)
                             (cons 'arguments:
                                   (cons (cons _rtpath785_ '())
                                         (cons 'stdout-redirection:
                                               (cons '#f '()))))))))
               (_status793_ (process-status _proc791_)))
          (close-port _proc791_)
          (if (zero? _status793_)
              '#!void
              (error '"Compilation error; gsc exited with nonzero status"
                     _status793_))
          (delete-file _rtpath785_)))))
  (define std/make#compile-exe
    (lambda (_mod770_ _opts771_ _settings772_)
      (letrec* ((_srcpath774_
                 (std/make#source-path _mod770_ '".ss" _settings772_))
                (_binpath775_
                 (std/make#binary-path _mod770_ _opts771_ _settings772_))
                (_gsc-opts776_ (std/make#compile-exe-gsc-opts _opts771_))
                (_gxc-opts777_
                 (cons 'invoke-gsc:
                       (cons '#t
                             (cons 'output-file:
                                   (cons _binpath775_
                                         (cons 'verbose:
                                               (cons (std/make#settings-verbose>=?
                                                      _settings772_
                                                      '9)
                                                     '()))))))))
        (std/make#gxc-compile__0 _mod770_ _gsc-opts776_ _settings772_)
        (std/make#message '"... compile exe " _mod770_ '" -> " _binpath775_)
        (gxc#compile-exe-stub__% _srcpath774_ _gxc-opts777_))))
  (define std/make#compile-exe-gsc-opts
    (lambda (_opts728_)
      (let* ((_opts729739_ _opts728_)
             (_else731747_ (lambda () _opts728_))
             (_K733753_
              (lambda (_rest750_ _opt751_)
                (std/make#compile-exe-gsc-opts _rest750_))))
        (if (let () (declare (not safe)) (##pair? _opts729739_))
            (let ((_hd734756_
                   (let () (declare (not safe)) (##car _opts729739_)))
                  (_tl735758_
                   (let () (declare (not safe)) (##cdr _opts729739_))))
              (if (keyword? _hd734756_)
                  (if (let () (declare (not safe)) (##pair? _tl735758_))
                      (let ((_hd736761_
                             (let () (declare (not safe)) (##car _tl735758_)))
                            (_tl737763_
                             (let () (declare (not safe)) (##cdr _tl735758_))))
                        (let* ((_opt766_ _hd736761_) (_rest768_ _tl737763_))
                          (_K733753_ _rest768_ _opt766_)))
                      (_else731747_))
                  (_else731747_)))
            (_else731747_)))))
  (define std/make#make-settings-static
    (lambda (_settings724_)
      (letrec* ((_s726_ (struct-copy _settings724_)))
        (##structure-set! _s726_ '#t '8 std/make#settings::t '#f)
        _s726_)))
  (define std/make#compile-static-exe
    (lambda (_mod715_ _opts716_ _settings717_)
      (letrec* ((_srcpath719_
                 (std/make#source-path _mod715_ '".ss" _settings717_))
                (_binpath720_
                 (std/make#binary-path _mod715_ _opts716_ _settings717_))
                (_gsc-opts721_ (std/make#compile-exe-gsc-opts _opts716_))
                (_gxc-opts722_
                 (cons 'invoke-gsc:
                       (cons '#t
                             (cons 'output-file:
                                   (cons _binpath720_
                                         (cons 'verbose:
                                               (cons (std/make#settings-verbose>=?
                                                      _settings717_
                                                      '9)
                                                     (cons 'debug:
                                                           (cons (##structure-ref
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          _settings717_
                          '9
                          std/make#settings::t
                          '#f)
                         (if _gsc-opts721_
                             (cons 'gsc-options: (cons _gsc-opts721_ '()))
                             '())))))))))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        (std/make#gxc-compile__0
         _mod715_
         _gsc-opts721_
         (std/make#make-settings-static _settings717_))
        (std/make#message
         '"... compile static exe "
         _mod715_
         '" -> "
         _binpath720_)
        (gxc#compile-static-exe__% _srcpath719_ _gxc-opts722_))))
  (define std/make#copy-static
    (lambda (_file710_ _settings711_)
      (letrec* ((_spath713_
                 (std/make#static-file-path _file710_ _settings711_)))
        (std/make#message '"... copy static include " _file710_)
        (if (file-exists? _spath713_) (delete-file _spath713_) '#!void)
        (copy-file _file710_ _spath713_))))
  (define std/make#copy-compiled
    (lambda (_file704_ _settings705_)
      (letrec* ((_srcpath707_
                 (std/make#source-path _file704_ '#f _settings705_))
                (_libpath708_
                 (std/make#library-path _file704_ '#f _settings705_)))
        (std/make#message '"... copy std/" _file704_)
        (if (file-exists? _libpath708_) (delete-file _libpath708_) '#!void)
        (copy-file _srcpath707_ _libpath708_))))
  (define std/make#source-path
    (lambda (_mod700_ _ext701_ _settings702_)
      (path-expand
       (std/misc/path#path-default-extension _mod700_ _ext701_)
       (##structure-ref _settings702_ '1 std/make#settings::t '#f))))
  (define std/make#library-path
    (lambda (_mod696_ _ext697_ _settings698_)
      (path-expand
       (std/misc/path#path-force-extension _mod696_ _ext697_)
       (##structure-ref _settings698_ '12 std/make#settings::t '#f))))
  (define std/make#binary-path
    (lambda (_mod676_ _opts677_ _settings678_)
      (let* ((_bindir680_
              (##structure-ref _settings678_ '3 std/make#settings::t '#f))
             (_g7439_ (if _bindir680_
                          '#!void
                          (error '"bindir must be specified")))
             (_bin691_
              (let ((_$e683_ (pgetq 'bin: _opts677_)))
                (if _$e683_
                    (values _$e683_)
                    (let ((_$e686_ (string-rindex _mod676_ '#\/)))
                      (if _$e686_
                          ((lambda (_ix689_)
                             (substring
                              _mod676_
                              (fx+ _ix689_ '1)
                              (string-length _mod676_)))
                           _$e686_)
                          _mod676_)))))
             (_bin693_
              (if (string-empty? (path-extension _bin691_))
                  _bin691_
                  (path-strip-extension _bin691_))))
        (path-expand _bin693_ _bindir680_))))
  (define std/make#static-path
    (lambda (_mod662_ _settings663_)
      (let* ((_libdir665_
              (##structure-ref _settings663_ '2 std/make#settings::t '#f))
             (_staticdir667_ (path-expand '"static" _libdir665_))
             (_mod669_
              (std/make#prefix/
               (##structure-ref _settings663_ '4 std/make#settings::t '#f)
               _mod662_))
             (_base671_ (string-join (string-split _mod669_ '#\/) '"__"))
             (_scm673_ (std/misc/path#path-force-extension _base671_ '".scm")))
        (path-expand _scm673_ _staticdir667_))))
  (define std/make#static-file-path
    (lambda (_file652_ _settings653_)
      (let* ((_libdir655_
              (##structure-ref _settings653_ '2 std/make#settings::t '#f))
             (_staticdir657_ (path-expand '"static" _libdir655_))
             (_filename659_ (path-strip-directory _file652_)))
        (path-expand _filename659_ _staticdir657_))))
  (define std/make#pkg-config
    (lambda (_lib649_ . _args650_)
      (apply std/make#shell-config
             '"pkg-config"
             '"--silence-errors"
             _lib649_
             _args650_)))
  (define std/make#pkg-config-libs
    (lambda _libs645_
      (string-join
       (map (lambda (_l647_) (std/make#pkg-config _l647_ '"--libs")) _libs645_)
       '" ")))
  (define std/make#pkg-config-cflags
    (lambda _libs641_
      (string-join
       (map (lambda (_l643_) (std/make#pkg-config _l643_ '"--cflags"))
            _libs641_)
       '" ")))
  (define std/make#ldflags
    (lambda (_lib631_ _flags632_)
      (with-exception-catcher
       (lambda (_g633635_)
         (if '#t
             (let ((_e638_ _g633635_)) ((std/make#env-ldflags) _flags632_))
             (raise _g633635_)))
       (lambda () (std/make#pkg-config-libs _lib631_)))))
  (define std/make#cppflags
    (lambda (_lib621_ _flags622_)
      (with-exception-catcher
       (lambda (_g623625_)
         (if '#t
             (let ((_e628_ _g623625_)) ((std/make#env-cppflags) _flags622_))
             (raise _g623625_)))
       (lambda () (std/make#pkg-config-cflags _lib621_))))))
