+;;; -*-Emacs-Lisp-*-
+;;;
+;;; $Id: CANNA-CONFIG,v 1.1 1998-01-16 08:51:11 morioka Exp $
+;;;
+
+(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"))
+ 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 dir)))
+ 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")
+ )
+ (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