I know that FreePascal apps for Linux are statically linked. I imagine that there are some low-level APIs required. Is this just GTK for GUI applications? I assume a command-line app wouldn't have the same dependencies.
Where can I find a way to determine which LCL classes require which underlying APIs?
Edit: Vitaly wanted to know what I found with his answer.
With a small console app:
ldd confirmed that it was a statically linked executable.
strace was more interesting. A console-only application showed no open files. I guess it's totally self contained.
With a simple GUI application, ldd showed some dynamic linking, and strace's output showed many "open"s.
It'll still take a little more research before I'm comfortable with this.
Since they are statically linked, exactly what kind of dependencies could they have?..
However you can try to work it out with a several methods...
ldd <executable>
(just to be sure that your binary is not dynamically linked)strace <executable> > log.file 2&>1 && cat log.file | grep open
Where can I find a way to determine which LCL classes require which underlying APIs?
From my point of view, this purpose requires some hard work. I'd advice to try systemtap for the one.