alien.inline.compiler: fixed linking on winnt (requires gcc.exe and g++.exe)
parent
8c892380fe
commit
0560e3abea
|
@ -42,7 +42,7 @@ M: openbsd compiler
|
||||||
M: windows compiler
|
M: windows compiler
|
||||||
{
|
{
|
||||||
{ C [ "gcc" ] }
|
{ C [ "gcc" ] }
|
||||||
{ C++ [ "gcc" ] }
|
{ C++ [ "g++" ] }
|
||||||
} case ;
|
} case ;
|
||||||
|
|
||||||
HOOK: compiler-descr os ( lang -- descr )
|
HOOK: compiler-descr os ( lang -- descr )
|
||||||
|
@ -51,16 +51,18 @@ M: word compiler-descr compiler 1array ;
|
||||||
M: macosx compiler-descr
|
M: macosx compiler-descr
|
||||||
call-next-method cpu x86.64?
|
call-next-method cpu x86.64?
|
||||||
[ { "-arch" "x86_64" } append ] when ;
|
[ { "-arch" "x86_64" } append ] when ;
|
||||||
M: windows compiler-descr
|
|
||||||
call-next-method { "-x" "c++" } append ;
|
|
||||||
|
|
||||||
HOOK: link-descr os ( -- descr )
|
HOOK: link-descr os ( lang -- descr )
|
||||||
|
|
||||||
M: word link-descr { "-shared" "-o" } ;
|
M: word link-descr drop { "-shared" "-o" } ;
|
||||||
M: macosx link-descr
|
M: macosx link-descr
|
||||||
{ "-g" "-prebind" "-dynamiclib" "-o" }
|
drop { "-g" "-prebind" "-dynamiclib" "-o" }
|
||||||
cpu x86.64? [ { "-arch" "x86_64" } prepend ] when ;
|
cpu x86.64? [ { "-arch" "x86_64" } prepend ] when ;
|
||||||
M: windows link-descr { "-lstdc++" "-mno-cygwin" "-o" } ;
|
M: windows link-descr
|
||||||
|
{
|
||||||
|
{ C [ { "-mno-cygwin" "-shared" "-o" } ] }
|
||||||
|
{ C++ [ { "-lstdc++" "-mno-cygwin" "-shared" "-o" } ] }
|
||||||
|
} case ;
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
: src-suffix ( lang -- str )
|
: src-suffix ( lang -- str )
|
||||||
|
@ -70,7 +72,7 @@ M: windows link-descr { "-lstdc++" "-mno-cygwin" "-o" } ;
|
||||||
} case ;
|
} case ;
|
||||||
|
|
||||||
: link-command ( args in out lang -- descr )
|
: link-command ( args in out lang -- descr )
|
||||||
[ 2array ] dip compiler-descr link-descr
|
[ 2array ] dip [ compiler 1array ] [ link-descr ] bi
|
||||||
append prepend prepend ;
|
append prepend prepend ;
|
||||||
|
|
||||||
:: compile-to-object ( lang contents name -- )
|
:: compile-to-object ( lang contents name -- )
|
||||||
|
|
Loading…
Reference in New Issue