It compiles and links fine on my Linux system.

On Linux, everything compiles, but when it comes to the linking stage it says cannot find "-lSDL". Any ideas?
Do you have an libSDL.so link in your /usr/lib or /usr/local/lib directory?

On Win32 for another project it complains about mismatching types between POINT and TPoint but the same code compiles fine with Delphi 7 and used to compile with 1.9.8. Anyone know where POINT is defined in FPC?
The Point function is declared in the classes unit. It returns a TPoint record, which is defined in the types unit, as so:

Code:
{$ifdef Win32}
  TPoint = Windows.TPoint;
{$else}
  TPoint =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
  packed
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
  record
    X : Longint;
    Y : Longint;
  end;