X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Farchitecture.cpp;h=58f435d51ec10fd8d75cbe777ef0442c8b68c1c4;hb=62853c9bb228cbb541304e866036cd931e3f5500;hp=75a64607a395f7726357d52887fb06e65953277c;hpb=650560b14cac4bb35589b5b8db99197c5e1345cc;p=builder.git diff --git a/source/architecture.cpp b/source/architecture.cpp index 75a6460..58f435d 100644 --- a/source/architecture.cpp +++ b/source/architecture.cpp @@ -68,6 +68,7 @@ const char *toolchains[] = { "gnu", "clang", + "msvc", 0 }; @@ -131,6 +132,8 @@ Architecture::Architecture(Builder &b, const string &spec): { if((system=="darwin" || system=="freebsd") && builder.get_vfs().find_binary("clang")) toolchain = "clang"; + else if(system=="windows" && native) + toolchain = "msvc"; else toolchain = "gnu"; } @@ -142,18 +145,27 @@ Architecture::Architecture(Builder &b, const string &spec): name += format("-%s", fpu); name += format("-%d-%s-%s", bits, system, toolchain); - add_pattern("%.o"); if(system=="windows") { add_pattern("%.dll"); - add_pattern("lib%.dll"); - add_pattern("lib%.dll.a"); - add_pattern("lib%.a"); - add_pattern("%.lib"); + if(toolchain=="msvc") + { + add_pattern("%.obj"); + add_pattern("%.lib"); + add_pattern("%_static.lib"); + } + else + { + add_pattern("%.o"); + add_pattern("lib%.dll"); + add_pattern("lib%.dll.a"); + add_pattern("lib%.a"); + } add_pattern("%.exe"); } else { + add_pattern("%.o"); if(system=="darwin") add_pattern("lib%.dylib"); else