Example #1
0
def configuration(parent_package='', top_path=None):
    import os.path as op
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    os_flag = {'posix' : 0, 'windows' : 1}

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    defines = [('__SDIR__', "'\"%s\"'" % auto_dir),
               ('SFEPY_PLATFORM', os_flag[site_config.system()])]
    if '-DDEBUG_FMF' in site_config.debug_flags():
        defines.append(('DEBUG_FMF', None))

    fem_src = ['common_python.c']
    fem_src = [op.join('../../fem/extmods', ii) for ii in fem_src]

    src = ['crcm.pyx', 'rcm.c']
    config.add_extension('crcm',
                         sources=src + fem_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir, '../../fem/extmods'],
                         define_macros=defines)

    return config
Example #2
0
File: setup.py Project: rc/sfepy
def configuration(parent_package='', top_path=None):
    import os.path as op
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    system = site_config.system()
    os_flag = {'posix' : 0, 'windows' : 1}[system]

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    inline = 'inline' if system == 'posix' else '__inline'
    defines = [('SFEPY_PLATFORM', os_flag),
               ('inline', inline)]
    if '-DDEBUG_FMF' in site_config.debug_flags():
        defines.append(('DEBUG_FMF', None))

    common_path = '../../common/extmods'

    common_src = ['fmfield.c', 'geommech.c', 'common_python.c']
    common_src = [op.join(common_path, ii) for ii in common_src]

    src = ['igac.pyx', 'nurbs.c']
    config.add_extension('igac',
                         sources=src + common_src,
                         depends=common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir, common_path],
                         define_macros=defines)

    return config
Example #3
0
def get_basic_info(version=__version__):
    """
    Return SfePy installation directory information. Append current git
    commit hash to `version`.
    """
    import os.path as op
    from sfepy import Config

    # If installed, up_dir is '.', otherwise (in (git) source directory) '..'.
    for up_dir in ['..', '.']:
        top_dir = op.normpath(op.join(op.dirname(__file__), up_dir))
        aux = op.join(top_dir, 'README')
        if op.isfile(aux):
            break
    else:
        raise RuntimeError('cannot determine SfePy top level directory!')

    config = Config()
    if not config.is_release():
        # Append current git commit hash to __version__.
        master = op.join(top_dir, '.git/refs/heads/master')
        if op.isfile(master):
            fd = open(master, 'r')
            version += '-git-%s' % fd.readline().strip()
            fd.close()

    in_source_tree = up_dir == '..'

    return version, top_dir, in_source_tree
Example #4
0
File: setup.py Project: Gkdnz/sfepy
def configuration(parent_package='', top_path=None):
    import os.path as op
    import glob
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    system = site_config.system()
    os_flag = {'posix' : 0, 'windows' : 1}[system]

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    sdir = '\\"%s\\"' % auto_dir.replace('\\', '\\\\')
    inline = 'inline' if system == 'posix' else '__inline'
    defines = [('__SDIR__', sdir),
               ('SFEPY_PLATFORM', os_flag),
               ('inline', inline)]
    if '-DDEBUG_FMF' in site_config.debug_flags():
        defines.append(('DEBUG_FMF', None))

    common_path = '../../discrete/common/extmods'

    common_src = ['fmfield.c', 'refmaps.c', 'geommech.c', 'common_python.c']
    common_src = [op.join(common_path, ii) for ii in common_src]

    csrc = [op.split(ii)[1] for ii in glob.glob('sfepy/terms/extmods/*.c')]
    try:
        csrc.remove('terms.c')
    except ValueError:
        pass

    config.add_library('sfepy_terms',
                       sources=csrc,
                       depends=common_src,
                       extra_compiler_args=site_config.compile_flags(),
                       extra_link_args=site_config.link_flags(),
                       include_dirs=[auto_dir, common_path,
                                     site_config.python_include()],
                       macros=defines)

    src = ['terms.pyx']
    config.add_extension('terms',
                         sources=src,
                         libraries=['sfepy_terms', 'sfepy_common'],
                         depends=csrc + common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir, common_path],
                         define_macros=defines)

    return config
Example #5
0
def configuration(parent_package="", top_path=None):
    import os.path as op
    import glob
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    os_flag = {"posix": 0, "windows": 1}

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    defines = [("__SDIR__", "'\"%s\"'" % auto_dir), ("SFEPY_PLATFORM", os_flag[site_config.system()])]
    if "-DDEBUG_FMF" in site_config.debug_flags():
        defines.append(("DEBUG_FMF", None))

    common_src = ["fmfield.c", "refmaps.c", "geommech.c", "common_python.c"]
    common_src = [op.join("../../fem/extmods", ii) for ii in common_src]

    csrc = [op.split(ii)[1] for ii in glob.glob("sfepy/terms/extmods/*.c")]
    try:
        csrc.remove("terms.c")
    except ValueError:
        pass

    config.add_library(
        "sfepy_terms",
        sources=csrc,
        depends=common_src,
        extra_compiler_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir, "../../fem/extmods", site_config.python_include()],
        macros=defines,
    )

    src = ["terms.pyx"]
    config.add_extension(
        "terms",
        sources=src,
        libraries=["sfepy_terms", "sfepy_common"],
        depends=csrc + common_src,
        extra_compile_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir, "../../fem/extmods"],
        define_macros=defines,
    )

    return config
Example #6
0
def configuration(parent_package='', top_path=None):
    import os.path as op
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    system = site_config.system()
    os_flag = {'posix' : 0, 'windows' : 1}[system]

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    sdir = '\\"%s\\"' % auto_dir.replace('\\', '\\\\')
    inline = 'inline' if system == 'posix' else '__inline'
    defines = [('__SDIR__', sdir),
               ('SFEPY_PLATFORM', os_flag),
               ('inline', inline)]
    if '-DDEBUG_FMF' in site_config.debug_flags():
        defines.append(('DEBUG_FMF', None))

    common_path = '../../discrete/common/extmods'

    fem_src = ['common_python.c']
    fem_src = [op.join(common_path, ii) for ii in fem_src]

    src = ['ccontres.pyx', 'contres.c']
    hdr = ['contres.h']
    config.add_extension('ccontres',
                         sources=src + fem_src,
                         depends=src + fem_src + hdr,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir, common_path],
                         define_macros=defines)

    return config
Example #7
0
def configuration(parent_package="", top_path=None):
    import os.path as op
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    system = site_config.system()
    os_flag = {"posix": 0, "windows": 1}[system]

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    sdir = '\\"%s\\"' % auto_dir.replace("\\", "\\\\")
    inline = "inline" if system == "posix" else "__inline"
    defines = [("__SDIR__", sdir), ("SFEPY_PLATFORM", os_flag), ("inline", inline)]
    if "-DDEBUG_FMF" in site_config.debug_flags():
        defines.append(("DEBUG_FMF", None))

    common_path = "../../discrete/common/extmods"

    fem_src = ["common_python.c"]
    fem_src = [op.join(common_path, ii) for ii in fem_src]

    src = ["crcm.pyx", "rcm.c"]
    config.add_extension(
        "crcm",
        sources=src + fem_src,
        extra_compile_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir, common_path],
        define_macros=defines,
    )

    return config
Example #8
0
def configuration(parent_package='', top_path=None):
    import os.path as op
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    os_flag = {'posix' : 0, 'windows' : 1}

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    defines = [('__SDIR__', "'\"%s\"'" % auto_dir),
               ('SFEPY_PLATFORM', os_flag[site_config.system()])]
    if '-DDEBUG_FMF' in site_config.debug_flags():
        defines.append(('DEBUG_FMF', None))

    common_path = '../../common/extmods'

    common_src = ['fmfield.c', 'refmaps.c', 'geommech.c', 'common_python.c']
    common_src = [op.join(common_path, ii) for ii in common_src]

    src = ['bases.pyx', 'lagrange.c']
    config.add_extension('bases',
                         sources=src,
                         libraries=['sfepy_common'],
                         depends=common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir, common_path],
                         define_macros=defines)

    src = ['lobatto_bases.pyx', 'lobatto.c', 'lobatto1d.c']
    config.add_extension('lobatto_bases',
                         sources=src,
                         libraries=['sfepy_common'],
                         depends=common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir, common_path],
                         define_macros=defines)

    return config
Example #9
0
def configuration(parent_package='', top_path=None):
    import os.path as op
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    os_flag = {'posix': 0, 'windows': 1}

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    defines = [('__SDIR__', "'\"%s\"'" % auto_dir),
               ('SFEPY_PLATFORM', os_flag[site_config.system()])]
    if '-DDEBUG_FMF' in site_config.debug_flags():
        defines.append(('DEBUG_FMF', None))

    common_src = ['fmfield.c', 'geometry.c', 'geommech.c', 'common_python.c']

    config.add_library('sfepy_common',
                       sources=common_src,
                       extra_compiler_args=site_config.compile_flags(),
                       extra_link_args=site_config.link_flags(),
                       include_dirs=[auto_dir,
                                     site_config.python_include()],
                       macros=defines)

    src = ['_fmfield.pyx']
    config.add_extension('_fmfield',
                         sources=src,
                         libraries=['sfepy_common'],
                         depends=common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = ['mappings.pyx']
    config.add_extension('mappings',
                         sources=src,
                         libraries=['sfepy_common'],
                         depends=common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = ['assemble.pyx']
    config.add_extension('assemble',
                         sources=src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = ['bases.pyx']
    config.add_extension('bases',
                         sources=src,
                         libraries=['sfepy_common'],
                         depends=common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = [
        'mesh.pyx', 'geomtrans.c', 'meshutils.c', 'sort.c', 'common_python.c'
    ]
    config.add_extension('mesh',
                         sources=src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = ['lobatto.pyx']
    config.add_extension('lobatto',
                         sources=src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    # Include *.pxd files in distribution tarball and install them along
    # with the extension modules.
    pxd_files = ['mappings.pxd', 'types.pxd', '_fmfield.pxd']
    config.add_data_files(('', pxd_files))

    return config
Example #10
0
def configuration(parent_package='', top_path=None):
    import os.path as op
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    os_flag = {'posix' : 0, 'windows' : 1}

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    defines = [('__SDIR__', "'\"%s\"'" % auto_dir),
               ('SFEPY_PLATFORM', os_flag[site_config.system()])]
    if '-DDEBUG_FMF' in site_config.debug_flags():
        defines.append(('DEBUG_FMF', None))
    if '-DDEBUG_MESH' in site_config.debug_flags():
        defines.append(('DEBUG_MESH', None))

    common_src = ['fmfield.c', 'refmaps.c', 'geommech.c', 'common_python.c']

    config.add_library('sfepy_common',
                       sources=common_src,
                       extra_compiler_args=site_config.compile_flags(),
                       extra_link_args=site_config.link_flags(),
                       include_dirs=[auto_dir, site_config.python_include()],
                       macros=defines)

    src = ['_fmfield.pyx']
    config.add_extension('_fmfield',
                         sources=src,
                         libraries=['sfepy_common'],
                         depends=common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = ['mappings.pyx']
    config.add_extension('mappings',
                         sources=src,
                         libraries=['sfepy_common'],
                         depends=common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = ['assemble.pyx']
    config.add_extension('assemble',
                         sources=src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = ['cmesh.pyx', 'geomtrans.c', 'mesh.c', 'meshutils.c', 'sort.c',
           'common_python.c']
    config.add_extension('cmesh',
                         sources=src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = ['crefcoors.pyx', 'refcoors.c', 'geomtrans.c', 'mesh.c']
    config.add_extension('crefcoors',
                         sources=src,
                         libraries=['sfepy_common'],
                         depends=common_src,
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    src = ['_geommech.pyx']
    config.add_extension('_geommech',
                         sources=src,
                         libraries=['sfepy_common'],
                         extra_compile_args=site_config.compile_flags(),
                         extra_link_args=site_config.link_flags(),
                         include_dirs=[auto_dir],
                         define_macros=defines)

    # Include *.pxd files in distribution tarball and install them along
    # with the extension modules.
    pxd_files = ['cmesh.pxd', 'mappings.pxd', 'types.pxd',
                 '_fmfield.pxd', '_geommech.pxd']
    config.add_data_files(('', pxd_files))

    return config
Example #11
0
              maintainer="Robert Cimrman",
              maintainer_email="*****@*****.**",
              description=DOCLINES[0],
              long_description="\n".join(DOCLINES[2:]),
              url="http://sfepy.org",
              download_url=DOWNLOAD_URL,
              license='BSD',
              classifiers=list(filter(None, CLASSIFIERS.split('\n'))),
              platforms=["Linux", "Mac OS-X", 'Windows'],
              scripts=['sfepy-run'],
              cmdclass=cmdclass,
              configuration=configuration)

    finally:
        del sys.path[0]
        os.chdir(old_path)

    return


if __name__ == '__main__':
    check_versions()
    setup_package()

    from sfepy import Config
    site_config = Config()
    log.info('\nUsing Python {}.'.format(site_config.python_version()))

    log.info('\nRequired and optional packages found:\n')
    check_versions(show_only=True)
Example #12
0
def configuration(parent_package="", top_path=None):
    import os.path as op
    from numpy.distutils.misc_util import Configuration

    from sfepy import Config

    site_config = Config()
    os_flag = {"posix": 0, "windows": 1}

    auto_dir = op.dirname(__file__)
    auto_name = op.split(auto_dir)[-1]
    config = Configuration(auto_name, parent_package, top_path)

    defines = [("__SDIR__", "'\"%s\"'" % auto_dir), ("SFEPY_PLATFORM", os_flag[site_config.system()])]
    if "-DDEBUG_FMF" in site_config.debug_flags():
        defines.append(("DEBUG_FMF", None))
    if "-DDEBUG_MESH" in site_config.debug_flags():
        defines.append(("DEBUG_MESH", None))

    common_src = ["fmfield.c", "refmaps.c", "geommech.c", "common_python.c"]

    config.add_library(
        "sfepy_common",
        sources=common_src,
        extra_compiler_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir, site_config.python_include()],
        macros=defines,
    )

    src = ["_fmfield.pyx"]
    config.add_extension(
        "_fmfield",
        sources=src,
        libraries=["sfepy_common"],
        depends=common_src,
        extra_compile_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir],
        define_macros=defines,
    )

    src = ["mappings.pyx"]
    config.add_extension(
        "mappings",
        sources=src,
        libraries=["sfepy_common"],
        depends=common_src,
        extra_compile_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir],
        define_macros=defines,
    )

    src = ["assemble.pyx"]
    config.add_extension(
        "assemble",
        sources=src,
        extra_compile_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir],
        define_macros=defines,
    )

    src = ["bases.pyx", "lagrange.c"]
    config.add_extension(
        "bases",
        sources=src,
        libraries=["sfepy_common"],
        depends=common_src,
        extra_compile_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir],
        define_macros=defines,
    )

    src = ["cmesh.pyx", "geomtrans.c", "mesh.c", "meshutils.c", "sort.c", "common_python.c"]
    config.add_extension(
        "cmesh",
        sources=src,
        extra_compile_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir],
        define_macros=defines,
    )

    src = ["lobatto_bases.pyx", "lobatto.c", "lobatto1d.c"]
    config.add_extension(
        "lobatto_bases",
        sources=src,
        libraries=["sfepy_common"],
        depends=common_src,
        extra_compile_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir],
        define_macros=defines,
    )

    src = ["_geommech.pyx"]
    config.add_extension(
        "_geommech",
        sources=src,
        libraries=["sfepy_common"],
        extra_compile_args=site_config.compile_flags(),
        extra_link_args=site_config.link_flags(),
        include_dirs=[auto_dir],
        define_macros=defines,
    )

    # Include *.pxd files in distribution tarball and install them along
    # with the extension modules.
    pxd_files = ["mappings.pxd", "types.pxd", "_fmfield.pxd", "_geommech.pxd"]
    config.add_data_files(("", pxd_files))

    return config