瀏覽代碼

+ Add feature define around inittextio

git-svn-id: trunk@6522 -
daniel 18 年之前
父節點
當前提交
5e13ba03e6
共有 3 個文件被更改,包括 178 次插入175 次删除
  1. 0 1
      .gitattributes
  2. 5 3
      rtl/gba/system.pp
  3. 173 171
      rtl/nds/system.pp

+ 0 - 1
.gitattributes

@@ -4828,7 +4828,6 @@ rtl/nds/sysfile.inc -text
 rtl/nds/sysheap.inc -text
 rtl/nds/sysos.inc -text
 rtl/nds/sysosh.inc -text
-rtl/nds/system.pp -text
 rtl/nds/systhrd.inc -text
 rtl/nds/sysutils.pp -text
 rtl/nds/tthread.inc -text

+ 5 - 3
rtl/gba/system.pp

@@ -19,6 +19,7 @@ interface
 
 {$define __ARM__} (* For future usage! *)
 {$define FPC_IS_SYSTEM}
+{$define USE_NOTHREADMANAGER}
 
 {$i gbabiosh.inc}
 
@@ -81,11 +82,11 @@ implementation
 
 {$i gbabios.inc}
 
-
+{$ifdef FPC_HAS_FEATURE_PROCESSES}
 function GetProcessID: SizeUInt;
 begin
 end;
-
+{$endif}
 
 
 {*****************************************************************************
@@ -118,12 +119,14 @@ procedure randomize;
 begin
 end;
 
+{$ifdef FPC_HAS_FEATURE_TEXTIO}
 procedure SysInitStdIO;
 begin
   OpenStdIO(Input,fmInput,StdInputHandle);
   OpenStdIO(Output,fmOutput,StdOutputHandle);
   OpenStdIO(StdOut,fmOutput,StdOutputHandle);
 end;
+{$endif}
 
 
 function CheckInitialStkLen(stklen : SizeUInt) : SizeUInt;
@@ -170,5 +173,4 @@ begin
 
   InitSystemThreads;
   initvariantmanager;
-  initwidestringmanager;
 end.

+ 173 - 171
rtl/nds/system.pp

@@ -1,171 +1,173 @@
-{
-    This file is part of the Free Pascal run time library.
-    Copyright (c) 2006 by Francesco Lombardi.
-
-    System unit for Nintendo DS
-
-    See the file COPYING.FPC, included in this distribution,
-    for details about the copyright.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- **********************************************************************}
-
-unit System;
-
-interface
-
-{$define FPC_IS_SYSTEM}
-
-{$i ndsbiosh.inc}
-
-{$I systemh.inc}
-
-{$define fpc_softfpu_interface}
-{$i softfpu.pp}
-{$undef fpc_softfpu_interface}
-
-
-const
- LineEnding = #10;
- LFNSupport = true;
- CtrlZMarksEOF: boolean = false;
- DirectorySeparator = '/';
- DriveSeparator = ':';
- PathSeparator = ';';
- FileNameCaseSensitive = false;
- maxExitCode = 255;
- MaxPathLen = 255;
-
-
- sLineBreak : string[1] = LineEnding;
- DefaultTextLineBreakStyle : TTextLineBreakStyle = tlbsCRLF;
-
-const
-  UnusedHandle    = $ffff;
-  StdInputHandle  = 0;
-  StdOutputHandle = 1;
-  StdErrorHandle  = $ffff;
-
-
-var
-  argc: LongInt = 0;
-  argv: PPChar;
-  envp: PPChar;
-  errno: integer;
-  fake_heap_start: pchar; cvar;
-  fake_heap_end: pchar; cvar;
-
-implementation
-
-{$define fpc_softfpu_implementation}
-{$i softfpu.pp}
-{$undef fpc_softfpu_implementation}
-
-{ we get these functions and types from the softfpu code }
-{$define FPC_SYSTEM_HAS_float64}
-{$define FPC_SYSTEM_HAS_float32}
-{$define FPC_SYSTEM_HAS_flag}
-{$define FPC_SYSTEM_HAS_extractFloat64Frac0}
-{$define FPC_SYSTEM_HAS_extractFloat64Frac1}
-{$define FPC_SYSTEM_HAS_extractFloat64Exp}
-{$define FPC_SYSTEM_HAS_extractFloat64Sign}
-{$define FPC_SYSTEM_HAS_ExtractFloat32Frac}
-{$define FPC_SYSTEM_HAS_extractFloat32Exp}
-{$define FPC_SYSTEM_HAS_extractFloat32Sign}
-
-{$I system.inc}
-
-{$i ndsbios.inc}
-
-
-function GetProcessID: SizeUInt;
-begin
-end;
-
-
-
-{*****************************************************************************
-                       Misc. System Dependent Functions
-*****************************************************************************}
-procedure System_exit;
-begin
-end;
-
-
-
-{*****************************************************************************
-                             ParamStr/Randomize
-*****************************************************************************}
-
-{ number of args }
-function paramcount : longint;
-begin
-  paramcount:=0;
-end;
-
-{ argument number l }
-function paramstr(l : longint) : string;
-begin
-  paramstr:='';
-end;
-
-{ set randseed to a new pseudo random value }
-procedure randomize;
-begin
-end;
-
-procedure SysInitStdIO;
-begin
-  OpenStdIO(Input,fmInput,StdInputHandle);
-  OpenStdIO(Output,fmOutput,StdOutputHandle);
-  OpenStdIO(StdOut,fmOutput,StdOutputHandle);
-end;
-
-
-function CheckInitialStkLen(stklen : SizeUInt) : SizeUInt;
-begin
-  result := stklen;
-end;
-
-
-procedure InitHeap;
-begin
-{
-  FillChar(freelists_fixed,sizeof(tfreelists),0);
-  FillChar(freelists_free_chunk,sizeof(freelists_free_chunk),0);
-
-  freelist_var:=nil;
-  freeoslistcount:=1;
-  freeoslist:=pointer($2040000);
-  fillchar(freeoslist^,sizeof(freeoslist^),0);
-  freeoslist^.size:=$40000;
-  fillchar(internal_status,sizeof(internal_status),0);
-}
-end;
-
-
-begin
-  StackLength := CheckInitialStkLen(InitialStkLen);
-  ///StackBottom := Sptr - StackLength;
-  StackBottom := StackTop - StackLength;
-{ OS specific startup }
-  fake_heap_start := pchar(0);
-  fake_heap_end := pchar(0);
-{ Set up signals handlers }
-
-{ Setup heap }
-  InitHeap;
-  //SysInitExceptions;
-{ Setup stdin, stdout and stderr }
-  //SysInitStdIO;
-{ Reset IO Error }
-  InOutRes := 0;
-{ Arguments }
-
-  //InitSystemThreads;
-  //initvariantmanager;
-  //initwidestringmanager;
-end.
+{
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 2006 by Francesco Lombardi.
+
+    System unit for Nintendo DS
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+
+unit System;
+
+interface
+
+{$define FPC_IS_SYSTEM}
+
+{$i ndsbiosh.inc}
+
+{$I systemh.inc}
+
+{$define fpc_softfpu_interface}
+{$i softfpu.pp}
+{$undef fpc_softfpu_interface}
+
+
+const
+ LineEnding = #10;
+ LFNSupport = true;
+ CtrlZMarksEOF: boolean = false;
+ DirectorySeparator = '/';
+ DriveSeparator = ':';
+ PathSeparator = ';';
+ FileNameCaseSensitive = false;
+ maxExitCode = 255;
+ MaxPathLen = 255;
+
+
+ sLineBreak : string[1] = LineEnding;
+ DefaultTextLineBreakStyle : TTextLineBreakStyle = tlbsCRLF;
+
+const
+  UnusedHandle    = $ffff;
+  StdInputHandle  = 0;
+  StdOutputHandle = 1;
+  StdErrorHandle  = $ffff;
+
+
+var
+  argc: LongInt = 0;
+  argv: PPChar;
+  envp: PPChar;
+  errno: integer;
+  fake_heap_start: pchar; cvar;
+  fake_heap_end: pchar; cvar;
+
+implementation
+
+{$define fpc_softfpu_implementation}
+{$i softfpu.pp}
+{$undef fpc_softfpu_implementation}
+
+{ we get these functions and types from the softfpu code }
+{$define FPC_SYSTEM_HAS_float64}
+{$define FPC_SYSTEM_HAS_float32}
+{$define FPC_SYSTEM_HAS_flag}
+{$define FPC_SYSTEM_HAS_extractFloat64Frac0}
+{$define FPC_SYSTEM_HAS_extractFloat64Frac1}
+{$define FPC_SYSTEM_HAS_extractFloat64Exp}
+{$define FPC_SYSTEM_HAS_extractFloat64Sign}
+{$define FPC_SYSTEM_HAS_ExtractFloat32Frac}
+{$define FPC_SYSTEM_HAS_extractFloat32Exp}
+{$define FPC_SYSTEM_HAS_extractFloat32Sign}
+
+{$I system.inc}
+
+{$i ndsbios.inc}
+
+{$ifdef FPC_HAS_FEATURE_PROCESSES}
+function GetProcessID: SizeUInt;
+begin
+end;
+{$endif}
+
+
+{*****************************************************************************
+                       Misc. System Dependent Functions
+*****************************************************************************}
+procedure System_exit;
+begin
+end;
+
+
+
+{*****************************************************************************
+                             ParamStr/Randomize
+*****************************************************************************}
+
+{ number of args }
+function paramcount : longint;
+begin
+  paramcount:=0;
+end;
+
+{ argument number l }
+function paramstr(l : longint) : string;
+begin
+  paramstr:='';
+end;
+
+{ set randseed to a new pseudo random value }
+procedure randomize;
+begin
+end;
+
+{$ifdef FPC_HAS_FEATURE_TEXTIO}
+procedure SysInitStdIO;
+begin
+  OpenStdIO(Input,fmInput,StdInputHandle);
+  OpenStdIO(Output,fmOutput,StdOutputHandle);
+  OpenStdIO(StdOut,fmOutput,StdOutputHandle);
+end;
+{$endif}
+
+
+function CheckInitialStkLen(stklen : SizeUInt) : SizeUInt;
+begin
+  result := stklen;
+end;
+
+
+procedure InitHeap;
+begin
+{
+  FillChar(freelists_fixed,sizeof(tfreelists),0);
+  FillChar(freelists_free_chunk,sizeof(freelists_free_chunk),0);
+
+  freelist_var:=nil;
+  freeoslistcount:=1;
+  freeoslist:=pointer($2040000);
+  fillchar(freeoslist^,sizeof(freeoslist^),0);
+  freeoslist^.size:=$40000;
+  fillchar(internal_status,sizeof(internal_status),0);
+}
+end;
+
+
+begin
+  StackLength := CheckInitialStkLen(InitialStkLen);
+  ///StackBottom := Sptr - StackLength;
+  StackBottom := StackTop - StackLength;
+{ OS specific startup }
+  fake_heap_start := pchar(0);
+  fake_heap_end := pchar(0);
+{ Set up signals handlers }
+
+{ Setup heap }
+  InitHeap;
+  //SysInitExceptions;
+{ Setup stdin, stdout and stderr }
+  //SysInitStdIO;
+{ Reset IO Error }
+  InOutRes := 0;
+{ Arguments }
+
+  //InitSystemThreads;
+  //initvariantmanager;
+  //initwidestringmanager;
+end.