X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=inst-tm;h=56fd8249f751bc3798895e44cb9f3d9aed84d242;hb=6c79137304c0b1d6e94fe8cb3a38f3aad50e0195;hp=027305edb95bf1d2061a37149d8dec9b6eb66129;hpb=15cb3afb2b5a34521da0c387f61bda4a72998615;p=elisp%2Ftm.git diff --git a/inst-tm b/inst-tm index 027305e..56fd824 100644 --- a/inst-tm +++ b/inst-tm @@ -1,23 +1,43 @@ ;;; -*-Emacs-Lisp-*- ;;; -;;; $Id: inst-tm,v 6.0 1996/05/05 11:14:38 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 " @@ -26,141 +46,99 @@ 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 'tm-rich) (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) - (delete-file src-file) - (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