* pces.el: Require `pces-raw' if file-coding feature is not
[elisp/apel.git] / EMU-ELS
diff --git a/EMU-ELS b/EMU-ELS
index 8ba4731..4d14252 100644 (file)
--- a/EMU-ELS
+++ b/EMU-ELS
 ;;; -*-Emacs-Lisp-*-
-;;;
-;;; $Id: EMU-ELS,v 1.3 1997-08-30 05:30:43 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-mule-merged-emacs
-             '(emu-e20 emu-20)
-             )
-            (running-xemacs-with-mule
-             '(emu-x20 emu-20)
-             )
-            ((boundp 'MULE)
-             '(emu-mule)
-             )
-            ((boundp 'NEMACS)
-             '(emu-nemacs)
-             )
-            (t
-             '(emu-e19)
-             ))
-       emu-modules))
-
-(setq emu-modules
-      (nconc
-       (cond (running-emacs-18
-             '(emu-18 env)
-             )
-            (running-xemacs
-             '(emu-xemacs)
-             )
-            (t
-             '(emu-19)
-             )
-            )
-       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 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 (or (featurep 'mule) (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 (cons 'mcs-xm (cons 'mcs-20 mcs-modules)))
+               (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))
+  )
 
 ;;; EMU-ELS ends here