<html>#2553: Cactus' link command used CPPFLAGS and CXXFLAGS
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Roland Haas</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td>development version</td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Cactus</td></tr>
</table>

<p>Cactus link line in make.configuration looks like this right now:</p>
<div class="codehilite"><pre><span></span><span>$(LD) $(CREATEEXE)$(OPTIONSEP)&quot;$(call TRANSFORM_DIRS,$@)&quot; $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $(EXTRAFLAGS) &quot;$(call TRANSFORM_DIRS,$(TOP)/datestamp.o)&quot; $(BEGIN_WHOLE_ARCHIVE_FLAGS) $(CACTUSLIBLINKLINE) $(END_WHOLE_ARCHIVE_FLAGS) $(GENERAL_LIBRARIES)</span>
</pre></div>

<p>ie it passed <code>$(CPPFLAGS)</code> and <code>$(CXXFLAGS)</code> to <code>$(LD)</code>. While we do normally set <code>LD</code> to the same as <code>CXX</code> this is not always correct, eg if one would like to use <code>g++</code> for C++ files but link with <code>nvcc</code>. </p>
<p>Neither one of these options is required or should be there since <code>$(LD)</code> does not compile anything at all. Any subset of options from <code>$(CPPFLAGS)</code> or <code>$(CXXFLAGS)</code>  that may be needed (eg <code>-fopenmp</code> should be set in <code>$(LDFLAGS)</code>).</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2553/cactus-link-command-used-cppflags-and'>https://bitbucket.org/einsteintoolkit/tickets/issues/2553/cactus-link-command-used-cppflags-and</a></p>
</html>