X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2FCOMPILE;h=05d22621632b47a6f78bd61f978eefba5f6b4984;hb=c405875b2110b1be44100031a316c817737f1f8e;hp=4cf3e31bf36e6b9fc814604d0fdea7a86571c53e;hpb=a952fd857b6602d9e6a2a4ecada6922ecfdcb8d4;p=riece diff --git a/lisp/COMPILE b/lisp/COMPILE index 4cf3e31..05d2262 100644 --- a/lisp/COMPILE +++ b/lisp/COMPILE @@ -7,11 +7,13 @@ 'riece-emacs) '(riece-globals riece-options + riece-debug riece-version - riece-inlines riece-coding riece-complete + riece-addon + riece-mode ;; riece-identity -+-> riece-channel ;; +-> riece-user riece-identity @@ -19,6 +21,10 @@ riece-user riece-misc + riece-signal + + ;; riece-layout ---> riece-display + riece-layout riece-display riece-server @@ -37,23 +43,72 @@ riece-500 riece-commands + riece-irc riece ;; add-ons riece-ctcp riece-highlight + riece-log + riece-mini riece-rdcc riece-url - riece-unread)))) + 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 + riece-toolbar + riece-eval + riece-google + riece-keepalive)))) + +(defvar riece-icons + '(riece-command-quit + riece-command-join + riece-command-part + riece-command-previous-channel + riece-command-next-channel + riece-command-change-layout + riece-submit-bug-report)) (defun riece-compile-modules (modules) - (let ((load-path (cons nil load-path))) + (let ((load-path (cons nil load-path)) + error-modules) (while modules (let ((source (expand-file-name (concat (symbol-name (car modules)) ".el")))) (if (file-newer-than-file-p source (concat source "c")) - (byte-compile-file source))) - (setq modules (cdr modules))))) + (condition-case error + (byte-compile-file source) + (error + (setq error-modules (cons (car modules) error-modules)))))) + (setq modules (cdr modules))) + (if error-modules + (princ (concat "\n\ + WARNING: --------------------------------------------------------- + WARNING: Couldn't compile following modules: + WARNING: + WARNING: " (mapconcat #'symbol-name error-modules ", ") "\n\ + WARNING: + WARNING: You should probably stop here, try \"make distclean\" to clear + WARNING: the last build, and then reconfigure. + WARNING: ---------------------------------------------------------\n\n"))))) (defun riece-install-modules (modules dest just-print) (unless (or just-print (file-exists-p dest)) @@ -67,11 +122,27 @@ t t)) (princ (format "%s.elc -> %s\n" name dest)) (unless just-print - (copy-file (expand-file-name (concat name ".elc")) - (expand-file-name (concat name ".elc") dest) - t t))) + (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-icons (icons dest just-print) + (unless (or just-print (file-exists-p dest)) + (make-directory dest t)) + (while icons + (let ((name (symbol-name (car icons)))) + (when (file-exists-p (expand-file-name (concat name ".xpm"))) + (princ (format "%s.xpm -> %s\n" name dest)) + (unless just-print + (copy-file (expand-file-name (concat name ".xpm")) + (expand-file-name (concat name ".xpm") dest) + t t)))) + (setq icons (cdr icons)))) + (defun riece-install-just-print-p () (let ((flag (getenv "MAKEFLAGS")) case-fold-search) @@ -85,6 +156,10 @@ (riece-install-modules riece-modules (expand-file-name "riece" (car command-line-args-left)) + (riece-install-just-print-p)) + (riece-install-icons + riece-icons + (expand-file-name "riece" (car command-line-args-left)) (riece-install-just-print-p))) (defun riece-compile-package () @@ -101,6 +176,28 @@ (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)) + (riece-install-icons + riece-icons (expand-file-name "riece" (expand-file-name "lisp" (car command-line-args-left))) (riece-install-just-print-p))) + +(defun riece-test () + (let ((load-path (cons (expand-file-name "test") (cons nil load-path))) + (files (directory-files "test" t "^test-.*\\.el$")) + suite) + (require 'lunit-report) + (setq 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-report suite (car command-line-args-left))))