;;; -*- Emacs-Lisp -*- (defvar riece-modules (cons 'riece-compat (cons (if (featurep 'xemacs) 'riece-xemacs 'riece-emacs) '(riece-globals riece-options riece-version riece-coding riece-complete riece-addon riece-mode ;; riece-identity -+-> riece-channel ;; +-> riece-user riece-identity riece-channel riece-user riece-misc riece-signal ;; riece-layout ---> riece-display riece-layout riece-display riece-server ;; riece-channel -+-> riece-naming ;; riece-user -+ riece-naming riece-message ;; riece-filter calls riece-{handle,000,200,300,400,500} riece-filter riece-handle riece-000 riece-200 riece-300 riece-400 riece-500 riece-commands riece-irc riece ;; add-ons riece-ctcp riece-highlight riece-log riece-mini riece-rdcc riece-url riece-unread riece-doctor riece-alias riece-skk-kakutei riece-foolproof riece-guess riece-history riece-button riece-keyword riece-menu riece-icon riece-async riece-lsdb riece-xface riece-ctlseq riece-ignore riece-hangman riece-biff riece-kakasi riece-yank)))) (defun riece-compile-modules (modules) (let ((load-path (cons nil load-path))) (while modules (let ((source (expand-file-name (concat (symbol-name (car modules)) ".el")))) (if (file-newer-than-file-p source (concat source "c")) (condition-case error (byte-compile-file source) (error)))) (setq modules (cdr modules))))) (defun riece-install-modules (modules dest just-print) (unless (or just-print (file-exists-p dest)) (make-directory dest t)) (while modules (let ((name (symbol-name (car modules)))) (princ (format "%s.el -> %s\n" name dest)) (unless just-print (copy-file (expand-file-name (concat name ".el")) (expand-file-name (concat name ".el") dest) t t)) (princ (format "%s.elc -> %s\n" name dest)) (unless just-print (if (file-exists-p (expand-file-name (concat name ".elc"))) (copy-file (expand-file-name (concat name ".elc")) (expand-file-name (concat name ".elc") dest) t t) (princ (format "(%s was not successfully compiled, ignored)\n" name))))) (setq modules (cdr modules)))) (defun riece-install-just-print-p () (let ((flag (getenv "MAKEFLAGS")) case-fold-search) (if flag (string-match "^\\(\\(--[^ ]+ \\)+-\\|[^ =-]\\)*n" flag)))) (defun riece-compile () (riece-compile-modules riece-modules)) (defun riece-install () (riece-install-modules riece-modules (expand-file-name "riece" (car command-line-args-left)) (riece-install-just-print-p))) (defun riece-compile-package () (setq autoload-package-name "riece") (add-to-list 'command-line-args-left ".") (batch-update-directory) (add-to-list 'command-line-args-left ".") (Custom-make-dependencies) (riece-compile-modules (append riece-modules '(auto-autoloads custom-load)))) (defun riece-install-package () (riece-install-modules (append riece-modules '(auto-autoloads custom-load)) (expand-file-name "riece" (expand-file-name "lisp" (car command-line-args-left))) (riece-install-just-print-p))) (defun riece-test () (require 'lunit) (let ((load-path (cons (expand-file-name "test") (cons nil load-path))) (files (directory-files "test" t "^test-.*\\.el$")) (suite (lunit-make-test-suite))) (while files (when (file-regular-p (car files)) (load-file (car files)) (lunit-test-suite-add-test suite (lunit-make-test-suite-from-class (intern (file-name-sans-extension (file-name-nondirectory (car files))))))) (setq files (cdr files))) (lunit suite)))