def get_extension_modules(config): """Handle extension modules""" EXTENSION_FIELDS = ("sources", "include_dirs", "define_macros", "undef_macros", "library_dirs", "libraries", "runtime_library_dirs", "extra_objects", "extra_compile_args", "extra_link_args", "export_symbols", "swig_opts", "depends") ext_modules = [] for section in config: if ':' in section: labels = section.split(':', 1) else: # Backwards compatibility for old syntax; don't use this though labels = section.split('=', 1) labels = [l.strip() for l in labels] if (len(labels) == 2) and (labels[0] == 'extension'): ext_args = {} for field in EXTENSION_FIELDS: value = has_get_option(config, section, field) # All extension module options besides name can have multiple # values if not value: continue value = split_multiline(value) if field == 'define_macros': macros = [] for macro in value: macro = macro.split('=', 1) if len(macro) == 1: macro = (macro[0].strip(), None) else: macro = (macro[0].strip(), macro[1].strip()) macros.append(macro) value = macros ext_args[field] = value if ext_args: if 'name' not in ext_args: ext_args['name'] = labels[1] ext_modules.append(extension.Extension(ext_args.pop('name'), **ext_args)) return ext_modules
cpp_module = extension.Extension( 'nkit4py', define_macros=define_macros, include_dirs=[ './deps/include', './deps/expat-2.1.0/lib', './deps/nkit/src', './src' ], library_dirs=[], libraries=libraries, extra_compile_args=cflags, sources=[ './src/module.cpp', './deps/expat-2.1.0/lib/xmlparse.c', './deps/expat-2.1.0/lib/xmltok.c', './deps/expat-2.1.0/lib/xmlrole.c', "./deps/yajl-2.0.5/src/yajl_lex.c", "./deps/yajl-2.0.5/src/yajl_encode.c", "./deps/yajl-2.0.5/src/yajl_parser.c", "./deps/yajl-2.0.5/src/yajl_version.c", "./deps/yajl-2.0.5/src/yajl_alloc.c", "./deps/yajl-2.0.5/src/yajl_buf.c", "./deps/yajl-2.0.5/src/yajl_tree.c", "./deps/yajl-2.0.5/src/yajl_gen.c", "./deps/yajl-2.0.5/src/yajl.c", "./deps/nkit/src/constants.cpp", "./deps/nkit/src/tools.cpp", "./deps/nkit/src/dynamic/dynamic.cpp", "./deps/nkit/src/dynamic/dynamic_json.cpp", "./deps/nkit/src/dynamic/dynamic_path.cpp", "./deps/nkit/src/dynamic/dynamic_table.cpp", "./deps/nkit/src/dynamic/dynamic_table_index_comparators.cpp", "./deps/nkit/src/dynamic/dynamic_xml.cpp", "./deps/nkit/src/logger/rotate_logger.cpp", "./deps/nkit/src/encoding/transcode.cpp", "./deps/nkit/src/xml/xml2var.cpp", "./deps/nkit/3rd/netbsd/strptime.cpp" ])
name='edgedb-server', description='EdgeDB Server', author='MagicStack Inc.', author_email='*****@*****.**', packages=['edb'], include_package_data=True, cmdclass=COMMAND_CLASSES, entry_points={ 'console_scripts': [ 'edgedb-server = edb.server.main:main', ], }, ext_modules=[ setuptools_extension.Extension( "edb.server.cache.stmt_cache", ["edb/server/cache/stmt_cache.pyx"], extra_compile_args=EXT_CFLAGS, extra_link_args=EXT_LDFLAGS), setuptools_extension.Extension( "edb.protocol.protocol", ["edb/protocol/protocol.pyx"], extra_compile_args=EXT_CFLAGS, extra_link_args=EXT_LDFLAGS), setuptools_extension.Extension( "edb.server.pgproto.pgproto", ["edb/server/pgproto/pgproto.pyx"], extra_compile_args=EXT_CFLAGS, extra_link_args=EXT_LDFLAGS),
import os import sys import warnings from setuptools import setup, extension from setuptools.command.build_ext import build_ext setup_kwargs = {} try: import numpy from Cython import Build setup_kwargs['ext_modules'] = Build.cythonize([ extension.Extension( 'stl._speedups', ['stl/_speedups.pyx'], include_dirs=[numpy.get_include()], ), ]) except ImportError: print('WARNING', file=sys.stderr) print('Cython and Numpy is required for building extension.', file=sys.stderr) print('Falling back to pure Python implementation.', file=sys.stderr) # To prevent importing about and thereby breaking the coverage info we use this # exec hack about = {} with open('stl/__about__.py') as fp: exec(fp.read(), about)
description="Python bindings for mapnik", long_description=long_description, classifiers=[ "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules", ], keywords='', author='Mathieu Le Marec - Pasquet & the mapnik community', author_email='*****@*****.**', url='http://pypi.python.org/pypi/mapnik', license='LGPL', include_package_data=True, zip_safe=False, packages=find_packages('src'), package_dir={'': 'src'}, extras_require={'tests': test_requires}, ext_modules=[ extension.Extension( "_mapnik", files, include_dirs=[sources_dir, agg_sources_dir], extra_compile_args=cf.split(), libraries=compilation_flags.get('libraries', []), extra_link_args=ldf.split(), ), ], install_requires=['setuptools'], test_suite='nose.collector', entry_points={}, )