From 5625df0e5143be58dd342aaf0b6afc2beb2ac7b9 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 29 Jun 2015 20:37:33 +0100 Subject: [PATCH] panda3d/__init__.py should add 'bin' dir to PATH on Windows --- makepanda/makepanda.py | 20 ++++++++++++++++++++ makepanda/makepandacore.py | 1 - 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 16932aedfe..f7ee0d5d2c 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -2589,6 +2589,26 @@ if os.path.isfile(core_so): if os.path.isfile(direct_so): os.remove(direct_so) +# Write an appropriate panda3d/__init__.py +p3d_init = """"Python bindings for the Panda3D libraries" +""" + +if GetTarget() == 'windows': + p3d_init += """ +import os + +bindir = os.path.join(os.path.dirname(__file__), '..', 'bin') +if os.path.isfile(os.path.join(bindir, 'libpanda.dll')): + if not os.environ.get('PATH'): + os.environ['PATH'] = bindir + else: + os.environ['PATH'] = bindir + os.pathsep + os.environ['PATH'] + +del os, bindir +""" + +ConditionalWriteFile(GetOutputDir() + '/panda3d/__init__.py', p3d_init) + # PandaModules is now deprecated; generate a shim for backward compatibility. for fn in glob.glob(GetOutputDir() + '/pandac/*.py') + glob.glob(GetOutputDir() + '/pandac/*.py[co]'): if os.path.basename(fn) not in ('PandaModules.py', '__init__.py'): diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index a93b6cadd1..c490f0eafb 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -1061,7 +1061,6 @@ def MakeBuildTree(): MakeDirectory(OUTPUTDIR + "/pandac") MakeDirectory(OUTPUTDIR + "/pandac/input") MakeDirectory(OUTPUTDIR + "/panda3d") - CreateFile(OUTPUTDIR + "/panda3d/__init__.py") if GetTarget() == 'darwin': MakeDirectory(OUTPUTDIR + "/Frameworks")