[fpc-devel] LinkLib Issues In Lazarus and in FPC-2.0.2
Daniël Mantione
daniel.mantione at freepascal.org
Mon Jul 17 14:03:35 CEST 2006
Op Mon, 17 Jul 2006, schreef Jonas Maebe:
> There's nothing C-specific about libraries, nor about the *config scripts=
. At
> most it would be linker-specific.
There is, those scripts mainly exist because a C compiler cannot determine =
the dependencies of a library. I.e. if you like libgtk you must also link =
libglib.
We don't need this in Pascal, the compiler can perfectly determine the =
dependencies by checking the used units. So the primary reason for this =
cruft is void in Pascal.
> > There simply should be no reason
> > why you want such complexity. A library has a name, you link to it by
> > name, basta.
> =
> A library also exist in at least multiple locations, versions (both
> ABI-compatible and -incompatible with previous versions) and implementati=
ons
> (e.g. a native Mac OS X GTK and an X-based one).
I don't see how *_config guards you against this:
* In case of a version change it will simply return the new version. The =
.so symlink does this as well. If the new version is incompatible with =
the old one, bad luck.
* It doesn't guard you against ABI changes, because that it determined =
at the compiler level. I.e. there is no way to make cdecl code using a =
register calling convention by using a linker option.
It helps for locations, but we already have a well adequate solution for =
that: Putting the location in fpc.cfg.
Dani=EBl
More information about the fpc-devel
mailing list