mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
run without ctprojs
This commit is contained in:
parent
88da753c2f
commit
60760147e6
@ -59,3 +59,12 @@ if [ "$firstarg" = "win-publish" ]; then
|
|||||||
exec ppython -OO generatePythonCode -O -v -d `cygpath -w $DIRECT/lib/py` -e `cygpath -w $DIRECT/src/extensions` -i libdtoolconfig libpandaexpress libpanda libpandaphysics libdirect $extra_genPyCode_libs
|
exec ppython -OO generatePythonCode -O -v -d `cygpath -w $DIRECT/lib/py` -e `cygpath -w $DIRECT/src/extensions` -i libdtoolconfig libpandaexpress libpanda libpandaphysics libdirect $extra_genPyCode_libs
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$firstarg" = "install" ]; then
|
||||||
|
# as installed on a machine without ctattach etc.
|
||||||
|
if [ $INSTALL ]; then
|
||||||
|
cd $INSTALL
|
||||||
|
fi
|
||||||
|
exec bin/ppython -d bin/generatePythonCode -v -d lib/py -e ../direct/src/extensions -i libdtoolconfig libpandaexpress libpanda libpandaphysics libdirect $extra_genPyCode_libs
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
@ -1,36 +1,11 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import glob
|
||||||
|
|
||||||
print 'Site customize for Panda'
|
print 'Site customize for Panda'
|
||||||
|
|
||||||
def getPackages():
|
|
||||||
"""
|
|
||||||
Find all the packages on your ctprojs variable and parse them
|
|
||||||
to extract the tree name from the long details like this:
|
|
||||||
TOONTOWN:default DIRECT:default PANDA:personal DTOOL:install
|
|
||||||
Returns a list of the packages as strings
|
|
||||||
Note: the ctprojs are reversed to put them in the order of attachment.
|
|
||||||
"""
|
|
||||||
packages = []
|
|
||||||
ctprojs = os.getenv("CTPROJS").split()
|
|
||||||
for proj in ctprojs:
|
|
||||||
projName = proj.split(':')[0]
|
|
||||||
packages.append(projName)
|
|
||||||
packages.reverse()
|
|
||||||
return packages
|
|
||||||
|
|
||||||
|
def readpth(tree, fullname):
|
||||||
def addpackage(package):
|
|
||||||
"""
|
|
||||||
Look in this package name for the file $PACKAGE/etc/package.pth
|
|
||||||
which contains paths that we want prepended to sys.path
|
|
||||||
There should be one relative pathname per line (relative to $PACKAGE)
|
|
||||||
comments and empty lines are ok
|
|
||||||
"""
|
|
||||||
tree = os.getenv(package)
|
|
||||||
|
|
||||||
lowerPackage = package.lower()
|
|
||||||
fullname = os.path.join(tree, 'etc' + os.sep + (lowerPackage + '.pth'))
|
|
||||||
try:
|
try:
|
||||||
f = open(fullname)
|
f = open(fullname)
|
||||||
print 'Appending paths in ' + fullname
|
print 'Appending paths in ' + fullname
|
||||||
@ -49,6 +24,58 @@ def addpackage(package):
|
|||||||
if dir not in sys.path and os.path.exists(dir):
|
if dir not in sys.path and os.path.exists(dir):
|
||||||
sys.path = [dir] + sys.path
|
sys.path = [dir] + sys.path
|
||||||
|
|
||||||
for package in getPackages():
|
def addpackage(package):
|
||||||
|
"""
|
||||||
|
Look in this package name for the file $PACKAGE/etc/package.pth
|
||||||
|
which contains paths that we want prepended to sys.path
|
||||||
|
There should be one relative pathname per line (relative to $PACKAGE)
|
||||||
|
comments and empty lines are ok
|
||||||
|
"""
|
||||||
|
tree = os.getenv(package)
|
||||||
|
|
||||||
|
lowerPackage = package.lower()
|
||||||
|
fullname = os.path.join(tree, 'etc', lowerPackage + '.pth')
|
||||||
|
|
||||||
|
readpth(tree, fullname)
|
||||||
|
|
||||||
|
def getPackages():
|
||||||
|
"""
|
||||||
|
Find all the packages on your ctprojs variable and parse them
|
||||||
|
to extract the tree name from the long details like this:
|
||||||
|
TOONTOWN:default DIRECT:default PANDA:personal DTOOL:install
|
||||||
|
Returns a list of the packages as strings
|
||||||
|
Note: the ctprojs are reversed to put them in the order of attachment.
|
||||||
|
"""
|
||||||
|
ctprojs = os.getenv("CTPROJS")
|
||||||
|
if ctprojs == None:
|
||||||
|
# The CTPROJS environment variable isn't defined. Assume
|
||||||
|
# we're running from the directory above all of the source
|
||||||
|
# trees; look within these directories for the *.pth files.
|
||||||
|
|
||||||
|
searchstr = os.path.join('*', 'etc', '*.pth')
|
||||||
|
filenames = glob.glob(searchstr)
|
||||||
|
if len(filenames) == 0:
|
||||||
|
print ''
|
||||||
|
print 'Warning: no files found matching %s.' % (searchstr)
|
||||||
|
print 'Check your starting directory.'
|
||||||
|
print ''
|
||||||
|
|
||||||
|
for filename in filenames:
|
||||||
|
tree = os.path.dirname(os.path.dirname(filename))
|
||||||
|
readpth(tree, filename)
|
||||||
|
|
||||||
|
else:
|
||||||
|
# The CTPROJS environment variable *is* defined. We must be
|
||||||
|
# using the ctattach tools; get the *.pth files from the set
|
||||||
|
# of attached trees.
|
||||||
|
packages = []
|
||||||
|
|
||||||
|
for proj in ctprojs.split():
|
||||||
|
projName = proj.split(':')[0]
|
||||||
|
packages.append(projName)
|
||||||
|
packages.reverse()
|
||||||
|
|
||||||
|
for package in packages:
|
||||||
addpackage(package)
|
addpackage(package)
|
||||||
|
|
||||||
|
getPackages()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user