X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=clsql-oracle.asd;h=77436743395586effdd257f96eb824f0adbd0276;hp=ae846d5ff95c21ec81932d9503b65b5e338d3372;hb=0511b7f8e7e344e9886ed0dcd92c73c51e5c8918;hpb=a3112fd970a6f59efae544e9d939a50f1c1f7b23 diff --git a/clsql-oracle.asd b/clsql-oracle.asd index ae846d5..7743674 100644 --- a/clsql-oracle.asd +++ b/clsql-oracle.asd @@ -19,58 +19,6 @@ (defpackage #:clsql-oracle-system (:use #:asdf #:cl)) (in-package #:clsql-oracle-system) -(eval-when (:compile-toplevel :load-toplevel :execute) - #+common-lisp-controller (require 'uffi) - #-common-lisp-controller (asdf:operate 'asdf:load-op 'uffi)) - -(defvar *library-file-dir* (append (pathname-directory *load-truename*) - (list "db-oracle"))) - -(defclass clsql-oracle-source-file (c-source-file) - ()) - -(defmethod output-files ((o compile-op) (c clsql-oracle-source-file)) - (let* ((library-file-type - (funcall (intern (symbol-name'#:default-foreign-library-type) - (symbol-name '#:uffi)))) - (found (some #'(lambda (dir) - (probe-file (make-pathname :directory dir - :name (component-name c) - :type library-file-type))) - '((:absolute "usr" "lib" "clsql"))))) - (list (if found - found - (make-pathname :name (component-name c) - :type library-file-type - :directory *library-file-dir*))))) - -(defmethod perform ((o load-op) (c clsql-oracle-source-file)) - t) - -(defmethod operation-done-p ((o load-op) (c clsql-oracle-source-file)) - (and (symbol-function (intern (symbol-name '#:oracle-get-client-info) - (find-package '#:oracle))) - t)) - -(defmethod perform ((o compile-op) (c clsql-oracle-source-file)) - (unless (operation-done-p o c) - #-(or win32 mswindows) - (unless (zerop (run-shell-command - #-freebsd "cd ~A; make" - #+freebsd "cd ~A; gmake" - (namestring (make-pathname :name nil - :type nil - :directory *library-file-dir*)))) - (error 'operation-error :component c :operation o)))) - -(defmethod operation-done-p ((o compile-op) (c clsql-oracle-source-file)) - (or (and (probe-file #p"/usr/lib/clsql/oracle.so") t) - (let ((lib (make-pathname :defaults (component-pathname c) - :type (uffi:default-foreign-library-type)))) - (and (probe-file lib) - (> (file-write-date lib) (file-write-date (component-pathname c))))))) - - ;;; System definition (defsystem clsql-oracle