/[linedit]/src/linedit.asd
ViewVC logotype

Contents of /src/linedit.asd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.37 - (show annotations)
Tue Sep 14 19:56:10 2010 UTC (3 years, 7 months ago) by nsiivola
Branch: MAIN
CVS Tags: HEAD
Changes since 1.36: +1 -3 lines
0.17.0: release version

 * Only real difference to 0.16 is compatibility with modern Osicat.
1 ;; Copyright (c) 2003 Nikodemus Siivola
2 ;;
3 ;; Permission is hereby granted, free of charge, to any person obtaining
4 ;; a copy of this software and associated documentation files (the
5 ;; "Software"), to deal in the Software without restriction, including
6 ;; without limitation the rights to use, copy, modify, merge, publish,
7 ;; distribute, sublicense, and/or sell copies of the Software, and to
8 ;; permit persons to whom the Software is furnished to do so, subject to
9 ;; the following conditions:
10 ;;
11 ;; The above copyright notice and this permission notice shall be included
12 ;; in all copies or substantial portions of the Software.
13 ;;
14 ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 ;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 ;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 ;; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18 ;; CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19 ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20 ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22 (defpackage :linedit-system
23 (:use :cl :asdf))
24
25 (in-package :linedit-system)
26
27 (defvar *gcc* "/usr/bin/gcc")
28
29 (defvar *gcc-options*
30 #-(or darwin macosx)
31 (list "-shared" "-fPIC")
32 #+(or darwin macosx)
33 (append
34 (list "-dynamic" "-bundle")
35 #+(or x86 x86-64)
36 (list "-arch" "x86_64" "-arch" "i386")
37 #-sbcl
38 (list "/usr/lib/bundle1.o" "-flat_namespace" "-undefined" "suppress")))
39
40 ;;; Separate class so that we don't mess up other packages
41 (defclass uffi-c-source-file (c-source-file) ())
42
43 (defmethod output-files ((o compile-op) (c uffi-c-source-file))
44 (list (make-pathname :name (component-name c)
45 :type #-(or darwin macosx) "so" #+(or darwin macosx) "dylib"
46 :defaults (component-pathname c))))
47
48 (defmethod perform ((o load-op) (c uffi-c-source-file))
49 (let ((loader (intern (symbol-name '#:load-foreign-library) :uffi)))
50 (dolist (f (asdf::input-files o c))
51 (funcall loader f :module (pathname-name f)))))
52
53 (defmethod perform ((o compile-op) (c uffi-c-source-file))
54 (unless (zerop (run-shell-command "~A ~A ~{~A ~}-o ~A"
55 *gcc*
56 (namestring (component-pathname c))
57 *gcc-options*
58 (namestring (car (output-files o c)))))
59 (error 'operation-error :component c :operation o)))
60
61 (defsystem :linedit
62 :version "0.17.0"
63 :depends-on (:uffi :terminfo :osicat)
64 :components
65 (;; Common
66 (:file "packages")
67 (:file "utility-functions" :depends-on ("packages"))
68 (:file "utility-macros" :depends-on ("packages" "utility-functions"))
69 (:file "matcher" :depends-on ("packages"))
70
71 ;; Backend
72 (:file "backend" :depends-on ("utility-macros"))
73 (:uffi-c-source-file "terminal_glue")
74 (:file "terminal-translations" :depends-on ("packages"))
75 (:file "terminal" :depends-on ("terminal-translations" "backend" "terminal_glue"))
76 (:file "smart-terminal" :depends-on ("terminal" "matcher"))
77 (:file "dumb-terminal" :depends-on ("terminal"))
78
79 ;; Editor
80 (:file "rewindable" :depends-on ("utility-macros"))
81 (:file "line" :depends-on ("utility-macros"))
82 (:file "buffer" :depends-on ("utility-macros"))
83 (:file "command-keys" :depends-on ("packages"))
84 (:uffi-c-source-file "signals")
85 (:file "editor" :depends-on ("backend" "rewindable" "signals"
86 "line" "buffer" "command-keys"))
87 (:file "main" :depends-on ("editor"))
88 (:file "complete" :depends-on ("utility-macros"))
89 (:file "command-functions" :depends-on ("editor"))
90 #+sbcl (:file "sbcl-repl" :depends-on ("main"))))

  ViewVC Help
Powered by ViewVC 1.1.5