|
5 | 5 | from glob import glob |
6 | 6 | try: |
7 | 7 | from setuptools import setup, Extension |
8 | | - from distutils.command.build import build |
9 | | - from setuptools.command.install import install |
10 | | -except Extension as err: |
| 8 | +except: |
11 | 9 | from distutils.core import setup |
12 | 10 | from distutils.extension import Extension |
13 | | - from distutils.command.build import build |
14 | | - from distutils.command.install import install |
15 | 11 |
|
16 | 12 | extra_compile_args = [] |
17 | | - |
| 13 | +extra_link_args = [] |
18 | 14 | extra_objects = [] |
19 | | - |
20 | 15 | libraries = [] |
21 | 16 |
|
22 | | -libsphinxad = [] |
23 | | - |
24 | 17 | libsphinxbase = ( |
25 | 18 | glob('deps/sphinxbase/src/libsphinxbase/lm/*.c') + |
26 | 19 | glob('deps/sphinxbase/src/libsphinxbase/feat/*.c') + |
|
48 | 41 |
|
49 | 42 | ps_include_dirs = ['deps/pocketsphinx/include'] |
50 | 43 |
|
51 | | -sb_swig_opts = ( |
52 | | - ['-modern'] + |
53 | | - ['-I' + h for h in sb_include_dirs] + |
54 | | - ['-Ideps/sphinxbase/swig'] + |
55 | | - ['-Iswig/sphinxbase'] + |
56 | | - ['-outdir', 'sphinxbase'] |
57 | | -) |
58 | | - |
59 | | -ps_swig_opts = ( |
60 | | - ['-modern'] + |
61 | | - ['-I' + h for h in sb_include_dirs] + |
62 | | - ['-I' + h for h in ps_include_dirs] + |
63 | | - ['-Ideps/sphinxbase/swig'] + |
64 | | - ['-Iswig/sphinxbase'] + |
65 | | - ['-outdir', 'pocketsphinx'] |
66 | | -) |
67 | | - |
68 | 44 | define_macros = [ |
69 | 45 | ('SPHINXBASE_EXPORTS', None), |
70 | 46 | ('POCKETSPHINX_EXPORTS', None), |
|
73 | 49 | ] |
74 | 50 |
|
75 | 51 | if sys.platform.startswith('win'): |
76 | | - libsphinxad.append('deps/sphinxbase/src/libsphinxad/ad_win32.c') |
77 | | - sb_sources.extend(libsphinxad) |
78 | | - sb_include_dirs.extend(['deps/sphinxbase/include/win32']) |
| 52 | + sb_sources.append('deps/sphinxbase/src/libsphinxad/ad_win32.c') |
| 53 | + sb_include_dirs.append('deps/sphinxbase/include/win32') |
79 | 54 | libraries.append('winmm') |
80 | | - define_macros.extend([ |
81 | | - ('_WIN32', None), |
82 | | - ('_CRT_SECURE_NO_DEPRECATE', None), |
83 | | - ]) |
84 | 55 | extra_compile_args.extend([ |
85 | 56 | '/wd4244', |
86 | 57 | '/wd4267', |
|
89 | 60 | '/wd4018', |
90 | 61 | '/wd4311', |
91 | 62 | '/wd4312', |
92 | | - '/wd4334' |
| 63 | + '/wd4334', |
| 64 | + '/wd4477', |
| 65 | + '/wd4996' |
93 | 66 | ]) |
| 67 | + extra_link_args.append('/ignore:4197') |
94 | 68 | elif sys.platform.startswith('darwin'): |
95 | | - libsphinxad.append('deps/sphinxbase/src/libsphinxad/ad_openal.c') |
96 | | - sb_sources.extend(libsphinxad) |
| 69 | + sb_sources.append('deps/sphinxbase/src/libsphinxad/ad_openal.c') |
97 | 70 | sb_include_dirs.extend([ |
98 | 71 | '/System/Library/Frameworks/OpenAL.framework/Versions/A/Headers', |
99 | 72 | 'deps/sphinxbase/include/android' |
|
106 | 79 | '-Wno-sign-compare', |
107 | 80 | '-Wno-logical-op-parentheses' |
108 | 81 | ]) |
109 | | -else: |
110 | | - sys.platform.startswith('linux') |
111 | | - libsphinxad.append('deps/sphinxbase/src/libsphinxad/ad_pulse.c') |
112 | | - sb_sources.extend(libsphinxad) |
113 | | - sb_include_dirs.extend(['deps/sphinxbase/include/android']) |
| 82 | +elif sys.platform.startswith('linux'): |
| 83 | + sb_sources.append('deps/sphinxbase/src/libsphinxad/ad_pulse.c') |
| 84 | + sb_include_dirs.append('deps/sphinxbase/include/android') |
114 | 85 | libraries.extend(['pulse', 'pulse-simple']) |
115 | 86 | extra_compile_args.extend([ |
116 | 87 | '-Wno-unused-label', |
|
123 | 94 | '-Wno-misleading-indentation' |
124 | 95 | ]) |
125 | 96 |
|
| 97 | +sb_swig_opts = ( |
| 98 | + ['-modern'] + |
| 99 | + ['-I' + h for h in sb_include_dirs] + |
| 100 | + ['-Ideps/sphinxbase/swig'] + |
| 101 | + ['-outdir', 'sphinxbase'] |
| 102 | +) |
| 103 | + |
| 104 | +ps_swig_opts = ( |
| 105 | + ['-modern'] + |
| 106 | + ['-I' + h for h in sb_include_dirs + ps_include_dirs] + |
| 107 | + ['-Ideps/sphinxbase/swig'] + |
| 108 | + ['-outdir', 'pocketsphinx'] |
| 109 | +) |
| 110 | + |
126 | 111 | rmtree('pocketsphinx/data', True) |
127 | 112 | rmtree('pocketsphinx/model', True) |
128 | 113 | copytree('deps/pocketsphinx/model/en-us', |
|
135 | 120 | setup( |
136 | 121 | name='pocketsphinx', |
137 | 122 | version='0.1.1', |
138 | | - description='Python interface to CMU SphinxBase and PocketSphinx libraries', |
| 123 | + description='Python interface to CMU Sphinxbase and Pocketsphinx libraries', |
139 | 124 | long_description=open('README.rst').read(), |
140 | 125 | author='Dmitry Prazdnichnov', |
141 | 126 | |
|
153 | 138 | extra_objects=extra_objects, |
154 | 139 | libraries=libraries, |
155 | 140 | define_macros=define_macros, |
156 | | - extra_compile_args=extra_compile_args |
| 141 | + extra_compile_args=extra_compile_args, |
| 142 | + extra_link_args=extra_link_args, |
157 | 143 | ), |
158 | 144 | Extension( |
159 | 145 | name='pocketsphinx._pocketsphinx', |
|
163 | 149 | extra_objects=extra_objects, |
164 | 150 | libraries=libraries, |
165 | 151 | define_macros=define_macros, |
166 | | - extra_compile_args=extra_compile_args |
| 152 | + extra_compile_args=extra_compile_args, |
| 153 | + extra_link_args=extra_link_args |
167 | 154 | ) |
168 | 155 | ], |
169 | 156 | classifiers=[ |
|
0 commit comments