;;; -*-Emacs-Lisp-*-
-;;;
-;;; $Id: EMH-MK,v 0.0 1997-03-18 16:34:00 morioka Exp $
-;;;
+
+;; EMH-MK: installer for EMH.
+
+;;; Code:
(defun config-emh ()
- (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))
- ))
- (load-file "EMH-CFG")
- (load-file "EMH-ELS")
- (princ (format "PREFIX=%s\n" PREFIX))
- ))
+ (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))
+ (config-emh-pixmap-dir)
+ )
+ (setq command-line-args-left (cdr command-line-args-left))
+ (load-file "EMH-CFG")
+ (load-file "EMH-ELS")
+ (princ (format "PREFIX=%s
+LISPDIR=%s\n" PREFIX LISPDIR))
+ )
(defun compile-emh ()
(config-emh)
(defun install-emh ()
(config-emh)
(install-elisp-modules emh-modules "./" EMH_DIR)
+ (if PIXMAPDIR (install-emh-icons))
+ )
+
+(defun config-emh-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 "EMH-CFG")
+ (load-file "EMH-ELS")
+ (setq emh-modules (append emh-modules
+ '(auto-autoloads custom-load)))
+ (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR))
+ (config-emh-pixmap-dir PACKAGEDIR)
+ ))
+
+(defun compile-emh-package ()
+ (config-emh-package)
+
+ (setq autoload-package-name "emh")
+ (add-to-list 'command-line-args-left ".")
+ (batch-update-directory)
+
+ (add-to-list 'command-line-args-left ".")
+ (Custom-make-dependencies)
+
+ (compile-elisp-modules emh-modules ".")
+ )
+
+(defun install-emh-package ()
+ (config-emh-package)
+ (install-elisp-modules emh-modules
+ "./"
+ (expand-file-name EMH_PREFIX
+ (expand-file-name "lisp"
+ PACKAGEDIR)))
+ (if PIXMAPDIR (install-emh-icons))
)
+(defun config-emh-pixmap-dir (&optional packagedir)
+ (let ((pixmap-dir (car command-line-args-left)))
+ (defvar PIXMAPDIR
+ (if (string= pixmap-dir "NONE")
+ (if packagedir
+ (expand-file-name "etc/emh/" packagedir)
+ (expand-file-name "emh/icons/" data-directory))
+ pixmap-dir)))
+ (if PIXMAPDIR
+ (princ (format "PIXMAPDIR is %s\n" PIXMAPDIR)))
+ (setq command-line-args-left (cdr command-line-args-left)))
+
+(defun install-emh-icons ()
+ (if (not (file-directory-p PIXMAPDIR))
+ (make-directory PIXMAPDIR t))
+ (let* ((case-fold-search t)
+ (icons (if (and (not (featurep 'xemacs))
+ (boundp 'emacs-major-version)
+ (>= emacs-major-version 21))
+ (directory-files "./etc/icons" t "\\.xpm$")))
+ icon dest)
+ (while icons
+ (setq icon (car icons)
+ icons (cdr icons)
+ dest (expand-file-name (file-name-nondirectory icon) PIXMAPDIR))
+ (princ (format "%s -> %s\n"
+ (file-name-nondirectory icon)
+ (substring (file-name-directory dest) 0 -1)))
+ (copy-file icon dest t))))
+
;;; EMH-MK ends here