* check with parameters that must be followed by either nothing or a +/-,

are indeed never followed by other characters (prevents typos such as
    -EnabledFeature instead of -dEnableFeature from simply switching of
    linking)

git-svn-id: trunk@22065 -
This commit is contained in:
Jonas Maebe 2012-08-12 13:30:36 +00:00
parent 33f287d320
commit ed8087c71a

View File

@ -57,7 +57,7 @@ Type
procedure IllegalPara(const opt:TCmdStr); procedure IllegalPara(const opt:TCmdStr);
procedure UnsupportedPara(const opt:TCmdStr); procedure UnsupportedPara(const opt:TCmdStr);
procedure IgnoredPara(const opt:TCmdStr); procedure IgnoredPara(const opt:TCmdStr);
function Unsetbool(var Opts:TCmdStr; Pos: Longint):boolean; function Unsetbool(var Opts:TCmdStr; Pos: Longint; const FullPara: TCmdStr; RequireBoolPara: Boolean):boolean;
procedure interpret_option(const opt :TCmdStr;ispara:boolean); procedure interpret_option(const opt :TCmdStr;ispara:boolean);
procedure Interpret_envvar(const envname : TCmdStr); procedure Interpret_envvar(const envname : TCmdStr);
procedure Interpret_file(const filename : TPathStr); procedure Interpret_file(const filename : TPathStr);
@ -644,7 +644,7 @@ begin
end; end;
function Toption.Unsetbool(var Opts:TCmdStr; Pos: Longint):boolean; function Toption.Unsetbool(var Opts:TCmdStr; Pos: Longint; const FullPara: TCmdStr; RequireBoolPara: boolean):boolean;
{ checks if the character after pos in Opts is a + or a - and returns resp. { checks if the character after pos in Opts is a + or a - and returns resp.
false or true. If it is another character (or none), it also returns false } false or true. If it is another character (or none), it also returns false }
begin begin
@ -654,11 +654,12 @@ begin
inc(Pos); inc(Pos);
UnsetBool := Opts[Pos] = '-'; UnsetBool := Opts[Pos] = '-';
if Opts[Pos] in ['-','+']then if Opts[Pos] in ['-','+']then
delete(Opts,Pos,1); delete(Opts,Pos,1)
else if RequireBoolPara then
IllegalPara(FullPara);
end; end;
end; end;
procedure TOption.interpret_option(const opt:TCmdStr;ispara:boolean); procedure TOption.interpret_option(const opt:TCmdStr;ispara:boolean);
var var
code : integer; code : integer;
@ -723,7 +724,7 @@ begin
'p' : 'p' :
begin begin
exclude(init_settings.globalswitches,cs_asm_leave); exclude(init_settings.globalswitches,cs_asm_leave);
if UnsetBool(More, 0) then if UnsetBool(More, 0, opt, false) then
exclude(init_settings.globalswitches,cs_asm_pipe) exclude(init_settings.globalswitches,cs_asm_pipe)
else else
include(init_settings.globalswitches,cs_asm_pipe); include(init_settings.globalswitches,cs_asm_pipe);
@ -749,7 +750,7 @@ begin
'b' : 'b' :
begin begin
// Message1(option_obsolete_switch,'-b'); // Message1(option_obsolete_switch,'-b');
if UnsetBool(More,0) then if UnsetBool(More,0,opt,false) then
begin begin
init_settings.moduleswitches:=init_settings.moduleswitches-[cs_browser]; init_settings.moduleswitches:=init_settings.moduleswitches-[cs_browser];
init_settings.moduleswitches:=init_settings.moduleswitches-[cs_local_browser]; init_settings.moduleswitches:=init_settings.moduleswitches-[cs_local_browser];
@ -768,7 +769,7 @@ begin
end; end;
'B' : 'B' :
do_build:=not UnSetBool(more,0); do_build:=not UnSetBool(more,0,opt,true);
'C' : 'C' :
begin begin
@ -777,7 +778,7 @@ begin
begin begin
case more[j] of case more[j] of
'3' : '3' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_ieee_errors) exclude(init_settings.localswitches,cs_ieee_errors)
Else Else
include(init_settings.localswitches,cs_ieee_errors); include(init_settings.localswitches,cs_ieee_errors);
@ -791,7 +792,7 @@ begin
'b' : 'b' :
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
target_info.endian:=endian_little target_info.endian:=endian_little
else else
target_info.endian:=endian_big; target_info.endian:=endian_big;
@ -806,7 +807,7 @@ begin
{$ifdef cpufpemu} {$ifdef cpufpemu}
'e' : 'e' :
begin begin
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.moduleswitches,cs_fp_emulation) exclude(init_settings.moduleswitches,cs_fp_emulation)
Else Else
include(init_settings.moduleswitches,cs_fp_emulation); include(init_settings.moduleswitches,cs_fp_emulation);
@ -831,10 +832,10 @@ begin
if tf_no_pic_supported in target_info.flags then if tf_no_pic_supported in target_info.flags then
begin begin
{ consume a possible '-' coming after it } { consume a possible '-' coming after it }
UnsetBool(More, j); UnsetBool(More, j, opt, false);
message(scan_w_pic_ignored); message(scan_w_pic_ignored);
end end
else if UnsetBool(More, j) then else if UnsetBool(More, j, opt, false) then
exclude(init_settings.moduleswitches,cs_create_pic) exclude(init_settings.moduleswitches,cs_create_pic)
else else
include(init_settings.moduleswitches,cs_create_pic); include(init_settings.moduleswitches,cs_create_pic);
@ -847,27 +848,27 @@ begin
break; break;
end; end;
'i' : 'i' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_check_io) exclude(init_settings.localswitches,cs_check_io)
else else
include(init_settings.localswitches,cs_check_io); include(init_settings.localswitches,cs_check_io);
'n' : 'n' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_link_nolink) exclude(init_settings.globalswitches,cs_link_nolink)
Else Else
include(init_settings.globalswitches,cs_link_nolink); include(init_settings.globalswitches,cs_link_nolink);
'N' : 'N' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_check_low_addr_load) exclude(init_settings.localswitches,cs_check_low_addr_load)
Else Else
include(init_settings.localswitches,cs_check_low_addr_load); include(init_settings.localswitches,cs_check_low_addr_load);
'o' : 'o' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_check_overflow) exclude(init_settings.localswitches,cs_check_overflow)
Else Else
include(init_settings.localswitches,cs_check_overflow); include(init_settings.localswitches,cs_check_overflow);
'O' : 'O' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_check_ordinal_size) exclude(init_settings.localswitches,cs_check_ordinal_size)
Else Else
include(init_settings.localswitches,cs_check_ordinal_size); include(init_settings.localswitches,cs_check_ordinal_size);
@ -902,12 +903,12 @@ begin
IllegalPara(opt); IllegalPara(opt);
end; end;
'r' : 'r' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_check_range) exclude(init_settings.localswitches,cs_check_range)
Else Else
include(init_settings.localswitches,cs_check_range); include(init_settings.localswitches,cs_check_range);
'R' : 'R' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
begin begin
exclude(init_settings.localswitches,cs_check_range); exclude(init_settings.localswitches,cs_check_range);
exclude(init_settings.localswitches,cs_check_object); exclude(init_settings.localswitches,cs_check_object);
@ -925,17 +926,17 @@ begin
break; break;
end; end;
't' : 't' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_check_stack) exclude(init_settings.localswitches,cs_check_stack)
Else Else
include(init_settings.localswitches,cs_check_stack); include(init_settings.localswitches,cs_check_stack);
'D' : 'D' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.moduleswitches,cs_create_dynamic) exclude(init_settings.moduleswitches,cs_create_dynamic)
Else Else
include(init_settings.moduleswitches,cs_create_dynamic); include(init_settings.moduleswitches,cs_create_dynamic);
'X' : 'X' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.moduleswitches,cs_create_smart) exclude(init_settings.moduleswitches,cs_create_smart)
Else Else
include(init_settings.moduleswitches,cs_create_smart); include(init_settings.moduleswitches,cs_create_smart);
@ -947,7 +948,7 @@ begin
end; end;
'v' : 'v' :
If target_info.system in systems_jvm then If target_info.system in systems_jvm then
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_check_var_copyout) exclude(init_settings.localswitches,cs_check_var_copyout)
Else Else
include(init_settings.localswitches,cs_check_var_copyout) include(init_settings.localswitches,cs_check_var_copyout)
@ -1030,7 +1031,7 @@ begin
'E' : 'E' :
begin begin
if UnsetBool(More, 0) then if UnsetBool(More, 0, opt, true) then
exclude(init_settings.globalswitches,cs_link_nolink) exclude(init_settings.globalswitches,cs_link_nolink)
else else
include(init_settings.globalswitches,cs_link_nolink); include(init_settings.globalswitches,cs_link_nolink);
@ -1072,7 +1073,7 @@ begin
'C' : 'C' :
RCCompiler := More; RCCompiler := More;
'd' : 'd' :
if UnsetBool(more, 0) then if UnsetBool(more, 0, opt, true) then
init_settings.disabledircache:=false init_settings.disabledircache:=false
else else
init_settings.disabledircache:=true; init_settings.disabledircache:=true;
@ -1172,7 +1173,7 @@ begin
'g' : 'g' :
begin begin
if UnsetBool(More, 0) then if UnsetBool(More, 0, opt, false) then
begin begin
exclude(init_settings.moduleswitches,cs_debuginfo); exclude(init_settings.moduleswitches,cs_debuginfo);
exclude(init_settings.globalswitches,cs_use_heaptrc); exclude(init_settings.globalswitches,cs_use_heaptrc);
@ -1194,7 +1195,7 @@ begin
case more[j] of case more[j] of
'c' : 'c' :
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_checkpointer) exclude(init_settings.localswitches,cs_checkpointer)
else if (target_info.system in supported_targets_gc) then else if (target_info.system in supported_targets_gc) then
include(init_settings.localswitches,cs_checkpointer) include(init_settings.localswitches,cs_checkpointer)
@ -1203,14 +1204,14 @@ begin
end; end;
'h' : 'h' :
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_use_heaptrc) exclude(init_settings.globalswitches,cs_use_heaptrc)
else else
include(init_settings.globalswitches,cs_use_heaptrc); include(init_settings.globalswitches,cs_use_heaptrc);
end; end;
'l' : 'l' :
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_use_lineinfo) exclude(init_settings.globalswitches,cs_use_lineinfo)
else else
include(init_settings.globalswitches,cs_use_lineinfo); include(init_settings.globalswitches,cs_use_lineinfo);
@ -1223,7 +1224,7 @@ begin
end; end;
'p' : 'p' :
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_stabs_preservecase) exclude(init_settings.globalswitches,cs_stabs_preservecase)
else else
include(init_settings.globalswitches,cs_stabs_preservecase); include(init_settings.globalswitches,cs_stabs_preservecase);
@ -1234,14 +1235,14 @@ begin
end; end;
't' : 't' :
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
localvartrashing := -1 localvartrashing := -1
else else
localvartrashing := (localvartrashing + 1) mod nroftrashvalues; localvartrashing := (localvartrashing + 1) mod nroftrashvalues;
end; end;
'v' : 'v' :
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_gdb_valgrind) exclude(init_settings.globalswitches,cs_gdb_valgrind)
else else
include(init_settings.globalswitches,cs_gdb_valgrind); include(init_settings.globalswitches,cs_gdb_valgrind);
@ -1304,10 +1305,10 @@ begin
end; end;
'l' : 'l' :
ParaLogo:=not UnSetBool(more,0); ParaLogo:=not UnSetBool(more,0,opt,true);
'm' : 'm' :
parapreprocess:=not UnSetBool(more,0); parapreprocess:=not UnSetBool(more,0,opt,true);
'M' : 'M' :
begin begin
@ -1416,7 +1417,7 @@ begin
'p' : 'p' :
begin begin
if UnsetBool(More, 0) then if UnsetBool(More, 0, opt, false) then
begin begin
init_settings.moduleswitches:=init_settings.moduleswitches-[cs_profile]; init_settings.moduleswitches:=init_settings.moduleswitches-[cs_profile];
undef_system_macro('FPC_PROFILE'); undef_system_macro('FPC_PROFILE');
@ -1426,7 +1427,7 @@ begin
IllegalPara(opt) IllegalPara(opt)
else else
case more[1] of case more[1] of
'g' : if UnsetBool(more, 1) then 'g' : if UnsetBool(more, 1, opt, false) then
begin begin
exclude(init_settings.moduleswitches,cs_profile); exclude(init_settings.moduleswitches,cs_profile);
undef_system_macro('FPC_PROFILE'); undef_system_macro('FPC_PROFILE');
@ -1453,7 +1454,7 @@ begin
's' : 's' :
begin begin
if UnsetBool(More, 0) then if UnsetBool(More, 0, opt, false) then
begin begin
init_settings.globalswitches:=init_settings.globalswitches-[cs_asm_extern,cs_link_extern,cs_link_nolink]; init_settings.globalswitches:=init_settings.globalswitches-[cs_asm_extern,cs_link_extern,cs_link_nolink];
if more<>'' then if more<>'' then
@ -1498,12 +1499,12 @@ begin
'2' : //an alternative to -Mobjfpc '2' : //an alternative to -Mobjfpc
SetCompileMode('OBJFPC',true); SetCompileMode('OBJFPC',true);
'a' : 'a' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_do_assertion) exclude(init_settings.localswitches,cs_do_assertion)
else else
include(init_settings.localswitches,cs_do_assertion); include(init_settings.localswitches,cs_do_assertion);
'c' : 'c' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.moduleswitches,cs_support_c_operators) exclude(init_settings.moduleswitches,cs_support_c_operators)
else else
include(init_settings.moduleswitches,cs_support_c_operators); include(init_settings.moduleswitches,cs_support_c_operators);
@ -1532,27 +1533,27 @@ begin
end; end;
end; end;
'g' : 'g' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.moduleswitches,cs_support_goto) exclude(init_settings.moduleswitches,cs_support_goto)
else else
include(init_settings.moduleswitches,cs_support_goto); include(init_settings.moduleswitches,cs_support_goto);
'h' : 'h' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_refcountedstrings) exclude(init_settings.localswitches,cs_refcountedstrings)
else else
include(init_settings.localswitches,cs_refcountedstrings); include(init_settings.localswitches,cs_refcountedstrings);
'i' : 'i' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_do_inline) exclude(init_settings.localswitches,cs_do_inline)
else else
include(init_settings.localswitches,cs_do_inline); include(init_settings.localswitches,cs_do_inline);
'k' : 'k' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_load_fpcylix_unit) exclude(init_settings.globalswitches,cs_load_fpcylix_unit)
else else
include(init_settings.globalswitches,cs_load_fpcylix_unit); include(init_settings.globalswitches,cs_load_fpcylix_unit);
'm' : 'm' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.moduleswitches,cs_support_macro) exclude(init_settings.moduleswitches,cs_support_macro)
else else
include(init_settings.moduleswitches,cs_support_macro); include(init_settings.moduleswitches,cs_support_macro);
@ -1563,24 +1564,24 @@ begin
SetCompileMode('GPC',true); SetCompileMode('GPC',true);
{$endif} {$endif}
's' : 's' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_constructor_name) exclude(init_settings.globalswitches,cs_constructor_name)
else else
include(init_settings.globalswitches,cs_constructor_name); include(init_settings.globalswitches,cs_constructor_name);
't' : 't' :
Message1(option_obsolete_switch,'-St'); Message1(option_obsolete_switch,'-St');
'v' : 'v' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_support_vectors) exclude(init_settings.globalswitches,cs_support_vectors)
else else
include(init_settings.globalswitches,cs_support_vectors); include(init_settings.globalswitches,cs_support_vectors);
'x' : 'x' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_support_exceptions) exclude(init_settings.globalswitches,cs_support_exceptions)
else else
include(init_settings.globalswitches,cs_support_exceptions); include(init_settings.globalswitches,cs_support_exceptions);
'y' : 'y' :
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.localswitches,cs_typed_addresses) exclude(init_settings.localswitches,cs_typed_addresses)
else else
include(init_settings.localswitches,cs_typed_addresses); include(init_settings.localswitches,cs_typed_addresses);
@ -1681,7 +1682,7 @@ begin
begin begin
if target_info.system in systems_all_windows then if target_info.system in systems_all_windows then
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
apptype:=app_cui apptype:=app_cui
else else
apptype:=app_native; apptype:=app_native;
@ -1693,7 +1694,7 @@ begin
begin begin
if target_info.system in systems_darwin then if target_info.system in systems_darwin then
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
apptype:=app_cui apptype:=app_cui
else else
apptype:=app_bundle apptype:=app_bundle
@ -1730,7 +1731,7 @@ begin
begin begin
if target_info.system in systems_all_windows+systems_os2+systems_macos then if target_info.system in systems_all_windows+systems_os2+systems_macos then
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
apptype:=app_gui apptype:=app_gui
else else
apptype:=app_cui; apptype:=app_cui;
@ -1742,7 +1743,7 @@ begin
begin begin
if target_info.system in systems_all_windows then if target_info.system in systems_all_windows then
begin begin
UseDeffileForExports:=not UnsetBool(More, j); UseDeffileForExports:=not UnsetBool(More, j, opt, false);
UseDeffileForExportsSetExplicitly:=true; UseDeffileForExportsSetExplicitly:=true;
end end
else else
@ -1763,7 +1764,7 @@ begin
begin begin
if target_info.system in systems_os2 then if target_info.system in systems_os2 then
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
apptype:=app_cui apptype:=app_cui
else else
apptype:=app_fs; apptype:=app_fs;
@ -1775,7 +1776,7 @@ begin
begin begin
if target_info.system in systems_all_windows+systems_os2+systems_macos then if target_info.system in systems_all_windows+systems_os2+systems_macos then
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
apptype:=app_cui apptype:=app_cui
else else
apptype:=app_gui; apptype:=app_gui;
@ -1787,7 +1788,7 @@ begin
begin begin
if target_info.system in systems_all_windows then if target_info.system in systems_all_windows then
begin begin
GenerateImportSection:=not UnsetBool(More,j); GenerateImportSection:=not UnsetBool(More,j,opt,false);
GenerateImportSectionSetExplicitly:=true; GenerateImportSectionSetExplicitly:=true;
end end
else else
@ -1818,7 +1819,7 @@ begin
begin begin
if target_info.system in systems_all_windows then if target_info.system in systems_all_windows then
begin begin
RelocSection:=UnsetBool(More,j); RelocSection:=UnsetBool(More,j,opt,false);
RelocSectionSetExplicitly:=true; RelocSectionSetExplicitly:=true;
end end
else else
@ -1853,7 +1854,7 @@ begin
if target_info.system in systems_all_windows then if target_info.system in systems_all_windows then
begin begin
{ support -WR+ / -WR- as synonyms to -WR / -WN } { support -WR+ / -WR- as synonyms to -WR / -WN }
RelocSection:=not UnsetBool(More,j); RelocSection:=not UnsetBool(More,j,opt,false);
RelocSectionSetExplicitly:=true; RelocSectionSetExplicitly:=true;
end end
else else
@ -1863,7 +1864,7 @@ begin
begin begin
if target_info.system in systems_macos then if target_info.system in systems_macos then
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
apptype:=app_cui apptype:=app_cui
else else
apptype:=app_tool; apptype:=app_tool;
@ -1875,7 +1876,7 @@ begin
begin begin
if (target_info.system in systems_linux) then if (target_info.system in systems_linux) then
begin begin
if UnsetBool(More, j) then if UnsetBool(More, j, opt, false) then
exclude(init_settings.moduleswitches,cs_executable_stack) exclude(init_settings.moduleswitches,cs_executable_stack)
else else
include(init_settings.moduleswitches,cs_executable_stack) include(init_settings.moduleswitches,cs_executable_stack)
@ -1900,7 +1901,7 @@ begin
'd' : Dontlinkstdlibpath:=TRUE; 'd' : Dontlinkstdlibpath:=TRUE;
'e' : 'e' :
begin begin
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_link_extern) exclude(init_settings.globalswitches,cs_link_extern)
else else
include(init_settings.globalswitches,cs_link_extern); include(init_settings.globalswitches,cs_link_extern);
@ -1909,21 +1910,21 @@ begin
include(init_settings.globalswitches,cs_link_pthread); include(init_settings.globalswitches,cs_link_pthread);
'g' : 'g' :
begin begin
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_link_separate_dbg_file) exclude(init_settings.globalswitches,cs_link_separate_dbg_file)
else else
include(init_settings.globalswitches,cs_link_separate_dbg_file); include(init_settings.globalswitches,cs_link_separate_dbg_file);
end; end;
'i' : 'i' :
begin begin
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
include(init_settings.globalswitches,cs_link_extern) include(init_settings.globalswitches,cs_link_extern)
else else
exclude(init_settings.globalswitches,cs_link_extern); exclude(init_settings.globalswitches,cs_link_extern);
end; end;
'n' : 'n' :
begin begin
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_link_native) exclude(init_settings.globalswitches,cs_link_native)
else else
include(init_settings.globalswitches,cs_link_native); include(init_settings.globalswitches,cs_link_native);
@ -1931,7 +1932,7 @@ begin
'm' : 'm' :
begin begin
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_link_map) exclude(init_settings.globalswitches,cs_link_map)
else else
include(init_settings.globalswitches,cs_link_map); include(init_settings.globalswitches,cs_link_map);
@ -1956,7 +1957,7 @@ begin
end; end;
's' : 's' :
begin begin
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_link_strip) exclude(init_settings.globalswitches,cs_link_strip)
else else
include(init_settings.globalswitches,cs_link_strip); include(init_settings.globalswitches,cs_link_strip);
@ -1965,7 +1966,7 @@ begin
include(init_settings.globalswitches,cs_link_staticflag); include(init_settings.globalswitches,cs_link_staticflag);
'v' : 'v' :
begin begin
If UnsetBool(More, j) then If UnsetBool(More, j, opt, false) then
exclude(init_settings.globalswitches,cs_link_opt_vtable) exclude(init_settings.globalswitches,cs_link_opt_vtable)
else else
include(init_settings.globalswitches,cs_link_opt_vtable); include(init_settings.globalswitches,cs_link_opt_vtable);