mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -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 " --threads N (use the multithreaded build system. see manual)"
|
||||
print " --osxtarget N (the OSX version number to build for (OSX only))"
|
||||
print " --override \"O=V\" (override dtool_config/prc option value)"
|
||||
print ""
|
||||
for pkg in PkgListGet():
|
||||
p = pkg.lower()
|
||||
print " --use-%-9s --no-%-9s (enable/disable use of %s)"%(p, p, pkg)
|
||||
print ""
|
||||
print " --override \"O=V\" (override dtool_config/prc option value)"
|
||||
print " --nothing (disable every third-party lib)"
|
||||
print " --everything (enable every third-party lib)"
|
||||
print ""
|
||||
@ -417,43 +417,43 @@ if (COMPILER=="LINUX"):
|
||||
|
||||
# Name pkg-config libs, include(dir)s
|
||||
if (not RUNTIME):
|
||||
PkgCheckEnable("ARTOOLKIT", "", ("AR"), "AR/ar.h")
|
||||
PkgCheckEnable("FCOLLADA", "", ChooseLib(*fcollada_libs), ("FCollada", "FCollada.h"))
|
||||
PkgCheckEnable("FFMPEG", ffmpeg_libs, ffmpeg_libs, ffmpeg_libs)
|
||||
PkgCheckEnable("SWSCALE", "libswscale", "libswscale", "libswscale")
|
||||
PkgCheckEnable("FFTW", "", ("fftw", "rfftw"), ("fftw.h", "rfftw.h"))
|
||||
PkgCheckEnable("FMODEX", "", ("fmodex"), ("fmodex", "fmodex/fmod.h"))
|
||||
PkgCheckEnable("FREETYPE", "freetype2", ("freetype"), ("freetype2", "freetype2/freetype/freetype.h"))
|
||||
PkgCheckEnable("GLUT", "gl", ("GL"), ("GL/gl.h", "GL/glu.h"), framework = "OpenGL")
|
||||
PkgCheckEnable("GTK2", "gtk+-2.0")
|
||||
PkgCheckEnable("NVIDIACG", "", ("Cg"), "Cg/cg.h", framework = "Cg")
|
||||
PkgCheckEnable("ODE", "", ("ode"), "ode/ode.h")
|
||||
PkgCheckEnable("OPENAL", "openal", ("openal"), "AL/al.h", framework = "OpenAL")
|
||||
PkgCheckEnable("OPENCV", "", ("cv", "highgui", "cvaux", "ml", "cxcore"), ("opencv", "opencv/cv.h"))
|
||||
PkgCheckEnable("SQUISH", "", ("squish"), "squish.h")
|
||||
PkgCheckEnable("TIFF", "", ("tiff"), "tiff.h")
|
||||
PkgCheckEnable("VRPN", "", ("vrpn", "quat"), ("vrpn", "quat.h", "vrpn/vrpn_Types.h"))
|
||||
PkgCheckEnable("JPEG", "", ("jpeg"), "jpeglib.h")
|
||||
PkgCheckEnable("OPENSSL", "openssl", ("ssl", "crypto"), ("openssl/ssl.h", "openssl/crypto.h"))
|
||||
PkgCheckEnable("PNG", "libpng", ("png"), "png.h")
|
||||
PkgCheckEnable("TINYXML", "", ("tinyxml"), "tinyxml.h")
|
||||
PkgCheckEnable("ZLIB", "", ("z"), "zlib.h")
|
||||
SmartPkgEnable("ARTOOLKIT", "", ("AR"), "AR/ar.h")
|
||||
SmartPkgEnable("FCOLLADA", "", ChooseLib(*fcollada_libs), ("FCollada", "FCollada.h"))
|
||||
SmartPkgEnable("FFMPEG", ffmpeg_libs, ffmpeg_libs, ffmpeg_libs)
|
||||
SmartPkgEnable("SWSCALE", "libswscale", "libswscale", ("libswscale", "libswscale/swscale.h"))
|
||||
SmartPkgEnable("FFTW", "", ("fftw", "rfftw"), ("fftw.h", "rfftw.h"))
|
||||
SmartPkgEnable("FMODEX", "", ("fmodex"), ("fmodex", "fmodex/fmod.h"))
|
||||
SmartPkgEnable("FREETYPE", "freetype2", ("freetype"), ("freetype2", "freetype2/freetype/freetype.h"))
|
||||
SmartPkgEnable("GLUT", "gl", ("GL"), ("GL/gl.h", "GL/glu.h"), framework = "OpenGL")
|
||||
SmartPkgEnable("GTK2", "gtk+-2.0")
|
||||
SmartPkgEnable("NVIDIACG", "", ("Cg"), "Cg/cg.h", framework = "Cg")
|
||||
SmartPkgEnable("ODE", "", ("ode"), "ode/ode.h")
|
||||
SmartPkgEnable("OPENAL", "openal", ("openal"), "AL/al.h", framework = "OpenAL")
|
||||
SmartPkgEnable("OPENCV", "", ("cv", "highgui", "cvaux", "ml", "cxcore"), ("opencv", "opencv/cv.h"))
|
||||
SmartPkgEnable("SQUISH", "", ("squish"), "squish.h")
|
||||
SmartPkgEnable("TIFF", "", ("tiff"), "tiff.h")
|
||||
SmartPkgEnable("VRPN", "", ("vrpn", "quat"), ("vrpn", "quat.h", "vrpn/vrpn_Types.h"))
|
||||
SmartPkgEnable("JPEG", "", ("jpeg"), "jpeglib.h")
|
||||
SmartPkgEnable("OPENSSL", "openssl", ("ssl", "crypto"), ("openssl/ssl.h", "openssl/crypto.h"))
|
||||
SmartPkgEnable("PNG", "libpng", ("png"), "png.h")
|
||||
SmartPkgEnable("TINYXML", "", ("tinyxml"), "tinyxml.h")
|
||||
SmartPkgEnable("ZLIB", "", ("z"), "zlib.h")
|
||||
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.
|
||||
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):
|
||||
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):
|
||||
PkgCheckEnable("WX", tool = "wx-config")
|
||||
SmartPkgEnable("WX", tool = "wx-config")
|
||||
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"):
|
||||
# CgGL is covered by the Cg framework, and we don't need X11 components on OSX
|
||||
if (PkgSkip("NVIDIACG")==0 and not RUNTIME):
|
||||
PkgCheckEnable("CGGL", "", ("CgGL"), "Cg/cgGL.h")
|
||||
PkgCheckEnable("X11", "x11", "X11", ("X11", "X11/Xlib.h"))
|
||||
SmartPkgEnable("CGGL", "", ("CgGL"), "Cg/cgGL.h")
|
||||
SmartPkgEnable("X11", "x11", "X11", ("X11", "X11/Xlib.h"))
|
||||
if (not RUNTIME):
|
||||
PkgCheckEnable("XF86DGA", "xxf86dga", "Xxf86dga", "X11/extensions/xf86dga.h")
|
||||
SmartPkgEnable("XF86DGA", "xxf86dga", "Xxf86dga", "X11/extensions/xf86dga.h")
|
||||
|
||||
if (RUNTIME):
|
||||
# For the runtime, all packages are required
|
||||
@ -1703,6 +1703,7 @@ CopyAllHeaders('panda/src/device')
|
||||
CopyAllHeaders('panda/src/pnmtext')
|
||||
CopyAllHeaders('panda/src/text')
|
||||
CopyAllHeaders('panda/src/grutil')
|
||||
CopyAllHeaders('panda/src/vision')
|
||||
CopyAllHeaders('panda/src/tform')
|
||||
CopyAllHeaders('panda/src/collide')
|
||||
CopyAllHeaders('panda/src/parametrics')
|
||||
@ -2361,7 +2362,7 @@ 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')
|
||||
IGATEFILES=GetDirectoryContents('panda/src/movies', ["*.h", "*_composite.cxx"])
|
||||
TargetAdd('libmovies.in', opts=OPTS, input=IGATEFILES)
|
||||
@ -2373,10 +2374,10 @@ 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_composite1.obj', opts=OPTS+["BIGOBJ"], input='grutil_composite1.cxx')
|
||||
TargetAdd('grutil_composite2.obj', opts=OPTS+["BIGOBJ"], input='grutil_composite2.cxx')
|
||||
TargetAdd('grutil_composite1.obj', opts=OPTS, input='grutil_composite1.cxx')
|
||||
TargetAdd('grutil_composite2.obj', opts=OPTS, input='grutil_composite2.cxx')
|
||||
IGATEFILES=GetDirectoryContents('panda/src/grutil', ["*.h", "*_composite.cxx"])
|
||||
TargetAdd('libgrutil.in', opts=OPTS, input=IGATEFILES)
|
||||
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', 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
|
||||
#
|
||||
|
@ -905,7 +905,8 @@ def PkgConfigHavePkg(pkgname, tool = "pkg-config"):
|
||||
else:
|
||||
return bool(LocateBinary(tool) != None)
|
||||
result = handle.read().strip()
|
||||
handle.close()
|
||||
if handle.close() != 0:
|
||||
return False
|
||||
return bool(len(result) > 0)
|
||||
|
||||
def PkgConfigGetLibs(pkgname, tool = "pkg-config"):
|
||||
@ -1036,7 +1037,7 @@ def ChooseLib(*libs):
|
||||
if (len(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
|
||||
if (pkg in PkgListGet() and PkgSkip(pkg)):
|
||||
return
|
||||
@ -1076,6 +1077,7 @@ def PkgCheckEnable(pkg, pkgconfig = None, libs = None, incs = None, defs = None,
|
||||
LibName(pkg, "-l" + libname)
|
||||
for d, v in defs.values():
|
||||
DefSymbol(pkg, d, v)
|
||||
return
|
||||
elif (sys.platform == "darwin" and framework != None):
|
||||
if (os.path.isdir("/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:
|
||||
print "%sERROR:%s Could not locate framework %s, aborting build" % (GetColor("red"), GetColor(), framework)
|
||||
exit()
|
||||
return
|
||||
elif (LocateBinary(tool) != None and (tool != "pkg-config" or pkgconfig != None)):
|
||||
if (isinstance(pkgconfig, str) or tool != "pkg-config"):
|
||||
if (PkgConfigHavePkg(pkgconfig, tool)):
|
||||
@ -1103,7 +1106,8 @@ def PkgCheckEnable(pkg, pkgconfig = None, libs = None, incs = None, defs = None,
|
||||
have_all_pkgs = False
|
||||
if (have_all_pkgs):
|
||||
return
|
||||
elif (pkgconfig != None and libs == None):
|
||||
|
||||
if (pkgconfig != None and libs == None):
|
||||
if (pkg in PkgListGet()):
|
||||
print "%sWARNING:%s Could not locate package %s, excluding from build" % (GetColor("red"), GetColor(), pkgconfig)
|
||||
PkgDisable(pkg)
|
||||
|
Loading…
x
Reference in New Issue
Block a user