[ET Trac] [Einstein Toolkit] #1406: Commit r5034 to the flesh breaks many external libraries
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Thu Jul 25 03:52:32 CDT 2013
#1406: Commit r5034 to the flesh breaks many external libraries
-------------------------+--------------------------------------------------
Reporter: eschnett | Owner: knarf@…
Type: defect | Status: review
Priority: critical | Milestone: ET_2013_11
Component: SimFactory | Version: development version
Resolution: | Keywords:
-------------------------+--------------------------------------------------
Comment (by eschnett):
When Cactus determines include dependencies, it does so by calling the
compiler with certain flags. It does not call cpp directly, since this may
lead to different include files -- e.g. GNU's cpp would now know what
Intel-specific files icc would include. cpp needs to be called via icc, so
that icc can add its -I flags.
CPPFLAGS contains the flags necessary for this preprocessing. These are
mostly the -I and -D flags. CFLAGS contains only the flags necessary for
compiling, e.g. -Wall or -xHost or -O2.
It seems that other libraries (e.g. GSL) interpret CPPFLAGS differently,
and/or call GNU cpp even if the compiler is Intel icc.
We should use CPPFLAGS to pass the -I and -D flags. If we did not do this,
and if we used CFLAGS instead, then we would need to pass CFLAGS when
looking for dependencies, which could lead to warnings about unused flags.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1406#comment:4>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list