* Handling of -Sf parameter fixed

* Fixed definition of FPC_HAS_FEATURE_xxx macros for targets not supporting the full range of features
 * Added DYNLIBS feature

git-svn-id: trunk@10932 -
This commit is contained in:
giulio 2008-05-10 17:00:04 +00:00
parent c399cbc520
commit 9203f46e1a
4 changed files with 23 additions and 9 deletions

View File

@ -160,7 +160,7 @@ interface
f_heap,f_init_final,f_rtti,f_classes,f_exceptions,f_exitcode,
f_ansistrings,f_widestrings,f_textio,f_consoleio,f_fileio,
f_random,f_variants,f_objects,f_dynarrays,f_threading,f_commandargs,
f_processes,f_stackcheck
f_processes,f_stackcheck,f_dynlibs
);
tfeatures = set of tfeature;
@ -193,7 +193,7 @@ interface
'HEAP','INITFINAL','RTTI','CLASSES','EXCEPTIONS','EXITCODE',
'ANSISTRINGS','WIDESTRINGS','TEXTIO','CONSOLEIO','FILEIO',
'RANDOM','VARIANTS','OBJECTS','DYNARRAYS','THREADING','COMMANDARGS',
'PROCESSES','STACKCHECK'
'PROCESSES','STACKCHECK','DYNLIBS'
);
type

View File

@ -1155,7 +1155,9 @@ begin
end
else
begin
if not(IncludeFeature(upper(copy(more,j,length(more)-j+1)))) then
if (IncludeFeature(upper(copy(more,j,length(more)-j+1)))) then
j:=length(more)
else
IllegalPara(opt);
end;
end;
@ -1958,6 +1960,7 @@ procedure TOption.TargetOptions(def:boolean);
var
s : string;
i : integer;
target_unsup_features : tfeatures;
begin
if def then
def_system_macro(target_info.shortname)
@ -2020,6 +2023,22 @@ begin
def_system_macro('FPC_HAS_WINLIKERESOURCES')
else
undef_system_macro('FPC_HAS_WINLIKERESOURCES');
{ Features }
case target_info.system of
system_arm_gba:
target_unsup_features:=[f_threading,f_commandargs,f_fileio,f_textio,f_consoleio,f_dynlibs];
system_arm_nds:
target_unsup_features:=[f_threading,f_commandargs,f_fileio,f_textio,f_consoleio,f_dynlibs];
system_i386_go32v2:
target_unsup_features:=[f_threading,f_dynlibs]
else
target_unsup_features:=[];
end;
if def then
features:=features-target_unsup_features
else
features:=features+target_unsup_features;
end;

View File

@ -121,12 +121,6 @@ implementation
include(supported_calling_conventions,pocall_syscall);
system_m68k_amiga:
include(supported_calling_conventions,pocall_syscall);
system_arm_gba:
features:=features-[f_threading,f_commandargs,f_fileio,f_textio,f_consoleio];
system_arm_nds:
features:=features-[f_threading,f_commandargs,f_fileio,f_textio,f_consoleio];
system_i386_go32v2:
features:=features-[f_threading];
end;
end;

View File

@ -72,6 +72,7 @@
{$define FPC_HAS_FEATURE_COMMANDARGS}
{$define FPC_HAS_FEATURE_PROCESSES}
{$define FPC_HAS_FEATURE_STACKCHECK}
{$define FPC_HAS_FEATURE_DYNLIBS}
{$endif FPC_HAS_FEATURE_SUPPORT}
{****************************************************************************