On 13 Apr 2010, at 00:22, Ian Lance Taylor wrote:

IainS <develo...@sandoe-acoustics.co.uk> writes:

yeah .. we use it in Darwin's dsymutil spec.

%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
   %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \
  %{gdwarf-2:%{!gstabs*:%{!g0: dsymutil %{o*:%*}%{!
o:a.out}}}}}}}}}}}}"
   %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}\n"


if you put "-lm" on the c/l dsymutil doesn't get called.

Note that in the specs language the %{.XXX: ...} is matched against
the filename passed to the gcc driver.  It doesn't know the source
language of a .o file.  So if you are linking, and passing .o files,
then this approach won't work.

well, my first question to myself was 'why are there not ".o" and ".a" in the list?' ;))

There are two aspects to this ...
1/ the fact that this is probably not the right thing to do in that spec - easily solved by deleting it..

2/ The weird effect where putting -lm on the c/l causes the substitution to fail - which hints at a deeper problem. FWIW I couldn't (quickly) find any other spec using that syntax - so perhaps it's not important.

cheers,
Iain


Reply via email to