[fpc-pascal] Smart Link definition ?

LacaK lacak at zoznam.sk
Tue Oct 11 09:11:18 CEST 2016

>> 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".
Can this be somewhere documented  ?
For example: 

>> 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 ;-)


More information about the fpc-pascal mailing list