tm 7.104.
[elisp/tm.git] / inst-tm
diff --git a/inst-tm b/inst-tm
index 80b1c03..56fd824 100644 (file)
--- a/inst-tm
+++ b/inst-tm
@@ -1,19 +1,38 @@
 ;;; -*-Emacs-Lisp-*-
 ;;;
-;;; $Id: inst-tm,v 7.30 1996/09/02 15:33:00 morioka Exp $
+;;; $Id: inst-tm,v 7.41 1996/11/15 12:14:02 morioka Exp $
 ;;;
 
-(load-file "TM-CFG")
-(load-file "../tl/TL-ELS")
-(load-file "../mu/MU-ELS")
-(load-file "../mel/MEL-ELS")
-(load-file "TM-ELS")
-(load-file "mh-e/TMH-ELS")
+(defun config-tm ()
+  (let (prefix exec-prefix)
+    (setq prefix (car command-line-args-left))
+    (and prefix
+        (not (string-equal "NONE" prefix))
+        (progn
+          (defvar PREFIX prefix)
+          (setq command-line-args-left (cdr command-line-args-left))
+          )
+        (setq exec-prefix (car command-line-args-left))
+        (progn
+          (defvar EXEC_PREFIX exec-prefix)
+          ;;(setq command-line-args-left (cdr command-line-args-left))
+          )))
+  (load-file "TM-CFG")
+  (load-file "../emu/EMU-ELS")
+  (load-file "../tl/TL-ELS")
+  (load-file "../mu/MU-ELS")
+  (load-file "../mel/MEL-ELS")
+  (load-file "TM-ELS")
+  (load-file "../tm-mh-e/TMH-ELS")
+  (load-file "../tm-mail/TMAIL-ELS")
+  (load-file "../tm-vm/TM-VM-ELS")
+  (princ (format "PREFIX=%s\tEXEC_PREFIX=%s\n" PREFIX EXEC_PREFIX))
+  )
 
 (defun make-mime-setup (tl-absolute-path tl-path mu-path mel-path tm-path)
   (let ((buf (find-file "mime-setup.el.in")))
     (goto-char (point-min))
-    (re-search-forward "^;;; Code:" nil t)
+    (re-search-forward "^;;; Code:\n" nil t)
     (setq buffer-read-only nil)
 
     ;; generate tl setting
        (insert (format "\n(add-path \"%s\")" tm-path)))
     
     ;; generate tm external-methods path setting
-    (insert
-     (format "\n(defvar mime-viewer/external-progs \"%s\")" METHOD_DIR))
+    (or (string= METHOD_DIR exec-directory)
+       (insert
+        (format "\n(defvar mime-viewer/external-progs %s)"
+                (let ((dir (file-relative-name METHOD_DIR data-directory)))
+                  (if (< (length dir) (length METHOD_DIR))
+                      (concat "\n  (expand-file-name \""
+                              dir "\" data-directory)")
+                    (setq dir (file-relative-name METHOD_DIR
+                                                  (expand-file-name "~/")))
+                    (if (< (length dir) (length METHOD_DIR))
+                        (concat "\n  (expand-file-name \"~/"
+                                dir "\")")
+                      (concat "\"" METHOD_DIR "\"")
+                      )))
+                ))
+       )
     (write-file "mime-setup.el")
     ))
 
-(defun install-tm-gnus ()
-  (erase-buffer)
-  (call-process SHELL
-               nil t t
-               SHELLOPTION
-               (format
-                TM_GNUS_INSTALL_FORMAT
-                (car command-line-args) TM_GNUS_DIR)
-               )
-  (princ (buffer-string))
-  )
-
 (defun compile-tm ()
+  (config-tm)
   (print load-path)
   (require 'mel-u)
   (require 'tm-edit)
   (require 'tm-mh-e)
   (make-mime-setup TL_DIR TL_RELATIVE_DIR MU_RELATIVE_DIR
                   MEL_RELATIVE_DIR TM_KERNEL_RELATIVE_DIR)
-  (compile-elisp-modules tl-modules            "../tl/")
-  (compile-elisp-modules mu-modules            "../mu/")
-  (compile-elisp-modules mel-modules           "../mel/")
+  (compile-elisp-modules emu-modules           "../emu")
+  (compile-elisp-modules tl-modules            "../tl")
+  (compile-elisp-modules mu-modules-to-compile "../mu")
+  (compile-elisp-modules mel-modules           "../mel")
   (compile-elisp-modules tm-modules-to-compile ".")
-  (compile-elisp-modules tm-mh-e-modules       "mh-e/")
+  (compile-elisp-modules tm-mh-e-modules       "../tm-mh-e")
   (compile-elisp-module  'mime-setup           ".")
-  (save-excursion
-    (set-buffer (get-buffer-create TM_GNUS_COMPILE))
-    (let ((emacs (car command-line-args)))
-      (insert (format "cd gnus\n%s gnus EMACS=%s PWD=`pwd`\n" MAKE emacs))
-      (cond (running-xemacs-19_14-or-later
-            )
-           (running-xemacs
-            (insert (format "%s gnus5 EMACS=%s PWD=`pwd`\n" MAKE emacs))
-            )
-           (t (cond (running-emacs-18
-                     (insert (format "%s gnus3 EMACS=%s PWD=`pwd`\n"
-                                     MAKE emacs))
-                     (insert (format "%s gnus4 EMACS=%s PWD=`pwd`\n"
-                                     MAKE emacs))
-                     )
-                    ((<= emacs-minor-version 29)
-                     (insert (format "%s gnus4 EMACS=%s PWD=`pwd`\n"
-                                     MAKE emacs))
-                     (insert (format "%s gnus5 EMACS=%s PWD=`pwd`\n" 
-                                     MAKE emacs))
-                     )
-                    (t
-                     (insert (format "%s gnus5 EMACS=%s PWD=`pwd`\n" 
-                                     MAKE emacs))
-                     )))))
-    (write-file TM_GNUS_COMPILE)
-    ))
+  (require 'gnus)
+  (cond ((featurep 'gnus-ems)
+        (load "../gnus-mime/Gnus-MIME-ELS")
+        (compile-elisp-modules gnus-mime-modules-to-compile "../gnus-mime")
+        )
+       (t
+         (load "../tm-gnus/TGNUS-ELS")
+        (compile-elisp-modules tm-gnus-modules-to-compile "../tm-gnus")
+        ))
+  (compile-elisp-modules tm-mail-modules       "../tm-mail")
+  (compile-elisp-modules tm-vm-modules-to-compile "../tm-vm")
+  )
 
 (defun install-tm ()
+  (config-tm)
   (princ (format "%s\n" emacs-version))
-  (print TL_DIR)
-  (install-elisp-modules tl-modules     "../tl/"       TL_DIR)
-  (install-elisp-modules mu-modules     "../mu/"       MU_DIR)
-  (install-elisp-modules mel-modules    "../mel/"      MEL_DIR)
-  (install-elisp-modules tm-modules     "./"           TM_KERNEL_DIR)
-  (install-elisp-modules tm-mh-e-modules "mh-e/"       TM_MHE_DIR)
-  (install-tm-gnus)
-  (install-elisp-modules '(mime-setup)  "./"   SETUP_FILE_DIR)
+  (install-elisp-modules emu-modules    "../emu"       EMU_DIR)
+  (install-elisp-modules tl-modules     "../tl"        TL_DIR)
+  (install-elisp-modules mu-modules     "../mu"        MU_DIR)
+  (install-elisp-modules mel-modules    "../mel"       MEL_DIR)
+  (install-elisp-modules tm-modules     "."            TM_KERNEL_DIR)
+  (install-elisp-modules tm-mh-e-modules "../tm-mh-e"  TM_MHE_DIR)
+  ;;(install-tm-gnus)
+  (require 'gnus)
+  (cond ((featurep 'gnus-ems)
+        (load "../gnus-mime/Gnus-MIME-ELS")
+        (install-elisp-modules gnus-mime-modules
+                               "../gnus-mime" Gnus_MIME_DIR)
+        )
+       (t
+        (load "../tm-gnus/TGNUS-ELS")
+        (install-elisp-modules tm-gnus-modules "../tm-gnus" TM_GNUS_DIR)
+        ))
+  (install-elisp-modules tm-mail-modules "../tm-mail"  TM_MAIL_DIR)
+  (install-elisp-modules tm-vm-modules  "../tm-vm"     TM_VM_DIR)
+  (install-elisp-modules '(mime-setup)  "."    SETUP_FILE_DIR)
   )
 
 (defun install-execs ()
+  (config-tm)
   (install-files BINS      BIN_SRC_DIR    BIN_DIR)
   (install-files METHODS METHOD_SRC_DIR METHOD_DIR nil t)
   )