From e0c0399d248bc8ee29c92c8d022c6c0cdb27c9b8 Mon Sep 17 00:00:00 2001 From: Jeremy Hughes <jedahu@gmail.com> Date: Fri, 10 Jul 2009 12:45:27 +1200 Subject: [PATCH] alien.inline.compile: write library files to resource:alien-inline-libs --- basis/alien/inline/compiler/compiler.factor | 10 ++++++++-- basis/alien/inline/inline.factor | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/basis/alien/inline/compiler/compiler.factor b/basis/alien/inline/compiler/compiler.factor index b1ccc2baab..991fdd7111 100644 --- a/basis/alien/inline/compiler/compiler.factor +++ b/basis/alien/inline/compiler/compiler.factor @@ -8,6 +8,12 @@ IN: alien.inline.compiler SYMBOL: C SYMBOL: C++ +: inline-libs-directory ( -- path ) + "resource:alien-inline-libs" dup make-directories ; + +: inline-library-file ( name -- path ) + inline-libs-directory prepend-path ; + : library-suffix ( -- str ) os { { [ dup macosx? ] [ drop ".dylib" ] } @@ -17,9 +23,9 @@ SYMBOL: C++ : library-path ( str -- str' ) '[ - "lib-" % current-vocab name>> % + "lib" % current-vocab name>> % "-" % _ % library-suffix % - ] "" make temp-file ; + ] "" make inline-library-file ; : src-suffix ( lang -- str ) { diff --git a/basis/alien/inline/inline.factor b/basis/alien/inline/inline.factor index 641c6f4f4a..7a2713767c 100644 --- a/basis/alien/inline/inline.factor +++ b/basis/alien/inline/inline.factor @@ -60,7 +60,7 @@ PRIVATE> concat make-function ; : define-c-library ( name -- ) - c-library set + [ current-vocab name>> % "_" % % ] "" make c-library set V{ } clone c-strings set V{ } clone compiler-args set ;