[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