浏览代码

+ wince resource compiler support
* fixed some resource compiler stuff

git-svn-id: trunk@1056 -

florian 20 年之前
父节点
当前提交
46097d7679
共有 4 个文件被更改,包括 33 次插入28 次删除
  1. 12 15
      compiler/comprsrc.pas
  2. 1 0
      compiler/systems.pas
  3. 3 11
      compiler/systems/i_win.pas
  4. 17 2
      compiler/systems/t_win.pas

+ 12 - 15
compiler/comprsrc.pas

@@ -83,9 +83,9 @@ begin
   resbin:='';
   resfound:=false;
   if utilsdirectory<>'' then
-   resfound:=FindFile(target_res.resbin+source_info.exeext,utilsdirectory,resbin);
+    resfound:=FindFile(utilsprefix+target_res.resbin+source_info.exeext,utilsdirectory,resbin);
   if not resfound then
-   resfound:=FindExe(target_res.resbin,resbin);
+    resfound:=FindExe(utilsprefix+target_res.resbin,resbin);
   { get also the path to be searched for the windres.h }
 {$IFDEF USE_SYSUTILS}
   respath := SplitPath(resbin);
@@ -169,19 +169,16 @@ begin
   if not (target_info.system in [system_i386_os2,
                                  system_i386_emx,system_powerpc_macos]) then
    While not current_module.ResourceFiles.Empty do
-    begin
-      case target_info.system of
-        system_m68k_palmos,
-        system_i386_win32,
-        system_i386_linux,
-        system_i386_wdosx :
-          hr:=new(presourcefile,init(current_module.ResourceFiles.getfirst));
-        else
-          Message(scan_e_resourcefiles_not_supported);
-      end;
-      hr^.compile;
-      dispose(hr,done);
-    end;
+     begin
+       if target_info.res<>res_none then
+         begin
+           hr:=new(presourcefile,init(current_module.ResourceFiles.getfirst));
+           hr^.compile;
+           dispose(hr,done);
+         end
+       else
+         Message(scan_e_resourcefiles_not_supported);
+     end;
 end;
 
 

+ 1 - 0
compiler/systems.pas

@@ -153,6 +153,7 @@ interface
             ,res_gnu_windres,res_emxbind
             ,res_m68k_palmos,res_m68k_mpw
             ,res_powerpc_mpw,res_elf
+            ,res_gnu_wince_windres
        );
 
        tscripttype = (script_none

+ 3 - 11
compiler/systems/i_win.pas

@@ -26,14 +26,6 @@ unit i_win;
     uses
        systems;
 
-    const
-      res_gnu_windres_info : tresinfo =
-          (
-            id     : res_gnu_windres;
-            resbin : 'windres';
-            rescmd : '--include $INC -O coff -o $OBJ $RES'
-          );
-
     const
        system_i386_win32_info : tsysteminfo =
           (
@@ -194,7 +186,7 @@ unit i_win;
             link         : nil;
             linkextern   : nil;
             ar           : ar_gnu_ar;
-            res          : res_gnu_windres;
+            res          : res_gnu_wince_windres;
             script       : script_dos;
             endian       : endian_little;
             alignment    :
@@ -217,7 +209,7 @@ unit i_win;
             DllScanSupported:false;
             use_function_relative_addresses : true
           );
-          
+
        system_i386_wince_info : tsysteminfo =
           (
             system       : system_i386_wince;
@@ -279,7 +271,7 @@ unit i_win;
             use_function_relative_addresses : true
           );
 
-          
+
   implementation
 
 initialization

+ 17 - 2
compiler/systems/t_win.pas

@@ -41,7 +41,7 @@ interface
      MAX_DEFAULT_EXTENSIONS = 3;
 
   type
-     tStr4=array[1..MAX_DEFAULT_EXTENSIONS]of string[4];
+     tStr4=array[1..MAX_DEFAULT_EXTENSIONS] of string[4];
      pStr4=^tStr4;
 
     twin32imported_item = class(timported_item)
@@ -103,6 +103,21 @@ implementation
     cpuinfo,cgutils;
 
 
+  const
+    res_gnu_windres_info : tresinfo =
+        (
+          id     : res_gnu_windres;
+          resbin : 'windres';
+          rescmd : '--include $INC -O coff -o $OBJ $RES'
+        );
+
+    res_gnu_wince_windres_info : tresinfo =
+        (
+          id     : res_gnu_wince_windres;
+          resbin : 'windres';
+          rescmd : '--include $INC -O coff -o $OBJ $RES'
+        );
+
 {*****************************************************************************
                              TIMPORTLIBWIN32
 *****************************************************************************}
@@ -1685,7 +1700,7 @@ initialization
   RegisterExternalLinker(system_arm_wince_info,TLinkerWin32);
   RegisterImport(system_arm_wince,TImportLibWin32);
   RegisterExport(system_arm_wince,TExportLibWin32);
-  RegisterRes(res_gnu_windres_info);
+  RegisterRes(res_gnu_wince_windres_info);
   RegisterTarget(system_arm_wince_info);
 {$endif arm}
 end.