1- from setuptools import Command , setup
1+ from setuptools import Command , setup , Distribution
22from setuptools .command .build import build
33import subprocess
44import os
55
6+ class BinaryDistribution (Distribution ):
7+ def has_ext_modules (self ):
8+ return True
9+
10+
611class SconsBuild (Command ):
712 def initialize_options (self ) -> None :
813 pass
@@ -12,14 +17,16 @@ def finalize_options(self) -> None:
1217
1318 def run (self ) -> None :
1419 scons_flags = '' if 'BUILD_TESTS' in os .environ else '--minimal'
15- subprocess .run ([f"scons { scons_flags } -j$(nproc)" ], shell = True ).check_returncode ()
20+ subprocess .run ([f"scons { scons_flags } -j$(nproc || sysctl -n hw.logicalcpu)" ], shell = True ).check_returncode ()
21+
1622
1723class CustomBuild (build ):
1824 sub_commands = [('scons_build' , None )] + build .sub_commands
1925
2026setup (
2127 packages = ["msgq" , "msgq.visionipc" ],
22- package_data = {'msgq ' : ['**/*.cc' , '**/*.h' , '**/*.pxd' , '**/*.pyx' , '**/*.so ' ]},
28+ package_data = {'' : ['**/*.cc' , '**/*.c' , '**/*. h' , '**/*.pxd' , '**/*.pyx' , '**/*.py' , '**/*.so' , '**/*.npy ' ]},
2329 include_package_data = True ,
24- cmdclass = {'build' : CustomBuild , 'scons_build' : SconsBuild }
30+ cmdclass = {'build' : CustomBuild , 'scons_build' : SconsBuild },
31+ distclass = BinaryDistribution ,
2532 )
0 commit comments