;;; -*- Mode:LISP; Package:SYSTEM-INTERNALS; Base:10 -*-


(DEFUN COMPILE-P (FILENAME)
  (LET ((SOURCE (OPEN (SEND (FS:PARSE-PATHNAME FILENAME) :NEW-TYPE :LISP)
		      :DIRECTION NIL))
	(OBJECT (OPEN (SEND (FS:PARSE-PATHNAME FILENAME) :NEW-TYPE :QFASL)
		      :DIRECTION NIL
		      :ERROR NIL)))
    (OR (ERRORP OBJECT)
	(> (GET SOURCE :CREATION-DATE)
	   (GET OBJECT :CREATION-DATE)))))

(DEFUN LOAD-P (FILENAME)
  (LET ((OBJECT (OPEN (SEND (FS:PARSE-PATHNAME FILENAME) :NEW-TYPE :QFASL) :DIRECTION NIL))
	(LOADED (GET-FILE-LOADED-ID (FS:PARSE-PATHNAME FILENAME) NIL)))
    (OR (NULL LOADED)
	(> (GET OBJECT :CREATION-DATE) (CDR LOADED)))))

(DEFUN COMPILE-AND-LOAD (&REST FILES)
  (DOLIST (FILE FILES)
    (WHEN (COMPILE-P FILE)
      (FORMAT T "~&Compiling ~S" FILE)
      (COMPILE-FILE FILE :SET-DEFAULT-PATHNAME NIL))
    (IF (LOAD-P FILE)
	(LOAD FILE :SET-DEFAULT-PATHNAME NIL))))

(DEFVAR *RELEASE-SOURCE-DIR* (FS:PARSE-PATHNAME "DJ:RELEASE;"))


(COMPILE-AND-LOAD (SEND *RELEASE-SOURCE-DIR* :NEW-NAME "PATCH-UTIL"))
(COMPILE-AND-LOAD (SEND *RELEASE-SOURCE-DIR* :NEW-NAME "TAPE-UTIL"))

(SETQ *PATCHUP-UTILITY-DIR* (FS:PARSE-PATHNAME "DJ:RELEASE.REPORTS;"))
(SETQ *LOG-FILE-PREPEND* "RELEASE-3P0-PATCH")

(SETQ *patch-report-from* "Dave Goodine")
(SETQ *patch-report-to* "Keith Corbet")
(SETQ *patch-report-about* "Release 3.0 Lisp Software Update Tape")


(DEFUN FAKE-ANCIENT-STUFF ()
  (SETQ *PATCHUP-UTILITY-DIR* (FS:PARSE-PATHNAME "DJ:RELEASE.REPORTS;"))
  (SETQ *LOG-FILE-PREPEND* "RELEASE-3P0-P")
  (SETQ *patch-report-from* "Dave Goodine")
  (SETQ *patch-report-to* "System Hackers")
  (SETQ *patch-report-about* "Work we did to make release 3.0 band")
  )












