diff --git a/extra/alien/inline/compiler/compiler.factor b/extra/alien/inline/compiler/compiler.factor index 7ec70a356e..4f9515cebc 100644 --- a/extra/alien/inline/compiler/compiler.factor +++ b/extra/alien/inline/compiler/compiler.factor @@ -42,7 +42,7 @@ M: openbsd compiler M: windows compiler { { C [ "gcc" ] } - { C++ [ "gcc" ] } + { C++ [ "g++" ] } } case ; HOOK: compiler-descr os ( lang -- descr ) @@ -51,16 +51,18 @@ M: word compiler-descr compiler 1array ; M: macosx compiler-descr call-next-method cpu x86.64? [ { "-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 - { "-g" "-prebind" "-dynamiclib" "-o" } + drop { "-g" "-prebind" "-dynamiclib" "-o" } 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 ;