Exemple #1
0
def generate(env):
    """Add Builders and construction variables for ifort to an Environment."""
    # ifort supports Fortran 90 and Fortran 95
    # Additionally, ifort recognizes more file extensions.
    SCons.Tool.SourceFileScanner.add_scanner('.i', fortran.FortranScan)
    SCons.Tool.SourceFileScanner.add_scanner('.i90', fortran.FortranScan)
    fortran.FortranSuffixes.extend(['.i', '.i90'])
    fortran.generate(env)

    env['_FORTRAND'] = 'ifort'

    # If files are compiled into objects, the Intel Fortran Compiler must use
    # ld to link shared libraries.
    env['SHLINK'] = 'ld'

    # Additionally, no symbols can be defined in an archive file; to use
    # Intel Fortran to create shared libraries, all external symbols must
    # be in shared libraries.
    env['SHLINKFLAGS'] = '-shared -no_archive'

    #
    if env['PLATFORM'] == 'win32':
        # On Windows, the ifort compiler specifies the object on the
        # command line with -object:, not -o.  Massage the necessary
        # command-line construction variables.
        for var in [
                '_FORTRANCOMD', '_FORTRANPPCOMD', '_SHFORTRANCOMD',
                '_SHFORTRANPPCOMD'
        ]:
            env[var] = string.replace(env[var], '-o $TARGET',
                                      '-object:$TARGET')
Exemple #2
0
def generate(env):
    """Add Builders and construction variables for ifort to an Environment."""
    # ifort supports Fortran 90 and Fortran 95
    # Additionally, ifort recognizes more file extensions.
    SCons.Tool.SourceFileScanner.add_scanner(".i", fortran.FortranScan)
    SCons.Tool.SourceFileScanner.add_scanner(".i90", fortran.FortranScan)
    fortran.FortranSuffixes.extend([".i", ".i90"])
    fortran.generate(env)

    env["_FORTRAND"] = "ifort"

    # If files are compiled into objects, the Intel Fortran Compiler must use
    # ld to link shared libraries.
    env["SHLINK"] = "ld"

    # Additionally, no symbols can be defined in an archive file; to use
    # Intel Fortran to create shared libraries, all external symbols must
    # be in shared libraries.
    env["SHLINKFLAGS"] = "-shared -no_archive"

    #
    if env["PLATFORM"] == "win32":
        # On Windows, the ifort compiler specifies the object on the
        # command line with -object:, not -o.  Massage the necessary
        # command-line construction variables.
        for var in ["_FORTRANCOMD", "_FORTRANPPCOMD", "_SHFORTRANCOMD", "_SHFORTRANPPCOMD"]:
            env[var] = string.replace(env[var], "-o $TARGET", "-object:$TARGET")
Exemple #3
0
def generate(env):
    """Add Builders and construction variables for ifort to an Environment."""
    # ifort supports Fortran 90 and Fortran 95
    # Additionally, ifort recognizes more file extensions.
    SCons.Tool.SourceFileScanner.add_scanner('.i', fortran.FortranScan)
    SCons.Tool.SourceFileScanner.add_scanner('.i90', fortran.FortranScan)
    fortran.FortranSuffixes.extend(['.i', '.i90'])
    fortran.generate(env)

    env['_FORTRAND'] = 'ifort'

    # If files are compiled into objects, the Intel Fortran Compiler must use
    # ld to link shared libraries.
    env['SHLINK'] = 'ld'

    # Additionally, no symbols can be defined in an archive file; to use
    # Intel Fortran to create shared libraries, all external symbols must
    # be in shared libraries.
    env['SHLINKFLAGS'] = '-shared -no_archive'

    #
    if env['PLATFORM'] == 'win32':
        # On Windows, the ifort compiler specifies the object on the
        # command line with -object:, not -o.  Massage the necessary
        # command-line construction variables.
        for var in ['_FORTRANCOMD', '_FORTRANPPCOMD',
                    '_SHFORTRANCOMD', '_SHFORTRANPPCOMD']:
            env[var] = string.replace(env[var], '-o $TARGET', '-object:$TARGET')
Exemple #4
0
def generate(env):
    """Add Builders and construction variables for ifl to an Environment."""
    SCons.Tool.SourceFileScanner.add_scanner('.i90', fortran.FortranScan)
    fortran.FortranSuffixes.extend(['.i90'])
    fortran.generate(env)

    env['FORTRAN'] = 'ifl'
    env['FORTRANCOM'] = '$FORTRAN $FORTRANFLAGS $_FORTRANINCFLAGS /c $SOURCES /Fo$TARGET'
    env['FORTRANPPCOM'] = '$FORTRAN $FORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANINCFLAGS /c $SOURCES /Fo$TARGET'
    env['SHFORTRANCOM'] = '$SHFORTRAN $SHFORTRANFLAGS $_FORTRANINCFLAGS /c $SOURCES /Fo$TARGET'
    env['SHFORTRANPPCOM'] = '$SHFORTRAN $SHFORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANINCFLAGS /c $SOURCES /Fo$TARGET'
Exemple #5
0
def generate(env):
    """Add Builders and construction variables for ifl to an Environment."""
    SCons.Tool.SourceFileScanner.add_scanner('.i90', fortran.FortranScan)
    fortran.FortranSuffixes.extend(['.i90'])
    fortran.generate(env)

    env['FORTRAN']        = 'ifl'
    env['FORTRANCOM']     = '$FORTRAN $FORTRANFLAGS $_FORTRANINCFLAGS /c $SOURCES /Fo$TARGET'
    env['FORTRANPPCOM']   = '$FORTRAN $FORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANINCFLAGS /c $SOURCES /Fo$TARGET'
    env['SHFORTRANCOM']   = '$SHFORTRAN $SHFORTRANFLAGS $_FORTRANINCFLAGS /c $SOURCES /Fo$TARGET'
    env['SHFORTRANPPCOM'] = '$SHFORTRAN $SHFORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANINCFLAGS /c $SOURCES /Fo$TARGET'
Exemple #6
0
def generate(env):
    """Add Builders and construction variables for compaq visual fortran to an Environment."""

    fortran.generate(env)

    env['FORTRAN']        = 'f90'
    env['FORTRANCOM']     = '$FORTRAN $FORTRANFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}'
    env['FORTRANPPCOM']   = '$FORTRAN $FORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}'
    env['SHFORTRANCOM']   = '$SHFORTRAN $SHFORTRANFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}'
    env['SHFORTRANPPCOM'] = '$SHFORTRAN $SHFORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}'
    env['OBJSUFFIX']      = '.obj'
    env['FORTRANMODDIR'] = '${TARGET.dir}'
    env['FORTRANMODDIRPREFIX'] = '/module:'
    env['FORTRANMODDIRSUFFIX'] = ''
Exemple #7
0
def generate(env):
    """Add Builders and construction variables for compaq visual fortran to an Environment."""

    fortran.generate(env)

    env['FORTRAN'] = 'f90'
    env['FORTRANCOM'] = '$FORTRAN $FORTRANFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}'
    env['FORTRANPPCOM'] = '$FORTRAN $FORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}'
    env['SHFORTRANCOM'] = '$SHFORTRAN $SHFORTRANFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}'
    env['SHFORTRANPPCOM'] = '$SHFORTRAN $SHFORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}'
    env['OBJSUFFIX'] = '.obj'
    env['FORTRANMODDIR'] = '${TARGET.dir}'
    env['FORTRANMODDIRPREFIX'] = '/module:'
    env['FORTRANMODDIRSUFFIX'] = ''
Exemple #8
0
def generate(env):
    """Add Builders and construction variables for gfortran to an
    Environment."""
    fortran.generate(env)

    for dialect in ['F77', 'F90', 'FORTRAN', 'F95', 'F03']:
        env['%s' % dialect] = 'gfortran'
        env['SH%s' % dialect] = '$%s' % dialect
        if env['PLATFORM'] in ['cygwin', 'win32']:
            env['SH%sFLAGS' % dialect] = SCons.Util.CLVar('$%sFLAGS' % dialect)
        else:
            env['SH%sFLAGS' % dialect] = SCons.Util.CLVar('$%sFLAGS -fPIC' % dialect)

        env['INC%sPREFIX' % dialect] = "-I"
        env['INC%sSUFFIX' % dialect] = ""
Exemple #9
0
def generate(env):
    """Add Builders and construction variables for gfortran to an
    Environment."""
    fortran.generate(env)

    for dialect in ['F77', 'F90', 'FORTRAN', 'F95', 'F03']:
        env['%s' % dialect] = 'gfortran'
        env['SH%s' % dialect] = '$%s' % dialect
        if env['PLATFORM'] in ['cygwin', 'win32']:
            env['SH%sFLAGS' % dialect] = SCons.Util.CLVar('$%sFLAGS' % dialect)
        else:
            env['SH%sFLAGS' % dialect] = SCons.Util.CLVar('$%sFLAGS -fPIC' % dialect)

        env['INC%sPREFIX' % dialect] = "-I"
        env['INC%sSUFFIX' % dialect] = ""
Exemple #10
0
def generate(env):
    """Add Builders and construction variables for gfortran to an
    Environment."""
    fortran.generate(env)

    for dialect in ["F77", "F90", "FORTRAN", "F95", "F03"]:
        env["%s" % dialect] = "gfortran"
        env["SH%s" % dialect] = "$%s" % dialect
        if env["PLATFORM"] in ["cygwin", "win32"]:
            env["SH%sFLAGS" % dialect] = SCons.Util.CLVar("$%sFLAGS" % dialect)
        else:
            env["SH%sFLAGS" % dialect] = SCons.Util.CLVar("$%sFLAGS -fPIC" % dialect)

        env["INC%sPREFIX" % dialect] = "-I"
        env["INC%sSUFFIX" % dialect] = ""
Exemple #11
0
def generate(env):
    """Add Builders and construction variables for ifort to an Environment."""
    # ifort supports Fortran 90 and Fortran 95
    # Additionally, ifort recognizes more file extensions.
    SCons.Defaults.ObjSourceScan.add_scanner('.i', fortran.FortranScan)
    SCons.Defaults.ObjSourceScan.add_scanner('.i90', fortran.FortranScan)
    fortran.FortranSuffixes.extend(['.i', '.i90'])
    fortran.generate(env)

    env['_FORTRAND'] = 'ifort'

    # If files are compiled into objects, the Intel Fortran Compiler must use
    # ld to link shared libraries.
    env['SHLINK'] = 'ld'

    # Additionally, no symbols can be defined in an archive file; to use
    # Intel Fortran to create shared libraries, all external symbols must
    # be in shared libraries.
    env['SHLINKFLAGS'] = '-shared -no_archive'
Exemple #12
0
def generate(env):
    """Add Builders and construction variables for ifort to an Environment."""
    # ifort supports Fortran 90 and Fortran 95
    # Additionally, ifort recognizes more file extensions.
    SCons.Defaults.ObjSourceScan.add_scanner('.i', fortran.FortranScan)
    SCons.Defaults.ObjSourceScan.add_scanner('.i90', fortran.FortranScan)
    fortran.FortranSuffixes.extend(['.i', '.i90'])
    fortran.generate(env)

    env['_FORTRAND'] = 'ifort'

    # If files are compiled into objects, the Intel Fortran Compiler must use
    # ld to link shared libraries.
    env['SHLINK'] = 'ld'

    # Additionally, no symbols can be defined in an archive file; to use
    # Intel Fortran to create shared libraries, all external symbols must
    # be in shared libraries.
    env['SHLINKFLAGS'] = '-shared -no_archive'
Exemple #13
0
def generate(env):
    """Add Builders and construction variables for compaq visual fortran to an Environment."""

    fortran.generate(env)

    env["FORTRAN"] = "f90"
    env[
        "FORTRANCOM"
    ] = "$FORTRAN $FORTRANFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}"
    env[
        "FORTRANPPCOM"
    ] = "$FORTRAN $FORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}"
    env[
        "SHFORTRANCOM"
    ] = "$SHFORTRAN $SHFORTRANFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}"
    env[
        "SHFORTRANPPCOM"
    ] = "$SHFORTRAN $SHFORTRANFLAGS $CPPFLAGS $_CPPDEFFLAGS $_FORTRANMODFLAG $_FORTRANINCFLAGS /compile_only ${SOURCES.windows} /object:${TARGET.windows}"
    env["OBJSUFFIX"] = ".obj"
    env["FORTRANMODDIR"] = "${TARGET.dir}"
    env["FORTRANMODDIRPREFIX"] = "/module:"
    env["FORTRANMODDIRSUFFIX"] = ""