alien.inline.compiler: fixed library-path and made other words private
parent
b03b769966
commit
eb72ba84f6
basis/alien/inline/compiler
|
@ -22,14 +22,8 @@ SYMBOL: C++
|
|||
{ [ dup windows? ] [ drop ".dll" ] }
|
||||
} cond ;
|
||||
|
||||
: library-path ( str -- str' )
|
||||
'[ "lib" % _ % library-suffix % ] "" make temp-file ;
|
||||
|
||||
: src-suffix ( lang -- str )
|
||||
{
|
||||
{ C [ ".c" ] }
|
||||
{ C++ [ ".cpp" ] }
|
||||
} case ;
|
||||
: library-path ( str -- path )
|
||||
'[ "lib" % _ % library-suffix % ] "" make inline-library-file ;
|
||||
|
||||
HOOK: compiler os ( lang -- str )
|
||||
|
||||
|
@ -59,8 +53,16 @@ M: macosx link-descr
|
|||
{ "-g" "-prebind" "-dynamiclib" "-o" }
|
||||
cpu x86.64? [ { "-arch" "x86_64" } prepend ] when ;
|
||||
|
||||
: link-command ( in out lang -- descr )
|
||||
compiler-descr link-descr append prepend prepend ;
|
||||
<PRIVATE
|
||||
: src-suffix ( lang -- str )
|
||||
{
|
||||
{ C [ ".c" ] }
|
||||
{ C++ [ ".cpp" ] }
|
||||
} case ;
|
||||
|
||||
: link-command ( args in out lang -- descr )
|
||||
[ 2array ] dip compiler-descr link-descr
|
||||
append prepend prepend ;
|
||||
|
||||
:: compile-to-object ( lang contents name -- )
|
||||
name ".o" append temp-file
|
||||
|
@ -71,8 +73,9 @@ M: macosx link-descr
|
|||
|
||||
:: link-object ( lang args name -- )
|
||||
args name [ library-path ]
|
||||
[ ".o" append temp-file ] bi 2array
|
||||
[ ".o" append temp-file ] bi
|
||||
lang link-command try-process ;
|
||||
PRIVATE>
|
||||
|
||||
:: compile-to-library ( lang args contents name -- )
|
||||
lang contents name compile-to-object
|
||||
|
|
Loading…
Reference in New Issue