;;; -*-Emacs-Lisp-*- ;;; ;;; $Id: inst-tm,v 7.4 1996/06/07 14:14:53 morioka Exp $ ;;; (load-file "TM-CFG") (load-file "../tl/tl-els") (load-file "../mel/mel-els") (load-file "TM-ELS") (load-file "mh-e/tmh-els") (defun make-mime-setup (tl-path mel-path tm-path) (let ((buf (find-file "mime-setup.el.in"))) (goto-char (point-min)) (re-search-forward "^;;; Code:" nil t) (setq buffer-read-only nil) (if (member tl-path default-load-path) (insert " \(require \'tl-misc)") (insert (format " \(let ((load-path (cons \"%s\" load-path))) (require \'tl-misc) ) \(add-path \"%s\")" tl-path tl-path)) ) (or (member mel-path default-load-path) (insert (format " \(add-path \"%s\")" mel-path))) (or (member tm-path default-load-path) (insert (format " \(add-path \"%s\")" tm-path))) (insert (format " (defvar mime-viewer/external-progs \"%s\")" METHOD_DIR)) (write-file "mime-setup.el") )) (defun compile-el-files (path modules) (mapcar (function (lambda (module) (setq module (expand-file-name module path)) (let ((el-file (concat module ".el")) (elc-file (concat module ".elc")) ) (if (file-newer-than-file-p el-file elc-file) (byte-compile-file el-file) ) ))) modules)) (defun install-tm-gnus () (erase-buffer) (call-process SHELL nil t t SHELLOPTION (format TM_GNUS_INSTALL_FORMAT (car command-line-args) TM_GNUS_DIR) ) (princ (buffer-string)) ) (defun compile-tm () (print load-path) (require 'mel-u) (require 'tm-edit) (load "rmailsum") (require 'tm-mh-e) (make-mime-setup TL_DIR MEL_DIR TM_KERNEL_DIR) (compile-el-files "../tl/" tl-modules) (compile-el-files "../mel/" mel-modules) (compile-el-files "./" tm-modules) (compile-el-files "mh-e/" tm-mh-e-modules) (compile-el-files "./" '("mime-setup")) (save-excursion (set-buffer (get-buffer-create TM_GNUS_COMPILE)) (let ((emacs (car command-line-args))) (insert (format "cd gnus\n%s gnus EMACS=%s PWD=`pwd`\n" MAKE emacs)) (cond ((string-match "XEmacs" emacs-version) (insert (format "%s sgnus EMACS=%s PWD=`pwd`\n" MAKE emacs)) ) (t (cond ((<= emacs-major-version 18) (insert (format "%s gnus3 EMACS=%s PWD=`pwd`\n" MAKE emacs)) (insert (format "%s gnus4 EMACS=%s PWD=`pwd`\n" MAKE emacs)) ) ((< emacs-minor-version 30) (insert (format "%s gnus4 EMACS=%s PWD=`pwd`\n" MAKE emacs)) (insert (format "%s gnus5 EMACS=%s PWD=`pwd`\n" MAKE emacs)) ) (t (insert (format "%s sgnus EMACS=%s PWD=`pwd`\n" MAKE emacs)) ))))) (write-file TM_GNUS_COMPILE) ) ) (defun install-el-file (src dest file) (let ((src-file (expand-file-name file src))) (if (file-exists-p src-file) (let ((full-path (expand-file-name file dest))) (if (file-exists-p full-path) (set-file-modes full-path el-file-mode) ) (copy-file src-file full-path t t) (princ (format "%s -> %s\n" file dest)) )) )) (defun install-el-files (src dest &rest files) (mapcar (function (lambda (file) (install-el-file src dest file) )) files)) (defun install-elc (src dest file) (let ((src-file (expand-file-name file src))) (if (file-exists-p src-file) (let ((full-path (expand-file-name file dest))) (copy-file src-file full-path t t) (catch 'tag (while (file-exists-p src-file) (condition-case err (progn (delete-file src-file) (throw 'tag nil) ) (error (princ (format "%s\n" (nth 1 err)))) ))) (princ (format "%s -> %s\n" file dest)) )) )) (defun install-elc-files (src dest &rest files) (mapcar (function (lambda (file) (install-elc src dest file) )) files)) (defun install-el-and-elc-files (src dest el-files elc-files) (if (not (file-exists-p dest)) (make-directory dest t) ) (apply (function install-el-files) src dest el-files) (apply (function install-elc-files) src dest elc-files) ) (defun install-tm () (princ (format "%s\n" emacs-version)) (print TL_DIR) (install-el-and-elc-files "../tl/" TL_DIR tl-el-files tl-elc-files) (install-el-and-elc-files "../mel/" MEL_DIR mel-el-files mel-elc-files) (install-el-and-elc-files "./" TM_KERNEL_DIR tm-el-files tm-elc-files) (install-el-and-elc-files "mh-e/" TM_MHE_DIR tm-mh-e-el-files tm-mh-e-elc-files) (install-tm-gnus) (install-el-and-elc-files "./" SETUP_FILE_DIR setup-el-files setup-elc-files) ) (defun install-execs () (apply (function install-el-files) BIN_SRC_DIR BIN_DIR BINS) (apply (function install-el-files) METHOD_SRC_DIR METHOD_DIR METHODS) )