;;; -*-Emacs-Lisp-*-
;;;
-;;; $Id: inst-tm,v 7.2 1996/05/27 14:56:29 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 "../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 compile-el-files (path modules)
- (mapcar (function
- (lambda (module)
- (setq module (expand-file-name module path))
- (let ((el-file (concat module ".el"))
- (elc-file (concat module ".elc"))
- )
- (if (file-newer-than-file-p el-file elc-file)
- (byte-compile-file el-file)
- )
- )))
- modules))
-
-(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-el-files "../tl/" tl-modules)
- (compile-el-files "../mel/" mel-modules)
- (compile-el-files "./" tm-modules)
- (compile-el-files "mh-e/" tm-mh-e-modules)
- (compile-el-files "./" '("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 ((string-match "XEmacs" emacs-version)
- (insert (format "%s sgnus EMACS=%s PWD=`pwd`\n" MAKE emacs))
- )
- (t (cond ((<= emacs-major-version 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 30)
- (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 sgnus EMACS=%s PWD=`pwd`\n"
- MAKE emacs))
- )))))
- (write-file TM_GNUS_COMPILE)
- )
- )
-
-(defun install-el-file (src dest file)
- (let ((src-file (expand-file-name file src)))
- (if (file-exists-p src-file)
- (let ((full-path (expand-file-name file dest)))
- (if (file-exists-p full-path)
- (set-file-modes full-path el-file-mode)
- )
- (copy-file src-file full-path t t)
- (princ (format "%s -> %s\n" file dest))
- ))
- ))
-
-(defun install-el-files (src dest &rest files)
- (mapcar (function (lambda (file)
- (install-el-file src dest file)
- ))
- files))
-
-(defun install-elc (src dest file)
- (let ((src-file (expand-file-name file src)))
- (if (file-exists-p src-file)
- (let ((full-path (expand-file-name file dest)))
- (copy-file src-file full-path t t)
- (catch 'tag
- (while t
- (condition-case err
- (progn
- (delete-file src-file)
- (throw 'tag nil)
- )
- (error (princ (nth 1 err)))
- )))
- (princ (format "%s -> %s\n" file dest))
- ))
- ))
-
-(defun install-elc-files (src dest &rest files)
- (mapcar (function (lambda (file)
- (install-elc src dest file)
- ))
- files))
-
-(defun install-el-and-elc-files (src dest el-files elc-files)
- (if (not (file-exists-p dest))
- (make-directory dest t)
- )
- (apply (function install-el-files) src dest el-files)
- (apply (function install-elc-files) src dest elc-files)
+ (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 "../tm-mh-e")
+ (compile-elisp-module 'mime-setup ".")
+ (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-el-and-elc-files "../mel/" MEL_DIR mel-el-files mel-elc-files)
- (install-el-and-elc-files "./" TM_KERNEL_DIR tm-el-files tm-elc-files)
- (install-el-and-elc-files "mh-e/" TM_MHE_DIR
- tm-mh-e-el-files tm-mh-e-elc-files)
- (install-tm-gnus)
- (install-el-and-elc-files "./" SETUP_FILE_DIR setup-el-files setup-elc-files)
+ (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 ()
- (apply (function install-el-files) BIN_SRC_DIR BIN_DIR BINS)
- (apply (function install-el-files) METHOD_SRC_DIR METHOD_DIR METHODS)
+ (config-tm)
+ (install-files BINS BIN_SRC_DIR BIN_DIR)
+ (install-files METHODS METHOD_SRC_DIR METHOD_DIR nil t)
)
+
+;;; inst-tm ends here