I've found a way, to eat some extra size of an application in Lazarus!
First:
____
Rebuild Lazarus LCL with options -CX -XX
Second:
____
Put this after each of your unit name (tedious process, but works:)
{$SMARTLINKING ON}
Third:
____
Build your game/application/whatever. :evil:
Fourth:
___
Use Strip in a command line,go to directory of you exe, and remove the Debug info.
Now, an empty form in win32 is only 1.29 Mb (and extra code adds very little so for larger projects the size will not increase much).
After this you can use UPX, or Zip the file to get very small sizes.
eom.