3 ;;; $Id: inst-tm,v 3.3 1996/04/09 17:13:36 morioka Exp $
7 (load-file "../tl/tl-els")
8 (load-file "../mel/mel-els")
10 (load-file "mh-e/tmh-els")
12 (defun make-mime-setup (tl-path mel-path tm-path)
13 (let ((buf (find-file "mime-setup.el.in")))
14 (goto-char (point-min))
15 (re-search-forward "^;;; Code:" nil t)
16 (setq buffer-read-only nil)
17 (if (member tl-path default-load-path)
20 \(require \'tl-misc)")
29 \(add-path \"%s\")" tl-path tl-path))
31 (or (member mel-path default-load-path)
34 \(add-path \"%s\")" mel-path)))
35 (or (member tm-path default-load-path)
38 \(add-path \"%s\")" tm-path)))
39 (write-file "mime-setup.el")
42 (defun compile-el-files (path modules)
45 (setq module (expand-file-name module path))
46 (let ((el-file (concat module ".el"))
47 (elc-file (concat module ".elc"))
49 (if (file-newer-than-file-p el-file elc-file)
50 (byte-compile-file el-file)
55 (defun compile-tm-gnus (type)
60 (format TM_GNUS_COMPILE_FORMAT
61 type (car command-line-args))
63 (princ (buffer-string))
66 (defun install-tm-gnus ()
72 TM_GNUS_INSTALL_FORMAT
73 (car command-line-args) TM_GNUS_DIR)
75 (princ (buffer-string))
84 (make-mime-setup TL_DIR MEL_DIR TM_KERNEL_DIR)
85 (compile-el-files "../tl/" tl-modules)
86 (compile-el-files "../mel/" mel-modules)
87 (compile-el-files "./" tm-modules)
88 (compile-el-files "mh-e/" tm-mh-e-modules)
89 (compile-tm-gnus "gnus")
90 (cond ((string-match "XEmacs" emacs-version)
91 (compile-tm-gnus "sgnus")
93 (t (cond ((<= emacs-major-version 18)
94 (compile-tm-gnus "gnus3")
95 (compile-tm-gnus "gnus4")
97 ((< emacs-minor-version 30)
98 (compile-tm-gnus "gnus4")
99 (compile-tm-gnus "gnus5")
102 (compile-tm-gnus "sgnus")
104 (compile-el-files "./" '("mime-setup"))
107 (defun install-el-file (src dest file)
108 (let ((src-file (expand-file-name file src)))
109 (if (file-exists-p src-file)
110 (let ((full-path (expand-file-name file dest)))
111 (if (file-exists-p full-path)
112 (set-file-modes full-path el-file-mode)
114 (copy-file src-file full-path t t)
115 (princ (format "%s -> %s\n" file dest))
119 (defun install-el-files (src dest &rest files)
120 (mapcar (function (lambda (file)
121 (install-el-file src dest file)
125 (defun install-elc (src dest file)
126 (let ((src-file (expand-file-name file src)))
127 (if (file-exists-p src-file)
128 (let ((full-path (expand-file-name file dest)))
129 (copy-file src-file full-path t t)
130 (delete-file src-file)
131 (princ (format "%s -> %s\n" file dest))
135 (defun install-elc-files (src dest &rest files)
136 (mapcar (function (lambda (file)
137 (install-elc src dest file)
141 (defun install-el-and-elc-files (src dest el-files elc-files)
142 (if (not (file-exists-p dest))
143 (make-directory dest t)
145 (apply (function install-el-files) src dest el-files)
146 (apply (function install-elc-files) src dest elc-files)
150 (princ (format "%s\n" emacs-version))
152 (install-el-and-elc-files "../tl/" TL_DIR tl-el-files tl-elc-files)
153 (install-el-and-elc-files "../mel/" MEL_DIR mel-el-files mel-elc-files)
154 (install-el-and-elc-files "./" TM_KERNEL_DIR tm-el-files tm-elc-files)
155 (install-el-and-elc-files "mh-e/" TM_MHE_DIR
156 tm-mh-e-el-files tm-mh-e-elc-files)
158 (install-el-and-elc-files "./" SETUP_FILE_DIR setup-el-files setup-elc-files)
161 (defun install-execs ()
162 (apply (function install-el-files) BIN_SRC_DIR BIN_DIR BINS)
163 (apply (function install-el-files) METHOD_SRC_DIR METHOD_DIR METHODS)