X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Farchitecture.cpp;h=212f148027d00c5ab4f1465af16dc1bf226d87f5;hb=c2f57c48045b24fc63b50863bcbec978ba7e45b5;hp=75a64607a395f7726357d52887fb06e65953277c;hpb=650560b14cac4bb35589b5b8db99197c5e1345cc;p=builder.git diff --git a/source/architecture.cpp b/source/architecture.cpp index 75a6460..212f148 100644 --- a/source/architecture.cpp +++ b/source/architecture.cpp @@ -49,6 +49,8 @@ const char *fpus[] = { "387", "x86", "sse", "x86", + "sse3", "x86", + "sse4.1", "x86", "vfpv3", "arm", "neon", "arm", 0 @@ -68,6 +70,7 @@ const char *toolchains[] = { "gnu", "clang", + "msvc", 0 }; @@ -131,6 +134,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 +147,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