forked from wanderlust/semi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SEMI-MK
100 lines (86 loc) · 2.84 KB
/
SEMI-MK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
;;; -*-Emacs-Lisp-*-
;; SEMI-MK: installer for SEMI.
;;; Code:
(defun config-semi ()
(let (prefix exec-prefix lisp-dir version-specific-lisp-dir)
(and (setq prefix (car command-line-args-left))
(or (string-equal "NONE" prefix)
(defvar PREFIX prefix)
))
(setq command-line-args-left (cdr command-line-args-left))
(and (setq lisp-dir (car command-line-args-left))
(or (string-equal "NONE" lisp-dir)
(defvar LISPDIR lisp-dir)
))
(setq command-line-args-left (cdr command-line-args-left))
(and (setq version-specific-lisp-dir (car command-line-args-left))
(or (string-equal "NONE" version-specific-lisp-dir)
(progn
(defvar VERSION_SPECIFIC_LISPDIR version-specific-lisp-dir)
(princ (format "VERSION_SPECIFIC_LISPDIR=%s\n"
VERSION_SPECIFIC_LISPDIR)))
))
(setq command-line-args-left (cdr command-line-args-left))
)
(load-file "SEMI-CFG")
(load-file "SEMI-ELS")
(princ (format "PREFIX=%s
LISPDIR=%s\n" PREFIX LISPDIR))
)
(defun directory= (dir1 dir2)
(string= (file-name-as-directory dir1)(file-name-as-directory dir2))
)
(defun compile-semi ()
;; to avoid to read situation-examples-file at compile time.
(setq mime-situation-examples-file nil)
(config-semi)
(print load-path)
(compile-elisp-modules semi-modules-to-compile ".")
(compile-elisp-module 'mime-setup ".")
)
(defun install-semi ()
(config-semi)
(princ (format "%s\n" emacs-version))
(install-elisp-modules semi-modules "." SEMI_KERNEL_DIR)
(install-elisp-modules '(mime-setup) "." SETUP_FILE_DIR)
)
(defun config-semi-package ()
(let (package-dir)
(and (setq package-dir (car command-line-args-left))
(or (string= "NONE" package-dir)
(defvar PACKAGEDIR package-dir)
))
(setq command-line-args-left (cdr command-line-args-left))
(load-file "SEMI-CFG")
(load-file "SEMI-ELS")
(princ (format "PACKAGEDIR=%s\n" PACKAGEDIR))
))
(defun compile-semi-package ()
(config-semi-package)
(if (fboundp 'batch-update-directory-autoloads)
;; XEmacs 21.5.19 and newer.
(progn
(add-to-list 'command-line-args-left ".")
(add-to-list 'command-line-args-left "semi")
(batch-update-directory-autoloads))
(setq autoload-package-name "semi")
(add-to-list 'command-line-args-left ".")
(batch-update-directory))
(add-to-list 'command-line-args-left ".")
(Custom-make-dependencies)
(compile-elisp-modules (append semi-modules-to-compile
'(mime-setup auto-autoloads custom-load))
".")
)
(defun install-semi-package ()
(config-semi-package)
(install-elisp-modules (append semi-modules
'(mime-setup auto-autoloads custom-load))
"./"
(expand-file-name SEMI_PREFIX
(expand-file-name "lisp"
PACKAGEDIR)))
(delete-file "./auto-autoloads.el")
(delete-file "./custom-load.el")
)
;;; SEMI-MK ends here