This commit was generated by cvs2svn to compensate for changes in r536,
[elisp/tm.git] / inst-tm
diff --git a/inst-tm b/inst-tm
index 8996bc8..56fd824 100644 (file)
--- a/inst-tm
+++ b/inst-tm
@@ -1,23 +1,43 @@
 ;;; -*-Emacs-Lisp-*-
 ;;;
-;;; $Id: inst-tm,v 7.23 1996/08/22 14:28:43 morioka Exp morioka $
+;;; $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 "../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-path mel-path tm-path)
+(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)
-    (if (member tl-path default-load-path)
-       (insert "
 
-\(require \'tl-misc)")
+    ;; generate tl setting
+    (if (member tl-absolute-path default-load-path)
+       (insert "\n(require \'tl-misc)")
       (insert
        (format "
 
              load-path)))
   (require \'tl-misc)
   )
-\(add-path \"%s\")" tl-path tl-path))
+\(add-path \"%s\")" tl-absolute-path tl-path))
       )
+    
+    ;; generate MU load-path setting
+    (or (member mu-path default-load-path)
+       (insert (format "\n(add-path \"%s\")" mu-path)))
+    
+    ;; generate MEL load-path setting
     (or (member mel-path default-load-path)
-       (insert
-        (format "
-\(add-path \"%s\")" mel-path)))
+       (insert (format "\n(add-path \"%s\")" mel-path)))
+    
+    ;; generate tm load-path setting
     (or (member tm-path default-load-path)
+       (insert (format "\n(add-path \"%s\")" tm-path)))
+    
+    ;; generate tm external-methods path setting
+    (or (string= METHOD_DIR exec-directory)
        (insert
-        (format "
-\(add-path \"%s\")" tm-path)))
-    (insert (format "
-(defvar mime-viewer/external-progs \"%s\")" METHOD_DIR))
+        (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)
   (load "rmailsum")
   (require 'tm-mh-e)
-  (make-mime-setup TL_DIR MEL_DIR TM_KERNEL_DIR)
-  (compile-elisp-modules tl-modules            "../tl/")
-  (compile-elisp-modules mel-modules           "../mel/")
+  (make-mime-setup TL_DIR TL_RELATIVE_DIR MU_RELATIVE_DIR
+                  MEL_RELATIVE_DIR TM_KERNEL_RELATIVE_DIR)
+  (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)
-    ))
-
-(defun install-el-and-elc-files (src dest el-files elc-files)
-  (install-files el-files src dest nil t)
-  (install-files elc-files src dest 'move)
+  (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-el-and-elc-files "../tl/" TL_DIR tl-el-files tl-elc-files)
-  (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-el-and-elc-files "./" SETUP_FILE_DIR
-                           '("mime-setup.el") '("mime-setup.elc"))
+  (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)
   )