Changeset 27149 in project


Ignore:
Timestamp:
08/01/12 13:29:46 (9 years ago)
Author:
felix winkelmann
Message:

autocompile 1.0: allow specification of options in comment header

Location:
release/4/autocompile
Files:
4 edited
1 copied

Legend:

Unmodified
Added
Removed
  • release/4/autocompile/tags/1.0/autocompile.setup

    r23944 r27149  
    66(install-program
    77 'autocompile
    8  '("chicken-scheme"))
     8 '("chicken-scheme")
     9 '((version "1.0")))
  • release/4/autocompile/tags/1.0/chicken-scheme.scm

    r23944 r27149  
    7070                  (else (error "cannot compute md5sum" input))))))))))
    7171
     72(define scan-head
     73  (let ((rx (regexp " *;[ ;]*AUTOCOMPILE *: *(.*)")))
     74    (lambda (fname proc)
     75      (with-input-from-file fname
     76        (lambda ()
     77          (read-line)                   ; she-bang line
     78          (let loop ()
     79            (let ((ln (read-line)))
     80              (cond ((eof-object? ln))
     81                    ((string-match rx ln) =>
     82                     (lambda (m)
     83                       (proc (cadr m))
     84                       (loop)))))))))))
     85
    7286(define (run fail fstr . args)
    7387  (let ((cmd (apply sprintf fstr args)))
     
    93107                 (file-modification-time cached) ) )
    94108      (let* ((qcached (qs cached))
    95             (qprg (qs prg))
    96             (errfile (normalize-pathname (create-temporary-file "tmp")))
    97             (qerrfile (qs errfile)))
     109             (qprg (qs prg))
     110             (errfile (normalize-pathname (create-temporary-file "tmp")))
     111             (qerrfile (qs errfile)))
     112        (scan-head
     113         prg
     114         (lambda (opts)
     115           (set! *options* (string-append *options* " " opts))))
    98116        (when *chicken-scheme-hook*
    99117          (run #f "~a start ~a ~a" *chicken-scheme-hook* qprg qerrfile) )
  • release/4/autocompile/trunk/autocompile.setup

    r23944 r27149  
    66(install-program
    77 'autocompile
    8  '("chicken-scheme"))
     8 '("chicken-scheme")
     9 '((version "1.0")))
  • release/4/autocompile/trunk/chicken-scheme.scm

    r23944 r27149  
    7070                  (else (error "cannot compute md5sum" input))))))))))
    7171
     72(define scan-head
     73  (let ((rx (regexp " *;[ ;]*AUTOCOMPILE *: *(.*)")))
     74    (lambda (fname proc)
     75      (with-input-from-file fname
     76        (lambda ()
     77          (read-line)                   ; she-bang line
     78          (let loop ()
     79            (let ((ln (read-line)))
     80              (cond ((eof-object? ln))
     81                    ((string-match rx ln) =>
     82                     (lambda (m)
     83                       (proc (cadr m))
     84                       (loop)))))))))))
     85
    7286(define (run fail fstr . args)
    7387  (let ((cmd (apply sprintf fstr args)))
     
    93107                 (file-modification-time cached) ) )
    94108      (let* ((qcached (qs cached))
    95             (qprg (qs prg))
    96             (errfile (normalize-pathname (create-temporary-file "tmp")))
    97             (qerrfile (qs errfile)))
     109             (qprg (qs prg))
     110             (errfile (normalize-pathname (create-temporary-file "tmp")))
     111             (qerrfile (qs errfile)))
     112        (scan-head
     113         prg
     114         (lambda (opts)
     115           (set! *options* (string-append *options* " " opts))))
    98116        (when *chicken-scheme-hook*
    99117          (run #f "~a start ~a ~a" *chicken-scheme-hook* qprg qerrfile) )
Note: See TracChangeset for help on using the changeset viewer.