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