Browse Source

Merged revisions 7921 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

........
r7921 | yury | 2007-07-02 14:02:30 +0300 (Пн, 02 июл 2007) | 1 line

* Patch from Vincent to enable resources support for win64 using gorc resource compiler.
........

git-svn-id: branches/fixes_2_2@7928 -

yury 18 years ago
parent
commit
6550c70f25
3 changed files with 13 additions and 3 deletions
  1. 1 0
      compiler/systems.pas
  2. 2 2
      compiler/systems/i_win.pas
  3. 10 1
      compiler/systems/t_win.pas

+ 1 - 0
compiler/systems.pas

@@ -182,6 +182,7 @@ interface
             ,res_m68k_palmos,res_m68k_mpw
             ,res_m68k_palmos,res_m68k_mpw
             ,res_powerpc_mpw,res_elf
             ,res_powerpc_mpw,res_elf
             ,res_gnu_wince_windres
             ,res_gnu_wince_windres
+            ,res_win64_gorc
        );
        );
 
 
        tdbg = (dbg_none
        tdbg = (dbg_none

+ 2 - 2
compiler/systems/i_win.pas

@@ -105,7 +105,7 @@ unit i_win;
             asmext       : '.s';
             asmext       : '.s';
             objext       : '.o';
             objext       : '.o';
             resext       : '.res';
             resext       : '.res';
-            resobjext    : '.or';
+            resobjext    : '.obj';
             sharedlibext : '.dll';
             sharedlibext : '.dll';
             staticlibext : '.a';
             staticlibext : '.a';
             staticlibprefix : 'libp';
             staticlibprefix : 'libp';
@@ -122,7 +122,7 @@ unit i_win;
             link         : nil;
             link         : nil;
             linkextern   : nil;
             linkextern   : nil;
             ar           : ar_gnu_ar;
             ar           : ar_gnu_ar;
-            res          : res_gnu_windres;
+            res          : res_win64_gorc;
             dbg          : dbg_stabs;
             dbg          : dbg_stabs;
             script       : script_dos;
             script       : script_dos;
             endian       : endian_little;
             endian       : endian_little;

+ 10 - 1
compiler/systems/t_win.pas

@@ -124,6 +124,15 @@ implementation
           rccmd  : '--include $INC -O res -o $RES $RC';
           rccmd  : '--include $INC -O res -o $RES $RC';
         );
         );
 
 
+    res_win64_gorc_info : tresinfo =
+        (
+          id     : res_win64_gorc;
+          resbin : 'gorc';
+          rescmd : '/machine x64 /nw /ni /o /fo $OBJ $RES';
+          rcbin  : 'gorc';
+          rccmd  : '/machine x64 /nw /ni /r /fo $RES $RC';
+        );
+
 
 
   Procedure GlobalInitSysInitUnitName(Linker : TLinker);
   Procedure GlobalInitSysInitUnitName(Linker : TLinker);
     var
     var
@@ -1767,7 +1776,7 @@ initialization
   RegisterImport(system_x86_64_win64,TImportLibWin);
   RegisterImport(system_x86_64_win64,TImportLibWin);
   RegisterExport(system_x86_64_win64,TExportLibWin);
   RegisterExport(system_x86_64_win64,TExportLibWin);
   RegisterDLLScanner(system_x86_64_win64,TDLLScannerWin);
   RegisterDLLScanner(system_x86_64_win64,TDLLScannerWin);
-  RegisterRes(res_gnu_windres_info,TWinResourceFile);
+  RegisterRes(res_win64_gorc_info,TWinResourceFile);
   RegisterTarget(system_x64_win64_info);
   RegisterTarget(system_x64_win64_info);
 {$endif x86_64}
 {$endif x86_64}
 {$ifdef arm}
 {$ifdef arm}