diff -urN linedit_0.15.12.orig/linedit.asd linedit_0.15.12/linedit.asd --- linedit_0.15.12.orig/linedit.asd 2004-08-04 22:43:07.576054400 -0500 +++ linedit_0.15.12/linedit.asd 2004-08-04 23:04:36.314136432 -0500 @@ -26,33 +26,6 @@ (in-package :linedit-system) -(defvar *gcc* "/usr/bin/gcc") - -(defvar *gcc-options* '(#-darwin "-shared" - #+darwin "-bundle" - "-fPIC")) - -;;; Separate class so that we don't mess up other packages -(defclass uffi-c-source-file (c-source-file) ()) - -(defmethod output-files ((o compile-op) (c uffi-c-source-file)) - (list (make-pathname :name (component-name c) - :type "so" - :defaults (component-pathname c)))) - -(defmethod perform ((o load-op) (c uffi-c-source-file)) - (let ((loader (intern "LOAD-FOREIGN-LIBRARY" :uffi))) - (dolist (f (asdf::input-files o c)) - (funcall loader f)))) - -(defmethod perform ((o compile-op) (c uffi-c-source-file)) - (unless (zerop (run-shell-command "~A ~A ~{~A ~}-o ~A" - *gcc* - (namestring (component-pathname c)) - *gcc-options* - (namestring (car (output-files o c))))) - (error 'operation-error :component c :operation o))) - (defsystem :linedit :version "0.15.12" :depends-on (:uffi :terminfo :osicat) @@ -64,10 +37,10 @@ (:file "matcher" :depends-on ("packages")) ;; Backend - (:file "backend" :depends-on ("utility-macros")) - (:uffi-c-source-file "terminal_glue") + (:file "uffi-loader" :depends-on ("packages")) + (:file "backend" :depends-on ("utility-macros" "uffi-loader")) (:file "terminal-translations" :depends-on ("packages")) - (:file "terminal" :depends-on ("terminal-translations" "backend" "terminal_glue")) + (:file "terminal" :depends-on ("terminal-translations" "backend" "uffi-loader")) (:file "smart-terminal" :depends-on ("terminal" "matcher")) (:file "dumb-terminal" :depends-on ("terminal")) @@ -76,8 +49,7 @@ (:file "line" :depends-on ("utility-macros")) (:file "buffer" :depends-on ("utility-macros")) (:file "command-keys" :depends-on ("packages")) - (:uffi-c-source-file "signals") - (:file "editor" :depends-on ("backend" "rewindable" "signals" + (:file "editor" :depends-on ("backend" "rewindable" "line" "buffer" "command-keys")) (:file "main" :depends-on ("editor")) (:file "complete" :depends-on ("utility-macros")) diff -urN linedit_0.15.12.orig/uffi-loader.lisp linedit_0.15.12/uffi-loader.lisp --- linedit_0.15.12.orig/uffi-loader.lisp 1969-12-31 18:00:00.000000000 -0600 +++ linedit_0.15.12/uffi-loader.lisp 2004-08-04 22:48:23.525022856 -0500 @@ -0,0 +1,7 @@ +;;;; -*- mode: lisp; syntax: common-lisp; indent-tabs-mode: nil; base: 10; package: linedit -*- + +(in-package :linedit) + +(uffi:load-foreign-library #p"/usr/lib/linedit/signals.so") +(uffi:load-foreign-library #p"/usr/lib/linedit/terminal_glue.so") +