release.
[elisp/tm.git] / TM-MK
1 ;;; -*-Emacs-Lisp-*-
2 ;;;
3 ;;; $Id: TM-MK,v 7.49 1997/02/11 11:31:05 morioka Exp $
4 ;;;
5
6 (defun config-tm ()
7   (let (prefix exec-prefix)
8     (setq prefix (car command-line-args-left))
9     (and prefix
10          (not (string-equal "NONE" prefix))
11          (progn
12            (defvar PREFIX prefix)
13            (setq command-line-args-left (cdr command-line-args-left))
14            )
15          (setq exec-prefix (car command-line-args-left))
16          (progn
17            (defvar EXEC_PREFIX exec-prefix)
18            ;;(setq command-line-args-left (cdr command-line-args-left))
19            )))
20   (load-file "TM-CFG")
21   (load-file "../apel/EMU-ELS")
22   (load-file "../apel/APEL-ELS")
23   (load-file "../tl/TL-ELS")
24   (load-file "../bitmap-mule/BITMAP-ELS")
25   (load-file "../mu/MU-ELS")
26   (load-file "../flim/FLIM-ELS")
27   (load-file "TM-ELS")
28   (load-file "../tm-mh-e/TMH-ELS")
29   (load-file "../tm-mail/TMAIL-ELS")
30   (load-file "../tm-vm/TM-VM-ELS")
31   (princ (format "PREFIX=%s\tEXEC_PREFIX=%s\n" PREFIX EXEC_PREFIX))
32   )
33
34 (defun directory= (dir1 dir2)
35   (string= (file-name-as-directory dir1)(file-name-as-directory dir2))
36   )
37
38 (defun make-mime-setup (lisp-dir
39                         tl-path bitmap-path mu-path mel-path tm-path)
40   (if (file-exists-p "mime-setup.el")
41       (delete-file  "mime-setup.el")
42     )
43   (let ((buf (let (vc-follow-symlinks)
44                (find-file "mime-setup.el.in")
45                )))
46     (goto-char (point-min))
47     (re-search-forward "^;;; Code:\n" nil t)
48     (setq buffer-read-only nil)
49
50     ;; generate tl setting
51     (let ((tl-absolute-path (expand-file-name tl-path lisp-dir)))
52       (if (MEMBER tl-absolute-path default-load-path
53                   :test (function directory=))
54           (insert "\n(require \'tl-misc)")
55         (insert
56          (format "
57
58 \(let ((load-path
59        (cons \"%s\"
60              load-path)))
61   (require \'tl-misc)
62   )
63 \(add-path \"%s\")" tl-absolute-path tl-path))
64         ))
65     
66     ;; generate MU load-path setting
67     (and bitmap-modules
68          (or (MEMBER (expand-file-name bitmap-path lisp-dir)
69                      default-load-path
70                      :test (function directory=))
71              (insert (format "\n(add-path \"%s\")" bitmap-path))
72              ))
73     
74     ;; generate MU load-path setting
75     (or (MEMBER (expand-file-name mu-path lisp-dir)
76                 default-load-path
77                 :test (function directory=))
78         (insert (format "\n(add-path \"%s\")" mu-path))
79         )
80     
81     ;; generate MEL load-path setting
82     (or (MEMBER (expand-file-name mel-path lisp-dir)
83                 default-load-path
84                 :test (function directory=))
85         (insert (format "\n(add-path \"%s\")" mel-path))
86         )
87     
88     ;; generate tm load-path setting
89     (or (MEMBER (expand-file-name tm-path lisp-dir)
90                 default-load-path
91                 :test (function directory=))
92         (insert (format "\n(add-path \"%s\")" tm-path))
93         )
94     
95     ;; generate tm external-methods path setting
96     (or (string= METHOD_DIR exec-directory)
97         (insert
98          (format "\n
99 (defvar mime-viewer/external-progs%s
100   \"*Directory containing tm external methods.\")
101
102 (add-to-list 'exec-path mime-viewer/external-progs)
103
104 (let ((paths (parse-colon-path (getenv \"PATH\"))))
105   (or (member mime-viewer/external-progs paths)
106       (setenv \"PATH\"
107               (mapconcat (function identity)
108                          (append paths (list mime-viewer/external-progs))
109                          path-separator))
110       ))
111 "
112                  (let ((dir (file-relative-name METHOD_DIR data-directory)))
113                    (if (< (length dir) (length METHOD_DIR))
114                        (concat "\n  (expand-file-name \""
115                                dir "\" data-directory)")
116                      (setq dir (file-relative-name METHOD_DIR
117                                                    (expand-file-name "~/")))
118                      (if (< (length dir) (length METHOD_DIR))
119                          (concat "\n  (expand-file-name \"~/"
120                                  dir "\")")
121                        (concat " \"" METHOD_DIR "\"")
122                        )))
123                  ))
124         )
125     (write-file "mime-setup.el")
126     ))
127
128 (defun compile-tm ()
129   (config-tm)
130   (print load-path)
131   (require 'mel-u)
132   (require 'tm-edit)
133   (load "rmailsum")
134   (require 'tm-mh-e)
135   (make-mime-setup LISPDIR
136                    TL_RELATIVE_DIR BITMAP_RELATIVE_DIR
137                    MU_RELATIVE_DIR FLIM_RELATIVE_DIR
138                    TM_KERNEL_RELATIVE_DIR)
139   (compile-elisp-modules emu-modules            "../apel")
140   (compile-elisp-modules apel-modules           "../apel")
141   (compile-elisp-modules tl-modules             "../tl")
142   (compile-elisp-modules bitmap-modules         "../bitmap-mule")
143   (compile-elisp-modules mu-modules-to-compile  "../mu")
144   (compile-elisp-modules flim-modules           "../flim")
145   (compile-elisp-modules tm-modules-to-compile  ".")
146   (compile-elisp-modules tm-mh-e-modules        "../tm-mh-e")
147   (compile-elisp-module  'mime-setup            ".")
148   (require 'gnus)
149   (cond ((featurep 'gnus-ems)
150          (load "../gnus-mime/Gnus-MIME-ELS")
151          (compile-elisp-modules gnus-mime-modules-to-compile "../gnus-mime")
152          )
153         (t
154          (load "../tm-gnus/TGNUS-ELS")
155          (compile-elisp-modules tm-gnus-modules-to-compile "../tm-gnus")
156          ))
157   (compile-elisp-modules tm-mail-modules        "../tm-mail")
158   (compile-elisp-modules tm-vm-modules-to-compile "../tm-vm")
159   )
160
161 (defun install-tm ()
162   (config-tm)
163   (princ (format "%s\n" emacs-version))
164   (install-elisp-modules emu-modules     "../emu"       EMU_DIR)
165   (install-elisp-modules tl-modules      "../tl"        TL_DIR)
166   (install-elisp-modules bitmap-modules "../bitmap-mule" BITMAP_DIR)
167   (install-elisp-modules mu-modules      "../mu"        MU_DIR)
168   (install-elisp-modules flim-modules    "../flim"      FLIM_DIR)
169   (install-elisp-modules tm-modules      "."            TM_KERNEL_DIR)
170   (install-elisp-modules tm-mh-e-modules "../tm-mh-e"   TM_MHE_DIR)
171   ;;(install-tm-gnus)
172   (require 'gnus)
173   (cond ((featurep 'gnus-ems)
174          (load "../gnus-mime/Gnus-MIME-ELS")
175          (install-elisp-modules gnus-mime-modules
176                                 "../gnus-mime" Gnus_MIME_DIR)
177          )
178         (t
179          (load "../tm-gnus/TGNUS-ELS")
180          (install-elisp-modules tm-gnus-modules "../tm-gnus" TM_GNUS_DIR)
181          ))
182   (install-elisp-modules tm-mail-modules "../tm-mail"   TM_MAIL_DIR)
183   (install-elisp-modules tm-vm-modules   "../tm-vm"     TM_VM_DIR)
184   (install-elisp-modules '(mime-setup)   "."    SETUP_FILE_DIR)
185   )
186
187 (defun install-execs ()
188   (config-tm)
189   (install-files BINS       BIN_SRC_DIR    BIN_DIR)
190   (install-files METHODS METHOD_SRC_DIR METHOD_DIR nil t)
191   )
192
193
194 (defun update-xemacs-source ()
195   (setq LISPDIR (expand-file-name "../lisp" data-directory))
196   (load-file "TM-CFG")
197   (setq EMU_DIR TL_DIR)
198   (setq SETUP_FILE_DIR TM_KERNEL_DIR)
199   (load-file "../emu/EMU-ELS")
200   (load-file "../tl/TL-ELS")
201   (load-file "../mu/MU-ELS")
202   (load-file "../mel/MEL-ELS")
203   (load-file "TM-ELS")
204   (load-file "../tm-mh-e/TMH-ELS")
205   (load-file "../tm-mail/TMAIL-ELS")
206   (load-file "../tm-vm/TM-VM-ELS")
207   
208   (copy-file "mime-setup.el.in" "mime-setup.el" t t)
209   (set-file-modes "mime-setup.el" (+ (* 6 64) (* 4 8) 4))
210   (compile-elisp-modules emu-modules            "../emu")
211   (compile-elisp-modules tl-modules             "../tl")
212   (compile-elisp-modules mu-modules-to-compile  "../mu")
213   (compile-elisp-modules mel-modules            "../mel")
214   (compile-elisp-modules tm-modules-to-compile  ".")
215   (compile-elisp-modules tm-mh-e-modules        "../tm-mh-e")
216   (compile-elisp-module  'mime-setup            ".")
217   (require 'gnus)
218   (load "../gnus-mime/Gnus-MIME-ELS")
219   (compile-elisp-modules gnus-mime-modules-to-compile "../gnus-mime")
220   (compile-elisp-modules tm-mail-modules        "../tm-mail")
221   (compile-elisp-modules tm-vm-modules-to-compile "../tm-vm")
222   
223   (install-elisp-modules emu-modules     "../emu"       EMU_DIR)
224   (install-elisp-modules tl-modules      "../tl"        TL_DIR)
225   (install-elisp-modules mu-modules      "../mu"        MU_DIR)
226   (install-elisp-modules mel-modules     "../mel"       MEL_DIR)
227   (install-elisp-modules tm-modules      "."            TM_KERNEL_DIR)
228   (install-elisp-modules tm-mh-e-modules "../tm-mh-e"   TM_MHE_DIR)
229   (install-elisp-modules gnus-mime-modules "../gnus-mime" Gnus_MIME_DIR)
230   (install-elisp-modules tm-mail-modules "../tm-mail"   TM_MAIL_DIR)
231   (install-elisp-modules tm-vm-modules   "../tm-vm"     TM_VM_DIR)
232   (install-elisp-modules '(mime-setup)   "."    SETUP_FILE_DIR)
233
234   (setq METHOD_DIR (expand-file-name "../lib-src" data-directory))
235   (install-files METHODS METHOD_SRC_DIR METHOD_DIR nil t)
236   
237   (install-file "sinfo.dtd" "../sinfo"
238                 (expand-file-name "../etc/sgml" data-directory)
239                 nil t)
240   
241   (install-files '("tm-edit-en.sgml"    "tm-edit-en.texi"
242                    "tm-edit-ja.sgml"    "tm-edit-ja.texi"
243                    "tm-en.sgml"         "tm-en.texi"
244                    "tm-ja.sgml"         "tm-ja.texi"
245                    "tm-view-en.sgml"    "tm-view-en.texi"
246                    "tm-view-ja.sgml"    "tm-view-ja.texi"
247                    )
248                  "doc"
249                  (expand-file-name "../man/tm" data-directory)
250                  nil t)
251   (install-files '("tm-edit-en.info"    "tm-edit-ja.info"
252                    "tm-en.info"         "tm-ja.info"
253                    "tm-view-en.info"    "tm-view-ja.info"
254                    )
255                  "doc"
256                  (expand-file-name "../info" data-directory)
257                  nil t)
258   (install-files '("gnus-mime-en.sgml"  "gnus-mime-en.texi"
259                    "gnus-mime-ja.sgml"  "gnus-mime-ja.texi"
260                    )
261                  "../gnus-mime"
262                  (expand-file-name "../man/tm" data-directory)
263                  nil t)
264   (install-files '("gnus-mime-en.info"  "gnus-mime-ja.info")
265                  "../gnus-mime"
266                  (expand-file-name "../info" data-directory)
267                  nil t)
268   (install-files '("tm-mh-e-en.sgml"    "tm-mh-e-en.texi"
269                    "tm-mh-e-ja.sgml"    "tm-mh-e-ja.texi"
270                    )
271                  "../tm-mh-e"
272                  (expand-file-name "../man/tm" data-directory)
273                  nil t)
274   (install-files '("tm-mh-e-en.info"    "tm-mh-e-ja.info")
275                  "../tm-mh-e"
276                  (expand-file-name "../info" data-directory)
277                  nil t)
278   (install-files '("tm-vm_en.texi")
279                  "../tm-vm"
280                  (expand-file-name "../man/tm" data-directory)
281                  nil t)
282   (install-files '("tm-vm_en.info")
283                  "../tm-vm"
284                  (expand-file-name "../info" data-directory)
285                  nil t)
286   )
287
288 ;;; TM-MK ends here