Makefile.am, debian/: Initial packaging; release 0.2.0.
[sod] / src / sod.asd
index d295c08..aae3be1 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-lisp-*-
 ;;;
-;;; System definition for the Simple Object Design translator
+;;; System definition for the Sensible Object Design translator
 ;;;
 ;;; (c) 2009 Straylight/Edgeware
 ;;;
@@ -34,7 +34,7 @@
 (defsystem sod
 
   ;; Boring copyright stuff.
-  :version "1.0.0"
+  :version "0.2.0"
   :author "Mark Wooding"
   :license "GNU General Public License, version 2 or later"
 
@@ -42,7 +42,7 @@
   :description "A Sensible Object Design for C."
 
   :long-description
-  "This system implements a fairly simple, yet powerful object system for
+  "This system implements a fairly simple, yet powerful, object system for
    plain old C.  Its main features are as follows.
 
      * Multiple inheritance, done properly (unlike C++, say), with a
@@ -97,7 +97,7 @@
      (:file "scanner-context-impl" :depends-on
            ("parser-proto" "scanner-proto"))))
 
-   (:file "package" :depends-on ("parser"))
+   (:file "package" :depends-on ("utilities" "parser"))
 
    ;; Lexical analysis.
    (:file "lexer-proto" :depends-on ("package" "parser"))
    ;; C type representation protocol.
    (:file "c-types-proto" :depends-on ("package"))
    (:file "c-types-impl" :depends-on ("c-types-proto"))
-   (:file "c-types-parse" :depends-on ("c-types-proto" "fragment-parse"))
+   (:file "c-types-parse" :depends-on
+         ("c-types-proto" "c-types-class-impl" "fragment-parse"))
 
    ;; Property set protocol.
    (:file "pset-proto" :depends-on ("package"))
    (:file "pset-parse" :depends-on ("pset-proto" "lexer-proto"))
 
    ;; Code generation protocol.
-   (:file "codegen-proto" :depends-on ("package"))
+   (:file "codegen-proto" :depends-on ("module-proto"))
    (:file "codegen-impl" :depends-on ("codegen-proto"))
 
    ;; Modules.
    (:file "class-finalize-impl" :depends-on ("class-finalize-proto"))
 
    ;; Method generation.
-   (:file "method-proto" :depends-on ("class-utilities"))
+   (:file "method-proto" :depends-on ("class-make-proto"))
    (:file "method-impl" :depends-on ("method-proto"))
+   (:file "method-aggregate" :depends-on ("method-impl"))
 
    ;; Class output.
-   (:file "class-output" :depends-on ("output-proto" "classes"))))
+   (:file "class-output" :depends-on
+         ("classes" "class-layout-impl" "method-impl" "output-proto"))
+
+   ;; Debugging and interactive testing.
+   (:file "debug" :depends-on ("builtin" "module-output"))))
 
 ;;;--------------------------------------------------------------------------
 ;;; Testing.
 
 (defmethod perform ((op test-op) (component (eql (find-system "sod"))))
-  (operate 'test-op "sod-test" :force t))
+  (declare (ignore op component))
+  (handler-bind (((or warning style-warning)
+                 (lambda (cond)
+                   (declare (ignore cond))
+                   (invoke-restart 'muffle-warning))))
+    (operate 'test-op "sod-test")))
 
 ;;;----- That's all, folks --------------------------------------------------