From 8b77c3b4ba5321f4d76379d4f0663fe2717937d8 Mon Sep 17 00:00:00 2001 From: Kevin Rosenberg Date: Wed, 2 Sep 2009 06:51:38 -0600 Subject: [PATCH] Windows Drive Patch Commit patch from Andreas Franke to honor windows drive letter when loading clsql_mysql C library. --- ChangeLog | 3 +++ clsql-mysql.asd | 12 ++++++------ db-mysql/mysql-loader.lisp | 3 +-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index e1f8b63..1e9678c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,9 @@ 31 Aug 2009 Kevin Rosenberg * sql/db-interface.lisp: Fix spelling error (thanks to David Thompson) + * clsql-mysql.asd/db-mysql/mysql-loader.lisp: Commit + patch from Andreas Franke to honor windows drive letter + when loading clsql_mysql C library. 31 Aug 2009 Kevin Rosenberg * Version 4.1.0 diff --git a/clsql-mysql.asd b/clsql-mysql.asd index 2247697..e8d89a8 100644 --- a/clsql-mysql.asd +++ b/clsql-mysql.asd @@ -23,8 +23,10 @@ (unless (find-package 'uffi) (asdf:operate 'asdf:load-op 'uffi))) -(defvar *library-file-dir* (append (pathname-directory *load-truename*) - (list "db-mysql"))) +(defvar *library-file-dir* + (merge-pathnames "db-mysql/" + (make-pathname :name nil :type nil + :defaults *load-truename*))) (defclass clsql-mysql-source-file (c-source-file) ()) @@ -42,7 +44,7 @@ found (make-pathname :name (component-name c) :type library-file-type - :directory *library-file-dir*))))) + :defaults *library-file-dir*))))) (defmethod perform ((o load-op) (c clsql-mysql-source-file)) t) @@ -58,9 +60,7 @@ (unless (zerop (run-shell-command #-freebsd "cd ~A; make" #+freebsd "cd ~A; gmake" - (namestring (make-pathname :name nil - :type nil - :directory *library-file-dir*)))) + (namestring *library-file-dir*))) (error 'operation-error :component c :operation o)))) (defmethod operation-done-p ((o compile-op) (c clsql-mysql-source-file)) diff --git a/db-mysql/mysql-loader.lisp b/db-mysql/mysql-loader.lisp index 43189cf..3395e71 100644 --- a/db-mysql/mysql-loader.lisp +++ b/db-mysql/mysql-loader.lisp @@ -38,8 +38,7 @@ set to the right path before compiling or loading the system.") *mysql-library-loaded*) (defmethod clsql-sys:database-type-load-foreign ((database-type (eql :mysql))) - (clsql:push-library-path - (make-pathname :directory clsql-mysql-system::*library-file-dir*)) + (clsql:push-library-path clsql-mysql-system::*library-file-dir*) (clsql-uffi:find-and-load-foreign-library *mysql-library-candidate-names* :module "mysql" -- 2.11.4.GIT