Header fix.
[elisp/apel.git] / EMU-ELS
1 ;;; -*-Emacs-Lisp-*-
2
3 ;; EMU-ELS: list of EMU modules to install
4
5 ;;; Code:
6
7 (setq emu-modules (cons 'emu
8                         (if (if (featurep 'xemacs)
9                                 ;; running-xemacs-19_14-or-later
10                                 (or (>= emacs-major-version 20)
11                                     (and (= emacs-major-version 19)
12                                          (>= emacs-minor-version 14)))
13                               ;; running-emacs-19_29-or-later
14                               (or (>= emacs-major-version 20)
15                                   (and (= emacs-major-version 19)
16                                        (>= emacs-minor-version 29))))
17                             '(richtext)
18                           '(tinyrich))))
19
20 (setq emu-modules-to-compile nil)
21
22 (setq emu-modules-not-to-compile nil)
23
24 (setq pcustom-modules (if (and (module-installed-p 'custom)
25                                ;; new custom requires widget.
26                                (module-installed-p 'widget))
27                           '(pcustom)
28                         ;; XXX: order is significant in current make process.
29                         '(tinycustom pcustom)))
30
31 (let ((poe-modules '(poe))
32       (pces-modules '(pces))
33       (poem-modules '(poem))
34       (mcs-modules '(mcharset))
35       (invisible-modules '(invisible))
36       (pccl-modules '(pccl)))
37   (cond ((featurep 'xemacs)
38          (setq poe-modules (cons 'poe-xemacs poe-modules)
39                invisible-modules (cons 'inv-xemacs invisible-modules))
40          )
41         ((>= emacs-major-version 19)
42          (setq invisible-modules (cons 'inv-19 invisible-modules))
43          (if (and (= emacs-major-version 19)
44                   (<= emacs-minor-version 28))
45              (setq poe-modules (cons 'localhook poe-modules))
46            )
47          )
48         (t
49          (setq poe-modules (cons 'env (cons 'poe-18 (cons 'localhook poe-modules)))
50                invisible-modules (cons 'inv-18 invisible-modules))
51          ))
52   (cond ((featurep 'xemacs)
53          (if (featurep 'file-coding)
54              (setq pces-modules (cons 'pces-xfc (cons 'pces-20 pces-modules)))
55            )
56          (if (featurep 'mule)
57              (setq pces-modules (cons 'pces-xm pces-modules))
58            (setq pces-modules (cons 'pces-raw pces-modules))
59            ))
60         ((featurep 'mule)
61          (cond ((>= emacs-major-version 20)
62                 (setq pces-modules
63                       (cons 'pces-e20 (cons 'pces-20 pces-modules)))
64                 (or (and (fboundp 'set-buffer-multibyte)
65                          (subrp (symbol-function 'set-buffer-multibyte)))
66                     (setq pces-modules (cons 'pces-e20_2 pces-modules)))
67                 )
68                (t
69                 ;; for MULE 1.* and 2.*
70                 (setq pces-modules (cons 'pces-om pces-modules))
71                 )))
72         ((boundp 'NEMACS)
73          ;; for Nemacs and Nepoch
74          (setq pces-modules (cons 'pces-nemacs pces-modules))
75          )
76         (t
77          (setq pces-modules (cons 'pces-raw pces-modules))
78          ))
79   (cond ((featurep 'mule)
80          (cond ((featurep 'xemacs)
81                 (setq poem-modules (cons 'poem-xm poem-modules)
82                       mcs-modules (append '(mcs-xmu mcs-xm mcs-20)
83                                           mcs-modules))
84                 (if (featurep 'utf-2000)
85                     (setq emu-modules-not-to-compile
86                           (cons 'mcs-xmu emu-modules-not-to-compile)))
87                 (if (>= emacs-major-version 21)
88                     (setq pccl-modules (cons 'pccl-20 pccl-modules))
89                   ))
90                ((>= emacs-major-version 20)
91                 (setq poem-modules (cons 'poem-e20 poem-modules)
92                       mcs-modules (cons 'mcs-e20 (cons 'mcs-20 mcs-modules))
93                       pccl-modules (cons 'pccl-20 pccl-modules))
94                 (setq poem-modules
95                       (cons
96                        (if (and
97                             (fboundp 'set-buffer-multibyte)
98                             (subrp (symbol-function 'set-buffer-multibyte)))
99                            'poem-e20_3
100                          'poem-e20_2)
101                        poem-modules))
102                 )
103                (t
104                 (setq poem-modules (cons 'poem-om poem-modules)
105                       mcs-modules (cons 'mcs-om mcs-modules)
106                       pccl-modules (cons 'pccl-om pccl-modules)
107                       emu-modules (cons 'emu-mule emu-modules))
108                 ))
109          )
110         ((boundp 'NEMACS)
111          (setq poem-modules (cons 'poem-nemacs poem-modules)
112                mcs-modules (cons 'mcs-nemacs mcs-modules))
113          )
114         (t
115          (setq poem-modules (cons 'poem-ltn1 poem-modules)
116                mcs-modules (cons 'mcs-ltn1 mcs-modules))
117          ))
118
119   (setq emu-modules (append poe-modules
120                             pces-modules poem-modules
121                             mcs-modules invisible-modules
122                             pccl-modules pcustom-modules
123                             emu-modules))
124
125   (setq emu-modules (cons 'broken emu-modules))
126   (setq emu-modules (cons 'static emu-modules))
127   )
128
129 (let ((modules emu-modules)
130       module)
131   (while modules
132     (setq module (car modules)
133           modules (cdr modules))
134     (if (memq module emu-modules-not-to-compile)
135         nil
136       (setq emu-modules-to-compile (nconc emu-modules-to-compile
137                                           (list module))))))
138
139 ;;; EMU-ELS ends here