tm 7.46.1.
[elisp/tm.git] / inst-tm
1 ;;; -*-Emacs-Lisp-*-
2 ;;;
3 ;;; $Id: inst-tm,v 1.2 1996/03/04 09:39:25 morioka Exp $
4 ;;;
5
6 (load-file "tm-cfg")
7 (load-file "../tl/tl-els")
8 (load-file "../mel/mel-els")
9 (load-file "tm-els")
10 (load-file "mh-e/tmh-els")
11
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     (insert
18      (format
19       "
20
21 \(let ((load-path
22        (cons \"%s\"
23              load-path)))
24   (require \'tl-misc)
25   )
26 \(add-path \"%s\")
27 \(add-path \"%s\")
28 \(add-path \"%s\")"
29       tl-path tl-path mel-path tm-path))
30     (write-file "mime-setup.el")
31     ))
32
33 (defun compile-el-files (path modules)
34   (mapcar (function
35            (lambda (module)
36              (setq module (expand-file-name module path))
37              (let ((el-file (concat module ".el"))
38                    (elc-file (concat module ".elc"))
39                    )
40                (if (file-newer-than-file-p el-file elc-file)
41                    (byte-compile-file el-file)
42                  )
43                )))
44           modules))
45
46 (defun compile-tm-gnus (type)
47   (erase-buffer)
48   (call-process SHELL
49                 nil t t
50                 "-c"
51                 (format "cd gnus; PWD=`pwd` make %s EMACS=%s"
52                         type (car command-line-args))
53                 )
54   (princ (buffer-string))
55   )
56
57 (defun install-tm-gnus ()
58   (erase-buffer)
59   (call-process SHELL
60                 nil t t
61                 "-c"
62                 (format
63                  "cd gnus; PWD=`pwd` make install-19 EMACS=%s TMDIR19=%s"
64                  (car command-line-args) TM_GNUS_DIR)
65                 )
66   (princ (buffer-string))
67   )
68
69 (defun compile-tm ()
70   (require 'tm-rich)
71   (require 'mel-u)
72   (require 'tm-edit)
73   (load "rmailsum")
74   (require 'tm-mh-e)
75   (make-mime-setup TL_DIR MEL_DIR TM_KERNEL_DIR)
76   (compile-el-files "../tl/"  tl-modules)
77   (compile-el-files "../mel/" mel-modules)
78   (compile-el-files "./"      tm-modules)
79   (compile-el-files "mh-e/"   tm-mh-e-modules)
80   (compile-tm-gnus "gnus")
81   (cond ((< emacs-major-version 19)
82          (compile-tm-gnus "gnus4")
83          )
84         ((< emacs-minor-version 30)
85          (compile-tm-gnus "gnus4")
86          (compile-tm-gnus "gnus5")
87          )
88         (t
89          (compile-tm-gnus "sgnus")
90          ))
91   (compile-el-files "./"      '("mime-setup"))
92   )
93
94 (defun install-el-file (src dest file)
95   (let ((src-file (expand-file-name file src)))
96     (if (file-exists-p src-file)
97         (let ((full-path (expand-file-name file dest)))
98           (if (file-exists-p full-path)
99               (set-file-modes full-path el-file-mode)
100             )
101           (copy-file src-file full-path t t)
102           (princ (format "%s -> %s\n" file dest))
103           ))
104     ))
105
106 (defun install-el-files (src dest &rest files)
107   (mapcar (function (lambda (file)
108                       (install-el-file src dest file)
109                       ))
110           files))
111
112 (defun install-elc (src dest file)
113   (let ((src-file (expand-file-name file src)))
114     (if (file-exists-p src-file)
115         (let ((full-path (expand-file-name file dest)))
116           (copy-file src-file full-path t t)
117           (delete-file src-file)
118           (princ (format "%s -> %s\n" file dest))
119           ))
120     ))
121
122 (defun install-elc-files (src dest &rest files)
123   (mapcar (function (lambda (file)
124                       (install-elc src dest file)
125                       ))
126           files))
127
128 (defun install-el-and-elc-files (src dest el-files elc-files)
129   (if (not (file-exists-p dest))
130       (make-directory dest t)
131     )
132   (apply (function install-el-files)  src dest el-files)
133   (apply (function install-elc-files) src dest elc-files)
134   )
135
136 (defun install-tm ()
137   (princ (format "%s\n" emacs-version))
138   (print TL_DIR)
139   (install-el-and-elc-files "../tl/" TL_DIR tl-el-files tl-elc-files)
140   (install-el-and-elc-files "../mel/" MEL_DIR mel-el-files mel-elc-files)
141   (install-el-and-elc-files "./" TM_KERNEL_DIR tm-el-files tm-elc-files)
142   (install-el-and-elc-files "mh-e/" TM_MHE_DIR
143                             tm-mh-e-el-files tm-mh-e-elc-files)
144   (install-tm-gnus)
145   (install-el-and-elc-files "./" SETUP_FILE_DIR setup-el-files setup-elc-files)
146   )
147
148 (defun install-execs ()
149   (apply (function install-el-files) "src/" BIN_DIR BINS)
150   (apply (function install-el-files) "methods/" METHOD_DIR METHODS)
151   )