mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
correct libswscale detection (I hope), add libp3vision
This commit is contained in:
parent
d1cf678e74
commit
30d06fc9cf
@ -82,12 +82,12 @@ def usage(problem):
|
|||||||
print " --lzma (use lzma compression when building installer)"
|
print " --lzma (use lzma compression when building installer)"
|
||||||
print " --threads N (use the multithreaded build system. see manual)"
|
print " --threads N (use the multithreaded build system. see manual)"
|
||||||
print " --osxtarget N (the OSX version number to build for (OSX only))"
|
print " --osxtarget N (the OSX version number to build for (OSX only))"
|
||||||
|
print " --override \"O=V\" (override dtool_config/prc option value)"
|
||||||
print ""
|
print ""
|
||||||
for pkg in PkgListGet():
|
for pkg in PkgListGet():
|
||||||
p = pkg.lower()
|
p = pkg.lower()
|
||||||
print " --use-%-9s --no-%-9s (enable/disable use of %s)"%(p, p, pkg)
|
print " --use-%-9s --no-%-9s (enable/disable use of %s)"%(p, p, pkg)
|
||||||
print ""
|
print ""
|
||||||
print " --override \"O=V\" (override dtool_config/prc option value)"
|
|
||||||
print " --nothing (disable every third-party lib)"
|
print " --nothing (disable every third-party lib)"
|
||||||
print " --everything (enable every third-party lib)"
|
print " --everything (enable every third-party lib)"
|
||||||
print ""
|
print ""
|
||||||
@ -417,43 +417,43 @@ if (COMPILER=="LINUX"):
|
|||||||
|
|
||||||
# Name pkg-config libs, include(dir)s
|
# Name pkg-config libs, include(dir)s
|
||||||
if (not RUNTIME):
|
if (not RUNTIME):
|
||||||
PkgCheckEnable("ARTOOLKIT", "", ("AR"), "AR/ar.h")
|
SmartPkgEnable("ARTOOLKIT", "", ("AR"), "AR/ar.h")
|
||||||
PkgCheckEnable("FCOLLADA", "", ChooseLib(*fcollada_libs), ("FCollada", "FCollada.h"))
|
SmartPkgEnable("FCOLLADA", "", ChooseLib(*fcollada_libs), ("FCollada", "FCollada.h"))
|
||||||
PkgCheckEnable("FFMPEG", ffmpeg_libs, ffmpeg_libs, ffmpeg_libs)
|
SmartPkgEnable("FFMPEG", ffmpeg_libs, ffmpeg_libs, ffmpeg_libs)
|
||||||
PkgCheckEnable("SWSCALE", "libswscale", "libswscale", "libswscale")
|
SmartPkgEnable("SWSCALE", "libswscale", "libswscale", ("libswscale", "libswscale/swscale.h"))
|
||||||
PkgCheckEnable("FFTW", "", ("fftw", "rfftw"), ("fftw.h", "rfftw.h"))
|
SmartPkgEnable("FFTW", "", ("fftw", "rfftw"), ("fftw.h", "rfftw.h"))
|
||||||
PkgCheckEnable("FMODEX", "", ("fmodex"), ("fmodex", "fmodex/fmod.h"))
|
SmartPkgEnable("FMODEX", "", ("fmodex"), ("fmodex", "fmodex/fmod.h"))
|
||||||
PkgCheckEnable("FREETYPE", "freetype2", ("freetype"), ("freetype2", "freetype2/freetype/freetype.h"))
|
SmartPkgEnable("FREETYPE", "freetype2", ("freetype"), ("freetype2", "freetype2/freetype/freetype.h"))
|
||||||
PkgCheckEnable("GLUT", "gl", ("GL"), ("GL/gl.h", "GL/glu.h"), framework = "OpenGL")
|
SmartPkgEnable("GLUT", "gl", ("GL"), ("GL/gl.h", "GL/glu.h"), framework = "OpenGL")
|
||||||
PkgCheckEnable("GTK2", "gtk+-2.0")
|
SmartPkgEnable("GTK2", "gtk+-2.0")
|
||||||
PkgCheckEnable("NVIDIACG", "", ("Cg"), "Cg/cg.h", framework = "Cg")
|
SmartPkgEnable("NVIDIACG", "", ("Cg"), "Cg/cg.h", framework = "Cg")
|
||||||
PkgCheckEnable("ODE", "", ("ode"), "ode/ode.h")
|
SmartPkgEnable("ODE", "", ("ode"), "ode/ode.h")
|
||||||
PkgCheckEnable("OPENAL", "openal", ("openal"), "AL/al.h", framework = "OpenAL")
|
SmartPkgEnable("OPENAL", "openal", ("openal"), "AL/al.h", framework = "OpenAL")
|
||||||
PkgCheckEnable("OPENCV", "", ("cv", "highgui", "cvaux", "ml", "cxcore"), ("opencv", "opencv/cv.h"))
|
SmartPkgEnable("OPENCV", "", ("cv", "highgui", "cvaux", "ml", "cxcore"), ("opencv", "opencv/cv.h"))
|
||||||
PkgCheckEnable("SQUISH", "", ("squish"), "squish.h")
|
SmartPkgEnable("SQUISH", "", ("squish"), "squish.h")
|
||||||
PkgCheckEnable("TIFF", "", ("tiff"), "tiff.h")
|
SmartPkgEnable("TIFF", "", ("tiff"), "tiff.h")
|
||||||
PkgCheckEnable("VRPN", "", ("vrpn", "quat"), ("vrpn", "quat.h", "vrpn/vrpn_Types.h"))
|
SmartPkgEnable("VRPN", "", ("vrpn", "quat"), ("vrpn", "quat.h", "vrpn/vrpn_Types.h"))
|
||||||
PkgCheckEnable("JPEG", "", ("jpeg"), "jpeglib.h")
|
SmartPkgEnable("JPEG", "", ("jpeg"), "jpeglib.h")
|
||||||
PkgCheckEnable("OPENSSL", "openssl", ("ssl", "crypto"), ("openssl/ssl.h", "openssl/crypto.h"))
|
SmartPkgEnable("OPENSSL", "openssl", ("ssl", "crypto"), ("openssl/ssl.h", "openssl/crypto.h"))
|
||||||
PkgCheckEnable("PNG", "libpng", ("png"), "png.h")
|
SmartPkgEnable("PNG", "libpng", ("png"), "png.h")
|
||||||
PkgCheckEnable("TINYXML", "", ("tinyxml"), "tinyxml.h")
|
SmartPkgEnable("TINYXML", "", ("tinyxml"), "tinyxml.h")
|
||||||
PkgCheckEnable("ZLIB", "", ("z"), "zlib.h")
|
SmartPkgEnable("ZLIB", "", ("z"), "zlib.h")
|
||||||
if (RTDIST and sys.platform == "darwin" and "PYTHONVERSION" in SDK):
|
if (RTDIST and sys.platform == "darwin" and "PYTHONVERSION" in SDK):
|
||||||
# Don't use the framework for the OSX rtdist build. I'm afraid it gives problems somewhere.
|
# Don't use the framework for the OSX rtdist build. I'm afraid it gives problems somewhere.
|
||||||
PkgCheckEnable("PYTHON", "", SDK["PYTHONVERSION"], (SDK["PYTHONVERSION"], SDK["PYTHONVERSION"] + "/Python.h"), tool = SDK["PYTHONVERSION"] + "-config")
|
SmartPkgEnable("PYTHON", "", SDK["PYTHONVERSION"], (SDK["PYTHONVERSION"], SDK["PYTHONVERSION"] + "/Python.h"), tool = SDK["PYTHONVERSION"] + "-config")
|
||||||
elif("PYTHONVERSION" in SDK and not RUNTIME):
|
elif("PYTHONVERSION" in SDK and not RUNTIME):
|
||||||
PkgCheckEnable("PYTHON", "", SDK["PYTHONVERSION"], (SDK["PYTHONVERSION"], SDK["PYTHONVERSION"] + "/Python.h"), tool = SDK["PYTHONVERSION"] + "-config", framework = "Python")
|
SmartPkgEnable("PYTHON", "", SDK["PYTHONVERSION"], (SDK["PYTHONVERSION"], SDK["PYTHONVERSION"] + "/Python.h"), tool = SDK["PYTHONVERSION"] + "-config", framework = "Python")
|
||||||
if (RTDIST):
|
if (RTDIST):
|
||||||
PkgCheckEnable("WX", tool = "wx-config")
|
SmartPkgEnable("WX", tool = "wx-config")
|
||||||
if (RUNTIME):
|
if (RUNTIME):
|
||||||
PkgCheckEnable("NPAPI", "", (), ("xulrunner-*/stable", "xulrunner-*/stable/npapi.h", "nspr*/prtypes.h", "nspr*"))
|
SmartPkgEnable("NPAPI", "", (), ("xulrunner-*/stable", "xulrunner-*/stable/npapi.h", "nspr*/prtypes.h", "nspr*"))
|
||||||
if (sys.platform != "darwin"):
|
if (sys.platform != "darwin"):
|
||||||
# CgGL is covered by the Cg framework, and we don't need X11 components on OSX
|
# CgGL is covered by the Cg framework, and we don't need X11 components on OSX
|
||||||
if (PkgSkip("NVIDIACG")==0 and not RUNTIME):
|
if (PkgSkip("NVIDIACG")==0 and not RUNTIME):
|
||||||
PkgCheckEnable("CGGL", "", ("CgGL"), "Cg/cgGL.h")
|
SmartPkgEnable("CGGL", "", ("CgGL"), "Cg/cgGL.h")
|
||||||
PkgCheckEnable("X11", "x11", "X11", ("X11", "X11/Xlib.h"))
|
SmartPkgEnable("X11", "x11", "X11", ("X11", "X11/Xlib.h"))
|
||||||
if (not RUNTIME):
|
if (not RUNTIME):
|
||||||
PkgCheckEnable("XF86DGA", "xxf86dga", "Xxf86dga", "X11/extensions/xf86dga.h")
|
SmartPkgEnable("XF86DGA", "xxf86dga", "Xxf86dga", "X11/extensions/xf86dga.h")
|
||||||
|
|
||||||
if (RUNTIME):
|
if (RUNTIME):
|
||||||
# For the runtime, all packages are required
|
# For the runtime, all packages are required
|
||||||
@ -1703,6 +1703,7 @@ CopyAllHeaders('panda/src/device')
|
|||||||
CopyAllHeaders('panda/src/pnmtext')
|
CopyAllHeaders('panda/src/pnmtext')
|
||||||
CopyAllHeaders('panda/src/text')
|
CopyAllHeaders('panda/src/text')
|
||||||
CopyAllHeaders('panda/src/grutil')
|
CopyAllHeaders('panda/src/grutil')
|
||||||
|
CopyAllHeaders('panda/src/vision')
|
||||||
CopyAllHeaders('panda/src/tform')
|
CopyAllHeaders('panda/src/tform')
|
||||||
CopyAllHeaders('panda/src/collide')
|
CopyAllHeaders('panda/src/collide')
|
||||||
CopyAllHeaders('panda/src/parametrics')
|
CopyAllHeaders('panda/src/parametrics')
|
||||||
@ -2361,7 +2362,7 @@ if (not RUNTIME):
|
|||||||
#
|
#
|
||||||
|
|
||||||
if (not RUNTIME):
|
if (not RUNTIME):
|
||||||
OPTS=['DIR:panda/src/movies', 'BUILDING:PANDA', 'FFMPEG', 'DX9', 'DIRECTCAM']
|
OPTS=['DIR:panda/src/movies', 'BUILDING:PANDA', 'FFMPEG']
|
||||||
TargetAdd('movies_composite1.obj', opts=OPTS, input='movies_composite1.cxx')
|
TargetAdd('movies_composite1.obj', opts=OPTS, input='movies_composite1.cxx')
|
||||||
IGATEFILES=GetDirectoryContents('panda/src/movies', ["*.h", "*_composite.cxx"])
|
IGATEFILES=GetDirectoryContents('panda/src/movies', ["*.h", "*_composite.cxx"])
|
||||||
TargetAdd('libmovies.in', opts=OPTS, input=IGATEFILES)
|
TargetAdd('libmovies.in', opts=OPTS, input=IGATEFILES)
|
||||||
@ -2373,10 +2374,10 @@ if (not RUNTIME):
|
|||||||
#
|
#
|
||||||
|
|
||||||
if (not RUNTIME):
|
if (not RUNTIME):
|
||||||
OPTS=['DIR:panda/src/grutil', 'BUILDING:PANDA', 'FFMPEG', 'ARTOOLKIT', 'OPENCV', 'BIGOBJ']
|
OPTS=['DIR:panda/src/grutil', 'BUILDING:PANDA', 'FFMPEG']
|
||||||
TargetAdd('grutil_multitexReducer.obj', opts=OPTS, input='multitexReducer.cxx')
|
TargetAdd('grutil_multitexReducer.obj', opts=OPTS, input='multitexReducer.cxx')
|
||||||
TargetAdd('grutil_composite1.obj', opts=OPTS+["BIGOBJ"], input='grutil_composite1.cxx')
|
TargetAdd('grutil_composite1.obj', opts=OPTS, input='grutil_composite1.cxx')
|
||||||
TargetAdd('grutil_composite2.obj', opts=OPTS+["BIGOBJ"], input='grutil_composite2.cxx')
|
TargetAdd('grutil_composite2.obj', opts=OPTS, input='grutil_composite2.cxx')
|
||||||
IGATEFILES=GetDirectoryContents('panda/src/grutil', ["*.h", "*_composite.cxx"])
|
IGATEFILES=GetDirectoryContents('panda/src/grutil', ["*.h", "*_composite.cxx"])
|
||||||
TargetAdd('libgrutil.in', opts=OPTS, input=IGATEFILES)
|
TargetAdd('libgrutil.in', opts=OPTS, input=IGATEFILES)
|
||||||
TargetAdd('libgrutil.in', opts=['IMOD:panda', 'ILIB:libgrutil', 'SRCDIR:panda/src/grutil'])
|
TargetAdd('libgrutil.in', opts=['IMOD:panda', 'ILIB:libgrutil', 'SRCDIR:panda/src/grutil'])
|
||||||
@ -2595,6 +2596,22 @@ if (not RUNTIME):
|
|||||||
TargetAdd('libpanda.dll', dep='dtool_have_freetype.dat')
|
TargetAdd('libpanda.dll', dep='dtool_have_freetype.dat')
|
||||||
TargetAdd('libpanda.dll', opts=OPTS)
|
TargetAdd('libpanda.dll', opts=OPTS)
|
||||||
|
|
||||||
|
#
|
||||||
|
# DIRECTORY: panda/src/vision/
|
||||||
|
#
|
||||||
|
|
||||||
|
if (not RUNTIME):
|
||||||
|
OPTS=['DIR:panda/src/vision', 'BUILDING:VISION', 'ARTOOLKIT', 'OPENCV', 'DX9', 'DIRECTCAM']
|
||||||
|
TargetAdd('vision_composite1.obj', opts=OPTS, input='vision_composite1.cxx')
|
||||||
|
IGATEFILES=GetDirectoryContents('panda/src/vision', ["*.h", "*_composite.cxx"])
|
||||||
|
TargetAdd('libvision.in', opts=OPTS, input=IGATEFILES)
|
||||||
|
TargetAdd('libvision.in', opts=['IMOD:p3vision', 'ILIB:libvision', 'SRCDIR:panda/src/vision'])
|
||||||
|
TargetAdd('libvision_igate.obj', input='libvision.in', opts=["DEPENDENCYONLY"])
|
||||||
|
TargetAdd('libp3vision.dll', input='vision_composite1.obj')
|
||||||
|
TargetAdd('libp3vision.dll', input='libvision_igate.obj')
|
||||||
|
TargetAdd('libp3vision.dll', input=COMMON_PANDA_LIBS)
|
||||||
|
TargetAdd('libp3vision.dll', opts=OPTS)
|
||||||
|
|
||||||
#
|
#
|
||||||
# DIRECTORY: panda/src/skel
|
# DIRECTORY: panda/src/skel
|
||||||
#
|
#
|
||||||
|
@ -905,7 +905,8 @@ def PkgConfigHavePkg(pkgname, tool = "pkg-config"):
|
|||||||
else:
|
else:
|
||||||
return bool(LocateBinary(tool) != None)
|
return bool(LocateBinary(tool) != None)
|
||||||
result = handle.read().strip()
|
result = handle.read().strip()
|
||||||
handle.close()
|
if handle.close() != 0:
|
||||||
|
return False
|
||||||
return bool(len(result) > 0)
|
return bool(len(result) > 0)
|
||||||
|
|
||||||
def PkgConfigGetLibs(pkgname, tool = "pkg-config"):
|
def PkgConfigGetLibs(pkgname, tool = "pkg-config"):
|
||||||
@ -1036,7 +1037,7 @@ def ChooseLib(*libs):
|
|||||||
if (len(libs) > 0):
|
if (len(libs) > 0):
|
||||||
return libs[0]
|
return libs[0]
|
||||||
|
|
||||||
def PkgCheckEnable(pkg, pkgconfig = None, libs = None, incs = None, defs = None, framework = None, tool = "pkg-config"):
|
def SmartPkgEnable(pkg, pkgconfig = None, libs = None, incs = None, defs = None, framework = None, tool = "pkg-config"):
|
||||||
global PKG_LIST_ALL
|
global PKG_LIST_ALL
|
||||||
if (pkg in PkgListGet() and PkgSkip(pkg)):
|
if (pkg in PkgListGet() and PkgSkip(pkg)):
|
||||||
return
|
return
|
||||||
@ -1076,6 +1077,7 @@ def PkgCheckEnable(pkg, pkgconfig = None, libs = None, incs = None, defs = None,
|
|||||||
LibName(pkg, "-l" + libname)
|
LibName(pkg, "-l" + libname)
|
||||||
for d, v in defs.values():
|
for d, v in defs.values():
|
||||||
DefSymbol(pkg, d, v)
|
DefSymbol(pkg, d, v)
|
||||||
|
return
|
||||||
elif (sys.platform == "darwin" and framework != None):
|
elif (sys.platform == "darwin" and framework != None):
|
||||||
if (os.path.isdir("/Library/Frameworks/%s.framework" % framework) or
|
if (os.path.isdir("/Library/Frameworks/%s.framework" % framework) or
|
||||||
os.path.isdir("/System/Library/Frameworks/%s.framework" % framework) or
|
os.path.isdir("/System/Library/Frameworks/%s.framework" % framework) or
|
||||||
@ -1090,6 +1092,7 @@ def PkgCheckEnable(pkg, pkgconfig = None, libs = None, incs = None, defs = None,
|
|||||||
else:
|
else:
|
||||||
print "%sERROR:%s Could not locate framework %s, aborting build" % (GetColor("red"), GetColor(), framework)
|
print "%sERROR:%s Could not locate framework %s, aborting build" % (GetColor("red"), GetColor(), framework)
|
||||||
exit()
|
exit()
|
||||||
|
return
|
||||||
elif (LocateBinary(tool) != None and (tool != "pkg-config" or pkgconfig != None)):
|
elif (LocateBinary(tool) != None and (tool != "pkg-config" or pkgconfig != None)):
|
||||||
if (isinstance(pkgconfig, str) or tool != "pkg-config"):
|
if (isinstance(pkgconfig, str) or tool != "pkg-config"):
|
||||||
if (PkgConfigHavePkg(pkgconfig, tool)):
|
if (PkgConfigHavePkg(pkgconfig, tool)):
|
||||||
@ -1103,7 +1106,8 @@ def PkgCheckEnable(pkg, pkgconfig = None, libs = None, incs = None, defs = None,
|
|||||||
have_all_pkgs = False
|
have_all_pkgs = False
|
||||||
if (have_all_pkgs):
|
if (have_all_pkgs):
|
||||||
return
|
return
|
||||||
elif (pkgconfig != None and libs == None):
|
|
||||||
|
if (pkgconfig != None and libs == None):
|
||||||
if (pkg in PkgListGet()):
|
if (pkg in PkgListGet()):
|
||||||
print "%sWARNING:%s Could not locate package %s, excluding from build" % (GetColor("red"), GetColor(), pkgconfig)
|
print "%sWARNING:%s Could not locate package %s, excluding from build" % (GetColor("red"), GetColor(), pkgconfig)
|
||||||
PkgDisable(pkg)
|
PkgDisable(pkg)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user