1
0
mirror of synced 2024-11-24 14:30:11 +01:00

Check a system enviornment variable before trying to compile extensions, skip if it is set.

This commit is contained in:
Jennifer Taylor 2021-05-31 18:06:31 +00:00
parent 630263dd8d
commit 5d365f3ee4

158
setup.py
View File

@ -1,79 +1,17 @@
from setuptools import Extension, setup import os
from Cython.Build import cythonize from setuptools import setup
setup(
name='bemani',
version='1.0',
description='Code and utilities for talking to BEMANI games',
author='DragonMinded',
license='Public Domain',
packages=[
# Core packages
'bemani',
'bemani.common',
'bemani.data',
'bemani.data.api',
'bemani.data.mysql',
'bemani.protocol',
# Wrapper scripts and WSGI imports def extensions():
'bemani.utils', if 'PURE_PYTHON' in os.environ:
# We've been asked not to compile extensions.
return []
# Frontend packages from setuptools import Extension
'bemani.frontend', from Cython.Build import cythonize
'bemani.frontend.account',
'bemani.frontend.admin',
'bemani.frontend.arcade',
'bemani.frontend.home',
'bemani.frontend.static',
'bemani.frontend.templates',
# Game frontends return [
'bemani.frontend.iidx', *cythonize(
'bemani.frontend.popn',
'bemani.frontend.jubeat',
'bemani.frontend.bishi',
'bemani.frontend.ddr',
'bemani.frontend.sdvx',
'bemani.frontend.reflec',
'bemani.frontend.museca',
# Backend packages
'bemani.backend',
'bemani.backend.core',
'bemani.backend.ess',
'bemani.backend.iidx',
'bemani.backend.jubeat',
'bemani.backend.popn',
'bemani.backend.bishi',
'bemani.backend.ddr',
'bemani.backend.sdvx',
'bemani.backend.reflec',
'bemani.backend.museca',
# API packages
'bemani.api',
'bemani.api.objects',
# Testing game client packages
'bemani.client',
'bemani.client.iidx',
'bemani.client.jubeat',
'bemani.client.popn',
'bemani.client.bishi',
'bemani.client.ddr',
'bemani.client.sdvx',
'bemani.client.reflec',
'bemani.client.museca',
],
install_requires=[
req for req in open('requirements.txt').read().split('\n') if len(req) > 0
],
# None of these are required for operating any of the utilities found in this repo.
# They are all present for speed. If you cannot compile arbitrary code or cython,
# remove the ext_modules line and run setuptools again. Everything should work, but
# it will run slower.
ext_modules=cythonize(
[ [
Extension( Extension(
"bemani.protocol.binary", "bemani.protocol.binary",
@ -151,6 +89,82 @@ setup(
], ],
language_level=3, language_level=3,
), ),
]
setup(
name='bemani',
version='1.0',
description='Code and utilities for talking to BEMANI games',
author='DragonMinded',
license='Public Domain',
packages=[
# Core packages
'bemani',
'bemani.common',
'bemani.data',
'bemani.data.api',
'bemani.data.mysql',
'bemani.protocol',
# Wrapper scripts and WSGI imports
'bemani.utils',
# Frontend packages
'bemani.frontend',
'bemani.frontend.account',
'bemani.frontend.admin',
'bemani.frontend.arcade',
'bemani.frontend.home',
'bemani.frontend.static',
'bemani.frontend.templates',
# Game frontends
'bemani.frontend.iidx',
'bemani.frontend.popn',
'bemani.frontend.jubeat',
'bemani.frontend.bishi',
'bemani.frontend.ddr',
'bemani.frontend.sdvx',
'bemani.frontend.reflec',
'bemani.frontend.museca',
# Backend packages
'bemani.backend',
'bemani.backend.core',
'bemani.backend.ess',
'bemani.backend.iidx',
'bemani.backend.jubeat',
'bemani.backend.popn',
'bemani.backend.bishi',
'bemani.backend.ddr',
'bemani.backend.sdvx',
'bemani.backend.reflec',
'bemani.backend.museca',
# API packages
'bemani.api',
'bemani.api.objects',
# Testing game client packages
'bemani.client',
'bemani.client.iidx',
'bemani.client.jubeat',
'bemani.client.popn',
'bemani.client.bishi',
'bemani.client.ddr',
'bemani.client.sdvx',
'bemani.client.reflec',
'bemani.client.museca',
],
install_requires=[
req for req in open('requirements.txt').read().split('\n') if len(req) > 0
],
# None of these are required for operating any of the utilities found in this repo.
# They are all present for speed. If you cannot compile arbitrary code or cython,
# remove the ext_modules line and run setuptools again. Everything should work, but
# it will run slower.
ext_modules=extensions(),
include_package_data=True, include_package_data=True,
zip_safe=False, zip_safe=False,
) )