コード例 #1
0
extra = []
import sys
if sys.platform == 'linux2':
    extra += ['-v']

ext = Extension(
    name='p4p._p4p',
    sources=[
        "src/p4p_top.cpp",
        "src/p4p_type.cpp",
        "src/p4p_value.cpp",
        "src/p4p_array.cpp",
        "src/p4p_server.cpp",
        "src/p4p_server_provider.cpp",
        "src/p4p_server_sharedpv.cpp",
        "src/p4p_client.cpp",
    ],
    include_dirs=get_numpy_include_dirs() + [epicscorelibs.path.include_path],
    define_macros=get_config_var('CPPFLAGS'),
    extra_compile_args=get_config_var('CXXFLAGS'),
    extra_link_args=get_config_var('LDFLAGS') + extra,
    dsos=[
        'epicscorelibs.lib.pvAccess', 'epicscorelibs.lib.pvData',
        'epicscorelibs.lib.ca', 'epicscorelibs.lib.Com'
    ],
    libraries=get_config_var('LDADD'),
)

setup(
    name='p4p',
    version='3.0.0',
    description="Python interface to PVAccess protocol client",
コード例 #2
0
ファイル: setup.py プロジェクト: mdavidsaver/epicscorelibs
headers = proc_headers(headers)

headers['epicscorelibs.dbd'] = [] \
    + glob('modules/database/src/ioc/*/*.dbd') \
    + glob('modules/database/src/std/*/*.dbd') \
    + glob('modules/database/src/ioc/generated/*.dbd') \
    + glob('modules/database/src/std/generated/*.dbd') \
    + glob('modules/pvAccess/src/ioc/*.dbd') \
    + [('qsrv.dbd', 'modules/pva2pva/pdbApp/qsrv-new.dbd')]

# a dummy extension so that bdist_wheel will recognise this package
# as containing binaries.
ext = Extension(
    name='epicscorelibs._base',
    sources=['src/python/epicscorelibs/base.cpp'],
    define_macros=get_config_var('CPPFLAGS'),
    extra_compile_args=get_config_var('CXXFLAGS'),
    extra_link_args=get_config_var('LDFLAGS'),
)

setup(
    name='epicscorelibs',
    version=package_version,
    description="The EPICS Core libraries for use by python modules",
    long_description=
    """The EPICS (Experimental Physics and Industrial Control System) core libraries
for use by python modules.  Either dynamically with ctypes or statically by compiled extension.
""",
    url='https://github.com/mdavidsaver/epicscorelibs',
    author='Michael Davidsaver',
    author_email='*****@*****.**',
コード例 #3
0
ファイル: setup.py プロジェクト: mdavidsaver/p4p-dev
# Our internal interfaces with generated cython
# are all c++, and MSVC doesn't allow extern "C" to
# return c++ types.
cppflags = get_config_var('CPPFLAGS') + [('__PYX_EXTERN_C','extern')]

exts = cythonize([
    Extension(
        name='p4p._p4p',
        sources = [
            "src/p4p/_p4p.pyx",
            "src/pvxs_client.cpp",
            "src/pvxs_sharedpv.cpp",
            "src/pvxs_source.cpp",
            "src/pvxs_type.cpp",
            "src/pvxs_value.cpp",
        ],
        include_dirs = get_numpy_include_dirs()+[epicscorelibs.path.include_path, pvxslibs.path.include_path, 'src', 'src/p4p'],
        define_macros = cppflags + [('PY_ARRAY_UNIQUE_SYMBOL', 'PVXS_PyArray_API'), ('PVXS_ENABLE_EXPERT_API', None)],
        extra_compile_args = get_config_var('CXXFLAGS')+cxxflags,
        extra_link_args = get_config_var('LDFLAGS')+ldflags,
        dsos = ['pvxslibs.lib.pvxs',
                'epicscorelibs.lib.Com'
        ],
        libraries = get_config_var('LDADD'),
    ),
    Extension(
        name='p4p._gw',
        sources=[
            'src/p4p/_gw.pyx',
            'src/pvxs_gw.cpp',
            'src/pvxs_odometer.cpp'
コード例 #4
0
ファイル: setup.py プロジェクト: mdavidsaver/setuptools_dso
        extra_compile_args = ['-DALL'],
        lang_compile_args = {
            'c':['-DISC'],
            'c++':['-DISCXX'],
        },
        # demonstrate how to set an SONAME.
        # eg. on linux the result will be two files:
        #   dsodemo/lib/libdemo.so
        #   dsodemo/lib/libdemo.so.1.0
        soversion='1.0',
    )

    return [dso]

ext = Extension('dsodemo.ext.dtest', ['src/extension.cpp'],
    dsos=['dsodemo.lib.demo'],
)

setup(
    name='dsodemo',
    version="0.1",
    # setup/build time dependencies listed in pyproject.toml
    # cf. PEP 518
    #setup_requires = ['setuptools_dso'],
    # also need at runtime for DSO filename lookup since demo uses ctypes
    install_requires = ['setuptools_dso'],
    packages=['dsodemo', 'dsodemo.ext', 'dsodemo.lib'],
    package_dir={'': 'src'},
    ext_modules = [ext],
    # 'x_dsos' may be None, a list of DSO instances,
    # or a callable returning a list of DSOs.
コード例 #5
0
        sources.append(os.path.join(devIocStats_os, f))
    else:
        sources.append(os.path.join(devIocStats_default, f))

# Extension with all our C code
ext = Extension(
    name='softioc._extension',
    sources=sources,
    include_dirs=[
        epicscorelibs.path.include_path, devIocStats_src, devIocStats_os,
        devIocStats_default
    ],
    dsos=[
        'epicscorelibs.lib.qsrv',
        'epicscorelibs.lib.pvAccessIOC',
        'epicscorelibs.lib.pvAccess',
        'epicscorelibs.lib.pvData',
        'epicscorelibs.lib.dbRecStd',
        'epicscorelibs.lib.dbCore',
        'epicscorelibs.lib.ca',
        'epicscorelibs.lib.Com',
    ],
    define_macros=get_config_var('CPPFLAGS'),
    extra_compile_args=get_config_var('CFLAGS') + ["-std=c99"],
    extra_link_args=get_config_var('LDFLAGS'),
)


# Add custom develop to add soft link to epicscorelibs in .
class Develop(develop):
    def install_for_development(self):