What is difference between "Link smart (-XX)" and "Smart linkable (-XC)" ?
-XC is by default off and corresponds to per unit {$SMARTLINK OFF/ON} ?
-CX (not -XC) means "generate code that can be smart linked by the
linker if you specify -XX while compiling a program that uses this unit".
Clear.
Can this be somewhere documented ?
For example:
http://www.freepascal.org/docs-html/prog/progse30.html#x196-2010007.3
Does it means, that compiler/linker is trying "Link smart", but only
units marked "Smart linkable" ?
Yes.
Which means, that when I use in my program StrUtils or SysUtils and I
use only one function from these unit, in my program executable will be
all function presented in these units ?
The top-level FPC makefile builds all units smart-linkable
do you mean all units in RTL or FCL or also user program units ?
if the target
OS is one of "win32 go32v2 linux freebsd netbsd openbsd netware netwlibc
darwin".
I guess win64 should be added to that list (once someone
verifies this doesn't cause test suite regressions).
Ooo it will be very good IMO ;-)
-Laco
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal