[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: adding conditionally a c++ file implies static linking with g++
From: |
Ralf Wildenhues |
Subject: |
Re: adding conditionally a c++ file implies static linking with g++ |
Date: |
Sun, 7 Nov 2010 14:50:34 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
Hi Vincent,
* Vincent Torri wrote on Fri, Nov 05, 2010 at 04:56:55PM CET:
> foo_SOURCES = bar1.c
>
> if MY_COND
> foo_SOURCES += bar2.cpp
> else
> foo_SOURCES += bar2.c
> endif
>
> One told me on that ML that it is normal that automake uses g++ for
> linking, even if MY_COND is not verified. One possible way to work around
> that is redefining rules of linking, according to the value of MY_COND.
> Something like (maybe not 100% correct) :
>
> if MY_COND
> foo_la-bar2.lo: bar2.cpp
> $(LTCXXCOMPILE) blah blah blah
> else
> foo_la-bar2.lo: bar2.c
> $(LTCOMPILE) blah blah blah
> endif
>
> Is there something more elegant than doing that ?
Not really. I agree that it's kind of ugly, but what's even more,
there are uses relying on something like this to happen: it was
actually recommended to do e.g.,
if COND_FALSE
nodist_foo_SOURCES += force-c++-linker.cc
endif
so I'm afraid you might have to live with a workaround.
You can set foo_LINK for linking.
Hope that helps.
Cheers,
Ralf