Index: conditions.lisp
===================================================================
--- conditions.lisp	(revision 315654)
+++ conditions.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
 (defun required-argument (&optional name)
@@ -88,4 +90,4 @@
 		   collect (ecase cleanup-kind
 			     (:normal `(when (not ,gflag) ,@forms))
 			     (:abort  `(when ,gflag ,@forms))
-			     (:always `(progn ,@forms)))))))))
\ No newline at end of file
+			     (:always `(progn ,@forms)))))))))
Index: binding.lisp
===================================================================
--- binding.lisp	(revision 315654)
+++ binding.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
 (defmacro if-let (bindings &body (then-form &optional else-form))
Index: numbers.lisp
===================================================================
--- numbers.lisp	(revision 315654)
+++ numbers.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
 (declaim (inline clamp))
Index: definitions.lisp
===================================================================
--- definitions.lisp	(revision 315654)
+++ definitions.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
 (defun %reevaluate-constant (name value test)
Index: features.lisp
===================================================================
--- features.lisp	(revision 315654)
+++ features.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package" "control-flow")))
+
 (in-package :alexandria)
 
 (defun featurep (feature-expression)
Index: macros.lisp
===================================================================
--- macros.lisp	(revision 315654)
+++ macros.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
 (defmacro with-gensyms (names &body forms)
@@ -198,4 +200,4 @@
              (t
               (simple-program-error "Invalid ordinary lambda-list:~%  ~S" lambda-list)))))))
     (values (nreverse required) (nreverse optional) rest (nreverse keys)
-            allow-other-keys (nreverse aux))))
\ No newline at end of file
+            allow-other-keys (nreverse aux))))
Index: control-flow.lisp
===================================================================
--- control-flow.lisp	(revision 315654)
+++ control-flow.lisp	(working copy)
@@ -1,5 +1,8 @@
+#+xcvb (module (:depends-on ("package" "symbols" "macros")))
+
 (in-package :alexandria)
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (defun extract-function-name (spec)
   "Useful for macros that want to mimic the functional interface for functions
 like #'eq and 'eq."
@@ -30,6 +33,7 @@
                                 ,@forms))))
                       clauses)
             (t ,default)))))
+) ;; end EVAL-WHEN
 
 (defmacro switch (&whole whole (object &key (test 'eql) (key 'identity))
                          &body clauses)
Index: symbols.lisp
===================================================================
--- symbols.lisp	(revision 315654)
+++ symbols.lisp	(working copy)
@@ -1,5 +1,8 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (declaim (inline ensure-symbol))
 (defun ensure-symbol (name &optional (package *package*))
   "Returns a symbol with name designated by NAME, accessible in package
@@ -56,3 +59,4 @@
                (len (length x)))
           (replace name x :start1 index)
           (incf index len))))))
+) ;; end EVAL-WHEN
Index: strings.lisp
===================================================================
--- strings.lisp	(revision 315654)
+++ strings.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
 (deftype string-designator ()
Index: sequences.lisp
===================================================================
--- sequences.lisp	(revision 315654)
+++ sequences.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package" "macros" "lists")))
+
 (in-package :alexandria)
 
 ;; Make these inlinable by declaiming them INLINE here and some of them
Index: package.lisp
===================================================================
--- package.lisp	(revision 315654)
+++ package.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on nil))
+
 (defpackage :alexandria.0.dev
   (:nicknames :alexandria)
   (:use :cl)
Index: hash-tables.lisp
===================================================================
--- hash-tables.lisp	(revision 315654)
+++ hash-tables.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
 (defun copy-hash-table (table &key key test size
Index: lists.lisp
===================================================================
--- lists.lisp	(revision 315654)
+++ lists.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package" "symbols" "macros")))
+
 (in-package :alexandria)
 
 (declaim (inline safe-endp))
@@ -192,11 +194,13 @@
 expected-type designator of a TYPE-ERROR."
   `(satisfies circular-list-p))
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (defun ensure-car (thing)
   "If THING is a CONS, its CAR is returned. Otherwise THING is returned."
   (if (consp thing)
       (car thing)
       thing))
+) ;; end EVAL-WHEN
 
 (defun ensure-cons (cons)
   "If CONS is a cons, it is returned. Otherwise returns a fresh cons with CONS
Index: arrays.lisp
===================================================================
--- arrays.lisp	(revision 315654)
+++ arrays.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
 (defun copy-array (array &key
Index: types.lisp
===================================================================
--- types.lisp	(revision 315654)
+++ types.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package" "symbols" "macros" "lists")))
+
 (in-package :alexandria)
 
 (deftype array-index (&optional (length array-dimension-limit))
Index: io.lisp
===================================================================
--- io.lisp	(revision 315654)
+++ io.lisp	(working copy)
@@ -1,6 +1,8 @@
 ;; Copyright (c) 2002-2006, Edward Marco Baringer
 ;; All rights reserved.
 
+#+xcvb (module (:depends-on ("package" "symbols" "macros")))
+
 (in-package :alexandria)
 
 (defmacro with-open-file* ((stream filespec &key direction element-type
Index: functions.lisp
===================================================================
--- functions.lisp	(revision 315654)
+++ functions.lisp	(working copy)
@@ -1,3 +1,5 @@
+#+xcvb (module (:depends-on ("package")))
+
 (in-package :alexandria)
 
 (declaim (inline ensure-function))	; to propagate return type.
@@ -135,4 +137,4 @@
   "Expands into a lambda-expression within whose BODY NAME denotes the
 corresponding function."
   `(labels ((,name ,lambda-list ,@body))
-     #',name))
\ No newline at end of file
+     #',name))
Index: alexandria.asd
===================================================================
--- alexandria.asd	(revision 315654)
+++ alexandria.asd	(working copy)
@@ -1,3 +1,5 @@
+(in-package :asdf)
+
 (defsystem :alexandria
   :version "0.0.0"
   :licence "Public Domain / 0-clause MIT"
@@ -27,4 +29,4 @@
 
 (defmethod perform ((o test-op) (c (eql (find-system :alexandria))))
   (operate 'load-op :alexandria-tests)
-  (operate 'test-op :alexandria-tests))
\ No newline at end of file
+  (operate 'test-op :alexandria-tests))
Index: build.xcvb
===================================================================
--- build.xcvb	(revision 0)
+++ build.xcvb	(revision 0)
@@ -0,0 +1,25 @@
+#+xcvb
+(module
+ (:fullname
+  "alexandria"
+  :depends-on
+  ("package"
+   "definitions"
+   "binding"
+   "strings"
+   "conditions"
+   "hash-tables"
+   "symbols"
+   "macros"
+   "functions"
+   "lists"
+   "io"
+   "control-flow"
+   "types"
+   "arrays"
+   "sequences"
+   "numbers"
+   "features")
+  :supersedes-asdf
+  ("alexandria")))
+
