--- a/ExternalLibraryFunction.st Tue Aug 23 12:14:04 2016 +0200
+++ b/ExternalLibraryFunction.st Tue Aug 23 19:43:02 2016 +0200
@@ -15,11 +15,11 @@
ExternalFunction subclass:#ExternalLibraryFunction
instanceVariableNames:'flags moduleName returnType argumentTypes owningClass'
- classVariableNames:'DLLPATH FLAG_VIRTUAL FLAG_NONVIRTUAL FLAG_OBJECTIVEC FLAG_ASYNC
- FLAG_UNLIMITEDSTACK FLAG_RETVAL_IS_CONST CALLTYPE_MASK
- CALLTYPE_API CALLTYPE_C CALLTYPE_OLE CALLTYPE_V8 CALLTYPE_V9
- CALLTYPE_UNIX64 DllMapping Verbose LastModuleHandleHolder
- LastModuleHandleName'
+ classVariableNames:'CALLTYPE_API CALLTYPE_C CALLTYPE_MASK CALLTYPE_OLE
+ CALLTYPE_UNIX64 CALLTYPE_V8 CALLTYPE_V9 DLLPATH DllMapping
+ FLAG_ASYNC FLAG_NONVIRTUAL FLAG_OBJECTIVEC FLAG_RETVAL_IS_CONST
+ FLAG_UNLIMITEDSTACK FLAG_VIRTUAL LastModuleHandleHolder
+ LastModuleHandleName Verbose'
poolDictionaries:''
category:'System-Support'
!
@@ -295,6 +295,23 @@
"Created: / 10-04-2012 / 12:21:45 / cg"
!
+dllMappingAt:baseLibname put:aNameOrPath
+ "allows for dll's to be replaced,
+ for example, if you want to use the mozilla sqlite dll
+ C:\Program Files\Mozilla Firefox\mozsqlite3.dll
+ for the sqlite3, execute:
+ ExternalLibraryFunction
+ dllMappingAt:'sqlite3'
+ put: 'C:\Program Files\Mozilla Firefox\mozsqlite3.dll'
+ for mingw:
+ ExternalLibraryFunction
+ dllMappingAt:'sqlite3'
+ put:'C:\mingw64\opt\bin\libsqlite3-0.dll'
+ "
+
+ self dllMapping at:baseLibname put: aNameOrPath
+!
+
dllPath
"provide a default dllPath, where external libraries are searched for"