operating-system type. All output files are now OS-specific, e.g.
"runtime.pkg" produces output files "runtime-unx.{pkd,fre,crf}".
Package files can now use the conditionalization variable OS-TYPE.
#| -*-Scheme-*-
-$Id: 6001.pkg,v 1.12 2001/08/18 04:50:08 cph Exp $
+$Id: 6001.pkg,v 1.13 2001/12/17 17:40:58 cph Exp $
-Copyright (c) 1991-1999 Massachusetts Institute of Technology
+Copyright (c) 1991-1999, 2001 Massachusetts Institute of Technology
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+USA.
|#
;;;; 6.001 packaging
(global-definitions "../runtime/runtime")
-(global-definitions "../edwin/edwinunx")
+(global-definitions "../edwin/edwin")
(define-package (student)
(parent ()))
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.7 2001/08/16 19:28:21 cph Exp $
+$Id: compiler.sf,v 1.8 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
;; Guarantee that the compiler's package structure exists.
(if (not (name->package '(COMPILER)))
- (begin
- (if (not (file-exists? "compiler.pkd"))
+ (let ((package-set (package-set-pathname "compiler")))
+ (if (not (file-exists? package-set))
(cref/generate-trivial-constructor "compiler"))
- (construct-packages-from-file (fasload "compiler.pkd"))))
+ (construct-packages-from-file (fasload package-set))))
;; Guarantee that the necessary syntactic transforms and optimizers
;; are loaded.
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.7 2001/08/16 19:28:21 cph Exp $
+$Id: compiler.sf,v 1.8 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1992-1999, 2001 Massachusetts Institute of Technology
;; Guarantee that the compiler's package structure exists.
(if (not (name->package '(COMPILER)))
- (begin
- (if (not (file-exists? "compiler.pkd"))
+ (let ((package-set (package-set-pathname "compiler")))
+ (if (not (file-exists? package-set))
(cref/generate-trivial-constructor "compiler"))
- (construct-packages-from-file (fasload "compiler.pkd"))))
+ (construct-packages-from-file (fasload package-set))))
;; Guarantee that the necessary syntactic transforms and optimizers
;; are loaded.
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.19 2001/08/16 19:28:21 cph Exp $
+$Id: compiler.sf,v 1.20 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
;; Guarantee that the compiler's package structure exists.
(if (not (name->package '(COMPILER)))
- (begin
- (if (not (file-exists? "compiler.pkd"))
+ (let ((package-set (package-set-pathname "compiler")))
+ (if (not (file-exists? package-set))
(cref/generate-trivial-constructor "compiler"))
- (construct-packages-from-file (fasload "compiler.pkd"))))
+ (construct-packages-from-file (fasload package-set))))
;; Guarantee that the necessary syntactic transforms and optimizers
;; are loaded.
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.13 2001/08/16 19:28:21 cph Exp $
+$Id: compiler.sf,v 1.14 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1992-2001 Massachusetts Institute of Technology
;; Guarantee that the compiler's package structure exists.
(if (not (name->package '(COMPILER)))
- (begin
- (if (not (file-exists? "compiler.pkd"))
+ (let ((package-set (package-set-pathname "compiler")))
+ (if (not (file-exists? package-set))
(cref/generate-trivial-constructor "compiler"))
- (construct-packages-from-file (fasload "compiler.pkd"))))
+ (construct-packages-from-file (fasload package-set))))
;; Guarantee that the necessary syntactic transforms and optimizers
;; are loaded.
#| -*-Scheme-*-
-$Id: compiler.sf-big,v 1.9 2001/08/16 19:28:21 cph Exp $
+$Id: compiler.sf-big,v 1.10 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
;; Guarantee that the compiler's package structure exists.
(if (not (name->package '(COMPILER)))
- (begin
- (if (not (file-exists? "compiler.pkd"))
+ (let ((package-set (package-set-pathname "compiler")))
+ (if (not (file-exists? package-set))
(cref/generate-trivial-constructor "compiler"))
- (construct-packages-from-file (fasload "compiler.pkd"))))
+ (construct-packages-from-file (fasload package-set))))
;; Guarantee that the necessary syntactic transforms and optimizers
;; are loaded.
#| -*-Scheme-*-
-$Id: compiler.sf-little,v 1.9 2001/08/16 19:28:22 cph Exp $
+$Id: compiler.sf-little,v 1.10 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
;; Guarantee that the compiler's package structure exists.
(if (not (name->package '(COMPILER)))
- (begin
- (if (not (file-exists? "compiler.pkd"))
+ (let ((package-set (package-set-pathname "compiler")))
+ (if (not (file-exists? package-set))
(cref/generate-trivial-constructor "compiler"))
- (construct-packages-from-file (fasload "compiler.pkd"))))
+ (construct-packages-from-file (fasload package-set))))
;; Guarantee that the necessary syntactic transforms and optimizers
;; are loaded.
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.19 2001/08/16 19:28:22 cph Exp $
+$Id: compiler.sf,v 1.20 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
;; Guarantee that the compiler's package structure exists.
(if (not (name->package '(COMPILER)))
- (begin
- (if (not (file-exists? "compiler.pkd"))
+ (let ((package-set (package-set-pathname "compiler")))
+ (if (not (file-exists? package-set))
(cref/generate-trivial-constructor "compiler"))
- (construct-packages-from-file (fasload "compiler.pkd"))))
+ (construct-packages-from-file (fasload package-set))))
;; Guarantee that the necessary syntactic transforms and optimizers
;; are loaded.
#| -*-Scheme-*-
-$Id: compiler.sf,v 1.10 2001/08/16 19:28:22 cph Exp $
+$Id: compiler.sf,v 1.11 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
;; Guarantee that the compiler's package structure exists.
(if (not (name->package '(COMPILER)))
- (begin
- (if (not (file-exists? "compiler.pkd"))
+ (let ((package-set (package-set-pathname "compiler")))
+ (if (not (file-exists? package-set))
(cref/generate-trivial-constructor "compiler"))
- (construct-packages-from-file (fasload "compiler.pkd"))))
+ (construct-packages-from-file (fasload package-set))))
;; Guarantee that the necessary syntactic transforms and optimizers
;; are loaded.
-# $Id: Makefile.in,v 1.1 2001/09/25 18:24:08 cph Exp $
+# $Id: Makefile.in,v 1.2 2001/12/17 17:40:58 cph Exp $
#
# Copyright (c) 2001 Massachusetts Institute of Technology
#
$(mkinstalldirs) $(DESTDIR)$(CREF_DIR)
$(INSTALL_DATA) *.com $(DESTDIR)$(CREF_DIR)/.
$(INSTALL_DATA) *.bci $(DESTDIR)$(CREF_DIR)/.
- $(INSTALL_DATA) cref.pkd $(DESTDIR)$(CREF_DIR)/.
+ $(INSTALL_DATA) cref-unx.pkd $(DESTDIR)$(CREF_DIR)/.
.PHONY: all mostlyclean clean distclean maintainer-clean tags TAGS install
#| -*-Scheme-*-
-$Id: cref.sf,v 1.13 2001/08/15 02:59:46 cph Exp $
+$Id: cref.sf,v 1.14 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-2001 Massachusetts Institute of Technology
(sf-conditionally "object")
(sf-directory ".")
-(if (not (file-exists? "cref.pkd"))
- (fasdump (load "triv.pkg") "cref.pkd"))
+(let ((package-set (package-set-pathname "cref")))
+ (if (not (file-exists? package-set))
+ (fasdump (load "triv.pkg") package-set)))
-(if (file-exists? "../runtime/runtime.pkd")
+(if (file-exists? (package-set-pathname "../runtime/runtime"))
(begin
(if (not (name->package '(CROSS-REFERENCE)))
(load "make"))
#| -*-Scheme-*-
-$Id: make.scm,v 1.23 2001/08/18 04:48:16 cph Exp $
+$Id: make.scm,v 1.24 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-2001 Massachusetts Institute of Technology
(lambda ()
(load-option 'RB-TREE)
(load-package-set "cref")))))
-(add-identification! "CREF" 2 1)
\ No newline at end of file
+(add-identification! "CREF" 2 2)
\ No newline at end of file
#| -*-Scheme-*-
-$Id: redpkg.scm,v 1.22 2001/11/27 02:53:22 cph Exp $
+$Id: redpkg.scm,v 1.23 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-2001 Massachusetts Institute of Technology
(cons
(->namestring pathname)
(let ((pathname
- (pathname-new-type (merge-pathnames pathname
- model-pathname)
- "pkd")))
+ (package-set-pathname
+ (merge-pathnames pathname model-pathname))))
(if (file-exists? pathname)
(let ((contents (fasload pathname)))
(if (package-file? contents)
(data #f))
(define (cache-file-analyses! pmodel)
- (let ((pathname (pathname-new-type (pmodel/pathname pmodel) "fre"))
+ (let ((pathname
+ (pathname-new-type (package-set-pathname (pmodel/pathname pmodel))
+ "fre"))
(changes? (list #f)))
(let ((result
(let ((caches (if (file-exists? pathname) (fasload pathname) '())))
#| -*-Scheme-*-
-$Id: toplev.scm,v 1.15 2001/08/16 20:46:15 cph Exp $
+$Id: toplev.scm,v 1.16 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-2001 Massachusetts Institute of Technology
(write-external-descriptions pathname pmodel changes?))))
(define (write-external-descriptions pathname pmodel changes?)
- (if (or changes? (not (file-processed? pathname "pkg" "pkd")))
- (fasdump (construct-external-descriptions pmodel)
- (pathname-new-type pathname "pkd"))))
+ (let ((package-set (package-set-pathname pathname)))
+ (if (or changes?
+ (not (file-modification-time<?
+ (pathname-default-type pathname "pkg")
+ package-set)))
+ (fasdump (construct-external-descriptions pmodel) package-set))))
(define (write-cref pathname pmodel changes?)
- (if (or changes? (not (file-processed? pathname "pkg" "crf")))
- (with-output-to-file (pathname-new-type pathname "crf")
- (lambda ()
- (format-packages pmodel)))))
+ (let ((cref-pathname
+ (pathname-new-type (package-set-pathname pathname) "crf")))
+ (if (or changes?
+ (not (file-modification-time<?
+ (pathname-default-type pathname "pkg")
+ cref-pathname)))
+ (with-output-to-file cref-pathname
+ (lambda ()
+ (format-packages pmodel))))))
(define (write-cref-unusual pathname pmodel changes?)
- (if (or changes? (not (file-processed? pathname "pkg" "crf")))
- (with-output-to-file (pathname-new-type pathname "crf")
- (lambda ()
- (format-packages-unusual pmodel)))))
\ No newline at end of file
+ (let ((cref-pathname
+ (pathname-new-type (package-set-pathname pathname) "crf")))
+ (if (or changes?
+ (not (file-modification-time<?
+ (pathname-default-type pathname "pkg")
+ cref-pathname)))
+ (with-output-to-file cref-pathname
+ (lambda ()
+ (format-packages-unusual pmodel))))))
\ No newline at end of file
#!/bin/sh
#
-# $Id: Clean.sh,v 1.4 2001/09/25 18:10:57 cph Exp $
+# $Id: Clean.sh,v 1.5 2001/12/17 17:40:58 cph Exp $
#
# Copyright (c) 2000, 2001 Massachusetts Institute of Technology
#
../etc/Clean.sh "${1}" rm-bin rm-com rm-pkg
-echo "rm -f edwinunx.* edwinw32.* edwinos2.* edwin.bld"
-rm -f edwinunx.* edwinw32.* edwinos2.* edwin.bld
+echo "rm -f edwin-unx.* edwin-w32.* edwin-os2.* edwin.bld"
+rm -f edwin-unx.* edwin-w32.* edwin-os2.* edwin.bld
exit 0
;;; -*-Scheme-*-
;;;
-;;; $Id: edwin.sf,v 1.26 2001/08/16 19:08:46 cph Exp $
+;;; $Id: edwin.sf,v 1.27 2001/12/17 17:40:58 cph Exp $
;;;
;;; Copyright (c) 1991-2001 Massachusetts Institute of Technology
;;;
(load-option 'CREF)
-(let ((package-name
- (case microcode-id/operating-system
- ((DOS) "edwindos")
- ((NT) "edwinw32")
- ((OS/2) "edwinos2")
- ((UNIX) "edwinunx")
- (else "edwinunk"))))
- (let ((new-filename (pathname-new-type package-name "pkg")))
- (delete-file-no-errors new-filename)
- (copy-file "edwin.pkg" new-filename))
-
(if (not (name->package '(EDWIN)))
- (begin
- (if (not (file-exists? (pathname-new-type package-name "pkd")))
- (cref/generate-trivial-constructor package-name))
- (construct-packages-from-file
- (fasload (pathname-new-type package-name "pkd")))))
+ (let ((package-set (package-set-pathname "edwin")))
+ (if (not (file-exists? package-set))
+ (cref/generate-trivial-constructor "edwin"))
+ (construct-packages-from-file (fasload package-set))))
(if (lexical-unreferenceable? (->environment '(EDWIN CLASS-CONSTRUCTOR))
'CLASS-DESCRIPTORS)
(load "decls")
-(cref/generate-constructors package-name)
-(sf-conditionally "edwin.ldr")
-
-)
\ No newline at end of file
+(cref/generate-constructors "edwin")
+(sf-conditionally "edwin.ldr")
\ No newline at end of file
#| -*-Scheme-*-
-$Id: make.scm,v 3.112 2001/12/17 04:42:01 cph Exp $
+$Id: make.scm,v 3.113 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1989-2001 Massachusetts Institute of Technology
(lambda ()
(declare-shared-library "edwin" (lambda () #t))
(load-package-set "edwin"
- (let ((package-name
- (case microcode-id/operating-system
- ((DOS) "edwindos")
- ((NT) "edwinw32")
- ((OS/2) "edwinos2")
- ((UNIX) "edwinunx")
- (else "edwinunk"))))
- `((os-type . ,microcode-id/operating-system)
- (rewrite-package-file-name
- . ,(lambda (pathname)
- (pathname-new-name pathname package-name)))
- (alternate-package-loader
- . ,(load "edwin.bld" system-global-environment)))))))))
+ `((alternate-package-loader
+ . ,(load "edwin.bld" system-global-environment))))))))
(add-identification! "Edwin" 3 111)
\ No newline at end of file
-# $Id: Makefile.in,v 1.2 2001/08/15 03:27:11 cph Exp $
+# $Id: Makefile.in,v 1.3 2001/12/17 17:40:58 cph Exp $
#
# Copyright (c) 2000, 2001 Massachusetts Institute of Technology
#
$(mkinstalldirs) $(DESTDIR)$(IMAIL_DIR)
$(INSTALL_DATA) *.com $(DESTDIR)$(IMAIL_DIR)/.
$(INSTALL_DATA) *.bci $(DESTDIR)$(IMAIL_DIR)/.
- $(INSTALL_DATA) imail.pkd $(DESTDIR)$(IMAIL_DIR)/.
+ $(INSTALL_DATA) imail-unx.pkd $(DESTDIR)$(IMAIL_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(IMAIL_DIR)/.
.PHONY: all mostlyclean clean distclean maintainer-clean tags TAGS install
#!/bin/bash
-rm -f *.{bin,ext,com,bci}
-rm -f imail.{crf,fre,glo,pkd}
+rm -f *.{bin,ext,com,bci,pkd,crf,fre}
;;; -*-Scheme-*-
;;;
-;;; $Id: imail.pkg,v 1.93 2001/11/06 04:45:45 cph Exp $
+;;; $Id: imail.pkg,v 1.94 2001/12/17 17:40:58 cph Exp $
;;;
;;; Copyright (c) 2000-2001 Massachusetts Institute of Technology
;;;
(global-definitions "../runtime/runtime")
(global-definitions "../sos/sos")
-(global-definitions "../edwin/edwinunx")
+(global-definitions "../edwin/edwin")
(global-definitions "../star-parser/parser")
(define-package (runtime url)
#!/bin/sh
#
-# $Id: Clean.sh,v 1.2 2001/08/15 03:34:18 cph Exp $
+# $Id: Clean.sh,v 1.3 2001/12/17 17:40:59 cph Exp $
#
# Copyright (c) 2000, 2001 Massachusetts Institute of Technology
#
../etc/Clean.sh "${1}" rm-com
if [ "${1}" = "maintainer-clean" ]; then
- echo "rm -f *.bin runtime.pkd"
- rm -f *.bin runtime.pkd
+ echo "rm -f *.bin *.pkd"
+ rm -f *.bin *.pkd
fi
exit 0
#!/bin/sh
#
-# $Id: Setup.sh,v 1.4 2001/08/15 03:30:05 cph Exp $
+# $Id: Setup.sh,v 1.5 2001/12/17 17:40:59 cph Exp $
#
# Copyright (c) 2000, 2001 Massachusetts Institute of Technology
#
maybe_link ${FN} ../runtime/${FN}
done
-maybe_link runtime.pkd ../runtime/runtime.pkd
+maybe_link runtime-unx.pkd ../runtime/runtime-unx.pkd
exit 0
#| -*-Scheme-*-
-$Id: make.scm,v 14.72 2001/08/17 12:51:00 cph Exp $
+$Id: make.scm,v 14.73 2001/12/17 17:40:58 cph Exp $
Copyright (c) 1988-2001 Massachusetts Institute of Technology
(export 'LOAD-PACKAGE-SET)
(export 'LOAD-PACKAGES-FROM-FILE)
(export 'NAME->PACKAGE)
+ (export 'PACKAGE-SET-PATHNAME)
(export 'PACKAGE/ADD-CHILD!)
(export 'PACKAGE/CHILD)
(export 'PACKAGE/CHILDREN)
environment-for-package name))))
(import 'CONSTRUCT-PACKAGES-FROM-FILE)
(import 'LOAD-PACKAGES-FROM-FILE))
-(define packages-file (fasload "runtime.pkd" #f))
+(define packages-file
+ (fasload (case os-name
+ ((NT) "runtime-w32.pkd")
+ ((OS/2) "runtime-os2.pkd")
+ ((UNIX) "runtime-unx.pkd")
+ (else "runtime-unk.pkd"))
+ #f))
(construct-packages-from-file packages-file)
-
+\f
;;; Global databases. Load, then initialize.
(let ((files1
'(("gcdemn" . (RUNTIME GC-DAEMONS))
#| -*-Scheme-*-
-$Id: packag.scm,v 14.35 2001/09/25 05:11:31 cph Exp $
+$Id: packag.scm,v 14.36 2001/12/17 17:40:59 cph Exp $
Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
package-name-tag
system-global-package))
\f
-(define system-loader/enable-query?
- #f)
+(define system-loader/enable-query? #f)
(define (load-package-set filename #!optional options load-interpreted?)
- (let* ((options (if (default-object? options) '() options))
- (pathname
- (let ((rewrite (lookup-option 'REWRITE-PACKAGE-FILE-NAME options))
- (pathname (pathname-new-type filename "pkd")))
- (if rewrite
- (rewrite pathname)
- pathname))))
+ (let ((pathname (package-set-pathname filename))
+ (options
+ (cons (cons 'OS-TYPE microcode-id/operating-system)
+ (if (default-object? options) '() options))))
(with-working-directory-pathname (directory-pathname pathname)
(lambda ()
(let ((file (fasload pathname)))
;; can end up being purified also.
(flush-purification-queue!))
-(define package/system-loader
- load-package-set)
+(define (package-set-pathname pathname)
+ (make-pathname (pathname-host pathname)
+ (pathname-device pathname)
+ (pathname-directory pathname)
+ (string-append (pathname-name pathname)
+ "-"
+ (case microcode-id/operating-system
+ ((NT) "w32")
+ ((OS/2) "os2")
+ ((UNIX) "unx")
+ (else "unk")))
+ "pkd"
+ (pathname-version pathname)))
(define (filename->compiled-object system component)
(let ((prim (ucode-primitive initialize-c-compiled-block 1)))
(let* ((p (->pathname component))
(d (pathname-directory p)))
(string-append
- (if (pair? d)
- (car (last-pair d))
- system)
+ (if (pair? d) (car (last-pair d)) system)
"_"
- (string-replace (pathname-name p) ; kludge
- #\-
- #\_))))
+ (string-replace (pathname-name p) #\- #\_))))
(value (prim name)))
- (if (or (not value)
- load/suppress-loading-message?)
+ (if (or (not value) load/suppress-loading-message?)
value
(let ((port (notification-output-port)))
(fresh-line port)
(write-string ";Initialized " port)
(write name port)
value))))))
+
+(define package/system-loader load-package-set)
\f
(define-structure (package-file (type vector)
(conc-name package-file/))
#| -*-Scheme-*-
-$Id: runtime.pkg,v 14.383 2001/11/11 05:58:56 cph Exp $
+$Id: runtime.pkg,v 14.384 2001/12/17 17:40:59 cph Exp $
Copyright (c) 1988-2001 Massachusetts Institute of Technology
load-package-set
load-packages-from-file
name->package
+ package-set-pathname
package/add-child!
package/child
package/children
#| -*-Scheme-*-
-$Id: sfile.scm,v 14.30 2001/07/17 02:08:50 cph Exp $
+$Id: sfile.scm,v 14.31 2001/12/17 17:40:59 cph Exp $
Copyright (c) 1988-2001 Massachusetts Institute of Technology
(begin
(directory-channel-close channel)
result))))))
+
+(define (file-processed? filename input-type output-type)
+ (file-modification-time<?
+ (pathname-default-type filename input-type)
+ (pathname-new-type filename output-type)))
+
+(define (file-modification-time<? source target)
+ (let ((source (file-modification-time-indirect source)))
+ (and source
+ (let ((target (file-modification-time-indirect target)))
+ (and target
+ (<= source target))))))
\f
(define (call-with-temporary-filename receiver)
(call-with-temporary-file-pathname
#| -*-Scheme-*-
-$Id: version.scm,v 14.203 2001/12/17 04:32:10 cph Exp $
+$Id: version.scm,v 14.204 2001/12/17 17:40:59 cph Exp $
Copyright (c) 1988-2001 Massachusetts Institute of Technology
(add-subsystem-identification! "Release" '(7 6 1 "pre"))
(snarf-microcode-version!)
(add-event-receiver! event:after-restore snarf-microcode-version!)
- (add-subsystem-identification! "Runtime" '(14 192)))
+ (add-subsystem-identification! "Runtime" '(14 193)))
(define (snarf-microcode-version!)
(add-subsystem-identification! "Microcode"
#| -*-Scheme-*-
-$Id: butils.scm,v 4.10 1999/01/02 06:19:10 cph Exp $
+$Id: butils.scm,v 4.11 2001/12/17 17:40:59 cph Exp $
-Copyright (c) 1988-1999 Massachusetts Institute of Technology
+Copyright (c) 1988-1999, 2001 Massachusetts Institute of Technology
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+USA.
|#
;;;; Build utilities
(define (directory-processor input-type output-type process-file)
(let ((directory-read
(let ((input-pattern
- (make-pathname false false false 'WILD input-type 'NEWEST)))
+ (make-pathname #f #f #f 'WILD input-type 'NEWEST)))
(lambda (directory)
(directory-read
(merge-pathnames
input-pattern))))))
(lambda (input-directory #!optional output-directory force?)
(let ((output-directory
- (if (default-object? output-directory) false output-directory))
- (force? (if (default-object? force?) false force?))
+ (if (default-object? output-directory) #f output-directory))
+ (force? (if (default-object? force?) #f force?))
(output-type (output-type)))
(for-each (lambda (pathname)
(if (or force?
- (not (compare-file-modification-times
+ (not (file-modification-time<?
(pathname-default-type pathname input-type)
(let ((output-pathname
(pathname-new-type pathname
(write-string (enough-namestring pathname)))))
(set! sf-directory? (directory-processor "scm" "bin" show-pathname))
(set! compile-directory? (directory-processor "bin" "com" show-pathname)))
-\f
+
(define (sf-conditionally filename #!optional echo-up-to-date?)
(let ((kernel
(lambda (filename)
(lambda () (sf/pathname-defaulting filename #f #f))
(lambda (input output spec)
spec
- (cond ((not (compare-file-modification-times input output))
+ (cond ((not (file-modification-time<? input output))
(sf filename))
((and (not (default-object? echo-up-to-date?))
echo-up-to-date?)
(write-string " is up to date"))))))))
(if (pair? filename)
(for-each kernel filename)
- (kernel filename))))
-
-(define (file-processed? filename input-type output-type)
- (compare-file-modification-times
- (pathname-default-type filename input-type)
- (pathname-new-type filename output-type)))
-
-(define (compare-file-modification-times source target)
- (let ((source (file-modification-time-indirect source)))
- (and source
- (let ((target (file-modification-time-indirect target)))
- (and target
- (<= source target))))))
\ No newline at end of file
+ (kernel filename))))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: make.scm,v 4.39 2001/09/25 05:11:11 cph Exp $
+$Id: make.scm,v 4.40 2001/12/17 17:40:59 cph Exp $
Copyright (c) 1988-2001 Massachusetts Institute of Technology
(load-package-set "sf")))
((package/reference (find-package '(SCODE-OPTIMIZER))
'USUAL-INTEGRATIONS/CACHE!))))
-(add-subsystem-identification! "SF" '(4 38))
\ No newline at end of file
+(add-subsystem-identification! "SF" '(4 39))
\ No newline at end of file
#| -*-Scheme-*-
-$Id: sf.pkg,v 4.11 1999/01/02 06:06:43 cph Exp $
+$Id: sf.pkg,v 4.12 2001/12/17 17:40:59 cph Exp $
-Copyright (c) 1987-1999 Massachusetts Institute of Technology
+Copyright (c) 1987-1999, 2001 Massachusetts Institute of Technology
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+USA.
|#
;;;; SF Packaging
(export ()
compile-directory
compile-directory?
- file-processed?
sf-conditionally
sf-directory
sf-directory?))
\ No newline at end of file
-# $Id: Makefile.in,v 1.2 2001/08/15 03:27:18 cph Exp $
+# $Id: Makefile.in,v 1.3 2001/12/17 17:40:59 cph Exp $
#
# Copyright (c) 2000, 2001 Massachusetts Institute of Technology
#
$(mkinstalldirs) $(DESTDIR)$(SOS_DIR)
$(INSTALL_DATA) *.com $(DESTDIR)$(SOS_DIR)/.
$(INSTALL_DATA) *.bci $(DESTDIR)$(SOS_DIR)/.
- $(INSTALL_DATA) sos.pkd $(DESTDIR)$(SOS_DIR)/.
+ $(INSTALL_DATA) sos-unx.pkd $(DESTDIR)$(SOS_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(SOS_DIR)/.
.PHONY: all mostlyclean clean distclean maintainer-clean tags TAGS install
-# $Id: Makefile.in,v 1.1 2001/10/04 17:10:27 cph Exp $
+# $Id: Makefile.in,v 1.2 2001/12/17 17:40:59 cph Exp $
#
# Copyright (c) 2001 Massachusetts Institute of Technology
#
$(mkinstalldirs) $(DESTDIR)$(PARSER_DIR)
$(INSTALL_DATA) *.com $(DESTDIR)$(PARSER_DIR)/.
$(INSTALL_DATA) *.bci $(DESTDIR)$(PARSER_DIR)/.
- $(INSTALL_DATA) parser.pkd $(DESTDIR)$(PARSER_DIR)/.
+ $(INSTALL_DATA) parser-unx.pkd $(DESTDIR)$(PARSER_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(PARSER_DIR)/.
.PHONY: all mostlyclean clean distclean maintainer-clean tags TAGS install
-# $Id: Makefile.in,v 1.1 2001/10/04 17:11:06 cph Exp $
+# $Id: Makefile.in,v 1.2 2001/12/17 17:40:59 cph Exp $
#
# Copyright (c) 2001 Massachusetts Institute of Technology
#
$(mkinstalldirs) $(DESTDIR)$(XML_DIR)
$(INSTALL_DATA) *.com $(DESTDIR)$(XML_DIR)/.
$(INSTALL_DATA) *.bci $(DESTDIR)$(XML_DIR)/.
- $(INSTALL_DATA) xml.pkd $(DESTDIR)$(XML_DIR)/.
+ $(INSTALL_DATA) xml-unx.pkd $(DESTDIR)$(XML_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(XML_DIR)/.
.PHONY: all mostlyclean clean distclean maintainer-clean tags TAGS install