;;; -*-Emacs-Lisp-*-
-;;;
-;;; $Id: EMU-ELS,v 1.5 1998-04-16 23:07:34 morioka Exp $
-;;;
-
-(setq emu-modules
- (cons
- 'emu
- (if (or running-emacs-19_29-or-later
- running-xemacs-19_14-or-later)
- '(richtext)
- '(tinyrich)
- )))
-
-(setq emu-modules
- (nconc
- (cond (running-xemacs
- ;; for XEmacs
- (cons 'emu-xemacs
- (if (featurep 'mule)
- '(emu-20 emu-x20) ; for XEmacs with MULE
- '(emu-latin1))) ; for XEmacs without MULE
- )
- ((featurep 'mule)
- ;; for Emacs 20.1 or later
- '(emu-20 emu-e19 emu-e20)
- )
- ((boundp 'MULE)
- ;; for MULE 1.* and MULE 2.*
- (cons 'emu-mule
- (if running-emacs-18
- '(emu-18 env)
- '(emu-e19)))
- )
- ((boundp 'NEMACS)
- ;; for NEmacs
- '(emu-18 emu-nemacs)
- )
- (t
- ;; for Emacs 19.34
- '(emu-e19 emu-latin1)
- ))
- emu-modules))
+
+;; EMU-ELS: list of EMU modules to install
+
+;;; Code:
+
+(setq emu-modules (cons 'emu
+ (if (if (featurep 'xemacs)
+ ;; running-xemacs-19_14-or-later
+ (or (>= emacs-major-version 20)
+ (and (= emacs-major-version 19)
+ (>= emacs-minor-version 14)))
+ ;; running-emacs-19_29-or-later
+ (or (>= emacs-major-version 20)
+ (and (= emacs-major-version 19)
+ (>= emacs-minor-version 29))))
+ '(richtext)
+ '(tinyrich))))
+
+(setq emu-modules-to-compile nil)
+
+(setq emu-modules-not-to-compile nil)
+
+(setq pcustom-modules (if (and (module-installed-p 'custom)
+ ;; new custom requires widget.
+ (module-installed-p 'widget))
+ '(pcustom)
+ ;; XXX: order is significant in current make process.
+ '(tinycustom pcustom)))
+
+(let ((poe-modules '(poe))
+ (pces-modules '(pces))
+ (poem-modules '(poem))
+ (mcs-modules '(mcharset))
+ (invisible-modules '(invisible))
+ (pccl-modules '(pccl)))
+ (cond ((featurep 'xemacs)
+ (setq poe-modules (cons 'poe-xemacs poe-modules)
+ invisible-modules (cons 'inv-xemacs invisible-modules))
+ )
+ ((>= emacs-major-version 19)
+ (setq invisible-modules (cons 'inv-19 invisible-modules))
+ (if (and (= emacs-major-version 19)
+ (<= emacs-minor-version 28))
+ (setq poe-modules (cons 'localhook poe-modules))
+ )
+ )
+ (t
+ (setq poe-modules (cons 'env (cons 'poe-18 (cons 'localhook poe-modules)))
+ invisible-modules (cons 'inv-18 invisible-modules))
+ ))
+ (cond ((featurep 'xemacs)
+ (if (featurep 'file-coding)
+ (setq pces-modules (cons 'pces-xfc (cons 'pces-20 pces-modules)))
+ )
+ (if (featurep 'mule)
+ (setq pces-modules (cons 'pces-xm pces-modules))
+ (setq pces-modules (cons 'pces-raw pces-modules))
+ ))
+ ((featurep 'mule)
+ (cond ((>= emacs-major-version 20)
+ (setq pces-modules
+ (cons 'pces-e20 (cons 'pces-20 pces-modules)))
+ (or (and (fboundp 'set-buffer-multibyte)
+ (subrp (symbol-function 'set-buffer-multibyte)))
+ (setq pces-modules (cons 'pces-e20_2 pces-modules)))
+ )
+ (t
+ ;; for MULE 1.* and 2.*
+ (setq pces-modules (cons 'pces-om pces-modules))
+ )))
+ ((boundp 'NEMACS)
+ ;; for Nemacs and Nepoch
+ (setq pces-modules (cons 'pces-nemacs pces-modules))
+ )
+ (t
+ (setq pces-modules (cons 'pces-raw pces-modules))
+ ))
+ (cond ((featurep 'mule)
+ (cond ((featurep 'xemacs)
+ (setq poem-modules (cons 'poem-xm poem-modules)
+ mcs-modules (append '(mcs-xmu mcs-xm mcs-20)
+ mcs-modules))
+ (if (featurep 'utf-2000)
+ (setq emu-modules-not-to-compile
+ (cons 'mcs-xmu emu-modules-not-to-compile)))
+ (if (>= emacs-major-version 21)
+ (setq pccl-modules (cons 'pccl-20 pccl-modules))
+ ))
+ ((>= emacs-major-version 20)
+ (setq poem-modules (cons 'poem-e20 poem-modules)
+ mcs-modules (cons 'mcs-e20 (cons 'mcs-20 mcs-modules))
+ pccl-modules (cons 'pccl-20 pccl-modules))
+ (setq poem-modules
+ (cons
+ (if (and
+ (fboundp 'set-buffer-multibyte)
+ (subrp (symbol-function 'set-buffer-multibyte)))
+ 'poem-e20_3
+ 'poem-e20_2)
+ poem-modules))
+ )
+ (t
+ (setq poem-modules (cons 'poem-om poem-modules)
+ mcs-modules (cons 'mcs-om mcs-modules)
+ pccl-modules (cons 'pccl-om pccl-modules)
+ emu-modules (cons 'emu-mule emu-modules))
+ ))
+ )
+ ((boundp 'NEMACS)
+ (setq poem-modules (cons 'poem-nemacs poem-modules)
+ mcs-modules (cons 'mcs-nemacs mcs-modules))
+ )
+ (t
+ (setq poem-modules (cons 'poem-ltn1 poem-modules)
+ mcs-modules (cons 'mcs-ltn1 mcs-modules))
+ ))
+
+ (setq emu-modules (append poe-modules
+ pces-modules poem-modules
+ mcs-modules invisible-modules
+ pccl-modules pcustom-modules
+ emu-modules))
+
+ (setq emu-modules (cons 'broken emu-modules))
+ (setq emu-modules (cons 'static emu-modules))
+ )
+
+(let ((modules emu-modules)
+ module)
+ (while modules
+ (setq module (car modules)
+ modules (cdr modules))
+ (if (memq module emu-modules-not-to-compile)
+ nil
+ (setq emu-modules-to-compile (nconc emu-modules-to-compile
+ (list module))))))
;;; EMU-ELS ends here