[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