;;; -*-Emacs-Lisp-*- ;;; ;;; $Id: CANNA-CONFIG,v 1.3 1999-03-02 19:20:31 morioka Exp $ ;;; (load "apel/path-util") (add-path "apel") (defun config-canna () (let ((emacs (car command-line-args)) (srcdir (expand-file-name "src" source-directory)) prefix canna-includes canna-libraries arg) (while (setq arg (car command-line-args-left)) (cond ((string-match "^--prefix=" arg) (setq prefix (substring arg (match-end 0)))) ((string-match "^--with-canna-includes=" arg) (setq canna-includes (substring arg (match-end 0)))) ((string-match "^--with-canna-libraries=" arg) (setq canna-libraries (substring arg (match-end 0)))) ) (setq command-line-args-left (cdr command-line-args-left)) ) (or prefix (progn (require 'install) (setq prefix install-prefix)) ) (or canna-includes (setq canna-includes (expand-file-name "include" (let ((default-load-path '("/usr/local"))) (require 'path-util) (add-path prefix) (get-latest-path "canna") )))) (or canna-libraries (setq canna-libraries (let ((default-load-path '("/usr/local/lib" "/usr/lib")) dir) (require 'path-util) (add-path (expand-file-name "lib" prefix)) (while (and (setq dir (car default-load-path)) (not (file-exists-p (expand-file-name "libcanna.a" dir))) ) (setq default-load-path (cdr default-load-path))) dir))) (princ (format "\ emacs=%s srcdir=%s archlibdir=%s canna-includes=%s canna-libraries=%s " emacs srcdir exec-directory canna-includes canna-libraries)) (make-canna-makefile emacs srcdir canna-includes canna-libraries) )) (defun make-canna-makefile (emacs srcdir canna-includes canna-libraries) (if (file-exists-p "Makefile") (delete-file "Makefile") ) (if (string-match "sparc-sun-solaris2" system-configuration) (setq canna-libraries (concat canna-libraries " -R" canna-libraries)) ) (let ((buf (let (vc-follow-symlinks) (find-file "Makefile.in") ))) (setq buffer-read-only nil) (goto-char (point-min)) (and (re-search-forward "${emacs}") (replace-match emacs)) (goto-char (point-min)) (and (re-search-forward "${srcdir}") (replace-match srcdir)) (goto-char (point-min)) (and (re-search-forward "${archlibdir}") (replace-match exec-directory)) (goto-char (point-min)) (and (re-search-forward "${canna_includes}") (replace-match canna-includes)) (goto-char (point-min)) (and (re-search-forward "${canna_libraries}") (replace-match canna-libraries)) (write-file "Makefile") )) ;;; CANNA-CONFIG ends here