[petsc-dev] BuildSystem concerns
    Satish Balay 
    balay at mcs.anl.gov
       
    Tue Mar 15 19:24:05 CDT 2011
    
    
  
On Tue, 15 Mar 2011, Barry Smith wrote:
> 
>   Stuff like this in BlasLapack.py 
> 
>  def getSharedFlag(self,cflags):
>     for flag in ['-PIC', '-fPIC', '-KPIC', '-qpic']:
>       if cflags.find(flag) >=0: return flag
>     return ''
> 
>   def getPrecisionFlag(self,cflags):
>     for flag in ['-m32', '-m64', '-xarch=v9','-q64']:
>       if cflags.find(flag) >=0: return flag
>     return ''
> 
>   def getWindowsNonOptFlags(self,cflags):
>     for flag in ['-MT','-MTd','-MD','-threads']:
>       if cflags.find(flag) >=0: return flag
>     return ''
> 
> 
> are of major concern. So someone adds a new "precision" flag in BuildSystem they have to know to go into BlasLapack.py and edit it?
Now there is another package that needs this stuff: tetgen.  Both
these packages need 'NOOPT'. [if we eliminate all options - then there
are compile breakages]
The above code developed adhoc - whenever there was breakage - we
hacked in a fix. But I'm not sure if there is a proper fix.
If we assume all optflags are in COPTFLAGS/FOPTFLAGS - then I guess
BuidSystem could do this automatically
instead of using:
 self.setCompilers.getCompilerFlags()
use a new function provided by buidsystem:
 self.setCompilers.getCompilerNOOPTFlags()
This one does the comparision between the current flags - and stripts
out the relavent C/F/CXX OPTFLAGS set by user [or the defaults set by
buildsystem]
If optflags creep in via some other configure option [thats users
problem]?
Satish
    
    
More information about the petsc-dev
mailing list