(PACKAGEDIR): Check for (early|late|last)-package-hierarchies and
[elisp/semi.git] / SEMI-CFG
1 ;;; -*-Emacs-Lisp-*-
2
3 ;; SEMI-CFG: installation setting about SEMI.
4
5 ;;; Code:
6
7 (defvar default-load-path load-path)
8
9 (add-to-list 'load-path
10              (expand-file-name "../../site-lisp/apel" data-directory))
11 (add-to-list 'load-path
12              (expand-file-name "." data-directory))
13
14 (if (boundp 'LISPDIR)
15     (progn
16       (add-to-list 'default-load-path LISPDIR)
17       (add-to-list 'load-path LISPDIR)
18       (add-to-list 'load-path (expand-file-name "apel" LISPDIR))
19       ))
20
21 (defvar VERSION_SPECIFIC_LISPDIR nil)
22
23 (if VERSION_SPECIFIC_LISPDIR
24     (add-to-list 'load-path VERSION_SPECIFIC_LISPDIR))
25
26 (condition-case nil
27     (require 'install)
28   (error (error "Please install APEL 8.7 or later.")))
29
30 (add-path "bitmap-mule")
31 (add-path "flim")
32
33 (add-to-list 'load-path (expand-file-name "."))
34
35 (or (module-installed-p 'calist)
36     (error "Please install APEL 8.7 or later."))
37 (or (module-installed-p 'mime)
38     (error "Please install FLIM 1.6.0 or later."))
39 (if (module-installed-p 'tm-view)
40     (message "Please remove tm from load-path."))
41
42
43 ;;; @ Please specify optional package directory if you use them.
44 ;;;
45
46 ;; It is only necessary to use `add-path' if these packages are not
47 ;; already on the standard load-path of Emacs.
48
49 ;; Function `get-latest-path' detect latest version of such package
50 ;; under load-path directories. If you want to use a version of a
51 ;; package instead of latest version, please specify by argument of
52 ;; function `add-path'.
53
54 ;; Function `add-path' finds path under load-path directories. If a
55 ;; package does not exist in load-path, please specify by absolutely
56 ;; (`~/' is available), for example
57 ;;      (add-path "~/lib/elisp/bbdb")
58 ;; or
59 ;;      (add-path "/opt/share/xmule/site-lisp/bbdb")
60
61
62 ;;; @@ Please specify BBDB path.
63 ;;;
64
65 (let ((path (get-latest-path "bbdb" 'all-paths)))
66   (if path
67       (progn
68         (add-path path)
69         (add-path (expand-file-name "lisp" path)) ; run-in-place installation
70         )))
71
72 ;; Or please specify path.
73 ;; (add-path "bbdb-1.50" 'all-paths)
74
75
76 ;;;
77 ;;; @@ Please specify Emacs/W3 path.
78 ;;;
79
80 (let ((path (get-latest-path "w3" 'all-paths)))
81   (if path
82       (progn
83         (add-path path)
84         (add-path (expand-file-name "lisp" path)) ; run-in-place installation
85         )))
86
87 ;; Or please specify path.
88 ;; (add-path "w3-4.0pre.20" 'all-paths)
89
90
91 ;;;
92 ;;; @@ Please specify CUSTOM path.
93 ;;;
94
95 (add-latest-path "custom")
96
97
98 ;;; @ Please specify prefix of install directory.
99 ;;;
100
101 ;; Please specify install path prefix.
102 ;; If it is omitted, shared directory (maybe /usr/local is used).
103 (defvar PREFIX install-prefix)
104 ;;(setq PREFIX "~/")
105
106 ;; Please specify emu prefix [optional]
107 (setq EMU_PREFIX
108       (if (string-match "XEmacs" emacs-version)
109           "emu"
110         ""))
111
112 ;; Please specify SEMI prefix [optional]
113 (setq SEMI_PREFIX "semi")
114
115
116 ;;; @ executables
117 ;;;
118
119 ;; Please specify binary path. (for external method scripts)
120 (setq METHOD_DIR (expand-file-name "share/semi" PREFIX))
121
122
123 \f
124
125 ;;; @ optional settings
126 ;;;
127
128 ;; It is generated by automatically. Please set variable `PREFIX'.
129 ;; If you don't like default directory tree, please set it.
130 (defvar LISPDIR (install-detect-elisp-directory PREFIX))
131 ;; (setq install-default-elisp-directory "~/lib/emacs/lisp")
132
133 (setq SEMI_KERNEL_DIR   (expand-file-name SEMI_PREFIX   LISPDIR))
134 (setq SETUP_FILE_DIR    SEMI_KERNEL_DIR)
135
136 (setq METHOD_SRC_DIR "methods")
137 (setq METHODS
138       '("tm-au" "tm-file" "tm-html" "tm-image" "tm-mpeg"
139         "tm-plain" "tm-ps"
140         "tmdecode"))
141
142 (defvar PACKAGEDIR
143   (let ((dirs (append
144                (cond ((boundp 'early-package-hierarchies)
145                       (append (if early-package-load-path
146                                   early-package-hierarchies)
147                               (if late-package-load-path
148                                   late-package-hierarchies)
149                               (if last-package-load-path
150                                   last-package-hierarchies)))
151                      ((boundp 'early-packages)
152                       (append (if early-package-load-path
153                                   early-packages)
154                               (if late-package-load-path
155                                   late-packages)
156                               (if last-package-load-path
157                                   last-packages))))
158                (if (and (boundp 'configure-package-path)
159                         (listp configure-package-path))
160                    (delete "" configure-package-path))))
161         dir)
162     (while (not (file-exists-p (setq dir (car dirs))))
163       (setq dirs (cdr dirs)))
164     dir))
165
166 ;;; SEMI-CFG ends here