;;; -*-Emacs-Lisp-*- ;;; ;;; $Id: mk-tm,v 7.7 1996/02/27 21:24:06 morioka Exp $ ;;; (setq load-path (append (mapcar (function (lambda (path) (expand-file-name path (getenv "PWD")) )) '("." "../tl/" "../mel/") ) load-path)) (require 'tl-misc) ;; Please specify VM path. (add-path "vm-5.95beta/" 'all-paths) ;; Please specify Mailcrypt path. (add-path "mailcrypt-3.4/" 'all-paths) ;; Please specify BBDB path. (add-path "bbdb-1.50/" 'all-paths) (setq tm-modules (cons (cond ((boundp 'NEMACS) "tm-nemacs" ) ((boundp 'MULE) "tm-mule" ) (t "tm-orig" )) '("signature" "tm-def" "tm-ew-d" "tm-parse" "tm-view" "tm-play" "tm-partial" "tm-rich" "tm-latex" "tm-html" "tm-tar" "tm-file" "tm-ew-e" "tm-edit" "tm-rmail" "tm-mail" "tm-setup" "mime-setup" ))) (setq tm-uncompile-el-files '("sc-setup.el")) (if (file-installed-p "ange-ftp.el") (setq tm-modules (append tm-modules '("tm-ftp"))) (setq tm-uncompile-el-files (append tm-uncompile-el-files '("tm-ftp.el"))) ) (if (file-installed-p "vm.elc") (setq tm-modules (append tm-modules '("tm-vm"))) (setq tm-uncompile-el-files (append tm-uncompile-el-files '("tm-vm.el"))) ) (if (catch 'tag (let ((paths load-path) path) (while paths (setq path (expand-file-name "mailcrypt.el" (car paths))) (if (file-exists-p path) (throw 'tag path) ) (setq paths (cdr paths)) ))) (setq tm-modules (append tm-modules '("tm-pgp"))) (setq tm-uncompile-el-files (append tm-uncompile-el-files '("tm-pgp.el"))) ) (if (catch 'tag (let ((paths load-path) path) (while paths (setq path (expand-file-name "bbdb.el" (car paths))) (if (file-exists-p path) (throw 'tag path) ) (setq paths (cdr paths)) ))) (setq tm-modules (append tm-modules '("tm-bbdb"))) (setq tm-uncompile-el-files (append tm-uncompile-el-files '("tm-bbdb.el"))) ) (if (and (file-exists-p "tm-evs.el") (or (boundp 'MULE) (boundp 'NEMACS)) ) (setq tm-modules (append tm-modules '("tm-evs"))) ) (if (string-match "XEmacs" emacs-version) (setq tm-modules (append tm-modules '("tm-image"))) (if (boundp 'MULE) (if (catch 'tag (let ((paths load-path) path) (while paths (setq path (expand-file-name "bitmap.el" (car paths))) (if (file-exists-p path) (throw 'tag path) ) (setq paths (cdr paths)) ))) (setq tm-modules (append tm-modules '("tm-image"))) (setq tm-uncompile-el-files (append tm-uncompile-el-files '("tm-image.el"))) ))) (setq tm-el-files (mapcar (function (lambda (module) (concat module ".el") )) tm-modules)) (setq tm-elc-files (mapcar (function (lambda (module) (concat module ".elc") )) tm-modules)) (defun compile-tm () ;; (require 'gnus) (require 'tm-rich) (require 'mel-u) (require 'tm-edit) (load "rmailsum") (mapcar (function (lambda (module) (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) ) ))) tm-modules) ) (defconst el-file-mode (+ (* 64 6)(* 8 4) 4)) (defun install-el (path file) (let ((full-path (expand-file-name file path))) (if (file-exists-p full-path) (set-file-modes full-path el-file-mode) ) (copy-file file full-path t t) (princ (format "%s -> %s\n" file path)) )) (defun install-el-files (path &rest files) (mapcar (function (lambda (file) (if (file-exists-p file) (install-el path file) ))) files)) (defun install-elc (path file) (let ((full-path (expand-file-name file path))) (copy-file file full-path t t) (delete-file file) (princ (format "%s -> %s\n" file path)) )) (defun install-elc-files (path &rest files) (mapcar (function (lambda (file) (if (file-exists-p file) (install-elc path file) ))) files)) (defun install-tm () (let ((path (car command-line-args-left))) (princ (format "%s\n" emacs-version)) (if (not (file-exists-p path)) (make-directory path t) ) (apply (function install-el-files) path (append tm-el-files tm-uncompile-el-files) ) (apply (function install-elc-files) path tm-elc-files) (setq command-line-args-left (cdr command-line-args-left)) ))