Codebase list cl-unicode / debian/0.1.4-3 cl-unicode.asd
debian/0.1.4-3

Tree @debian/0.1.4-3 (Download .tar.gz)

cl-unicode.asd @debian/0.1.4-3raw · history · blame

;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
;;; $Header: /usr/local/cvsrep/cl-unicode/cl-unicode.asd,v 1.23 2012-05-04 21:17:44 edi Exp $

;;; Copyright (c) 2008-2012, Dr. Edmund Weitz.  All rights reserved.

;;; Redistribution and use in source and binary forms, with or without
;;; modification, are permitted provided that the following conditions
;;; are met:

;;;   * Redistributions of source code must retain the above copyright
;;;     notice, this list of conditions and the following disclaimer.

;;;   * Redistributions in binary form must reproduce the above
;;;     copyright notice, this list of conditions and the following
;;;     disclaimer in the documentation and/or other materials
;;;     provided with the distribution.

;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
;;; ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

(in-package :cl-user)

(defpackage :cl-unicode-asd
  (:use :cl :asdf))

(in-package :cl-unicode-asd)

(defsystem :build-cl-unicode
  :serial t
  ;; FLEXI-STREAMS is only needed to /build/ CL-UNICODE
  :depends-on (:flexi-streams)
  :components  ((:file "packages")
                (:file "specials")
                (:file "util")
                (:module "build"
                 :serial t
                 :components ((:file "util")
                              (:file "char-info")
                              (:file "read")
                              (:file "dump")))))

(defclass generated-cl-source-file (cl-source-file)
  ()
  (:documentation "A subclass of CL-SOURCE-FILE for source files which
might have to be generated by loading the BUILD-CL-UNICODE system
first."))

(defmethod perform ((operation compile-op) (component generated-cl-source-file))
  "A method which makes sure that the files of type
GENERATED-CL-SOURCE-FILE actually exist before we try to compile
them."
  (unless (every 'probe-file (input-files operation component))
    (operate 'load-op :build-cl-unicode))
  (call-next-method))

(defsystem :cl-unicode
  :version "0.1.4"
  :serial t
  :description "Portable Unicode Library"
  :depends-on (:cl-ppcre)
  :components ((:file "packages")
               (:file "specials")
               (:file "util")
               (:file "conditions")
               (:generated-cl-source-file "lists")
               (:generated-cl-source-file "hash-tables")
               (:file "api")
               (:generated-cl-source-file "methods")
               (:file "test-functions")
               (:file "derived")
               (:file "alias")))
               
(defsystem :cl-unicode-test
  :depends-on (:cl-unicode)
  :components ((:module "test"
                        :serial t
                        :components ((:file "packages")
                                     (:file "tests")))))

(defmethod perform ((o test-op) (c (eql (find-system :cl-unicode))))
  (operate 'load-op :cl-unicode-test)
  (funcall (intern (symbol-name :run-all-tests) (find-package :cl-unicode-test))))