Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2012-04

building lazarus from the command line...

6 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

waldo kitty

mattias,

firstly i want to thank you very much for you work in enabling lazarus to be built and updated completely from the command line... there's been a lot of changes and cleanup done... i am much happier now then i was several weeks ago when attempting this before you got to work on it as you did ;)

as you know, i've been working with a "script" (aka .BAT file) to update lazarus from the svn and build everything from the command line... i seem to have bumped into a discrepancy that i'm at a bit of a loss to explain...

to make sure that i'm at a true default state (eg: first time SVN pull and build from the command line), i deleted my existing miscellaneousoptions.xml file and then ran my script... yes, this lost me the chmhelp package but that's not a part of the problem, i don't think... these tests were done with revision 36911...

here's the results... the files with _r36911 in them are built WITHOUT miscellaneousoptions.xml and the ones without the revision number are built WITH miscellaneousoptions.xml... all the following files ARE revision 36911...

04/19/2012 15:55 131,025,818 lazarus_r36911-clean_up_build_all.exe 04/19/2012 17:36 131,294,581 lazarus-clean_up_build_all.exe

04/19/2012 15:58 131,025,818 lazarus_r36911-normal.exe 04/19/2012 17:40 131,294,581 lazarus-normal.exe

04/19/2012 16:07 113,273,997 lazarus_r36911-debug.exe 04/19/2012 17:48 76,581,382 lazarus-debug.exe

04/19/2012 16:14 12,728,492 lazarus_r36911-optimized.exe 04/19/2012 17:52 13,444,780 lazarus-optimized.exe

i do understand that the inclusion of the chmhelp package (the only "extra" one i have installed) will cause some exe size differences (larger) but i fail to understand how the debug flavor alters its size to be so much smaller with the use of the miscellaneousoptions.xml file... the only differences i am aware of is that the debug flavor WITH miscellaneousoptions.xml does a "clean all and build" PLUS it has the DEBUG and VERBOSE defines checked in the miscellaneousoptions.xml file...

here is the basic script commands (without all the pretty fluff'n'stuff)...

========== snip ==========
make clean
TortoiseProc /command:update /path:"%myLAZpath%"
make lazbuild lcl ideintf basecomponents starter

lazbuild.exe --build-ide= --build-mode="clean up + build all" copy lazarus.exe lazarus-clean_up_build_all.exe

lazbuild.exe --build-ide= --build-mode="normal ide" copy lazarus.exe lazarus-normal.exe

lazbuild.exe --build-ide= --build-mode="debug ide" copy lazarus.exe lazarus-debug.exe

lazbuild.exe --build-ide= --build-mode="optimized ide" copy lazarus.exe lazarus-optimized.exe
========== snip ==========

and here is the miscellaneousoptions.xml...

========== snip miscellaneousoptions.xml ========== <?xml version="1.0"?>
<CONFIG>
<MiscellaneousOptions>
<Version Value="2"/>
<BuildLazarusOptions>
<Profiles Count="4">
<Profile0 Name="Normal IDE">
<LCLPlatform Value="win32"/>
<IdeBuildMode Value="Build"/>
</Profile0>
<Profile1 Name="Debug IDE">
<LCLPlatform Value="win32"/>
<IdeBuildMode Value="Clean All + Build"/>
<Options Count="1">
<Item1 Value="-gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa"/> </Options>
<Defines Count="2">
<Item1 Value="Debug"/>
<Item2 Value="Verbose"/>
</Defines>
</Profile1>
<Profile2 Name="Optimized IDE">
<LCLPlatform Value="win32"/>
<IdeBuildMode Value="Build"/>
<Options Count="1">
<Item1 Value="-O2 -g- -Xs"/>
</Options>
</Profile2>
<Profile3 Name="Clean Up + Build all">
<LCLPlatform Value="win32"/>
<IdeBuildMode Value="Clean + Build"/>
</Profile3>
</Profiles>
<ProfileIndex Value="1"/>
<AllDefines Count="2">
<Item1 Value="Debug"/>
<Item2 Value="Verbose"/>
</AllDefines>
<StaticAutoInstallPackages Count="1">
<Item1 Value="chmhelppkg"/>
</StaticAutoInstallPackages>
</BuildLazarusOptions>
</MiscellaneousOptions>
</CONFIG>
========== snip ==========

i have a log of the compile before using miscellaneousoptions.xml and another for after if you want to see them... when i do a side-by-side DIFF of the two logs in notepad++, they are virtually identical except for the inclusion of the cleaning section in the debug build... of obvious note is that there are now lines stating "Compiling Debug Version" which are not there when building the debug version WITHOUT the miscellaneousoptions.xml file... i'm starting to wonder if the two DEBUG and VERBOSE defines should be included in the base defaults when there is NO miscellaneousoptions.xml file...

other than that, i'm at a loss of explanation and am starting to wonder if, due to the methodology i'm using, if all four profiles should actually be using "clean all and build" so as to ensure that all units and libraries are built with the proper settings... but i second guess myself in this because the optimized package seems to be relatively close in both instances as do the "clean all + build" and "normal" flavors... but i also note that they (the last two) are now identical in size where a week or so ago there was a few tens or hundreds of Kbytes difference even between them...

the logs are 361K and 451K in size so i will only send them if you deem it necessary...

Reply by email

Mattias Gaertner
to waldo kitty
Show quoted text 16 lines
[...] here's the results... the files with _r36911 in them are built WITHOUT miscellaneousoptions.xml and the ones without the revision number are built WITH miscellaneousoptions.xml... all the following files ARE revision 36911... 04/19/2012 15:55 131,025,818 lazarus_r36911-clean_up_build_all.exe 04/19/2012 17:36 131,294,581 lazarus-clean_up_build_all.exe 04/19/2012 15:58 131,025,818 lazarus_r36911-normal.exe 04/19/2012 17:40 131,294,581 lazarus-normal.exe 04/19/2012 16:07 113,273,997 lazarus_r36911-debug.exe 04/19/2012 17:48 76,581,382 lazarus-debug.exe 04/19/2012 16:14 12,728,492 lazarus_r36911-optimized.exe 04/19/2012 17:52 13,444,780 lazarus-optimized.exe

Check your logs and compare how fpc is called.
What difference do you see?

Mattias

Reply by email

waldo kitty
to Mattias Gaertner
Mattias Gaertner wrote 22 lines
On Thu, 19 Apr 2012 18:58:03 -0400 waldo kitty wrote: > [...] > here's the results... the files with _r36911 in them are built WITHOUT > miscellaneousoptions.xml and the ones without the revision number are built WITH > miscellaneousoptions.xml... all the following files ARE revision 36911... > > 04/19/2012 15:55 131,025,818 lazarus_r36911-clean_up_build_all.exe > 04/19/2012 17:36 131,294,581 lazarus-clean_up_build_all.exe > > 04/19/2012 15:58 131,025,818 lazarus_r36911-normal.exe > 04/19/2012 17:40 131,294,581 lazarus-normal.exe > > 04/19/2012 16:07 113,273,997 lazarus_r36911-debug.exe > 04/19/2012 17:48 76,581,382 lazarus-debug.exe > > 04/19/2012 16:14 12,728,492 lazarus_r36911-optimized.exe > 04/19/2012 17:52 13,444,780 lazarus-optimized.exe Check your logs and compare how fpc is called. What difference do you see?

ok, from the diff via a search for

[TExternalToolList.Run] CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe

in each of the two logs...

C:\freepascal\updatelaz-without-miscellaneousoptions_xml.log (8 hits) Line 324: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -FuC:\freepascal\laz\packager\registration\ -FUC:\freepascal\laz\packager\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" WorkDir="C:\freepascal\laz\packager\registration\" Line 346: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -FuC:\freepascal\laz\packager\units\i386-win32 -FuC:\freepascal\laz\components\lazutils\
-FUC:\freepascal\laz\components\lazutils\lib\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa lazutils.pas"
WorkDir="C:\freepascal\laz\components\lazutils\"
Line 778: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Sci -O1 -g -gl -vewni -l -FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\components\codetools\
-FUC:\freepascal\laz\components\codetools\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa codetools.pas"
WorkDir="C:\freepascal\laz\components\codetools\"
Line 842: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vew -l -FiC:\freepascal\laz\lcl\include -FuC:\freepascal\laz\lcl\forms -FuC:\freepascal\laz\lcl\widgetset
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32 -FuC:\freepascal\laz\lcl\ -FUC:\freepascal\laz\lcl\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa alllclunits.pp" WorkDir="C:\freepascal\laz\lcl\" Line 1033: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -FiC:\freepascal\laz\lcl\interfaces\win32 -FuC:\freepascal\laz\lcl\interfaces\win32
-FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\lcl\interfaces\
-FUC:\freepascal\laz\lcl\units\i386-win32\win32\ -vm5044 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa lcl.pas" WorkDir="C:\freepascal\laz\lcl\interfaces\" Line 1076: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -FuC:\freepascal\laz\lcl\units\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\components\lazcontrols\
-FUC:\freepascal\laz\components\lazcontrols\lib\i386-win32\win32\ -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa lazcontrols.pas" WorkDir="C:\freepascal\laz\components\lazcontrols\" Line 1096: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vew -l -FiC:\freepascal\laz\ideintf\images -FuC:\freepascal\laz\lcl\units\i386-win32\win32
-FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32 -FuC:\freepascal\laz\ideintf\ -FUC:\freepascal\laz\ideintf\units\i386-win32\win32\ -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa ideintf.pas"
WorkDir="C:\freepascal\laz\ideintf\"
Line 1161: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -CR -O1 -g -gl -vewnh -l -FuC:\freepascal\laz\ideintf\units\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32\win32
-FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\components\synedit\
-FUC:\freepascal\laz\components\synedit\units\i386-win32\win32\ -vm4055,5024 -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -CR -dgc allsynedit.pas" WorkDir="C:\freepascal\laz\components\synedit\"

C:\freepascal\updatelaz-with-miscellaneousoptions_xml.log (10 hits) Line 324: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -FuC:\freepascal\laz\packager\registration\ -FUC:\freepascal\laz\packager\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose fcllaz.pas"
WorkDir="C:\freepascal\laz\packager\registration\" Line 346: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -FuC:\freepascal\laz\packager\units\i386-win32 -FuC:\freepascal\laz\components\lazutils\
-FUC:\freepascal\laz\components\lazutils\lib\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose lazutils.pas" WorkDir="C:\freepascal\laz\components\lazutils\"
Line 778: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Sci -O1 -g -gl -vewni -l -FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\components\codetools\
-FUC:\freepascal\laz\components\codetools\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose codetools.pas" WorkDir="C:\freepascal\laz\components\codetools\"
Line 842: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vew -l -FiC:\freepascal\laz\lcl\include -FuC:\freepascal\laz\lcl\forms -FuC:\freepascal\laz\lcl\widgetset
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32 -FuC:\freepascal\laz\lcl\ -FUC:\freepascal\laz\lcl\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose alllclunits.pp" WorkDir="C:\freepascal\laz\lcl\" Line 1033: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -FiC:\freepascal\laz\lcl\interfaces\win32 -FuC:\freepascal\laz\lcl\interfaces\win32
-FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\lcl\interfaces\
-FUC:\freepascal\laz\lcl\units\i386-win32\win32\ -vm5044 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose lcl.pas" WorkDir="C:\freepascal\laz\lcl\interfaces\"
Line 1076: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -FuC:\freepascal\laz\lcl\units\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\components\lazcontrols\
-FUC:\freepascal\laz\components\lazcontrols\lib\i386-win32\win32\ -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose lazcontrols.pas" WorkDir="C:\freepascal\laz\components\lazcontrols\" Line 1096: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vew -l -FiC:\freepascal\laz\ideintf\images -FuC:\freepascal\laz\lcl\units\i386-win32\win32
-FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32 -FuC:\freepascal\laz\ideintf\ -FUC:\freepascal\laz\ideintf\units\i386-win32\win32\ -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose ideintf.pas" WorkDir="C:\freepascal\laz\ideintf\"
Line 1161: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scgi -O1 -g -gl -vewnhi -l -FuC:\freepascal\laz\lcl\units\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\components\chmhelp\packages\help\ -FUC:\freepascal\laz\components\chmhelp\packages\help\lib\i386-win32\win32\ -dLCL -dLCLwin32 lhelpcontrolpkg.pas"
WorkDir="C:\freepascal\laz\components\chmhelp\packages\help\" Line 1174: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scgi -O1 -g -gl -vewnhi -l -FuC:\freepascal\laz\ideintf\units\i386-win32\win32 -FuC:\freepascal\laz\components\chmhelp\packages\help\lib\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32\win32
-FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\components\chmhelp\packages\idehelp\ -FUC:\freepascal\laz\components\chmhelp\packages\idehelp\lib\i386-win32\win32\ -dLCL -dLCLwin32 chmhelppkg.pas"
WorkDir="C:\freepascal\laz\components\chmhelp\packages\idehelp\" Line 1201: [TExternalToolList.Run]
CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -CR -O1 -g -gl -vewnh -l -FuC:\freepascal\laz\ideintf\units\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32\win32
-FuC:\freepascal\laz\lcl\units\i386-win32
-FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32
-FuC:\freepascal\laz\components\synedit\
-FUC:\freepascal\laz\components\synedit\units\i386-win32\win32\ -vm4055,5024 -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose -CR -dgc allsynedit.pas" WorkDir="C:\freepascal\laz\components\synedit\"

i hope this is what you are looking for???

Reply by email

Mattias Gaertner
to waldo kitty
Show quoted text 31 lines
On 4/19/2012 19:12, Mattias Gaertner wrote: > On Thu, 19 Apr 2012 18:58:03 -0400 > waldo kitty wrote: > >> [...] >> here's the results... the files with _r36911 in them are built WITHOUT >> miscellaneousoptions.xml and the ones without the revision number are built WITH >> miscellaneousoptions.xml... all the following files ARE revision 36911... >> >> 04/19/2012 15:55 131,025,818 lazarus_r36911-clean_up_build_all.exe >> 04/19/2012 17:36 131,294,581 lazarus-clean_up_build_all.exe >> >> 04/19/2012 15:58 131,025,818 lazarus_r36911-normal.exe >> 04/19/2012 17:40 131,294,581 lazarus-normal.exe >> >> 04/19/2012 16:07 113,273,997 lazarus_r36911-debug.exe >> 04/19/2012 17:48 76,581,382 lazarus-debug.exe >> >> 04/19/2012 16:14 12,728,492 lazarus_r36911-optimized.exe >> 04/19/2012 17:52 13,444,780 lazarus-optimized.exe > > Check your logs and compare how fpc is called. > What difference do you see? ok, from the diff via a search for [TExternalToolList.Run] CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe in each of the two logs... C:\freepascal\updatelaz-without-miscellaneousoptions_xml.log (8 hits)

Which lazarus.exe is that?

Show quoted text 13 lines
[...] WorkDir="C:\freepascal\laz\ideintf\" Line 1161: [TExternalToolList.Run] CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -CR -O1 -g -gl -vewnh -l -FuC:\freepascal\laz\ideintf\units\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32 -FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32 -FuC:\freepascal\laz\components\synedit\ -FUC:\freepascal\laz\components\synedit\units\i386-win32\win32\ -vm4055,5024 -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -CR -dgc allsynedit.pas" WorkDir="C:\freepascal\laz\components\synedit\"

Where is the command to build lazarus.exe?

C:\freepascal\updatelaz-with-miscellaneousoptions_xml.log (10 hits)

Which lazarus.exe is that?

Show quoted text 16 lines
[...] WorkDir="C:\freepascal\laz\components\chmhelp\packages\idehelp\" Line 1201: [TExternalToolList.Run] CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -CR -O1 -g -gl -vewnh -l -FuC:\freepascal\laz\ideintf\units\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32\win32 -FuC:\freepascal\laz\lcl\units\i386-win32 -FuC:\freepascal\laz\components\lazutils\lib\i386-win32 -FuC:\freepascal\laz\packager\units\i386-win32 -FuC:\freepascal\laz\components\synedit\ -FUC:\freepascal\laz\components\synedit\units\i386-win32\win32\ -vm4055,5024 -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose -CR -dgc allsynedit.pas" WorkDir="C:\freepascal\laz\components\synedit\" i hope this is what you are looking for???

Compare the differences.

Mattias

Reply by email

waldo kitty
to Mattias Gaertner
Mattias Gaertner wrote 11 lines
On Thu, 19 Apr 2012 21:05:11 -0400 waldo kitty wrote: > On 4/19/2012 19:12, Mattias Gaertner wrote: >> On Thu, 19 Apr 2012 18:58:03 -0400 >> waldo kitty wrote: >> >>> [...] >>> here's the results... the files with _r36911 in them are built WITHOUT >>> miscellaneousoptions.xml and the ones without the revision number are built WITH >>> miscellaneousoptions.xml... all the following files ARE revision 36911...

[...]

>>> 04/19/2012 16:07 113,273,997 lazarus_r36911-debug.exe >>> 04/19/2012 17:48 76,581,382 lazarus-debug.exe

[...]

Show quoted text 12 lines
>> Check your logs and compare how fpc is called. >> What difference do you see? > > ok, from the diff via a search for > > [TExternalToolList.Run] CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe > > in each of the two logs... > > C:\freepascal\updatelaz-without-miscellaneousoptions_xml.log (8 hits) Which lazarus.exe is that?

both reports are from the building of "debug ide" via lazbuild...

Show quoted text 15 lines
> [...] > WorkDir="C:\freepascal\laz\ideintf\" > Line 1161: [TExternalToolList.Run] > CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -CR > -O1 -g -gl -vewnh -l -FuC:\freepascal\laz\ideintf\units\i386-win32\win32 > -FuC:\freepascal\laz\lcl\units\i386-win32\win32 > -FuC:\freepascal\laz\lcl\units\i386-win32 > -FuC:\freepascal\laz\components\lazutils\lib\i386-win32 > -FuC:\freepascal\laz\packager\units\i386-win32 > -FuC:\freepascal\laz\components\synedit\ > -FUC:\freepascal\laz\components\synedit\units\i386-win32\win32\ -vm4055,5024 > -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -CR -dgc > allsynedit.pas" WorkDir="C:\freepascal\laz\components\synedit\" Where is the command to build lazarus.exe?

here's the first few lines of output from the
without-miscellaneousoptions_xml.log which is where the above come from...

*************************************************************************** ***************************************************************************
* TASK: Debug IDE
* CMND: lazbuild.exe --build-ide= --build-mode="debug ide" *
primary config path: C:\Documents and Settings\e3br42x1\Local Settings\Application Data\lazarus
Building Lazarus IDE with profile "Debug IDE"
TBuildManager.SetBuildTargetIDE OS=win32 CPU=i386 WS=win32 TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Compiler params changed for FCL 1.0.1
Old=" -MObjFPC -Scghi -O1 -g -gl -vewnhi -l
-FuC:\freepascal\laz\packager\registration\
-FUC:\freepascal\laz\packager\units\i386-win32\ fcllaz.pas" Now=" -MObjFPC -Scghi -O1 -g -gl -vewnhi -l
-FuC:\freepascal\laz\packager\registration\
-FUC:\freepascal\laz\packager\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas"
State file="C:\freepascal\laz\packager\units\i386-win32\FCL.compiled" [TExternalToolList.Run] CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l
-FuC:\freepascal\laz\packager\registration\
-FUC:\freepascal\laz\packager\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" WorkDir="C:\freepascal\laz\packager\registration\"

> C:\freepascal\updatelaz-with-miscellaneousoptions_xml.log (10 hits) Which lazarus.exe is that?

same as above... "debug ide" because that's the one with the large size differences which i cannot understand...

Show quoted text 18 lines
> [...] > WorkDir="C:\freepascal\laz\components\chmhelp\packages\idehelp\" > Line 1201: [TExternalToolList.Run] > CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -CR > -O1 -g -gl -vewnh -l -FuC:\freepascal\laz\ideintf\units\i386-win32\win32 > -FuC:\freepascal\laz\lcl\units\i386-win32\win32 > -FuC:\freepascal\laz\lcl\units\i386-win32 > -FuC:\freepascal\laz\components\lazutils\lib\i386-win32 > -FuC:\freepascal\laz\packager\units\i386-win32 > -FuC:\freepascal\laz\components\synedit\ > -FUC:\freepascal\laz\components\synedit\units\i386-win32\win32\ -vm4055,5024 > -dLCL -dLCLwin32 -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose > -CR -dgc allsynedit.pas" WorkDir="C:\freepascal\laz\components\synedit\" > > > i hope this is what you are looking for??? Compare the differences.

the only differences i see are "-dDEBUG -dVERBOSE"... these are selected in the miscellaneousoptions_xml but i still don't see how these can influence... especially since the one WITH "-dDEBUG -dVERBOSE" is the /smaller/ one...

TBH, i actually expect that the "debug ide" would have at least "-dDEBUG" as default since it is a debug version and it would seem that one would want all the debug capability they can get... "-dVERBOSE" seems to indicates more messages which are also important in debugging so i would expect it, too, to be included... maybe i'm missing something??

Reply by email

waldo kitty
to waldo kitty
waldo kitty wrote 16 lines
On 4/22/2012 14:51, Mattias Gaertner wrote: > On Thu, 19 Apr 2012 21:05:11 -0400 > waldo kitty wrote: >> i hope this is what you are looking for??? > > Compare the differences. the only differences i see are "-dDEBUG -dVERBOSE"... these are selected in the miscellaneousoptions_xml but i still don't see how these can influence... especially since the one WITH "-dDEBUG -dVERBOSE" is the /smaller/ one... TBH, i actually expect that the "debug ide" would have at least "-dDEBUG" as default since it is a debug version and it would seem that one would want all the debug capability they can get... "-dVERBOSE" seems to indicates more messages which are also important in debugging so i would expect it, too, to be included... maybe i'm missing something??

dude... sorry... there is another difference... it woke me up...

withOUT miscellaneousoptions.xml, "normal ide", "debug ide" and "optimized ide" default to "automatic" for cleaning files and "clean + build" defaults to cleaning common files...

my miscellaneousoptions.xml sets "debug ide" to "clean all" and leaves the others in their defaults...

digging back into the logs i see that without miscellaneousoptions.xml in play, the notices the compiler params have changed whereas with miscellaneousoptions.xml, there is no notice of this since the state file has been cleaned... ok, i can understand that... but something is different, though, because with miscellaneousoptions.xml, lazarus.exe is smaller than without miscellaneousoptions.xml being used...

and there's also the discrepancy i noted previously in my post with the fpc lines where one has 8 of those lines and the other has 10 of them... but i believe that that is attributable to the inclusion of the chmhelp package with miscellaneousoptions.xml...

so, really the only differences that i've found have been the inclusion of the defines "-dDEBUG -dVERBOSE" and the cleaning of the sources...

my build flow with lazbuild is
1. clean up + build all
2. normal ide
3. debug ide
4. optimized ide

04/22/2012 22:35 76,586,191 lazarus_r36985_w-xml-debug.exe 04/22/2012 23:56 113,277,972 lazarus_r36985_wo-xml-debug.exe

36,691,781 bytes difference...

===== without-miscellaneousoptions_xml.log =====
*************************************************************************** ***************************************************************************
* TASK: Debug IDE
* CMND: lazbuild.exe --build-ide= --build-mode="debug ide" *
primary config path: C:\Documents and Settings\e3br42x1\Local Settings\Application Data\lazarus
Building Lazarus IDE with profile "Debug IDE"
TBuildManager.SetBuildTargetIDE OS=win32 CPU=i386 WS=win32 TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Compiler params changed for FCL 1.0.1
Old=" -MObjFPC -Scghi -O1 -g -gl -vewnhi -l
-FuC:\freepascal\laz\packager\registration\
-FUC:\freepascal\laz\packager\units\i386-win32\ fcllaz.pas" Now=" -MObjFPC -Scghi -O1 -g -gl -vewnhi -l
-FuC:\freepascal\laz\packager\registration\
-FUC:\freepascal\laz\packager\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas"
State file="C:\freepascal\laz\packager\units\i386-win32\FCL.compiled" [TExternalToolList.Run] CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l
-FuC:\freepascal\laz\packager\registration\
-FUC:\freepascal\laz\packager\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa fcllaz.pas" WorkDir="C:\freepascal\laz\packager\registration\" Hint: Start of reading config file C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.cfg Hint: End of reading config file C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.cfg Free Pascal Compiler version 2.4.5 [2011/06/01] for i386 ==========

===== with-miscellaneousoptions_xml.log =====
*************************************************************************** ***************************************************************************
* TASK: Debug IDE
* CMND: lazbuild.exe --build-ide= --build-mode="debug ide" *
primary config path: C:\Documents and Settings\e3br42x1\Local Settings\Application Data\lazarus
Building Lazarus IDE with profile "Debug IDE"
TBuildManager.SetBuildTargetIDE OS=win32 CPU=i386 WS=win32 [TExternalToolList.Run] CmdLine="C:\freepascal\binutils\i386-win32\make.exe cleanlaz -w" WorkDir="C:\freepascal\laz\"
[... trim cleanlaz output ...]
"Clean Lazarus Source" completed
TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile Missing state file for FCL 1.0.1: C:\freepascal\laz\packager\units\i386-win32\FCL.compiled [TExternalToolList.Run] CmdLine="C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.exe -B -MObjFPC -Scghi -O1 -g -gl -vewnhi -l
-FuC:\freepascal\laz\packager\registration\
-FUC:\freepascal\laz\packager\units\i386-win32\ -gw -gl -godwarfsets -gh -gt -Co -Cr -Ci -Sa -dDebug -dVerbose fcllaz.pas"
WorkDir="C:\freepascal\laz\packager\registration\" Hint: Start of reading config file C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.cfg Compiling Debug Version
Hint: End of reading config file C:\freepascal\fpc\2.4.5\bin\i386-win32\fpc.cfg Free Pascal Compiler version 2.4.5 [2011/06/01] for i386 ==========

Reply by email