[fpc-pascal] FPC shared libraries for Mac OS X
Jonas Maebe
jonas.maebe at elis.ugent.be
Wed Aug 20 22:50:07 CEST 2008
On 20 Aug 2008, at 08:22, Werner Bochtler wrote:
> This works fine for the commandline but if I try to add e.g.
> -k"-install_name libTest.1.dylib" to my local configuration file
> fpc.cfg
> I get the following error message:
>
> ld: unknown option: -install_name libTest.1.dylib
> /usr/bin/libtool: internal link edit command failed
>
> Any ideas?
Anything you enter on the command line is first interpreted by the
shell. Using "..." has a special meaning in shells: it means "treat
everything between these two characters as a single string, but still
interpret any shell variables or other substitution commands in this
string". The result is that when fpc asks for the paramstr(x)
corresponding to this parameter, it will see
-k-install_name libTest.1.dylib
(as one parameter, with the space). Without the quotes, fpc would see
two parameters, the first one being -k-install_name and the second one
libTest.1.dylib
If you put parameters inside a configuration file, then those
parameters are not interpreted by any shell, but read straight away by
fpc. So if you put -k"-install_name libTest.1.dylib" in there, fpc
will actually read that exact string. As a result, it will not pass
this to the linker:
-install_name libTest.1.dylib
but this:
"-install_name libTest.1.dylib"
The result is that the linker will not get the two parameters it
expects (first a parameter called -install_name, followed by a
parameter with the name of the install name), but one single parameter
called
-install_name libTest.1.dylib
There is obviously no linker parameter with that name.
You may want to read some tutorials about unix shell scripting if
you're going to be working a lot on the command line.
Jonas
More information about the fpc-pascal
mailing list