In case of running out of prefetch pipes, truncate the sample to the preloaded part.
[calfbox.git] / setup.py
blob3ca2c8d86dce6239ce88d30ad35fb689fa87d450
1 #!/usr/bin/env python3
3 from distutils.core import setup, Extension
4 import glob
5 import os
6 import sys
8 if sys.version_info[0] < 3:
9 raise Exception("Python 3 required.")
11 packages = ['glib-2.0', 'libusb-1.0', 'smf', 'sndfile']
13 if '#define USE_FLUIDSYNTH 1' in open('config.h').read():
14 packages.append('fluidsynth')
15 if '#define USE_JACK 1' in open('config.h').read():
16 packages.append('jack')
18 eargs = os.popen("pkg-config --cflags %s" % (" ".join(packages)), "r").read().split()
19 eargs.append("-std=c99")
20 # Workaround for Python3.4 headers
21 eargs.append("-Wno-error=declaration-after-statement")
23 libs = os.popen("pkg-config --libs %s" % (" ".join(packages)), "r").read().split()
24 libs.append("-luuid")
26 csources = [
27 "app.c",
28 "auxbus.c",
29 "blob.c",
30 "chorus.c",
31 "cmd.c",
32 "compressor.c",
33 "config-api.c",
34 "delay.c",
35 "distortion.c",
36 "dom.c",
37 "eq.c",
38 "engine.c",
39 "errors.c",
40 "fbr.c",
41 "fifo.c",
42 "fluid.c",
43 "fuzz.c",
44 "fxchain.c",
45 "gate.c",
46 "hwcfg.c",
47 "instr.c",
48 "io.c",
49 "jackinput.c",
50 "jackio.c",
51 "layer.c",
52 "limiter.c",
53 "master.c",
54 "meter.c",
55 "midi.c",
56 "mididest.c",
57 "module.c",
58 "pattern.c",
59 "pattern-maker.c",
60 "phaser.c",
61 "prefetch_pipe.c",
62 "recsrc.c",
63 "reverb.c",
64 "rt.c",
65 "sampler.c",
66 "sampler_channel.c",
67 "sampler_gen.c",
68 "sampler_layer.c",
69 "sampler_prg.c",
70 "sampler_voice.c",
71 "scene.c",
72 "scripting.c",
73 "seq.c",
74 "seq-adhoc.c",
75 "sfzloader.c",
76 "sfzparser.c",
77 "song.c",
78 "streamplay.c",
79 "streamrec.c",
80 "tarfile.c",
81 "tonectl.c",
82 "tonewheel.c",
83 "track.c",
84 "usbaudio.c",
85 "usbio.c",
86 "usbmidi.c",
87 "usbprobe.c",
88 "wavebank.c"
91 if '#define USE_SSE 1' in open('config.h').read():
92 eargs.append('-msse')
93 eargs.append('-ffast-math')
94 if '#define USE_NEON 1' in open('config.h').read():
95 eargs.append('-mfloat-abi=hard')
96 eargs.append('-mfpu=neon')
97 eargs.append('-ffast-math')
99 setup(name="CalfBox",
100 version="0.04", description="Assorted music-related code",
101 author="Krzysztof Foltman", author_email="wdev@foltman.com",
102 url="http://repo.or.cz/w/calfbox.git",
103 packages=["calfbox"],
104 package_dir={'calfbox':'py'},
105 ext_modules=[
106 Extension('_cbox', csources,
107 extra_compile_args = eargs,
108 include_dirs=['.'],
109 extra_link_args=libs,
110 define_macros=[("_GNU_SOURCE","1"),("_POSIX_C_SOURCE", "199309L"),("USE_PYTHON","1"),("CALFBOX_AS_MODULE", "1")],
111 undef_macros=['NDEBUG'],
112 depends = ['setup.py']