From 8281c2fb55c3a7652051f8f0361a8dc4fa375203 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 | 15 ++++++++++-----
 basis/alien/inline/inline.factor            |  2 +-
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/basis/alien/inline/compiler/compiler.factor b/basis/alien/inline/compiler/compiler.factor
index b1ccc2baab..d049668eec 100644
--- a/basis/alien/inline/compiler/compiler.factor
+++ b/basis/alien/inline/compiler/compiler.factor
@@ -2,12 +2,19 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors arrays combinators fry generalizations
 io.encodings.ascii io.files io.files.temp io.launcher kernel
-locals make sequences system vocabs.parser words ;
+locals make sequences system vocabs.parser words io.directories
+io.pathnames ;
 IN: alien.inline.compiler
 
 SYMBOL: C
 SYMBOL: C++
 
+: inline-libs-directory ( -- path )
+    "alien-inline-libs" resource-path dup make-directories ;
+
+: inline-library-file ( name -- path )
+    inline-libs-directory prepend-path ;
+
 : library-suffix ( -- str )
     os {
         { [ dup macosx? ]  [ drop ".dylib" ] }
@@ -16,10 +23,8 @@ SYMBOL: C++
     } cond ;
 
 : library-path ( str -- str' )
-    '[
-        "lib-" % current-vocab name>> %
-        "-" % _ % library-suffix %
-    ] "" make temp-file ;
+    '[ "lib" % "-" % _ % library-suffix % ]
+    "" make inline-library-file ;
 
 : src-suffix ( lang -- str )
     {
diff --git a/basis/alien/inline/inline.factor b/basis/alien/inline/inline.factor
index 88cc5e3519..8ec0952c5a 100644
--- a/basis/alien/inline/inline.factor
+++ b/basis/alien/inline/inline.factor
@@ -58,7 +58,7 @@ SYMBOL: c-strings
 PRIVATE>
 
 : define-c-library ( name -- )
-    c-library set
+    [ current-vocab name>> % "_" % % ] "" make c-library set
     V{ } clone c-strings set
     V{ } clone compiler-args set ;