diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index d01083169a..b3a381bb2f 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -84,10 +84,11 @@ PkgListSet(["PYTHON", "DIRECT", # Python support "ARTOOLKIT", "OPENCV", "DIRECTCAM", "VISION", # Augmented Reality "NPAPI", "AWESOMIUM", # Browser embedding "GTK2", "WX", "FLTK", # Toolkit support + "ROCKET", # GUI libraries "OSMESA", "X11", "XF86DGA", "XRANDR", "XCURSOR", # Unix platform support "PANDATOOL", "PVIEW", "DEPLOYTOOLS", # Toolchain - "SKELETON", # Example skeleton project - "PANDADISTORTFX", # Some distortion special lenses + "SKEL", # Example SKEL project + "PANDAFX", # Some distortion special lenses "PANDAPARTICLESYSTEM", # Built in particle system "CONTRIB" # Experimental ]) @@ -120,9 +121,7 @@ def usage(problem): print " --verbose (print out more information)" print " --runtime (build a runtime build instead of an SDK build)" print " --installer (build an installer)" - print " --optimize X (optimization level can be 1,2,3,4" - print " C++ application developers on Windows may prefer OPTIMIZE 2" - print " as this allows your own application to be compiled with a debug heap)" + print " --optimize X (optimization level can be 1,2,3,4)" print " --version X (set the panda version number)" print " --lzma (use lzma compression when building Windows installer)" print " --distributor X (short string identifying the distributor of the build)" @@ -139,12 +138,9 @@ def usage(problem): print "" print " --nothing (disable every third-party lib)" print " --everything (enable every third-party lib)" - print " --dxSdk=X (specify version of Dx9 SDK to use: jun2010, aug2009, mar2009, aug2006)" - print " --MSPlatSdk=X (specify MSPlatSdk to use: win71, win61, win60A, winserver2003r2" - print " --MSVC_Intel (experimental setting to use an intel compiler instead of MSVC. win-only" - print " Novice users of this option should only use it inconjunction with the latest SDKs" - print " and have installed Intell Parallel Studios 2011 SP1. Use of the directcam and vision modules" - print " will require additional modifications to the build system." + print " --directx-sdk=X (specify version of Dx9 SDK to use: jun2010, aug2009, mar2009, aug2006)" + print " --platform-sdk=X (specify MSPlatSdk to use: win71, win61, win60A, winserver2003r2" + print " --use-icl (experimental setting to use an intel compiler instead of MSVC on Windows)" print "" print "The simplest way to compile panda is to just type:" print "" @@ -162,7 +158,7 @@ def parseopts(args): "optimize=","everything","nothing","installer","rtdist","nocolor", "version=","lzma","no-python","threads=","outputdir=","override=", "static","host=","debversion=","rpmrelease=","p3dsuffix=", - "dxSdk=", "MSPlatSdk=", "MSVC_Intel"] + "directx-sdk=", "platform-sdk=", "use-icl"] anything = 0 optimize = "" for pkg in PkgListGet(): longopts.append("no-"+pkg.lower()) @@ -197,17 +193,17 @@ def parseopts(args): # Backward compatibility, OPENGL was renamed to GL elif (option=="--use-opengl"): PkgEnable("GL") elif (option=="--no-opengl"): PkgDisable("GL") - elif (option=="--dxSdk"): + elif (option=="--directx-sdk"): STRDXSDKVERSION = value.strip().lower() if STRDXSDKVERSION == '': print "No DirectX SDK version specified. Using 'default' DirectX SDK search" STRDXSDKVERSION = 'default' - elif (option=="--MSPlatSdk"): + elif (option=="--platform-sdk"): STRMSPLATFORMVERSION = value.strip().lower() if STRMSPLATFORMVERSION == '': print "No MS Platform SDK version specified. Using 'default' MS Platform SDK search" STRMSPLATFORMVERSION = 'default' - elif (option=="--MSVC_Intel"): BOOUSEINTELCOMPILER = True + elif (option=="--use-icl"): BOOUSEINTELCOMPILER = True else: for pkg in PkgListGet(): if (option=="--use-"+pkg.lower()): @@ -509,6 +505,8 @@ if (COMPILER=="MSVC"): if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", GetThirdpartyDir() + "ffmpeg/lib/avformat.lib") if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", GetThirdpartyDir() + "ffmpeg/lib/avutil.lib") if (PkgSkip("SWSCALE")==0): LibName("SWSCALE", GetThirdpartyDir() + "ffmpeg/lib/swscale.lib") + if (PkgSkip("ROCKET")==0): LibName("ROCKET", GetThirdpartyDir() + "rocket/lib/RocketCore.lib") + if (PkgSkip("ROCKET")==0): LibName("ROCKET", GetThirdpartyDir() + "rocket/lib/RocketControls.lib") if (PkgSkip("OPENAL")==0): if (os.path.exists(GetThirdpartyDir() + "openal/lib/pandaopenal32.lib")): LibName("OPENAL", GetThirdpartyDir() + "openal/lib/pandaopenal32.lib") @@ -627,6 +625,7 @@ if (COMPILER=="LINUX"): SmartPkgEnable("TIFF", "", ("tiff"), "tiff.h") SmartPkgEnable("VRPN", "", ("vrpn", "quat"), ("vrpn", "quat.h", "vrpn/vrpn_Types.h")) SmartPkgEnable("BULLET", "bullet", ("BulletSoftBody", "BulletDynamics", "BulletCollision", "LinearMath"), ("bullet", "bullet/btBulletDynamicsCommon.h")) + SmartPkgEnable("ROCKET", "", ("RocketCore", "RocketControls"), "Rocket/Core.h") SmartPkgEnable("GTK2", "gtk+-2.0") SmartPkgEnable("JPEG", "", ("jpeg"), "jpeglib.h") SmartPkgEnable("OPENSSL", "openssl", ("ssl", "crypto"), ("openssl/ssl.h", "openssl/crypto.h")) @@ -2263,6 +2262,8 @@ CopyAllHeaders('panda/src/parametrics') CopyAllHeaders('panda/src/pgui') CopyAllHeaders('panda/src/pnmimagetypes') CopyAllHeaders('panda/src/recorder') +if (PkgSkip("ROCKET")==0): + CopyAllHeaders('panda/src/rocket') if (PkgSkip("VRPN")==0): CopyAllHeaders('panda/src/vrpn') CopyAllHeaders('panda/src/wgldisplay') @@ -3251,6 +3252,28 @@ if (PkgSkip("VISION") ==0) and (not RUNTIME): TargetAdd('libp3vision.dll', input=COMMON_PANDA_LIBS) TargetAdd('libp3vision.dll', opts=OPTS) +# +# DIRECTORY: panda/src/rocket/ +# + +if (PkgSkip("ROCKET") ==0) and (not RUNTIME): + OPTS=['DIR:panda/src/rocket', 'BUILDING:ROCKET', 'ROCKET'] + TargetAdd('p3rocket_composite1.obj', opts=OPTS, input='p3rocket_composite1.cxx') + IGATEFILES=GetDirectoryContents('panda/src/rocket', ["rocketInputHandler*", "rocketRegion*"]) + TargetAdd('libp3rocket.in', opts=OPTS, input=IGATEFILES) + TargetAdd('libp3rocket.in', opts=['IMOD:p3rocket', 'ILIB:libp3rocket', 'SRCDIR:panda/src/rocket']) + TargetAdd('libp3rocket_igate.obj', input='libp3rocket.in', opts=["DEPENDENCYONLY"]) + + TargetAdd('libp3rocket_module.obj', input='libp3rocket.in') + TargetAdd('libp3rocket_module.obj', opts=OPTS) + TargetAdd('libp3rocket_module.obj', opts=['IMOD:p3rocket', 'ILIB:libp3rocket']) + + TargetAdd('libp3rocket.dll', input='p3rocket_composite1.obj') + TargetAdd('libp3rocket.dll', input='libp3rocket_igate.obj') + TargetAdd('libp3rocket.dll', input='libp3rocket_module.obj') + TargetAdd('libp3rocket.dll', input=COMMON_PANDA_LIBS) + TargetAdd('libp3rocket.dll', opts=OPTS) + # # DIRECTORY: panda/src/p3awesomium # @@ -3277,7 +3300,7 @@ if PkgSkip("AWESOMIUM") == 0 and not RUNTIME: # DIRECTORY: panda/src/p3skel # -if (PkgSkip('SKELETON')==0) and (not RUNTIME): +if (PkgSkip('SKEL')==0) and (not RUNTIME): OPTS=['DIR:panda/src/skel', 'BUILDING:PANDASKEL', 'ADVAPI'] TargetAdd('p3skel_composite1.obj', opts=OPTS, input='p3skel_composite1.cxx') IGATEFILES=GetDirectoryContents("panda/src/skel", ["*.h", "*_composite*.cxx"]) @@ -3289,7 +3312,7 @@ if (PkgSkip('SKELETON')==0) and (not RUNTIME): # DIRECTORY: panda/src/p3skel # -if (PkgSkip('SKELETON')==0) and (not RUNTIME): +if (PkgSkip('SKEL')==0) and (not RUNTIME): OPTS=['BUILDING:PANDASKEL', 'ADVAPI'] TargetAdd('libpandaskel_module.obj', input='libp3skel.in') @@ -3306,7 +3329,7 @@ if (PkgSkip('SKELETON')==0) and (not RUNTIME): # DIRECTORY: panda/src/distort/ # -if (PkgSkip('PANDADISTORTFX')==0) and (not RUNTIME): +if (PkgSkip('PANDAFX')==0) and (not RUNTIME): OPTS=['DIR:panda/src/distort', 'BUILDING:PANDAFX'] TargetAdd('p3distort_composite1.obj', opts=OPTS, input='p3distort_composite1.cxx') IGATEFILES=GetDirectoryContents('panda/src/distort', ["*.h", "*_composite*.cxx"]) @@ -3318,7 +3341,7 @@ if (PkgSkip('PANDADISTORTFX')==0) and (not RUNTIME): # DIRECTORY: panda/metalibs/pandafx/ # -if (PkgSkip('PANDADISTORTFX')==0) and (not RUNTIME): +if (PkgSkip('PANDAFX')==0) and (not RUNTIME): OPTS=['DIR:panda/metalibs/pandafx', 'DIR:panda/src/distort', 'BUILDING:PANDAFX', 'NVIDIACG'] TargetAdd('pandafx_pandafx.obj', opts=OPTS, input='pandafx.cxx') @@ -3584,7 +3607,7 @@ if (not sys.platform.startswith("win") and PkgSkip("GL")==0 and PkgSkip("OSMESA" OPTS=['DIR:panda/metalibs/pandagl', 'BUILDING:PANDAMESA', 'NVIDIACG', 'GL'] TargetAdd('libpandamesa.dll', input='p3mesadisplay_composite1.obj') TargetAdd('libpandamesa.dll', input='libp3glstuff.dll') - if (PkgSkip('PANDADISTORTFX')==0): + if (PkgSkip('PANDAFX')==0): TargetAdd('libpandamesa.dll', input='libpandafx.dll') TargetAdd('libpandamesa.dll', input=COMMON_PANDA_LIBS) TargetAdd('libpandamesa.dll', opts=['MODULE', 'GL', 'OSMESA']) @@ -3631,7 +3654,7 @@ if (sys.platform == 'darwin' and PkgSkip("GL")==0 and not RUNTIME): TargetAdd('libpandagl.dll', input='p3osxdisplay_composite1.obj') TargetAdd('libpandagl.dll', input='p3osxdisplay_osxGraphicsWindow.obj') TargetAdd('libpandagl.dll', input='libp3glstuff.dll') - if (PkgSkip('PANDADISTORTFX')==0): + if (PkgSkip('PANDAFX')==0): TargetAdd('libpandagl.dll', input='libpandafx.dll') TargetAdd('libpandagl.dll', input=COMMON_PANDA_LIBS) TargetAdd('libpandagl.dll', opts=['MODULE', 'GL', 'NVIDIACG', 'CGGL', 'CARBON', 'AGL', 'COCOA']) @@ -3651,7 +3674,7 @@ if (sys.platform == "win32" and PkgSkip("GL")==0 and not RUNTIME): TargetAdd('libpandagl.dll', input='p3wgldisplay_composite1.obj') TargetAdd('libpandagl.dll', input='libp3windisplay.dll') TargetAdd('libpandagl.dll', input='libp3glstuff.dll') - if (PkgSkip('PANDADISTORTFX')==0): + if (PkgSkip('PANDAFX')==0): TargetAdd('libpandagl.dll', input='libpandafx.dll') TargetAdd('libpandagl.dll', input=COMMON_PANDA_LIBS) TargetAdd('libpandagl.dll', opts=['MODULE', 'WINGDI', 'GL', 'WINKERNEL', 'WINOLDNAMES', 'WINUSER', 'WINMM', 'NVIDIACG', 'CGGL']) @@ -5216,13 +5239,13 @@ if (PkgSkip("PYTHON")==0 and not RUNTIME): TargetAdd('PandaModules.py', input='libpanda.dll') if (PkgSkip("PANDAPHYSICS")==0): TargetAdd('PandaModules.py', input='libpandaphysics.dll') - if (PkgSkip('PANDADISTORTFX')==0): + if (PkgSkip('PANDAFX')==0): TargetAdd('PandaModules.py', input='libpandafx.dll') if (PkgSkip("DIRECT")==0): TargetAdd('PandaModules.py', input='libp3direct.dll') if (PkgSkip("VISION")==0): TargetAdd('PandaModules.py', input='libp3vision.dll') - if (PkgSkip("SKELETON")==0): + if (PkgSkip("SKEL")==0): TargetAdd('PandaModules.py', input='libpandaskel.dll') TargetAdd('PandaModules.py', input='libpandaegg.dll') if (PkgSkip("AWESOMIUM")==0):