Как заменяются "традиционные" директивы IFDEF, ELSE, ENDIF при написании межплатформенного кода?

К примеру, существует код на Free Pascal:
## Код:
```
function  FPS_ISDIR(iAttr:Cardinal) : Boolean;
{$IFDEF WIN32}
begin
Result := Boolean(iAttr and faDirectory);
end;
{$ELSE}
begin
Result := BaseUnix.FPS_ISDIR(iAttr);
end;
{$ENDIF}
```
