From ab7494eef99328e1662ffcc8a7fae89d2a4a06aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Lindqvist?= Date: Fri, 29 Nov 2013 11:35:44 +0100 Subject: [PATCH] alien.libraries: dlopen should handle resource:-paths --- basis/alien/libraries/libraries-tests.factor | 15 ++++++++++++++- basis/alien/libraries/libraries.factor | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/basis/alien/libraries/libraries-tests.factor b/basis/alien/libraries/libraries-tests.factor index 2721ce48c0..163949f0f9 100755 --- a/basis/alien/libraries/libraries-tests.factor +++ b/basis/alien/libraries/libraries-tests.factor @@ -1,4 +1,10 @@ -USING: alien alien.libraries alien.syntax tools.test kernel ; +USING: + alien alien.libraries alien.syntax + formatting + io.pathnames + kernel + system + tools.test ; IN: alien.libraries.tests [ f ] [ DLL" fadfasdfsada" dll-valid? ] unit-test @@ -26,3 +32,10 @@ IN: alien.libraries.tests "test-library" "blah" cdecl add-library? "blah" remove-library ] unit-test + +! dlopen resolves resource:-paths +os windows? [ + [ t ] [ + vm file-stem "resource:/%s.exe" sprintf dlopen dll-valid? + ] unit-test +] when diff --git a/basis/alien/libraries/libraries.factor b/basis/alien/libraries/libraries.factor index 7e8611405e..3fb8324186 100755 --- a/basis/alien/libraries/libraries.factor +++ b/basis/alien/libraries/libraries.factor @@ -5,7 +5,7 @@ kernel namespaces destructors sequences strings system io.pathnames fry combinators vocabs ; IN: alien.libraries -: dlopen ( path -- dll ) native-string>alien (dlopen) ; +: dlopen ( path -- dll ) absolute-path native-string>alien (dlopen) ; : dlsym ( name dll -- alien ) [ string>symbol ] dip (dlsym) ;