Browse Source

sysinit*.pp: Factored common code into include file.

git-svn-id: trunk@17939 -
sergei 14 years ago
parent
commit
59ac157b50
5 changed files with 46 additions and 83 deletions
  1. 1 0
      .gitattributes
  2. 42 0
      rtl/win32/sysinit.inc
  3. 1 29
      rtl/win32/sysinitcyg.pp
  4. 1 29
      rtl/win32/sysinitgprof.pp
  5. 1 25
      rtl/win32/sysinitpas.pp

+ 1 - 0
.gitattributes

@@ -8167,6 +8167,7 @@ rtl/win32/gprt0.as svneol=native#text/plain
 rtl/win32/initc.pp svneol=native#text/plain
 rtl/win32/objinc.inc svneol=native#text/plain
 rtl/win32/signals.pp svneol=native#text/plain
+rtl/win32/sysinit.inc svneol=native#text/plain
 rtl/win32/sysinitcyg.pp svneol=native#text/plain
 rtl/win32/sysinitgprof.pp svneol=native#text/plain
 rtl/win32/sysinitpas.pp svneol=native#text/plain

+ 42 - 0
rtl/win32/sysinit.inc

@@ -0,0 +1,42 @@
+{
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 1999-2006 by Florian Klaempfl and Pavel Ozerski
+    member of the Free Pascal development team.
+
+    Win32 startup code, shared part
+
+    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.
+
+ **********************************************************************}
+ 
+   var
+      SysInstance : Longint;external name '_FPC_SysInstance';
+      EntryInformation : TEntryInformation;
+
+      InitFinalTable : record end; external name 'INITFINAL';
+      ThreadvarTablesTable : record end; external name 'FPC_THREADVARTABLES';
+      valgrind_used : boolean;external name '__fpc_valgrind';
+
+    procedure EXE_Entry(const info : TEntryInformation); external name '_FPC_EXE_Entry';
+    function DLL_Entry(const info : TEntryInformation) : longbool; external name '_FPC_DLL_Entry';
+    procedure PascalMain;stdcall;external name 'PASCALMAIN';
+
+    function GetStdHandle(nStdHandle:DWORD) : THandle; stdcall; external 'kernel32' name 'GetStdHandle';
+    function GetConsoleMode(hConsoleHandle: THandle; var lpMode: DWORD): Boolean; stdcall; external 'kernel32' name 'GetConsoleMode';
+
+    const
+      STD_INPUT_HANDLE = dword(-10);
+
+    procedure SetupEntryInformation;
+      begin
+        EntryInformation.InitFinalTable:=@InitFinalTable;
+        EntryInformation.ThreadvarTablesTable:=@ThreadvarTablesTable;
+        EntryInformation.asm_exit:=@asm_exit;
+        EntryInformation.PascalMain:=@PascalMain;
+        EntryInformation.valgrind_used:=valgrind_used;
+      end;

+ 1 - 29
rtl/win32/sysinitcyg.pp

@@ -20,42 +20,14 @@ unit sysinitcyg;
 
   implementation
 
-    var
-      SysInstance : Longint;external name '_FPC_SysInstance';
-      EntryInformation : TEntryInformation;
-
-      InitFinalTable : record end; external name 'INITFINAL';
-      ThreadvarTablesTable : record end; external name 'FPC_THREADVARTABLES';
-      valgrind_used : boolean;external name '__fpc_valgrind';
-
-    procedure EXE_Entry; external name '_FPC_EXE_Entry';
-    function DLL_Entry : longbool; external name '_FPC_DLL_Entry';
-
     procedure Cygwin_crt0(p : pointer);cdecl;external name 'cygwin_crt0';
     procedure __main;cdecl;external name '__main';
 
-    const
-      STD_INPUT_HANDLE = dword(-10);
-
-    function GetStdHandle(nStdHandle:DWORD) : THandle; stdcall; external 'kernel32' name 'GetStdHandle';
-    function GetConsoleMode(hConsoleHandle: THandle; var lpMode: DWORD): Boolean; stdcall; external 'kernel32' name 'GetConsoleMode';
-
-    procedure EXE_Entry(const info : TEntryInformation); external name '_FPC_EXE_Entry';
-    function DLL_entry(const info : TEntryInformation) : longbool; external name '_FPC_DLL_Entry';
-    procedure PascalMain;stdcall;external name 'PASCALMAIN';
-
     procedure asm_exit;stdcall;public name 'asm_exit';
       begin
       end;
 
-    procedure SetupEntryInformation;
-      begin
-        EntryInformation.InitFinalTable:=@InitFinalTable;
-        EntryInformation.ThreadvarTablesTable:=@ThreadvarTablesTable;
-        EntryInformation.asm_exit:=@asm_exit;
-        EntryInformation.PascalMain:=@PascalMain;
-        EntryInformation.valgrind_used:=valgrind_used;
-      end;
+{$i sysinit.inc}
 
 
     procedure CMainEXE;cdecl;

+ 1 - 29
rtl/win32/sysinitgprof.pp

@@ -24,18 +24,9 @@ unit sysinitgprof;
       monstarted : dword = 0;
 
     var
-      SysInstance : Longint;external name '_FPC_SysInstance';
-      EntryInformation : TEntryInformation;
-
-      InitFinalTable : record end; external name 'INITFINAL';
-      ThreadvarTablesTable : record end; external name 'FPC_THREADVARTABLES';
-      valgrind_used : boolean;external name '__fpc_valgrind';
       stext : record end;external name '__text_start__';
       etext : record end;external name 'etext';
 
-    procedure EXE_Entry; external name '_FPC_EXE_Entry';
-    function DLL_Entry : longbool; external name '_FPC_DLL_Entry';
-
     procedure Cygwin_crt0(p : pointer);cdecl;external name 'cygwin_crt0';
     procedure __main;cdecl;external name '__main';
     procedure _mcleanup;cdecl;external name '_mcleanup';
@@ -45,31 +36,12 @@ unit sysinitgprof;
     procedure CMainEXE;cdecl;forward;
     procedure CMainDLL;cdecl;forward;
 
-    const
-      STD_INPUT_HANDLE = dword(-10);
-
-    function GetStdHandle(nStdHandle:DWORD) : THandle; stdcall; external 'kernel32' name 'GetStdHandle';
-    function GetConsoleMode(hConsoleHandle: THandle; var lpMode: DWORD): Boolean; stdcall; external 'kernel32' name 'GetConsoleMode';
-
-    procedure EXE_Entry(const info : TEntryInformation); external name '_FPC_EXE_Entry';
-    function DLL_entry(const info : TEntryInformation) : longbool; external name '_FPC_DLL_Entry';
-    procedure PascalMain;stdcall;external name 'PASCALMAIN';
-
     procedure asm_exit;stdcall;public name 'asm_exit';
       begin
         _mcleanup;
       end;
 
-
-    procedure SetupEntryInformation;
-      begin
-        EntryInformation.InitFinalTable:=@InitFinalTable;
-        EntryInformation.ThreadvarTablesTable:=@ThreadvarTablesTable;
-        EntryInformation.asm_exit:=@asm_exit;
-        EntryInformation.PascalMain:=@PascalMain;
-        EntryInformation.valgrind_used:=valgrind_used;
-      end;
-
+{$i sysinit.inc}
 
     procedure EXEgmon_start;
       begin

+ 1 - 25
rtl/win32/sysinitpas.pp

@@ -19,36 +19,12 @@ unit sysinitpas;
 
   implementation
 
-    var
-      SysInstance : Longint;external name '_FPC_SysInstance';
-      EntryInformation : TEntryInformation;
-
-      InitFinalTable : record end; external name 'INITFINAL';
-      ThreadvarTablesTable : record end; external name 'FPC_THREADVARTABLES';
-      valgrind_used : boolean;external name '__fpc_valgrind';
 
     procedure asm_exit;stdcall;public name 'asm_exit';
       begin
       end;
 
-    procedure EXE_Entry(const info : TEntryInformation); external name '_FPC_EXE_Entry';
-    function DLL_entry(const info : TEntryInformation) : longbool; external name '_FPC_DLL_Entry';
-    procedure PascalMain;stdcall;external name 'PASCALMAIN';
-
-    procedure SetupEntryInformation;
-      begin
-        EntryInformation.InitFinalTable:=@InitFinalTable;
-        EntryInformation.ThreadvarTablesTable:=@ThreadvarTablesTable;
-        EntryInformation.asm_exit:=@asm_exit;
-        EntryInformation.PascalMain:=@PascalMain;
-        EntryInformation.valgrind_used:=valgrind_used;
-      end;
-
-    const
-      STD_INPUT_HANDLE = dword(-10);
-
-    function GetStdHandle(nStdHandle:DWORD) : THandle; stdcall; external 'kernel32' name 'GetStdHandle';
-    function GetConsoleMode(hConsoleHandle: THandle; var lpMode: DWORD): Boolean; stdcall; external 'kernel32' name 'GetConsoleMode';
+{$i sysinit.inc}
 
     procedure _FPC_mainCRTStartup;stdcall;public name '_mainCRTStartup';
     begin