X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/a07d8d005f69c0f9f5da2e09c6ee39cb1e1801aa..dea4d05507e59ab779ed4bb209e05971d87e260c:/sod.asd diff --git a/sod.asd b/sod.asd deleted file mode 100644 index 54214fc..0000000 --- a/sod.asd +++ /dev/null @@ -1,89 +0,0 @@ -;;; -*-lisp-*- -;;; -;;; System definition for SOD -;;; -;;; (c) 2009 Straylight/Edgeware -;;; - -;;;----- Licensing notice --------------------------------------------------- -;;; -;;; This file is part of the Simple Object Definition system. -;;; -;;; SOD is free software; you can redistribute it and/or modify -;;; it under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 2 of the License, or -;;; (at your option) any later version. -;;; -;;; SOD is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with SOD; if not, write to the Free Software Foundation, -;;; Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -(cl:defpackage #:sod-package - (:use #:common-lisp #:asdf)) - -(cl:in-package #:sod-package) - -;;;-------------------------------------------------------------------------- -;;; Definition. - -(defsystem sod - - ;; Boring copyright stuff. - :version "1.0.0" - :author "Mark Wooding" - :license "GNU General Public License, version 2 or later" - - ;; Documentation. - :description "A Sensible Object Definition for C." - - :long-description - "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 - superclass linearlization algorithm, and exactly one copy of any - superclass's slots. - - * Method combinations, and multiple flavours of methods, to make mixin - classes more useful. - - * The default method combination doesn't depend on the programmer - statically predicting which superclass's method to delegate to. - Multiple inheritance makes this approach (taken by C++) fail: the - right next method might be an unknown sibling, and two siblings might - be in either order depending on descendents. - - * Minimal runtime support requirements, so that it's suitable for use - wherever C is -- e.g., interfacing to other languages." - - ;; And now for how to build it. - ;; - ;; The big tables in parser.lisp need to be earlier. CLEAR-THE-DECKS ought - ;; to do more stuff, including calling BOOTSTRAP-CLASSES. Generally, the - ;; code isn't very well organized at the moment. - :components - ((:file "package") - (:file "utilities" :depends-on ("package")) - (:file "tables" :depends-on ("package")) - (:file "c-types" :depends-on ("utilities")) - (:file "codegen" :depends-on ("c-types")) - (:file "posn-stream" :depends-on ("utilities")) - (:file "errors" :depends-on ("posn-stream")) - (:file "lex" :depends-on ("posn-stream" "errors")) - (:file "pset" :depends-on ("lex")) - (:file "parse-c-types" :depends-on ("lex" "c-types" "tables")) - (:file "class-defs" :depends-on ("parse-c-types")) - (:file "cpl" :depends-on ("class-defs")) - (:file "class-finalize" :depends-on ("class-defs" "cpl")) - (:file "class-builder" :depends-on ("class-finalize" "pset")) - (:file "class-layout" :depends-on ("class-defs")) - (:file "module" :depends-on ("parse-c-types" "tables")) - (:file "output" :depends-on ("module")) - (:file "class-output" :depends-on ("class-layout" "output")))) - -;;;----- That's all, folks --------------------------------------------------