def run(self): # Delete pandare/data in the case of `setup.py develop` # Don't copy objects, use them in the current path if os.path.isdir(lib_dir): assert('panda' in lib_dir), "Refusing to rm -rf directory without 'panda' in it" shutil.rmtree(lib_dir) from create_panda_datatypes import main as create_datatypes create_datatypes(install=False) super().run()
def run(self): try: from create_panda_datatypes import main as create_datatypes create_datatypes(install=True) copy_objs() except ImportError: assert(os.path.isfile("pandare/data/pypanda/include/panda_datatypes.h")), \ "panda_datatypes.h missing and can't be generated" assert(os.path.isfile("pandare/autogen/panda_datatypes.py")), \ "panda_datatypes.py missing and can't be generated" super().run()
# Install with python setup.py (develop|install) # XXX: can't be installed with `pip install .` due to some relative path to plugins? from setuptools import setup from setuptools.command.install import install as install_orig from setuptools.command.develop import develop as develop_orig import os import shutil ############################## # 1) Populate panda/autogen # ############################## from create_panda_datatypes import main as create_datatypes create_datatypes() ################################################ # 2) Copy panda object files: libpanda-XYZ.so, # # pc-bios/*, all .so files for plugins, # # pypanda's include directory, llvm-helpers # ################################################ root_dir = os.path.join(*[os.path.dirname(__file__), "..", "..", ".."]) # panda-git/ root dir # XXX - Can we toggle this depending on if we're run as 'setup.py develop' vs 'setup.py install' # When we're run in develop mode, we shouldn't copy the prebuild binaries and instead should # find them in ../../build/. Temporrary hack is to run setup.py develop then delete lib_dir (falls back to build) lib_dir = os.path.join("panda", "data")