;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2006 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 1998--2007 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;; Internationalisation: (_i "to be translated") gets an entry in the
(debug-skylines #f "debug skylines")
(delete-intermediate-files #f
"delete unusable PostScript files")
- (dump-profile #f "dump timing information for each file")
+ (dump-profile #f "dump memory and time information for each file")
+ (dump-cpu-profile #f "dump timing information (system-dependent)")
(dump-signatures #f "dump output signatures of each system. Used for regression testing.")
(eps-box-padding #f "Pad EPS bounding box left edge. Guarantee alignment between systems in LaTeX.")
(gs-load-fonts #f
"load fonts via Ghostscript.")
+ (gs-load-lily-fonts #f
+ "load only lilypond fonts via Ghostscript.")
(gui #f "running from gui; redirect stderr to log file")
(help #f "show this help.")
(include-book-title-preview #t "include book-titles in preview images.")
(safe #f "Run safely")
(strict-infinity-checking #f "If yes, crash on encountering Inf/NaN.")
+ (strip-output-dir #t "If yes, strip directories from input files.")
(separate-log-files #f "Output to FILE.log per file.")
(trace-memory-frequency #f "Record Scheme cell usage this many times per second, and dump to file.")
(trace-scheme-coverage #f "Record coverage of Scheme files")
;;; have a more sensible default.
(if (or (ly:get-option 'verbose)
- (ly:get-option 'trace-memory-frequencency)
+ (ly:get-option 'trace-memory-frequency)
(ly:get-option 'trace-scheme-coverage)
)
(begin
(define-public parser #f)
-(define-public (lilypond-version)
- (string-join
- (map (lambda (x) (if (symbol? x)
- (symbol->string x)
- (number->string x)))
- (ly:version))
- "."))
-
;; TeX C++ code actually hooks into TEX_STRING_HASHLIMIT
(define-public TEX_STRING_HASHLIMIT 10000000)
safe-objects))
,safe-symbol)))
+(define-safe-public (lilypond-version)
+ (string-join
+ (map (lambda (x) (if (symbol? x)
+ (symbol->string x)
+ (number->string x)))
+ (ly:version))
+ "."))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; init pitch system
(define (dump-profile base last this)
(let*
- ((outname (format "~a.profile" (basename base ".ly")))
+ ((outname (format "~a.profile" (dir-basename base ".ly")))
(diff (map (lambda (y) (apply - y)) (zip this last))))
(ly:progress "\nWriting timing to ~a..." outname)
(format (open-file outname "w")
"time: ~a\ncells: ~a\n"
- (car diff)
+ (if (ly:get-option 'dump-cpu-profile)
+ (car diff)
+ 0)
(cadr diff)
)))
(define-public (lilypond-main files)
"Entry point for LilyPond."
-
(eval-string (ly:command-line-code))
(if (ly:get-option 'help)
((start-measurements (if do-measurements
(profile-measurements)
#f))
- (base (basename x ".ly"))
+ (base (dir-basename x ".ly"))
(all-settings (ly:all-options)))
(if separate-logs
(gui-no-files-handler))
(if (not (string? (ly:get-option 'log-file)))
- (let* ((base (basename (car files) ".ly"))
+ (let* ((base (dir-basename (car files) ".ly"))
(log-name (string-append base ".log")))
(if (not (ly:get-option 'gui))
(ly:message (_ "Redirecting output to ~a...") log-name))