diff --git a/pkgs/compiler-pkgs/compiler-lib/compiler/commands/make.rkt b/pkgs/compiler-pkgs/compiler-lib/compiler/commands/make.rkt index a0f67f1e5d..15c8d7bd4b 100644 --- a/pkgs/compiler-pkgs/compiler-lib/compiler/commands/make.rkt +++ b/pkgs/compiler-pkgs/compiler-lib/compiler/commands/make.rkt @@ -5,6 +5,7 @@ compiler/compiler dynext/file setup/parallel-build + setup/path-to-relative racket/match) (module test racket/base) @@ -97,15 +98,19 @@ (if did-one? "output to" "already up-to-date at") dest)))))))] ;; Parallel make: - [else + [else + (define path-cache (make-hash)) (or (parallel-compile-files source-files #:worker-count (worker-count) - #:handler (lambda (type work msg out err) + #:handler (lambda (id type work msg out err) + (define (->rel p) + (path->relative-string/library p #:cache path-cache)) (match type - ['done (when (verbose) (printf " Made ~a\n" work))] - ['output (printf " Output from: ~a\n~a~a" work out err)] - [else (printf " Error compiling ~a\n~a\n~a~a" work msg out err)])) + ['start (when (verbose) (printf " ~a making ~a\n" id (->rel work)))] + ['done (when (verbose) (printf " ~a made ~a\n" id (->rel work)))] + ['output (printf " ~a output from: ~a\n~a~a" id work out err)] + [else (printf " ~a error compiling ~a\n~a\n~a~a" id work msg out err)])) #:options (let ([cons-if-true (lambda (bool carv cdrv) (if bool (cons carv cdrv)