;;; -*-Emacs-Lisp-*- ;; SEMI-MK: installer for SEMI. ;;; Code: (defun config-semi () (let (prefix exec-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)) ) (load-file "SEMI-CFG") (load-file "SEMI-ELS") (princ (format "PREFIX=%s LISPDIR=%s\n" PREFIX LISPDIR)) ) (defun directory= (dir1 dir2) (string= (file-name-as-directory dir1)(file-name-as-directory dir2)) ) (defun compile-semi () (config-semi) (print load-path) (compile-elisp-modules semi-modules-to-compile ".") (compile-elisp-module 'mime-setup ".") ) (defun install-semi () (config-semi) (princ (format "%s\n" emacs-version)) (install-elisp-modules semi-modules "." SEMI_KERNEL_DIR) (install-elisp-modules '(mime-setup) "." SETUP_FILE_DIR) ) (defun install-execs () (config-semi) (install-files METHODS METHOD_SRC_DIR METHOD_DIR nil t) ) (defun config-semi-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 "SEMI-CFG") (load-file "SEMI-ELS") (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR)) )) (defun compile-semi-package () (config-semi-package) (if (fboundp 'batch-update-directory-autoloads) ;; XEmacs 21.5.19 and newer. (progn (add-to-list 'command-line-args-left ".") (add-to-list 'command-line-args-left "semi") (batch-update-directory-autoloads)) (setq autoload-package-name "semi") (add-to-list 'command-line-args-left ".") (batch-update-directory)) (add-to-list 'command-line-args-left ".") (Custom-make-dependencies) (compile-elisp-modules (append semi-modules-to-compile '(mime-setup auto-autoloads custom-load)) ".") ) (defun install-semi-package () (config-semi-package) (install-elisp-modules (append semi-modules '(mime-setup auto-autoloads custom-load)) "./" (expand-file-name SEMI_PREFIX (expand-file-name "lisp" PACKAGEDIR))) (delete-file "./auto-autoloads.el") (delete-file "./custom-load.el") ) ;;; SEMI-MK ends here