Explorar o código

* improved build unit lazarus project for linux

git-svn-id: trunk@43618 -
florian %!s(int64=5) %!d(string=hai) anos
pai
achega
f5496c9d11
Modificáronse 2 ficheiros con 35 adicións e 22 borrados
  1. 16 12
      rtl/linux/buildrtl.lpi
  2. 19 10
      rtl/linux/buildrtl.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