;;; -*-Emacs-Lisp-*- ;;; ;;; $Id: inst-tm,v 2.1 1996/03/06 02:10:32 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) (insert (format " \(let ((load-path (cons \"%s\" load-path))) (require \'tl-misc) ) \(add-path \"%s\") \(add-path \"%s\") \(add-path \"%s\")" tl-path tl-path mel-path tm-path)) (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 compile-tm-gnus (type) (erase-buffer) (call-process SHELL nil t t "-c" (format "cd gnus; PWD=`pwd` make %s EMACS=%s" type (car command-line-args)) ) (princ (buffer-string)) ) (defun install-tm-gnus () (erase-buffer) (call-process SHELL nil t t "-c" (format "cd gnus; PWD=`pwd` make install-19 EMACS=%s TMDIR19=%s" (car command-line-args) TM_GNUS_DIR) ) (princ (buffer-string)) ) (defun compile-tm () (require 'tm-rich) (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-tm-gnus "gnus") (cond ((< emacs-major-version 19) (compile-tm-gnus "gnus4") ) ((< emacs-minor-version 30) (compile-tm-gnus "gnus4") (compile-tm-gnus "gnus5") ) (t (compile-tm-gnus "sgnus") )) (compile-el-files "./" '("mime-setup")) ) (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) (delete-file src-file) (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) "src/" BIN_DIR BINS) (apply (function install-el-files) "methods/" METHOD_DIR METHODS) )