;;; Code:
(defun config-mu ()
- (let (prefix)
- (setq prefix (car command-line-args-left))
- (and prefix
- (not (string-equal "NONE" prefix))
- (progn
- (defvar PREFIX prefix)
- (setq command-line-args-left (cdr command-line-args-left))
- ))
+ (let (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 "MU-CFG")
(load-file "MU-ELS")
- (princ (format "PREFIX=%s\n" PREFIX))
- ))
+ (princ (format "PREFIX=%s
+LISPDIR=%s\n" PREFIX LISPDIR))))
(defun compile-mu ()
(config-mu)
- (compile-elisp-modules mu-modules ".")
- )
+ (compile-elisp-modules mu-modules-to-compile "."))
(defun install-mu ()
(config-mu)
- (install-elisp-modules mu-modules "./" MU_DIR)
- )
+ (install-elisp-modules mu-modules "./" MU_DIR))
+
+(defun config-mu-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 "MU-CFG")
+ (load-file "MU-ELS")
+ (setq mu-modules-to-compile (append mu-modules-to-compile
+ '(auto-autoloads custom-load)))
+ (setq mu-modules (append mu-modules-to-compile
+ mu-modules-not-to-compile))
+ (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR))))
+
+(defun compile-mu-package ()
+ (config-mu-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 "mu")
+ (batch-update-directory-autoloads))
+ (setq autoload-package-name "mu")
+ (add-to-list 'command-line-args-left ".")
+ (batch-update-directory))
+
+ (add-to-list 'command-line-args-left ".")
+ (Custom-make-dependencies)
+
+ (compile-elisp-modules mu-modules-to-compile "."))
+
+(defun install-mu-package ()
+ (config-mu-package)
+ (install-elisp-modules mu-modules
+ "./"
+ (expand-file-name MU_PREFIX
+ (expand-file-name "lisp"
+ PACKAGEDIR))))
+
+(load "bytecomp" nil t)
+
+(if (fboundp 'byte-compile-file-form-custom-declare-variable)
+ nil
+ ;; Bind defcustom'ed variables when byte-compiling.
+ (put 'custom-declare-variable 'byte-hunk-handler
+ 'byte-compile-file-form-custom-declare-variable)
+ (defun byte-compile-file-form-custom-declare-variable (form)
+ (if (memq 'free-vars byte-compile-warnings)
+ (setq byte-compile-bound-variables
+ (cons (nth 1 (nth 1 form)) byte-compile-bound-variables)))
+ form))
+
+(cond ((featurep 'xemacs)
+ ;; Shut up!
+ (setq byte-compile-warnings
+ (delq 'unused-vars
+ (copy-sequence byte-compile-default-warnings))))
+ ((and (boundp 'emacs-major-version)
+ (or (> emacs-major-version 20)
+ (and (eq emacs-major-version 20)
+ (>= emacs-minor-version 3))))
+ ;; Compiler macro for replacing `sref' with `aref'.
+ (put 'sref 'byte-optimizer
+ (lambda (form)
+ (cons 'aref (cdr form))))))
;;; MU-MK ends here