blob: 4b2578f4c33cffe2a5d052535e5409bddd8442f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
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")
+
|