Skip to content
This repository was archived by the owner on Jun 27, 2023. It is now read-only.

Commit dc466d2

Browse files
committed
Some improvements in setup.py
1 parent 324fda3 commit dc466d2

File tree

1 file changed

+31
-44
lines changed

1 file changed

+31
-44
lines changed

setup.py

Lines changed: 31 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,15 @@
55
from glob import glob
66
try:
77
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:
119
from distutils.core import setup
1210
from distutils.extension import Extension
13-
from distutils.command.build import build
14-
from distutils.command.install import install
1511

1612
extra_compile_args = []
17-
13+
extra_link_args = []
1814
extra_objects = []
19-
2015
libraries = []
2116

22-
libsphinxad = []
23-
2417
libsphinxbase = (
2518
glob('deps/sphinxbase/src/libsphinxbase/lm/*.c') +
2619
glob('deps/sphinxbase/src/libsphinxbase/feat/*.c') +
@@ -48,23 +41,6 @@
4841

4942
ps_include_dirs = ['deps/pocketsphinx/include']
5043

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-
6844
define_macros = [
6945
('SPHINXBASE_EXPORTS', None),
7046
('POCKETSPHINX_EXPORTS', None),
@@ -73,14 +49,9 @@
7349
]
7450

7551
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')
7954
libraries.append('winmm')
80-
define_macros.extend([
81-
('_WIN32', None),
82-
('_CRT_SECURE_NO_DEPRECATE', None),
83-
])
8455
extra_compile_args.extend([
8556
'/wd4244',
8657
'/wd4267',
@@ -89,11 +60,13 @@
8960
'/wd4018',
9061
'/wd4311',
9162
'/wd4312',
92-
'/wd4334'
63+
'/wd4334',
64+
'/wd4477',
65+
'/wd4996'
9366
])
67+
extra_link_args.append('/ignore:4197')
9468
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')
9770
sb_include_dirs.extend([
9871
'/System/Library/Frameworks/OpenAL.framework/Versions/A/Headers',
9972
'deps/sphinxbase/include/android'
@@ -106,11 +79,9 @@
10679
'-Wno-sign-compare',
10780
'-Wno-logical-op-parentheses'
10881
])
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')
11485
libraries.extend(['pulse', 'pulse-simple'])
11586
extra_compile_args.extend([
11687
'-Wno-unused-label',
@@ -123,6 +94,20 @@
12394
'-Wno-misleading-indentation'
12495
])
12596

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+
126111
rmtree('pocketsphinx/data', True)
127112
rmtree('pocketsphinx/model', True)
128113
copytree('deps/pocketsphinx/model/en-us',
@@ -135,7 +120,7 @@
135120
setup(
136121
name='pocketsphinx',
137122
version='0.1.1',
138-
description='Python interface to CMU SphinxBase and PocketSphinx libraries',
123+
description='Python interface to CMU Sphinxbase and Pocketsphinx libraries',
139124
long_description=open('README.rst').read(),
140125
author='Dmitry Prazdnichnov',
141126
author_email='[email protected]',
@@ -153,7 +138,8 @@
153138
extra_objects=extra_objects,
154139
libraries=libraries,
155140
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,
157143
),
158144
Extension(
159145
name='pocketsphinx._pocketsphinx',
@@ -163,7 +149,8 @@
163149
extra_objects=extra_objects,
164150
libraries=libraries,
165151
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
167154
)
168155
],
169156
classifiers=[

0 commit comments

Comments
 (0)