Backward compatible dir structure on Windows (I hope) and I removed the target system.

It didn't really work well anyways.
This commit is contained in:
rdb 2009-06-13 13:11:51 +00:00
parent afa7801696
commit 92ce5aeaaa

View File

@ -38,7 +38,6 @@ VERBOSE=1
COMPRESSOR="zlib"
THREADCOUNT=0
CFLAGS=""
TARGET="all"
PkgListSet(MAYAVERSIONS + MAXVERSIONS + DXVERSIONS + [
"PYTHON","ZLIB","PNG","JPEG","TIFF","VRPN",
@ -95,11 +94,11 @@ def usage(problem):
exit("")
def parseopts(args):
global TARGET,OPTIMIZE,INSTALLER,GENMAN
global OPTIMIZE,INSTALLER,GENMAN
global VERSION,COMPRESSOR,VERBOSE,THREADCOUNT
longopts = [
"help","target=",
"optimize=","everything","nothing",
"help",
"optimize=","everything","nothing","installer",
"version=","lzma","no-python","threads=","outputdir="]
anything = 0
for pkg in PkgListGet(): longopts.append("no-"+pkg.lower())
@ -108,7 +107,6 @@ def parseopts(args):
opts, extras = getopt.getopt(args, "", longopts)
for option,value in opts:
if (option=="--help"): raise "usage"
elif (option=="--target"): TARGET=value
elif (option=="--optimize"): OPTIMIZE=value
elif (option=="--installer"): INSTALLER=1
elif (option=="--genman"): GENMAN=1
@ -155,7 +153,6 @@ if (os.environ.has_key("RPM_OPT_FLAGS")):
MakeBuildTree()
SdkLocateDirectX()
if TARGET in ["all", "plugins"]:
SdkLocateMaya()
SdkLocateMax()
SdkLocateMacOSX()
@ -164,7 +161,6 @@ SdkLocateVisualStudio()
SdkLocateMSPlatform()
SdkAutoDisableDirectX()
if TARGET in ["all", "plugins"]:
SdkAutoDisableMaya()
SdkAutoDisableMax()
@ -186,6 +182,8 @@ if (sys.platform == "win32"):
THIRDPARTYLIBS="thirdparty/win32/win-libs-vc9/"
else:
THIRDPARTYLIBS="thirdparty/win64/win-libs-vc9/"
if not os.path.isdir(THIRDPARTYLIB):
THIRDPARTYLIBS="thirdparty/win-libs-vc9/"
VC90CRTVERSION = GetVC90CRTVersion(THIRDPARTYLIBS+"extras/bin/Microsoft.VC90.CRT.manifest")
else:
CheckLinkerLibraryPath()
@ -220,10 +218,13 @@ if (COMPILER=="MSVC"):
(arch, osName) = platform.architecture()
archName = 'win64'
if arch=='32bit': archName = 'win32'
thirdPartyPrefix = "thirdparty/" + archName + "/win-libs-vc9/"
if (PkgSkip("PYTHON")==0):
if os.path.isdir("thirdparty/" + archName + "/win-python"):
IncDirectory("ALWAYS", "thirdparty/" + archName + "/win-python/include")
LibDirectory("ALWAYS", "thirdparty/" + archName + "/win-python/libs")
else:
IncDirectory("ALWAYS", "thirdparty/win-python/include")
LibDirectory("ALWAYS", "thirdparty/win-python/libs")
for pkg in PkgListGet():
if (PkgSkip(pkg)==0):
if (pkg[:4]=="MAYA"):
@ -236,7 +237,7 @@ if (COMPILER=="MSVC"):
elif (pkg[:2]=="DX"):
IncDirectory(pkg, SDK[pkg] + "/include")
else:
IncDirectory(pkg, thirdPartyPrefix + pkg.lower() + "/include")
IncDirectory(pkg, THIRDPARTYLIBS + pkg.lower() + "/include")
for pkg in DXVERSIONS:
if (PkgSkip(pkg)==0):
vnum=pkg[2:]
@ -266,34 +267,34 @@ if (COMPILER=="MSVC"):
if (PkgSkip("DIRECTCAM")==0): LibName("DIRECTCAM", "quartz.lib")
if (PkgSkip("DIRECTCAM")==0): LibName("DIRECTCAM", "odbc32.lib")
if (PkgSkip("DIRECTCAM")==0): LibName("DIRECTCAM", "odbccp32.lib")
if (PkgSkip("PNG")==0): LibName("PNG", thirdPartyPrefix + "png/lib/libpandapng.lib")
if (PkgSkip("JPEG")==0): LibName("JPEG", thirdPartyPrefix + "jpeg/lib/libpandajpeg.lib")
if (PkgSkip("TIFF")==0): LibName("TIFF", thirdPartyPrefix + "tiff/lib/libpandatiff.lib")
if (PkgSkip("ZLIB")==0): LibName("ZLIB", thirdPartyPrefix + "zlib/lib/libpandazlib1.lib")
if (PkgSkip("VRPN")==0): LibName("VRPN", thirdPartyPrefix + "vrpn/lib/vrpn.lib")
if (PkgSkip("VRPN")==0): LibName("VRPN", thirdPartyPrefix + "vrpn/lib/quat.lib")
if (PkgSkip("FMODEX")==0): LibName("FMODEX", thirdPartyPrefix + "fmodex/lib/fmodex_vc.lib")
if (PkgSkip("OPENAL")==0): LibName("OPENAL", thirdPartyPrefix + "openal/lib/pandaopenal32.lib")
if (PkgSkip("NVIDIACG")==0): LibName("CGGL", thirdPartyPrefix + "nvidiacg/lib/cgGL.lib")
if (PkgSkip("NVIDIACG")==0): LibName("CGDX9", thirdPartyPrefix + "nvidiacg/lib/cgD3D9.lib")
if (PkgSkip("NVIDIACG")==0): LibName("NVIDIACG", thirdPartyPrefix + "nvidiacg/lib/cg.lib")
if (PkgSkip("OPENSSL")==0): LibName("OPENSSL", thirdPartyPrefix + "openssl/lib/libpandassl.lib")
if (PkgSkip("OPENSSL")==0): LibName("OPENSSL", thirdPartyPrefix + "openssl/lib/libpandaeay.lib")
if (PkgSkip("FREETYPE")==0): LibName("FREETYPE", thirdPartyPrefix + "freetype/lib/freetype.lib")
if (PkgSkip("FFTW")==0): LibName("FFTW", thirdPartyPrefix + "fftw/lib/rfftw.lib")
if (PkgSkip("FFTW")==0): LibName("FFTW", thirdPartyPrefix + "fftw/lib/fftw.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", thirdPartyPrefix + "ffmpeg/lib/avcodec-51-panda.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", thirdPartyPrefix + "ffmpeg/lib/avformat-50-panda.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", thirdPartyPrefix + "ffmpeg/lib/avutil-49-panda.lib")
if (PkgSkip("ARTOOLKIT")==0):LibName("ARTOOLKIT",thirdPartyPrefix + "artoolkit/lib/libAR.lib")
if (PkgSkip("ODE")==0): LibName("ODE", thirdPartyPrefix + "ode/lib/ode.lib")
if (PkgSkip("FCOLLADA")==0): LibName("FCOLLADA", thirdPartyPrefix + "fcollada/lib/FCollada.lib")
if (PkgSkip("SQUISH")==0): LibName("SQUISH", thirdPartyPrefix + "squish/lib/squish.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", thirdPartyPrefix + "opencv/lib/cv.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", thirdPartyPrefix + "opencv/lib/highgui.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", thirdPartyPrefix + "opencv/lib/cvaux.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", thirdPartyPrefix + "opencv/lib/ml.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", thirdPartyPrefix + "opencv/lib/cxcore.lib")
if (PkgSkip("PNG")==0): LibName("PNG", THIRDPARTYLIBS + "png/lib/libpandapng.lib")
if (PkgSkip("JPEG")==0): LibName("JPEG", THIRDPARTYLIBS + "jpeg/lib/libpandajpeg.lib")
if (PkgSkip("TIFF")==0): LibName("TIFF", THIRDPARTYLIBS + "tiff/lib/libpandatiff.lib")
if (PkgSkip("ZLIB")==0): LibName("ZLIB", THIRDPARTYLIBS + "zlib/lib/libpandazlib1.lib")
if (PkgSkip("VRPN")==0): LibName("VRPN", THIRDPARTYLIBS + "vrpn/lib/vrpn.lib")
if (PkgSkip("VRPN")==0): LibName("VRPN", THIRDPARTYLIBS + "vrpn/lib/quat.lib")
if (PkgSkip("FMODEX")==0): LibName("FMODEX", THIRDPARTYLIBS + "fmodex/lib/fmodex_vc.lib")
if (PkgSkip("OPENAL")==0): LibName("OPENAL", THIRDPARTYLIBS + "openal/lib/pandaopenal32.lib")
if (PkgSkip("NVIDIACG")==0): LibName("CGGL", THIRDPARTYLIBS + "nvidiacg/lib/cgGL.lib")
if (PkgSkip("NVIDIACG")==0): LibName("CGDX9", THIRDPARTYLIBS + "nvidiacg/lib/cgD3D9.lib")
if (PkgSkip("NVIDIACG")==0): LibName("NVIDIACG", THIRDPARTYLIBS + "nvidiacg/lib/cg.lib")
if (PkgSkip("OPENSSL")==0): LibName("OPENSSL", THIRDPARTYLIBS + "openssl/lib/libpandassl.lib")
if (PkgSkip("OPENSSL")==0): LibName("OPENSSL", THIRDPARTYLIBS + "openssl/lib/libpandaeay.lib")
if (PkgSkip("FREETYPE")==0): LibName("FREETYPE", THIRDPARTYLIBS + "freetype/lib/freetype.lib")
if (PkgSkip("FFTW")==0): LibName("FFTW", THIRDPARTYLIBS + "fftw/lib/rfftw.lib")
if (PkgSkip("FFTW")==0): LibName("FFTW", THIRDPARTYLIBS + "fftw/lib/fftw.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", THIRDPARTYLIBS + "ffmpeg/lib/avcodec-51-panda.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", THIRDPARTYLIBS + "ffmpeg/lib/avformat-50-panda.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", THIRDPARTYLIBS + "ffmpeg/lib/avutil-49-panda.lib")
if (PkgSkip("ARTOOLKIT")==0):LibName("ARTOOLKIT",THIRDPARTYLIBS + "artoolkit/lib/libAR.lib")
if (PkgSkip("ODE")==0): LibName("ODE", THIRDPARTYLIBS + "ode/lib/ode.lib")
if (PkgSkip("FCOLLADA")==0): LibName("FCOLLADA", THIRDPARTYLIBS + "fcollada/lib/FCollada.lib")
if (PkgSkip("SQUISH")==0): LibName("SQUISH", THIRDPARTYLIBS + "squish/lib/squish.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", THIRDPARTYLIBS + "opencv/lib/cv.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", THIRDPARTYLIBS + "opencv/lib/highgui.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", THIRDPARTYLIBS + "opencv/lib/cvaux.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", THIRDPARTYLIBS + "opencv/lib/ml.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", THIRDPARTYLIBS + "opencv/lib/cxcore.lib")
for pkg in MAYAVERSIONS:
if (PkgSkip(pkg)==0):
LibName(pkg, '"' + SDK[pkg] + '/lib/Foundation.lib"')
@ -677,7 +678,7 @@ def CompileLink(dll, obj, opts):
(arch, osName) = platform.architecture()
if arch == "64bit":
cmd += "/MACHINE:X64 "
cmd += '/NOD:MFC80.LIB /NOD:MFC90.LIB /NOD:LIBCI.LIB /NOD:MSVCRTD.LIB /DEBUG '
cmd += '/NOD:MFC90.LIB /NOD:LIBCI.LIB /NOD:MSVCRTD.LIB /DEBUG '
cmd = cmd + " /nod:libc /nod:libcmtd /nod:atlthunk"
if (GetOrigExt(dll) != ".exe"): cmd = cmd + " /DLL"
optlevel = GetOptimizeOption(opts,OPTIMIZE)
@ -1152,8 +1153,12 @@ if (sys.platform == "win32"):
(arch, osName) = platform.architecture()
archName = "win64"
if arch=='32bit': archName = "win32"
if os.path.isdir('thirdparty/' + archName + '/win-python'):
CopyFile(GetOutputDir()+'/bin/python25.dll', 'thirdparty/' + archName + '/win-python/python25.dll')
CopyTree(GetOutputDir()+'/python', 'thirdparty/' + archName + '/win-python')
else:
CopyFile(GetOutputDir()+'/bin/python25.dll', 'thirdparty/win-python/python25.dll')
CopyTree(GetOutputDir()+'/python', 'thirdparty/win-python')
ConditionalWriteFile(GetOutputDir()+'/python/panda.pth',"..\n../bin\n")
########################################################################
@ -1366,7 +1371,6 @@ COMMON_EGG2X_LIBS_PYSTUB = COMMON_EGG2X_LIBS + ['libp3pystub.dll']
print "Generating dependencies..."
sys.stdout.flush()
if TARGET in ["all", "panda3d"]:
#
# DIRECTORY: dtool/src/dtoolbase/
#
@ -3426,7 +3430,6 @@ if TARGET in ["all", "panda3d"]:
TargetAdd('x2egg.exe', input=COMMON_EGG2X_LIBS_PYSTUB)
TargetAdd('x2egg.exe', opts=['ADVAPI'])
if TARGET in ["all", "plugins"]:
#
# DIRECTORY: pandatool/src/mayaprogs/
#
@ -3647,7 +3650,7 @@ RunDependencyQueue(DEPENDENCYQUEUE)
#
##########################################################################################
if (PkgSkip("PYTHON")==0 and TARGET in ["all", "panda3d"]):
if (PkgSkip("PYTHON")==0):
inputs = []
for x in GetDirectoryContents(GetOutputDir()+"/pandac/input", ["*.in"]):
inputs.append(GetOutputDir()+"/pandac/input/" + x)
@ -3873,7 +3876,7 @@ def MakeInstallerOSX():
oscmd("rm -f Panda3D-tpl-rw.dmg")
oscmd("rm -rf Panda3D-tpl-rw")
if (INSTALLER != 0 or (TARGET in ["all", "installer"])):
if (INSTALLER != 0):
if (sys.platform == "win32"):
MakeInstallerNSIS("Panda3D-"+VERSION+".exe", "Panda3D", "Panda3D "+VERSION, "C:\\Panda3D-"+VERSION)
elif (sys.platform == "linux2"):