From 60aebb06330b4a1073485c85fc38780b72da81e0 Mon Sep 17 00:00:00 2001 From: rdb Date: Sat, 12 Sep 2009 11:09:25 +0000 Subject: [PATCH] Some generic improvements --- makepanda/makepanda.py | 67 ++++++++++++++++++++------------------ makepanda/makepandacore.py | 3 ++ 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 60cfa4436b..5845d6a14b 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -40,7 +40,7 @@ CFLAGS="" RUNTIME=0 RUNTIME_VERSION="dev" RUNTIME_PLATFORM="other" -RUNTIME_DISTRIBUTOR="" +DISTRIBUTOR="" PkgListSet(MAYAVERSIONS + MAXVERSIONS + DXVERSIONS + [ "PYTHON","ZLIB","PNG","JPEG","TIFF","VRPN","TINYXML", @@ -96,7 +96,7 @@ def usage(problem): os._exit(0) def parseopts(args): - global INSTALLER,RUNTIME,GENMAN,RUNTIME_DISTRIBUTOR + global INSTALLER,RUNTIME,GENMAN,DISTRIBUTOR global VERSION,COMPRESSOR,VERBOSE,THREADCOUNT,VERBOSE longopts = [ "help","distributor=","verbose", @@ -113,7 +113,7 @@ def parseopts(args): elif (option=="--optimize"): optimize=value elif (option=="--installer"): INSTALLER=1 elif (option=="--verbose"): SetVerbose(True) - elif (option=="--distributor"): RUNTIME_DISTRIBUTOR=value + elif (option=="--distributor"): DISTRIBUTOR=value elif (option=="--runtime"): RUNTIME=1 elif (option=="--genman"): GENMAN=1 elif (option=="--everything"): PkgEnableAll() @@ -169,13 +169,15 @@ os.environ["MAKEPANDA"] = os.path.abspath(sys.argv[0]) if (RUNTIME): PkgDisable("PANDATOOL") - if (RUNTIME_DISTRIBUTOR.strip() == ""): + if (DISTRIBUTOR.strip() == ""): exit("You must provide a valid distributor name when making a plugin runtime build!") if (not CUSTOM_OUTPUTDIR): - SetOutputDir("built_" + RUNTIME_DISTRIBUTOR.strip()) + SetOutputDir("built_" + DISTRIBUTOR.strip()) - RUNTIME_VERSION = RUNTIME_DISTRIBUTOR.strip() + "_" + VERSION[:3] + RUNTIME_VERSION = DISTRIBUTOR.strip() + "_" + VERSION[:3] +elif (DISTRIBUTOR == ""): + DISTRIBUTOR = "makepanda" if (sys.platform.startswith("win")): if (platform.architecture()[0] == "64bit"): @@ -1356,30 +1358,30 @@ if os.path.isfile("direct/src/plugin/p3d_plugin_config.h"): ########################################################################################## PANDAVERSION_H=""" -#define PANDA_MAJOR_VERSION VERSION1 -#define PANDA_MINOR_VERSION VERSION2 -#define PANDA_SEQUENCE_VERSION VERSION2 -#undef PANDA_OFFICIAL_VERSION -#define PANDA_VERSION NVERSION -#define PANDA_VERSION_STR "VERSION1.VERSION2.VERSION3" -#define PANDA_DISTRIBUTOR "makepanda" +#define PANDA_MAJOR_VERSION $VERSION1 +#define PANDA_MINOR_VERSION $VERSION2 +#define PANDA_SEQUENCE_VERSION $VERSION2 +#define PANDA_VERSION $NVERSION +#define PANDA_VERSION_STR "$VERSION1.$VERSION2.$VERSION3" +#define PANDA_DISTRIBUTOR "$DISTRIBUTOR" +#define PANDA_PACKAGE_VERSION_STR "$RUNTIME_VERSION" #define PANDA_PACKAGE_HOST_URL "http://runtime.panda3d.org/" """ CHECKPANDAVERSION_CXX=""" # include "dtoolbase.h" -EXPCL_DTOOL int panda_version_VERSION1_VERSION2_VERSION3 = 0; +EXPCL_DTOOL int panda_version_$VERSION1_$VERSION2_$VERSION3 = 0; """ CHECKPANDAVERSION_H=""" # include "dtoolbase.h" -extern EXPCL_DTOOL int panda_version_VERSION1_VERSION2_VERSION3; +extern EXPCL_DTOOL int panda_version_$VERSION1_$VERSION2_$VERSION3; # ifndef WIN32 /* For Windows, exporting the symbol from the DLL is sufficient; the DLL will not load unless all expected public symbols are defined. Other systems may not mind if the symbol is absent unless we explictly write code that references it. */ -static int check_panda_version = panda_version_VERSION1_VERSION2_VERSION3; +static int check_panda_version = panda_version_$VERSION1_$VERSION2_$VERSION3; # endif """ def CreatePandaVersionFiles(): @@ -1388,24 +1390,26 @@ def CreatePandaVersionFiles(): version3=int(VERSION.split(".")[2]) nversion=version1*1000000+version2*1000+version3 - pandaversion_h = PANDAVERSION_H.replace("VERSION1",str(version1)) - pandaversion_h = pandaversion_h.replace("VERSION2",str(version2)) - pandaversion_h = pandaversion_h.replace("VERSION3",str(version3)) - pandaversion_h = pandaversion_h.replace("NVERSION",str(nversion)) - if (RUNTIME): - pandaversion_h += "\n#define PANDA_PACKAGE_VERSION_STR \"" + RUNTIME_VERSION + "\"" + pandaversion_h = PANDAVERSION_H.replace("$VERSION1",str(version1)) + pandaversion_h = pandaversion_h.replace("$VERSION2",str(version2)) + pandaversion_h = pandaversion_h.replace("$VERSION3",str(version3)) + pandaversion_h = pandaversion_h.replace("$NVERSION",str(nversion)) + pandaversion_h = pandaversion_h.replace("$DISTRIBUTOR",DISTRIBUTOR) + pandaversion_h = pandaversion_h.replace("$RUNTIME_VERSION",RUNTIME_VERSION) + if (DISTRIBUTOR == "cmu"): + pandaversion_h += "\n#define PANDA_OFFICIAL_VERSION" else: - pandaversion_h += "\n#define PANDA_PACKAGE_VERSION_STR \"\"" + pandaversion_h += "\n#undef PANDA_OFFICIAL_VERSION" - checkpandaversion_cxx = CHECKPANDAVERSION_CXX.replace("VERSION1",str(version1)) - checkpandaversion_cxx = checkpandaversion_cxx.replace("VERSION2",str(version2)) - checkpandaversion_cxx = checkpandaversion_cxx.replace("VERSION3",str(version3)) - checkpandaversion_cxx = checkpandaversion_cxx.replace("NVERSION",str(nversion)) + checkpandaversion_cxx = CHECKPANDAVERSION_CXX.replace("$VERSION1",str(version1)) + checkpandaversion_cxx = checkpandaversion_cxx.replace("$VERSION2",str(version2)) + checkpandaversion_cxx = checkpandaversion_cxx.replace("$VERSION3",str(version3)) + checkpandaversion_cxx = checkpandaversion_cxx.replace("$NVERSION",str(nversion)) - checkpandaversion_h = CHECKPANDAVERSION_H.replace("VERSION1",str(version1)) - checkpandaversion_h = checkpandaversion_h.replace("VERSION2",str(version2)) - checkpandaversion_h = checkpandaversion_h.replace("VERSION3",str(version3)) - checkpandaversion_h = checkpandaversion_h.replace("NVERSION",str(nversion)) + checkpandaversion_h = CHECKPANDAVERSION_H.replace("$VERSION1",str(version1)) + checkpandaversion_h = checkpandaversion_h.replace("$VERSION2",str(version2)) + checkpandaversion_h = checkpandaversion_h.replace("$VERSION3",str(version3)) + checkpandaversion_h = checkpandaversion_h.replace("$NVERSION",str(nversion)) ConditionalWriteFile(GetOutputDir()+'/include/pandaVersion.h', pandaversion_h) ConditionalWriteFile(GetOutputDir()+'/include/checkPandaVersion.cxx', checkpandaversion_cxx) @@ -4435,4 +4439,5 @@ if os.path.isfile("direct/src/plugin/p3d_plugin_config.h.moved"): WARNINGS.append("Elapsed Time: "+PrettyTime(time.time() - STARTTIME)) printStatus("Makepanda Final Status Report", WARNINGS) +print GetColor("green") + "Build successfully finished." + GetColor() diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index e2294fa5ff..8021c1e3c2 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -117,6 +117,8 @@ def ProgressOutput(progress, msg, target = None): print msg elif (progress >= 100.0): print "%s[%s%d%%%s] %s" % (GetColor("yellow"), GetColor("cyan"), progress, GetColor("yellow"), msg), + elif (progress < 10.0): + print "%s[%s %d%%%s] %s" % (GetColor("yellow"), GetColor("cyan"), progress, GetColor("yellow"), msg), else: print "%s[%s %d%%%s] %s" % (GetColor("yellow"), GetColor("cyan"), progress, GetColor("yellow"), msg), else: @@ -146,6 +148,7 @@ def exit(msg = ""): os.rename("direct/src/plugin/p3d_plugin_config.h.moved", "direct/src/plugin/p3d_plugin_config.h") print "Elapsed Time: "+PrettyTime(time.time() - STARTTIME) print msg + print GetColor("red") + "Build terminated." + GetColor() sys.stdout.flush() sys.stderr.flush() os._exit(1)