From 6e98f88320870b92d0e83f046383af53a8f5a227 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Mon, 3 Mar 2008 22:04:28 +0000 Subject: [PATCH] revise the way setup-plt crawls over the collection trees svn: r8860 original commit: b76390a4523dd523febeab8f432f0341b6a2d040 --- collects/compiler/sig.ss | 157 +++++++++++++++++++-------------------- 1 file changed, 78 insertions(+), 79 deletions(-) diff --git a/collects/compiler/sig.ss b/collects/compiler/sig.ss index b9577b6fa7..426dc6ee28 100644 --- a/collects/compiler/sig.ss +++ b/collects/compiler/sig.ss @@ -1,90 +1,89 @@ -(module sig mzscheme +#lang mzscheme - (require mzlib/unit) +(require mzlib/unit) - (provide compiler:option^ - compiler^ - compiler:inner^) +(provide compiler:option^ + compiler^ + compiler:inner^) - ;; Compiler options - (define-signature compiler:option^ - (verbose ; default = #f - - setup-prefix ; string to embed in public names; - ; used mainly for compiling extensions - ; with the collection name so that - ; cross-extension conflicts are less - ; likely in architectures that expose - ; the public names of loaded extensions - ; default = "" - - clean-intermediate-files ; #t => keep intermediate .c/.o files - ; default = #f +;; Compiler options +(define-signature compiler:option^ + (verbose ; default = #f - 3m ; #t => build for 3m - ; default = #f - - compile-subcollections ; #t => use 'compile-subcollections - ; from infor for collection compiling - ; default = #t - - compile-for-embedded ; #f => make objects to be linked + setup-prefix ; string to embed in public names; + ; used mainly for compiling extensions + ; with the collection name so that + ; cross-extension conflicts are less + ; likely in architectures that expose + ; the public names of loaded extensions + ; default = "" + + clean-intermediate-files ; #t => keep intermediate .c/.o files + ; default = #f + + 3m ; #t => build for 3m + ; default = #f + + compile-subcollections ; #t => compile collection subdirectories + ; default = #t + + compile-for-embedded ; #f => make objects to be linked ; directly with MzScheme, not dynamically ; loaded; default = #f - - max-inline-size ; max size of inlined procedures - - disable-interrupts ; #t => UNSAFE: turn off breaking, stack - ; overflow, and thread switching; - ; default = #f - unsafe ; #t => UNSAFE: omit some type checks - ; default = #f - fixnum-arithmetic ; #t => UNSAFE: don't check for overflow or - ; underflow for fixnum arithmetic; - ; default = #f - - propagate-constants ; default = #t - assume-primitives ; #t => car = #%car; default = #f - stupid ; allow obvious non-syntactic errors; - ; e.g.: ((lambda () 0) 1 2 3) - - vehicles ; Controls how closures are compiled: - ; 'vehicles:automatic, - ; 'vehicles:functions, - ; 'vechicles:units, or - ; 'vehicles:monolithic. - ; default = 'vehicles:automatic - vehicles:monoliths ; Size for 'vehicles:monolithic - seed ; Randomizer seed for 'vehicles:monolithic - - max-exprs-per-top-level-set ; Number of top-level Scheme expressions - ; crammed into one C function; default = 25 - - unpack-environments ; default = #t - ; Maybe #f helps for register-poor architectures? - - debug ; #t => creates debug.txt debugging file - test ; #t => ignores top-level expressions with syntax errors - )) - ;; Compiler procedures - (define-signature compiler^ - (compile-extensions - compile-extensions-to-c - compile-c-extensions + max-inline-size ; max size of inlined procedures - compile-zos + disable-interrupts ; #t => UNSAFE: turn off breaking, stack + ; overflow, and thread switching; + ; default = #f + unsafe ; #t => UNSAFE: omit some type checks + ; default = #f + fixnum-arithmetic ; #t => UNSAFE: don't check for overflow or + ; underflow for fixnum arithmetic; + ; default = #f - compile-collection-zos - compile-directory-zos - - current-compiler-dynamic-require-wrapper - compile-notify-handler)) + propagate-constants ; default = #t + assume-primitives ; #t => car = #%car; default = #f + stupid ; allow obvious non-syntactic errors; + ; e.g.: ((lambda () 0) 1 2 3) - ;; Low-level extension compiler interface - (define-signature compiler:inner^ - (compile-extension - compile-extension-to-c - compile-c-extension - eval-compile-prefix))) + vehicles ; Controls how closures are compiled: + ; 'vehicles:automatic, + ; 'vehicles:functions, + ; 'vechicles:units, or + ; 'vehicles:monolithic. + ; default = 'vehicles:automatic + vehicles:monoliths ; Size for 'vehicles:monolithic + seed ; Randomizer seed for 'vehicles:monolithic + + max-exprs-per-top-level-set ; Number of top-level Scheme expressions + ; crammed into one C function; default = 25 + + unpack-environments ; default = #t + ; Maybe #f helps for register-poor architectures? + + debug ; #t => creates debug.txt debugging file + test ; #t => ignores top-level expressions with syntax errors + )) + +;; Compiler procedures +(define-signature compiler^ + (compile-extensions + compile-extensions-to-c + compile-c-extensions + + compile-zos + + compile-collection-zos + compile-directory-zos + + current-compiler-dynamic-require-wrapper + compile-notify-handler)) + +;; Low-level extension compiler interface +(define-signature compiler:inner^ + (compile-extension + compile-extension-to-c + compile-c-extension + eval-compile-prefix))