diff --git a/basis/alien/libraries/finder/windows/platforms.txt b/basis/alien/libraries/finder/windows/platforms.txt new file mode 100644 index 0000000000..8e1a55995e --- /dev/null +++ b/basis/alien/libraries/finder/windows/platforms.txt @@ -0,0 +1 @@ +windows diff --git a/basis/alien/libraries/finder/windows/windows.factor b/basis/alien/libraries/finder/windows/windows.factor index cef5b54a05..1ebfa6ed34 100644 --- a/basis/alien/libraries/finder/windows/windows.factor +++ b/basis/alien/libraries/finder/windows/windows.factor @@ -1,22 +1,32 @@ -! Copyright (C) 2013 Björn Lindqvist +! Copyright (C) 2013 Björn Lindqvist, John Benediktsson ! See http://factorcode.org/license.txt for BSD license -USING: alien.libraries alien.libraries.finder arrays combinators -kernel sequences system ; +USING: alien.libraries.finder arrays combinators.short-circuit +environment io.files io.files.info io.pathnames kernel sequences +splitting system system-info.windows ; IN: alien.libraries.finder.windows M: windows find-library - candidate-paths [ dlopen dll-valid? ] map-find nip ; + candidate-paths [ + { [ exists? ] [ file-info regular-file? ] } 1&& + ] map-find nip ;