فهرست منبع

* m68k pathexist update from 1.0.x
* palmos res update from 1.0.x

peter 22 سال پیش
والد
کامیت
71e2d34b5a
6فایلهای تغییر یافته به همراه71 افزوده شده و 31 حذف شده
  1. 14 5
      compiler/comprsrc.pas
  2. 24 19
      compiler/globals.pas
  3. 6 2
      compiler/pdecsub.pas
  4. 8 2
      compiler/systems.pas
  5. 13 2
      compiler/systems/i_palmos.pas
  6. 6 1
      compiler/systems/t_palmos.pas

+ 14 - 5
compiler/comprsrc.pas

@@ -74,7 +74,8 @@ var
   s,
   resobj,
   resbin   : string;
-  resfound : boolean;
+  resfound,
+  objused  : boolean;
 begin
   resbin:='';
   if utilsdirectory<>'' then
@@ -90,6 +91,7 @@ begin
    end;
   resobj:=ForceExtension(current_module.objfilename^,target_info.resobjext);
   s:=target_res.rescmd;
+  ObjUsed:=(pos('$OBJ',s)>0);
   Replace(s,'$OBJ',resobj);
   Replace(s,'$RES',fname);
   Replace(s,'$INC',respath);
@@ -115,7 +117,8 @@ begin
   { Update asmres when externmode is set }
   if cs_link_extern in aktglobalswitches then
     AsmRes.AddLinkCommand(resbin,s,'');
-  current_module.linkotherofiles.add(resobj,link_allways);
+  if ObjUsed then
+    current_module.linkotherofiles.add(resobj,link_allways);
 end;
 
 
@@ -123,12 +126,14 @@ procedure CompileResourceFiles;
 var
   hr : presourcefile;
 begin
-(* OS/2 (EMX) must be processed elsewhere (in the linking/binding stage). *)
+  { OS/2 (EMX) must be processed elsewhere (in the linking/binding stage). }
   if target_info.system<>system_i386_os2 then
    While not current_module.ResourceFiles.Empty do
     begin
       case target_info.system of
-        system_i386_win32,system_i386_wdosx:
+        system_m68k_palmos,
+        system_i386_win32,
+        system_i386_wdosx :
           hr:=new(presourcefile,init(current_module.ResourceFiles.getfirst));
         else
           Message(scan_e_resourcefiles_not_supported);
@@ -142,7 +147,11 @@ end;
 end.
 {
   $Log$
-  Revision 1.15  2002-07-26 21:15:37  florian
+  Revision 1.16  2003-01-12 15:42:23  peter
+    * m68k pathexist update from 1.0.x
+    * palmos res update from 1.0.x
+
+  Revision 1.15  2002/07/26 21:15:37  florian
     * rewrote the system handling
 
   Revision 1.14  2002/05/18 13:34:06  peter

+ 24 - 19
compiler/globals.pas

@@ -492,26 +492,27 @@ implementation
     Function PathExists ( F : String) : Boolean;
       Var
         Info : SearchRec;
-{$ifdef i386}
         disk : byte;
-{$endif i386}
       begin
-{$ifdef i386}
-        if (Length(f)=3) and (F[2]=':') and (F[3] in ['/','\']) then
-          begin
-            if F[1] in ['A'..'Z'] then
-              disk:=ord(F[1])-ord('A')+1
-            else if F[1] in ['a'..'z'] then
-              disk:=ord(F[1])-ord('a')+1
-            else
-              disk:=255;
-            if disk=255 then
-              PathExists:=false
-            else
-              PathExists:=(DiskSize(disk)<>-1);
-            exit;
-          end;
-{$endif i386}
+        { these operating systems have dos type drives }
+        if source_info.system in [system_m68k_atari,system_i386_go32v2,
+                                  system_i386_win32,system_i386_os2] then
+        Begin
+          if (Length(f)=3) and (F[2]=':') and (F[3] in ['/','\']) then
+            begin
+              if F[1] in ['A'..'Z'] then
+                disk:=ord(F[1])-ord('A')+1
+              else if F[1] in ['a'..'z'] then
+                disk:=ord(F[1])-ord('a')+1
+              else
+                disk:=255;
+              if disk=255 then
+                PathExists:=false
+              else
+                PathExists:=(DiskSize(disk)<>-1);
+              exit;
+            end;
+        end;
         if F[Length(f)] in ['/','\'] then
          Delete(f,length(f),1);
         findfirst(F,readonly+archive+hidden+directory,info);
@@ -1525,7 +1526,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.81  2003-01-10 21:49:00  marco
+  Revision 1.82  2003-01-12 15:42:23  peter
+    * m68k pathexist update from 1.0.x
+    * palmos res update from 1.0.x
+
+  Revision 1.81  2003/01/10 21:49:00  marco
    * more hasunix fixes
 
   Revision 1.80  2003/01/04 16:20:44  hajny

+ 6 - 2
compiler/pdecsub.pas

@@ -128,7 +128,7 @@ implementation
                      begin
                        Message(parser_w_cdecl_has_no_high);
                        { removing it is too complicated, we just hide it PM }
-                       owner.rename(highvarsym.name,'hidden'+copy(highvarsym.name,5,high(name)));
+                       owner.rename(highvarsym.name,'hidden'+copy(highvarsym.name,5,length(name)));
                      end;
                   end;
                  if is_array_of_const(vartype.def) and
@@ -2116,7 +2116,11 @@ const
 end.
 {
   $Log$
-  Revision 1.103  2003-01-07 19:16:38  peter
+  Revision 1.104  2003-01-12 15:42:23  peter
+    * m68k pathexist update from 1.0.x
+    * palmos res update from 1.0.x
+
+  Revision 1.103  2003/01/07 19:16:38  peter
     * removed some duplicate code when creating aktprocsym
 
   Revision 1.102  2003/01/05 18:17:45  peter

+ 8 - 2
compiler/systems.pas

@@ -137,7 +137,9 @@ interface
        );
 
        tres = (res_none
-            ,res_gnu_windres,res_emxbind,res_mpw_res
+            ,res_gnu_windres,res_emxbind
+            ,res_m68k_palmos,res_m68k_mpw
+            ,res_powerpc_mpw
        );
 
        tscripttype = (script_none
@@ -676,7 +678,11 @@ finalization
 end.
 {
   $Log$
-  Revision 1.58  2003-01-05 13:36:53  florian
+  Revision 1.59  2003-01-12 15:42:23  peter
+    * m68k pathexist update from 1.0.x
+    * palmos res update from 1.0.x
+
+  Revision 1.58  2003/01/05 13:36:53  florian
     * x86-64 compiles
     + very basic support for float128 type (x86-64 only)
 

+ 13 - 2
compiler/systems/i_palmos.pas

@@ -74,7 +74,14 @@ unit i_palmos;
             use_function_relative_addresses : false
           );
 
-  implementation
+       res_m68k_palmos_info : tresinfo =
+          (
+            id     : res_m68k_palmos;
+            resbin : 'pilrc';
+            rescmd : '-I $INC $RES'
+          );
+
+implementation
 
 initialization
 {$ifdef cpu68}
@@ -85,7 +92,11 @@ initialization
 end.
 {
   $Log$
-  Revision 1.1  2002-09-06 15:03:51  carl
+  Revision 1.2  2003-01-12 15:42:23  peter
+    * m68k pathexist update from 1.0.x
+    * palmos res update from 1.0.x
+
+  Revision 1.1  2002/09/06 15:03:51  carl
     * moved files to systems directory
 
   Revision 1.3  2002/08/13 18:01:51  carl

+ 6 - 1
compiler/systems/t_palmos.pas

@@ -208,11 +208,16 @@ end;
 initialization
 {$ifdef m68k}
   RegisterTarget(target_m68k_palmos_info);
+  RegisterRes(res_m68k_palmos_info);
 {$endif m68k}
 end.
 {
   $Log$
-  Revision 1.1  2002-09-06 15:03:50  carl
+  Revision 1.2  2003-01-12 15:42:23  peter
+    * m68k pathexist update from 1.0.x
+    * palmos res update from 1.0.x
+
+  Revision 1.1  2002/09/06 15:03:50  carl
     * moved files to systems directory
 
   Revision 1.14  2002/07/26 21:15:46  florian