--- uppsrc/Core/Core.h 2017-01-11 11:10:39 UTC +++ uppsrc/Core/Core.h @@ -3,10 +3,6 @@ #define QLIB3 -#ifndef flagMT -#define flagMT // MT is now always on -#endif - #if defined(flagMT) #define _MULTITHREADED #define MULTITHREADED --- uppsrc/ide/Builders/Build.cpp 2017-01-09 20:47:34 UTC +++ uppsrc/ide/Builders/Build.cpp @@ -27,6 +27,8 @@ mainparam << ' ' << bm.Get(targetmode ? "RELEASE_FLAGS" : "DEBUG_FLAGS", NULL); cfg = SplitFlags(mainparam, package == 0, wspc.GetAllAccepts(package)); cfg.FindAdd(bm.Get("BUILDER", "GCC")); + if(bm.Get("THREAD_MODEL", "") == "1") + cfg.FindAdd("MT"); const TargetMode& m = GetTargetMode(); if(targetmode == 0) cfg.FindAdd("DEBUG"); --- uppsrc/ide/Builders/GccBuilder.cpp 2017-01-11 11:10:39 UTC +++ uppsrc/ide/Builders/GccBuilder.cpp @@ -110,7 +110,7 @@ } String cc = CmdLine(package, pkg); - if(HasFlag("WIN32")/* && HasFlag("MT")*/) + if(HasFlag("WIN32") && HasFlag("MT")) cc << " -mthreads"; if(HasFlag("DEBUG_MINIMAL")) cc << (HasFlag("WIN32") ? " -g1" : " -ggdb -g1"); @@ -455,7 +455,7 @@ lnk << " -mwindowsce"; else if(HasFlag("WIN32") && !HasFlag("CLANG")) { lnk << " -mwindows"; - // if(HasFlag("MT")) + if(HasFlag("MT")) lnk << " -mthreads"; if(!HasFlag("GUI")) lnk << " -mconsole"; --- uppsrc/ide/Builders/MscBuilder.cpp 2017-01-11 11:10:39 UTC +++ uppsrc/ide/Builders/MscBuilder.cpp @@ -272,7 +272,8 @@ if(HasFlag("DEBUG_FULL")) cc << " -Zi"; cc << ' ' << Gather(pkg.option, config.GetKeys()); - cc << (HasFlag("SHARED") || is_shared || is_clr ? " -MD" : " -MT"); + cc << (HasFlag("SHARED") || is_shared || is_clr ? " -MD" + : (HasFlag("MT") || IsMsc89()) ? " -MT" : " -ML"); String cc_size = cc; String cc_speed = cc; --- uppsrc/ide/InstantSetup.cpp 2017-01-04 05:10:42 UTC +++ uppsrc/ide/InstantSetup.cpp @@ -196,6 +196,7 @@ bmSet(bm, "RELEASE_LINK", x64 ? "/STACK:20000000" : "/STACK:10000000"); bmSet(bm, "DISABLE_BLITZ", ""); bmSet(bm, "DEBUGGER", GetFileFolder(vc) + "/Common7/IDE/devenv.exe"); + bmSet(bm, "THREAD_MODEL", "1"); // Multithreaded by default bm.GetAdd("PATH") = Join(bins, ";"); bm.GetAdd("INCLUDE") = Join(incs, ";"); @@ -255,6 +256,7 @@ bmSet(bm, "DEBUGGER", "gdb"); bmSet(bm, "ALLOW_PRECOMPILED_HEADERS", "1"); bmSet(bm, "DISABLE_BLITZ", "1"); + bmSet(bm, "THREAD_MODEL", "1"); // Multithreaded by default // bmSet(bm, "LINKMODE_LOCK", "0"); --- uppsrc/ide/Methods.cpp 2016-12-28 05:59:37 UTC +++ uppsrc/ide/Methods.cpp @@ -410,6 +410,7 @@ map.Add("DEBUGGER", &debugger); map.Add("ALLOW_PRECOMPILED_HEADERS", &allow_pch); map.Add("DISABLE_BLITZ", &disable_blitz); + map.Add("THREAD_MODEL", &mt); map.Add("PATH", &path); map.Add("INCLUDE", &include); map.Add("LIB", &lib); @@ -438,6 +439,7 @@ } if(IsNull(release_link) && gcc) release_link <<= "-Wl,--gc-sections"; + mt <<= "1"; // Multithreaded by default } int CharFilterFileName(int c) --- uppsrc/ide/ide.lay 2017-01-04 05:10:42 UTC +++ uppsrc/ide/ide.lay @@ -265,9 +265,11 @@ ITEM(Label, dv___31, SetLabel(t_("Release link options")).LeftPosZ(0, 112).TopPosZ(312, 19)) ITEM(EditString, release_link, HSizePosZ(132, 0).TopPosZ(312, 19)) ITEM(TabCtrl, paths, HSizePosZ(0, 0).VSizePosZ(360, 0)) - ITEM(TextOption, allow_pch, SetLabel(t_("Allow precompiled headers")).LeftPosZ(0, 212).TopPosZ(336, 16)) - ITEM(TextOption, disable_blitz, SetLabel(t_("Disable BLITZ")).LeftPosZ(164, 212).TopPosZ(336, 16)) - ITEM(LabelBox, dv___36, SetLabel(t_("Debug mode defaults")).HSizePosZ(0, 0).TopPosZ(128, 36)) + ITEM(TextOption, allow_pch, SetLabel(t_("Allow precompiled headers")).LeftPosZ(0, 160).TopPosZ(336, 16)) + ITEM(TextOption, disable_blitz, SetLabel(t_("Disable BLITZ")).HSizePosZ(164, 384).TopPosZ(336, 16)) + ITEM(Label, dv___36, SetLabel(t_("Thread model:")).LeftPosZ(292, 80).TopPosZ(336, 16)) + ITEM(TextSwitch, mt, SetLabel(t_("Singlethreaded\nMultithreaded")).HSizePosZ(376, 24).TopPosZ(336, 16)) + ITEM(LabelBox, dv___38, SetLabel(t_("Debug mode defaults")).HSizePosZ(0, 0).TopPosZ(128, 36)) END_LAYOUT LAYOUT(ModePaneLayout, 320, 460)