~elementary-apps/noise/trunk

« back to all changes in this revision

Viewing changes to .waf-1.6.2-ad4cc42bd7d347f7e283789e711b993f/waflib/Tools/ifort.py

  • Committer: Scott Ringwelski
  • Date: 2011-02-10 21:30:53 UTC
  • Revision ID: sgringwe@mtu.edu-20110210213053-d3c7mnexeref3cwj
sexy icons, sexy waf

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /usr/bin/env python
 
2
# encoding: utf-8
 
3
# WARNING! All changes made to this file will be lost!
 
4
 
 
5
import re
 
6
from waflib import Utils
 
7
from waflib.Tools import fc,fc_config,fc_scan
 
8
from waflib.Configure import conf
 
9
def find_ifort(conf):
 
10
        fc=conf.find_program('ifort',var='FC')
 
11
        fc=conf.cmd_to_list(fc)
 
12
        conf.get_ifort_version(fc,mandatory=False)
 
13
        conf.env.FC_NAME='IFORT'
 
14
def ifort_modifier_cygwin(conf):
 
15
        raise NotImplementedError("Ifort on cygwin not yet implemented")
 
16
def ifort_modifier_platform(conf):
 
17
        dest_os=conf.env['DEST_OS']or Utils.unversioned_sys_platform()
 
18
        ifort_modifier_func=getattr(conf,'ifort_modifier_'+dest_os,None)
 
19
        if ifort_modifier_func:
 
20
                ifort_modifier_func()
 
21
def get_ifort_version(conf,fc):
 
22
        version_re=re.compile(r"ifort\s*\(IFORT\)\s*(?P<major>\d*)\.(?P<minor>\d*)",re.I).search
 
23
        cmd=fc+['--version']
 
24
        out,err=fc_config.getoutput(conf,cmd,stdin=False)
 
25
        if out:
 
26
                match=version_re(out)
 
27
        else:
 
28
                match=version_re(err)
 
29
        if not match:
 
30
                conf.fatal('cannot determine ifort version.')
 
31
        k=match.groupdict()
 
32
        conf.env['FC_VERSION']=(k['major'],k['minor'])
 
33
def configure(conf):
 
34
        conf.find_ifort()
 
35
        conf.find_ar()
 
36
        conf.fc_flags()
 
37
        conf.ifort_modifier_platform()
 
38
 
 
39
conf(find_ifort)
 
40
conf(ifort_modifier_cygwin)
 
41
conf(ifort_modifier_platform)
 
42
conf(get_ifort_version)
 
 
b'\\ No newline at end of file'