Update of /cvsroot/wxdsgn/wxdevcpp/source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23971/source
Modified Files:
Tag: VC_Compiler
devcfg.pas
Log Message:
Added VC compiler switches
Index: devcfg.pas
===================================================================
RCS file: /cvsroot/wxdsgn/wxdevcpp/source/devcfg.pas,v
retrieving revision 1.8.2.22
retrieving revision 1.8.2.23
diff -u -d -r1.8.2.22 -r1.8.2.23
--- devcfg.pas 26 Nov 2005 03:41:57 -0000 1.8.2.22
+++ devcfg.pas 26 Nov 2005 03:56:56 -0000 1.8.2.23
@@ -1049,8 +1049,9 @@
{ TCompilerOpts }
procedure TdevCompiler.AddDefaultOptions;
-var i : integer;
-// sl: TStringList;
+var
+ i : integer;
+ sl: TStringList;
{$IFDEF VC_BUILD}
{$ENDIF}
@@ -1076,15 +1077,118 @@
if (devCompilerSet.CompilerType = ID_COMPILER_VC) then
begin
- AddOption('Test', false, false, false, false, 0, '/Fonul', 'A', [], nil);
+ sl := TStringList.Create;
+ sl.Add('Neither =');
+ sl.Add('Speed=Ot');
+ sl.Add('Space=Os');
+ AddOption('Favour', False, True, True, False, 0, '/', 'Code Optimization', [], sl);
+ sl := TStringList.Create;
+ sl.Add('Neither =');
+ sl.Add('Speed=O2');
+ sl.Add('Space=O1');
+ AddOption('Optimize for', False, True, True, False, 0, '/', 'Code Optimization', [], sl);
+ AddOption('Enable Global Optimization', False, True, True, False, 0, '/Og', 'Code Optimization', [], nil);
+ AddOption('Assume aliasing', False, True, True, False, 0, '/Oa', 'Code Optimization', [], nil);
+ AddOption('Enable intrinsic functions', False, True, True, False, 0, '/Oi', 'Code Optimization', [], nil);
+ AddOption('Assume cross-function aliasing', False, True, True, False, 0, '/Ow', 'Code Optimization', [], nil);
+ AddOption('Optimize for Windows Program', False, True, True, False, 0, '/GA', 'Code Optimization', [], nil);
+ AddOption('Omit frame pointers', false, true, true, false, 0, '/Oy', 'Code Optimization', [], nil);
+
+ //Code generation
+ sl := TStringList.Create;
+ sl.Add('Blended model=B');
+ sl.Add('Pentium=5');
+ sl.Add('Pentium Pro, Pentium II and Pentium III =6');
+ sl.Add('Pentium 4 or Athlon=7');
+ AddOption('Optimize for', False, True, True, False, 0, '/G', 'Code Generation', [], sl);
+
+ sl := TStringList.Create;
+ sl.Add('None=');
+ sl.Add('__cdecl=/Gd');
+ sl.Add('__fastcall =/Gr');
+ sl.Add('__stdcall=/Gz');
+ AddOption('Calling Convention', false, true, true, false, 0, '', 'Code Generation', [], sl);
+
+ sl := TStringList.Create;
+ sl.Add('Disable=');
+ sl.Add('Enable=/Gf');
+ sl.Add('Enable Read-Only =/GF');
+ AddOption('String Pooling', false, true, true, false, 0, '', 'Code Generation', [], sl);
+
+ sl := TStringList.Create;
+ sl.Add('Default=');
+ sl.Add('Compile for CLR =/clr');
+ sl.Add('No assembly=/clr:noAssembly');
+ AddOption('Common Language Runtime', false, true, true, false, 0, '', 'Code Generation', [], sl);
+
+ sl := TStringList.Create;
+ sl.Add('None=');
+ sl.Add('SSE=/arch:SSE');
+ sl.Add('SSE2 =/arch:SSE2');
+ AddOption('Minimum CPU architecture', false, true, true, false, 0, '', 'Code Generation', [], sl);
+
+ sl := TStringList.Create;
+ sl.Add('No Exceptions=');
+ sl.Add('C++ Exceptions (no SEH)=/EHs');
+ sl.Add('C++ Exceptions (with SEH) =/EHa');
+ AddOption('Exception handling', false, false, true, false, 0, '', 'Code Generation', [], sl);
+ AddOption('Enable _penter function call', false, true, true, false, 0, '/Gh', 'Code Generation', [], nil);
+ AddOption('Enable _pexit function call', false, true, true, false, 0, '/GH', 'Code Generation', [], nil);
+ AddOption('Enable C++ RTTI', false, false, true, false, 0, '/GR', 'Code Generation', [], nil);
+ AddOption('Enable Minimal Rebuild', false, true, true, false, 0, '/Gm', 'Code Generation', [], nil);
+ AddOption('Enable Link-time Code Generation', false, true, true, true, 0, '/GL', 'Code Generation', [], nil);
+ AddOption('Enable Pentium FDIV fix', false, true, true, false, 1, '/QIfdiv', 'Code Generation', [], nil);
+ AddOption('Enable Pentium 0x0F fix', false, true, true, false, 1, '/QI0f', 'Code Generation', [], nil);
+ AddOption('Extern C defaults to nothrow', false, false, true, false, 0, '/EHc', 'Code Generation', [], nil);
+ AddOption('Seperate functions for linker', false, false, false, true, 0, '/Gy', 'Code Generation', [], nil);
+ AddOption('Use fibre-safe TLS accesses', false, true, true, false, 0, '/GT', 'Code Generation', [], nil);
+ AddOption('Use FIST instead of ftol()', false, true, true, false, 1, '/QIfist', 'Code Generation', [], nil);
+
+ //Checks
+ sl := TStringList.Create;
+ sl.Add('None=');
+ sl.Add('Force Stack Checks=/Ge');
+ sl.Add('Control Stack Checking Calls =/GS');
+ AddOption('Stack checks', false, true, true, false, 0, '', 'Code Checks', [], sl);
+ AddOption('Release build checks', false, true, true, false, 0, '/RTC1', 'Code Checks', [], nil);
+ AddOption('Type conversion Checks', false, true, true, false, 0, '/RTCc', 'Code Checks', [], nil);
+ AddOption('Stack Frame runtime checking', false, true, true, false, 0, '/RTCs', 'Code Checks', [], nil);
+ AddOption('Check for Variable Usage', false, true, true, false, 0, '/RTCu', 'Code Checks', [], nil);
+
+ //Language Options
+ sl := TStringList.Create;
+ sl.Add('No Debugging Information=');
+ sl.Add('Generate Debugging Information=/Zi /Yd');
+ sl.Add('Edit and Continue Debugging Information =/ZI');
+ sl.Add('Old-Style Debugging Information=/Z7');
+ sl.Add('Include line numbers only=/Zd');
+ AddOption('Debugging', false, true, true, false, 0, '', 'Language Options', [], sl);
+ AddOption('Enable Extensions', false, true, true, false, 1, '/Ze', 'Language Options', [], nil);
+ AddOption('Omit library name in object file', false, true, true, false, 0, '/Zl', 'Language Options', [], nil);
+ AddOption('Generate function prototypes', false, true, true, false, 0, '/Zg', 'Language Options', [], nil);
+ AddOption('Enforce Standard C++ scoping', false, false, true, false, 0, '/Zc:forScope', 'Language Options', [], nil);
+ AddOption('Make wchar_t a native type', false, false, true, false, 0, '/Zc:wchar_t', 'Language Options', [], nil);
+
+ //Miscellaneous
+ sl := TStringList.Create;
+ sl.Add('Treat warnings normally=');
+ sl.Add('Treat warnings as errors =/WX');
+ sl.Add('Suppress all warnings=/w');
+ AddOption('Warnings', false, true, true, false, 0, '', 'Miscellaneous', [], sl);
+ sl := TStringList.Create;
+ sl.Add('Level 4 =/W4');
+ sl.Add('Level 3 =/W3');
+ sl.Add('Level 2 =/W2');
+ sl.Add('Level 1 =/W1');
+ AddOption('Warning Level', false, true, true, true, 0, '', 'Miscellaneous', [], sl);
+ AddOption('Use Precompiled headers', false, true, true, false, 0, '/YX', 'Miscellaneous', [], nil);
+ AddOption('Disable incremental linking', false, false, false, true, 0, '/INCREMENTAL:NO', 'Miscellaneous', [], nil);
end
else
- AddOption('Test Mingw', false, false, false, false, 0, '/Fonul', 'A Mingw', [], nil);
begin
- end
-{$ELSE}
+{$EndIf}
- AddOption(Lang[ID_COPT_ANSIC], False, True, True, False, 0, '-ansi', Lang[ID_COPT_GRP_C], [], nil);
+ AddOption(Lang[ID_COPT_ANSIC], False, True, True, False, 0, '-ansi', Lang[ID_COPT_GRP_C], [], nil);
AddOption(Lang[ID_COPT_TRADITIONAL], False, True, True, False, 0, '-traditional-cpp', Lang[ID_COPT_GRP_C], [], nil);
AddOption(Lang[ID_COPT_WARNING], False, True, True, False, 0, '-w', Lang[ID_COPT_GRP_C], [], nil);
AddOption(Lang[ID_COPT_ACCESS], False, True, True, False, 0, '-fno-access-control', Lang[ID_COPT_GRP_CPP], [], nil);
@@ -1145,7 +1249,9 @@
AddOption(Lang[ID_COPT_BUILTINPROC], False, True, True, True, 0, '-m', Lang[ID_COPT_GRP_CODEGEN], [], sl);
-{$ENDIF}
+{$IfDef VC_BUILD}
+ end
+{$EndIf}
end;
procedure TdevCompiler.AddOption(_Name: string; _IsGroup, _IsC, _IsCpp, IsLinker: boolean; _Value: integer;
|