From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: GprBuild and linker options
Date: Tue, 19 Jul 2011 04:20:28 -0400
Date: 2011-07-19T04:20:28-04:00 [thread overview]
Message-ID: <82sjq2isvn.fsf@stephe-leake.org> (raw)
In-Reply-To: 30764c54-0e96-4394-9a5c-d742adbc5344@glegroupsg2000goo.googlegroups.com
Felix Krause <fordprefect86@googlemail.com> writes:
> I need GprBuild to use a custom linker option (in this case, for linking against an OSX framework). So I include this in my project file:
>
> package Linker is
> for Linker_Options use ("-framework OpenCL", "-v");
> end Linker;
As you have seen, this treats "-framework OpenCL" as a single option
string, which is not what your shell does.
> One thing I tried is splitting the switch into two strings:
>
> for Linker_Options use ("-framework", "OpenCL", "-v");
>
> The linking phase now executes the following:
>
> /usr/local/gnat/bin/gcc [...] -framework
> /users/felix/projects/libs/openclada//OpenCL -v [...]
Apparently gprbuild is treating each item in Linker_Options that does
not start with "-" as a library file; it searches for that file in the
search path, and provides the full path when found.
Which is not what you want.
> This obviously results in an error because this framework can't be
> found. I searched in the GprBuild user's guide for some hint on what
> causes this behavior, but I didn't find anything.
The user's guide is woefully inadequate.
> Can anyone tell me how to either make the GprBuild execution with
> "-framework OpenCL" work like when I execute it in the shell, or
> prevent GprBuild from prepending the working path to "OpenCL" when
> passing two strings to Linker_Options?
Can you use "-framework=OpenCL"?
In the gcc manual, there is this:
`-Xlinker OPTION'
Pass OPTION as an option to the linker. You can use this to
supply system-specific linker options which GCC does not know how
to recognize.
If you want to pass an option that takes an argument, you must use
`-Xlinker' twice, once for the option and once for the argument.
For example, to pass `-assert definitions', you must write
`-Xlinker -assert -Xlinker definitions'. It does not work to write
`-Xlinker "-assert definitions"', because this passes the entire
string as a single argument, which is not what the linker expects.
`-Wl,OPTION'
Pass OPTION as an option to the linker. If OPTION contains
commas, it is split into multiple options at the commas.
either of these might work.
--
-- Stephe
next prev parent reply other threads:[~2011-07-19 8:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-18 12:39 GprBuild and linker options Felix Krause
2011-07-18 20:32 ` Simon Wright
2011-07-18 22:51 ` Felix Krause
2011-07-19 5:59 ` anon
2011-07-19 8:20 ` Stephen Leake [this message]
2011-07-19 21:05 ` Felix Krause
2011-07-20 12:19 ` Stephen Leake
2011-07-19 9:14 ` Alex R. Mosteo
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox