Explorar el Código

--- Merging r43618 into '.':
U rtl/linux/buildrtl.lpi
U rtl/linux/buildrtl.pp
--- Recording mergeinfo for merge of r43618 into '.':
U .
--- Merging r43669 into '.':
U utils/mkinsadd.pp
--- Recording mergeinfo for merge of r43669 into '.':
G .

# revisions: 43618,43669

git-svn-id: branches/fixes_3_2@43957 -

marco hace 5 años
padre
commit
b4f641ba85
Se han modificado 3 ficheros con 62 adiciones y 30 borrados
  1. 16 12
      rtl/linux/buildrtl.lpi
  2. 19 10
      rtl/linux/buildrtl.pp
  3. 27 8
      utils/mkinsadd.pp

+ 16 - 12
rtl/linux/buildrtl.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="12"/>
     <General>
       <Flags>
         <MainUnitHasUsesSectionForAllUnits Value="False"/>
@@ -9,28 +9,29 @@
         <MainUnitHasTitleStatement Value="False"/>
         <Runnable Value="False"/>
         <LRSInOutputDirectory Value="False"/>
+        <CompatibilityMode Value="True"/>
       </Flags>
       <SessionStorage Value="InProjectDir"/>
-      <MainUnit Value="0"/>
       <Title Value="buildrtl"/>
     </General>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
     <BuildModes Count="1">
       <Item1 Name="default" Default="True"/>
     </BuildModes>
     <PublishOptions>
       <Version Value="2"/>
-      <IgnoreBinaries Value="False"/>
-      <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
-      <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
     </PublishOptions>
     <RunParams>
       <local>
-        <FormatVersion Value="1"/>
-        <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
+        <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T &apos;Lazarus Run Output&apos; -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
       </local>
+      <FormatVersion Value="2"/>
+      <Modes Count="1">
+        <Mode0 Name="default">
+          <local>
+            <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T &apos;Lazarus Run Output&apos; -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
+          </local>
+        </Mode0>
+      </Modes>
     </RunParams>
     <Units Count="1">
       <Unit0>
@@ -43,12 +44,14 @@
     <Version Value="11"/>
     <SearchPaths>
       <IncludeFiles Value="../inc;../$(TargetCPU);../unix;../objpas/classes;../objpas/sysutils;../objpas;$(TargetCPU)"/>
-      <OtherUnitFiles Value="../objpas;../objpas/classes;../objpas/sysutils;../inc;../unix;../$(TargetCPU)"/>
+      <OtherUnitFiles Value="../objpas;../objpas/classes;../objpas/sysutils;../inc;../unix;../$(TargetCPU);../charmaps"/>
       <UnitOutputDirectory Value="../units/$(TargetCPU)-linux"/>
     </SearchPaths>
     <Parsing>
       <Style Value="2"/>
       <SyntaxOptions>
+        <SyntaxMode Value="fpc"/>
+        <CStyleOperator Value="False"/>
         <UseAnsiStrings Value="False"/>
       </SyntaxOptions>
     </Parsing>
@@ -58,7 +61,8 @@
         <ShowHints Value="False"/>
       </Verbosity>
       <ExecuteBefore>
-        <Command Value="cmd.exe /c &quot;if not exist ../units/$(TargetCPU)-linux mkdir ../units/$(TargetCPU)-linux&quot;"/>
+        <Command Value="make RELEASE=1 clean system.ppu uuchar.ppu objpas.ppu lineinfo.ppu lnfodwrf.ppu prt0.o cprt0.o gprt0.o dllprt0.o"/>
+        <ScanForMakeMsgs Value="True"/>
         <ShowAllMessages Value="True"/>
       </ExecuteBefore>
     </Other>

+ 19 - 10
rtl/linux/buildrtl.pp

@@ -4,16 +4,25 @@ unit buildrtl;
   interface
 
     uses
-      system, unixtype, ctypes, baseunix, strings, objpas, macpas, syscall, unixutil,
-      fpintres, heaptrc, lineinfo, lnfodwrf,
-      termio, unix, linux, initc, cmem, mmx,
-      printer, linuxvcs,
-      sysutils, typinfo, math, matrix, varutils,
-      charset, character, ucomplex, getopts,
-      errors, sockets, gpm, ipc, serial, terminfo, dl, dynlibs,
-      variants, types, dateutils, sysconst, fmtbcd,
-      cthreads, classes, fgl, convutils, stdconvs, strutils, rtlconsts, dos, objects, cwstring, fpcylix, clocale,
-      exeinfo;
+      { those units are directly build using make:
+        system uuchar objpas macpas iso7185 cpall lineinfo lnfodwrf
+      }
+      macpas, iso7185,
+      fpintres, // $(SYSINIT_UNITS) \
+      si_prc, si_c, si_g, si_dll,
+      unixtype, ctypes, baseunix, strings, extpas, syscall, unixutil,
+      heaptrc,
+      termio, unix, linux, initc, cmem,
+{$ifdef CPUI386}
+      mmx,
+{$endif CPUI386}
+      linuxvcs,
+      sysutils, typinfo, math,
+      charset, cpall, character, unixcp, getopts,
+      errors, dl, dynlibs,
+      types, sysconst, fpwidestring,
+      cthreads, sortbase, classes, fgl, rtlconsts, dos, cwstring, fpcylix,
+      softfpu, sfpux80, ufloatx80, sfpu128, ufloat128;
 
   implementation
 

+ 27 - 8
utils/mkinsadd.pp

@@ -439,9 +439,13 @@ begin
 end;
 
 var
- I, J: byte;
+ I, J, K: byte;
  DAT: TDatFile;
  PrevCount: SW_Integer;
+ SR: SearchRec;
+ D: DirStr;
+ N: NameStr;
+ E: ExtStr;
 
 begin
  J := ParamCount;
@@ -459,21 +463,36 @@ begin
  else
   Error ('Failure while loading source install.dat file (' + ParamStr (1) +
                                                                        ')', 1);
+ K := 0;
  for I := 2 to J do
   begin
-   PrevCount := DAT.LstCollection^.Count;
-   if DAT.ReadLstFile (ParamStr (I)) then
-    WriteLn ('Package listing #', Pred (I), ' (', ParamStr (I),
-      ') loaded correctly: ', DAT.LstCollection^.Count - PrevCount,
-                                                                ' new records')
+   FSplit (ParamStr (I), D, N, E);
+   FindFirst (ParamStr (I), AnyFile - Directory, SR);
+   if DosError <> 0 then
+    Error ('No package listing file found for "' + ParamStr (I) + '"', I)
    else
-    Error ('Failure while loading package listing (' + ParamStr (I) + ')', I);
+    begin
+     while (DosError = 0) do
+      begin
+       Inc (K);
+       PrevCount := DAT.LstCollection^.Count;
+       if DAT.ReadLstFile (D + SR.Name) then
+        WriteLn ('Package listing #', K, ' (', D + SR.Name,
+          ') loaded correctly: ', DAT.LstCollection^.Count - PrevCount,
+                                                                ' new records')
+       else
+        Error ('Failure while loading package listing (' + D + SR.Name + ')',
+                                                                        J + K);
+       FindNext (SR);
+      end;
+     FindClose (SR);
+    end;
   end;
  WriteLn ('Total: ', DAT.LstCollection^.Count, ' new records');
  if DAT.WriteNew (DefDiffFN) then
   WriteLn ('Output file (' + DefDiffFN + ') created successfully.')
  else
   Error ('Failure while trying to write records to the output file (' +
-                                                    DefDiffFN + ')', Succ (J));
+                                                DefDiffFN + ')', Succ (J) + K);
  DAT.Done;
 end.