Move tinyxml into the source tree, rather than using it as external library

This commit is contained in:
rdb 2010-05-24 18:55:08 +00:00
parent 68029c8607
commit 4173057c26
23 changed files with 5466 additions and 152 deletions

View File

@ -9,7 +9,7 @@
#define USE_PACKAGES native_net
#define COMPONENT_LIBS \
directbase dcparser showbase deadrec directd interval distributed motiontrail http dxml
directbase dcparser showbase deadrec directd interval distributed motiontrail http
#define OTHER_LIBS \
panda:m \

View File

@ -19,7 +19,7 @@
// instead of the dynamic runtime library, which is much better for
// distributing the plugin with the XPI and CAB interfaces. This
// requires that special /MT versions of OpenSSL, libjpeg, libpng,
// zlib, and TinyXML are available.
// and zlib are available.
#define _MT $[if $[P3D_PLUGIN_MT],_mt]
@ -27,7 +27,7 @@
fileSpec.cxx fileSpec.h fileSpec.I \
find_root_dir.cxx find_root_dir.h \
$[if $[IS_OSX],find_root_dir_assist.mm] \
get_tinyxml.h \
get_tinyxml.h
binaryXml.cxx binaryXml.h \
fhandle.h \
handleStream.cxx handleStream.h handleStream.I \
@ -109,15 +109,15 @@
// p3d_plugin.dll, the main entry point to the Core API.
//
#define BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_TINYXML],$[HAVE_OPENSSL],$[HAVE_ZLIB],$[HAVE_JPEG],$[HAVE_PNG]]
#define USE_PACKAGES tinyxml$[_MT] openssl$[_MT] zlib$[_MT] jpeg$[_MT] png$[_MT] x11
#define BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_OPENSSL],$[HAVE_ZLIB],$[HAVE_JPEG],$[HAVE_PNG]]
#define USE_PACKAGES openssl$[_MT] zlib$[_MT] jpeg$[_MT] png$[_MT] x11
#define TARGET p3d_plugin
#define LIB_PREFIX
#define BUILDING_DLL BUILDING_P3D_PLUGIN
#define LINK_FORCE_STATIC_RELEASE_C_RUNTIME $[P3D_PLUGIN_MT]
#define OTHER_LIBS \
$[if $[OSX_PLATFORM],subprocbuffer]
p3tinyxml $[if $[OSX_PLATFORM],subprocbuffer]
#define COMBINED_SOURCES p3d_plugin_composite1.cxx
#define SOURCES $[COREAPI_SOURCES]
@ -136,13 +136,13 @@
// libp3d_plugin_static.lib, the Core API as a static library (for p3dembed).
//
#define BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_TINYXML],$[HAVE_OPENSSL],$[HAVE_ZLIB],$[HAVE_JPEG],$[HAVE_PNG]]
#define USE_PACKAGES tinyxml openssl zlib jpeg png x11
#define BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_OPENSSL],$[HAVE_ZLIB],$[HAVE_JPEG],$[HAVE_PNG]]
#define USE_PACKAGES openssl zlib jpeg png x11
#define TARGET p3d_plugin_static
#define BUILDING_DLL BUILDING_P3D_PLUGIN
#define OTHER_LIBS \
$[if $[OSX_PLATFORM],subprocbuffer]
p3tinyxml $[if $[OSX_PLATFORM],subprocbuffer]
#define COMBINED_SOURCES p3d_plugin_composite1.cxx
#define SOURCES $[COREAPI_SOURCES]
@ -184,9 +184,9 @@
// API and the various plugin implementations.
//
#define BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_TINYXML],$[HAVE_OPENSSL]]
#define BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_OPENSSL]]
#define TARGET plugin_common
#define USE_PACKAGES tinyxml openssl
#define USE_PACKAGES openssl
#define SOURCES $[PLUGIN_COMMON_SOURCES]
@ -198,9 +198,9 @@
// libplugin_common_mt.lib, the same as above, with /MT compilation.
//
#define BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_TINYXML],$[HAVE_OPENSSL]]
#define BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_OPENSSL]]
#define TARGET plugin_common_mt
#define USE_PACKAGES tinyxml_mt openssl_mt
#define USE_PACKAGES openssl_mt
#define LINK_FORCE_STATIC_RELEASE_C_RUNTIME 1
#define SOURCES $[PLUGIN_COMMON_SOURCES]
@ -220,14 +220,14 @@
// to invoke a particular instance of Panda.
//
#define BUILD_TARGET $[and $[HAVE_TINYXML],$[HAVE_PYTHON],$[HAVE_OPENSSL]]
#define USE_PACKAGES tinyxml python openssl cg
#define BUILD_TARGET $[and $[HAVE_PYTHON],$[HAVE_OPENSSL]]
#define USE_PACKAGES python openssl cg
#define TARGET p3dpython
#define OTHER_LIBS \
dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \
express:c pandaexpress:m \
express:c pandaexpress:m dxml:c \
pgraph:c pgraphnodes:c cull:c gsgbase:c gobj:c \
mathutil:c lerp:c downloader:c pnmimage:c \
prc:c pstatclient:c pandabase:c linmath:c putil:c \
@ -268,15 +268,15 @@
// the desktop.)
//
#define BUILD_TARGET $[and $[HAVE_TINYXML],$[HAVE_PYTHON],$[HAVE_OPENSSL],$[WINDOWS_PLATFORM]]
#define USE_PACKAGES tinyxml python openssl
#define BUILD_TARGET $[and $[HAVE_PYTHON],$[HAVE_OPENSSL],$[WINDOWS_PLATFORM]]
#define USE_PACKAGES python openssl
#define TARGET p3dpythonw
#define EXTRA_CDEFS NON_CONSOLE
#define OTHER_LIBS \
dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \
express:c pandaexpress:m \
express:c pandaexpress:m dxml:c \
pgraph:c pgraphnodes:c cull:c gsgbase:c gobj:c \
mathutil:c lerp:c downloader:c pnmimage:c \
prc:c pstatclient:c pandabase:c linmath:c putil:c \
@ -314,15 +314,15 @@
// desparation fallback in case forking fails for some reason.
//
#define BUILD_TARGET $[and $[HAVE_TINYXML],$[HAVE_PYTHON],$[HAVE_OPENSSL]]
#define USE_PACKAGES tinyxml python openssl cg
#define BUILD_TARGET $[and $[HAVE_PYTHON],$[HAVE_OPENSSL]]
#define USE_PACKAGES python openssl cg
#define TARGET libp3dpython
#define LIB_PREFIX
#define OTHER_LIBS \
dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \
express:c pandaexpress:m \
express:c pandaexpress:m dxml:c \
pgraph:c pgraphnodes:c cull:c gsgbase:c gobj:c \
mathutil:c lerp:c downloader:c pnmimage:c \
prc:c pstatclient:c pandabase:c linmath:c putil:c \

View File

@ -4,10 +4,9 @@
// developing the plugin system itself. Define HAVE_P3D_PLUGIN in
// your Config.pp to build this directory.
#define BUILD_DIRECTORY $[and $[HAVE_P3D_PLUGIN],$[HAVE_TINYXML],$[WINDOWS_PLATFORM],$[HAVE_ACTIVEX]]
#define BUILD_DIRECTORY $[and $[HAVE_P3D_PLUGIN],$[WINDOWS_PLATFORM],$[HAVE_ACTIVEX]]
#define _MT $[if $[P3D_PLUGIN_MT],_mt]
#define USE_PACKAGES tinyxml$[_MT]
#begin lib_target
#define TARGET p3dactivex
@ -16,6 +15,7 @@
#define LOCAL_LIBS plugin_common$[_MT]
#define LINK_FORCE_STATIC_RELEASE_C_RUNTIME $[P3D_PLUGIN_MT]
#define OTHER_LIBS p3tinyxml
#define COMBINED_SOURCES \
$[TARGET]_composite1.cxx

View File

@ -4,10 +4,10 @@
// system itself. Define HAVE_P3D_PLUGIN in your Config.pp to build
// this directory.
#define BUILD_DIRECTORY $[and $[HAVE_P3D_PLUGIN],$[HAVE_TINYXML],$[HAVE_NPAPI]]
#define BUILD_DIRECTORY $[and $[HAVE_P3D_PLUGIN],$[HAVE_NPAPI]]
#define _MT $[if $[P3D_PLUGIN_MT],_mt]
#define USE_PACKAGES tinyxml$[_MT] npapi
#define USE_PACKAGES npapi
#begin lib_target
// By Mozilla convention, on Windows at least, the generated DLL
@ -19,6 +19,7 @@
#define LOCAL_LIBS plugin_common$[_MT]
#define LINK_FORCE_STATIC_RELEASE_C_RUNTIME $[P3D_PLUGIN_MT]
#define OTHER_LIBS p3tinyxml
#define COMBINED_SOURCES \
$[TARGET]_composite1.cxx

View File

@ -2,7 +2,7 @@
// the "standalone" part of the Panda3D plugin/runtime system. Define
// HAVE_P3D_PLUGIN in your Config.pp to build it.
#define BUILD_DIRECTORY $[and $[HAVE_P3D_PLUGIN],$[HAVE_OPENSSL],$[HAVE_ZLIB],$[HAVE_TINYXML]]
#define BUILD_DIRECTORY $[and $[HAVE_P3D_PLUGIN],$[HAVE_OPENSSL],$[HAVE_ZLIB]]
#begin bin_target
#define USE_PACKAGES openssl zlib
@ -14,7 +14,7 @@
prc:c dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \
pandabase:c downloader:c express:c pandaexpress:m \
pystub
pystub p3tinyxml
#define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon
@ -42,7 +42,7 @@
prc:c dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \
pandabase:c downloader:c express:c pandaexpress:m \
pystub
pystub p3tinyxml
#define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon
@ -71,7 +71,7 @@
prc:c dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \
pandabase:c downloader:c express:c pandaexpress:m \
pystub
pystub p3tinyxml
#define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon
@ -97,7 +97,7 @@
prc:c dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \
pandabase:c downloader:c express:c pandaexpress:m \
pystub \
pystub p3tinyxml \
$[if $[OSX_PLATFORM],subprocbuffer]
#define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon

View File

@ -915,12 +915,6 @@
#define PHYSX_LIBS $[if $[WINDOWS_PLATFORM],PhysXLoader.lib NxCharacter.lib NxCooking.lib NxExtensions.lib,PhysXLoader NxCharacter NxCooking]
#defer HAVE_PHYSX $[libtest $[PHYSX_LPATH],$[PHYSX_LIBS]]
// Info for TinyXML library
#define TINYXML_IPATH
#define TINYXML_LPATH
#define TINYXML_LIBS $[if $[WINDOWS_PLATFORM],tinyxml.lib,tinyxml]
#defer HAVE_TINYXML $[libtest $[TINYXML_LPATH],$[TINYXML_LIBS]]
// Info for http://www.sourceforge.net/projects/chromium
#define CHROMIUM_IPATH /usr/include/chromium/include
#define CHROMIUM_LPATH /usr/lib/chromium/bin/WINT_NT

View File

@ -101,11 +101,6 @@
#else
#print - Did not find Ageia PhysX
#endif
#if $[HAVE_TINYXML]
#print + TinyXML
#else
#print - Did not find TinyXML
#endif
#if $[HAVE_GTK]
#print + gtk+-2
#else

View File

@ -309,11 +309,6 @@
#set PHYSX_LIBS $[PHYSX_LIBS]
#set HAVE_PHYSX $[HAVE_PHYSX]
#set TINYXML_IPATH $[unixfilename $[TINYXML_IPATH]]
#set TINYXML_LPATH $[unixfilename $[TINYXML_LPATH]]
#set TINYXML_LIBS $[TINYXML_LIBS]
#set HAVE_TINYXML $[HAVE_TINYXML]
#set CHROMIUM_IPATH $[unixfilename $[CHROMIUM_IPATH]]
#set CHROMIUM_LPATH $[unixfilename $[CHROMIUM_LPATH]]
#set CHROMIUM_LIBS $[CHROMIUM_LIBS]

View File

@ -452,18 +452,6 @@
#define physx_libs $[PHYSX_LIBS]
#endif
#if $[HAVE_TINYXML]
#define tinyxml_ipath $[wildcard $[TINYXML_IPATH]]
#define tinyxml_lpath $[wildcard $[TINYXML_LPATH]]
#define tinyxml_libs $[TINYXML_LIBS]
#endif
#if $[HAVE_TINYXML_MT]
#define tinyxml_mt_ipath $[wildcard $[TINYXML_MT_IPATH]]
#define tinyxml_mt_lpath $[wildcard $[TINYXML_MT_LPATH]]
#define tinyxml_mt_libs $[TINYXML_MT_LIBS]
#endif
#if $[HAVE_CHROMIUM]
#define chromium_ipath $[wildcard $[CHROMIUM_IPATH]]
#define chromium_lpath $[wildcard $[CHROMIUM_LPATH]]

View File

@ -63,7 +63,7 @@ PkgListSet(["PYTHON", "DIRECT", # Python support
"NPAPI", "AWESOMIUM", # Browser embedding
"GTK2", "WX", # Toolkit support
"OSMESA", "X11", "XF86DGA", "XRANDR", # Unix platform support
"PANDATOOL", "TINYXML", "PVIEW", "DEPLOYTOOLS", # Toolchain
"PANDATOOL", "PVIEW", "DEPLOYTOOLS", # Toolchain
"CONTRIB" # Experimental
])
@ -236,10 +236,10 @@ elif (DISTRIBUTOR == ""):
if (RUNTIME):
for pkg in PkgListGet():
if pkg not in ["OPENSSL", "TINYXML", "ZLIB", "NPAPI", "JPEG", "X11", "PNG"]:
if pkg not in ["OPENSSL", "ZLIB", "NPAPI", "JPEG", "X11", "PNG"]:
PkgDisable(pkg)
elif (PkgSkip(pkg)==1):
exit("Runtime must be compiled with OpenSSL, TinyXML, ZLib, NPAPI, JPEG, X11 and PNG support!")
exit("Runtime must be compiled with OpenSSL, ZLib, NPAPI, JPEG, X11 and PNG support!")
if (sys.platform.startswith("win")):
os.environ["BISON_SIMPLE"] = "thirdparty/win-util/bison.simple"
@ -250,9 +250,6 @@ if (INSTALLER and RTDIST):
if (INSTALLER) and (PkgSkip("PYTHON")) and (not RUNTIME):
exit("Cannot build installer without python")
if (RTDIST or RUNTIME) and (PkgSkip("TINYXML")):
exit("Cannot build rtdist or runtime without tinyxml")
if (RTDIST) and (PkgSkip("JPEG")):
exit("Cannot build rtdist without jpeg")
@ -412,7 +409,6 @@ if (COMPILER=="MSVC"):
if (PkgSkip("OPENCV")==0): LibName("OPENCV", GetThirdpartyDir() + "opencv/lib/cvaux.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", GetThirdpartyDir() + "opencv/lib/ml.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", GetThirdpartyDir() + "opencv/lib/cxcore.lib")
if (PkgSkip("TINYXML")==0): LibName("TINYXML", GetThirdpartyDir() + "tinyxml/lib/tinyxml.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", GetThirdpartyDir() + "ffmpeg/lib/avcodec-51-panda.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", GetThirdpartyDir() + "ffmpeg/lib/avformat-50-panda.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", GetThirdpartyDir() + "ffmpeg/lib/avutil-49-panda.lib")
@ -503,7 +499,6 @@ if (COMPILER=="LINUX"):
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.
@ -528,9 +523,9 @@ if (COMPILER=="LINUX"):
if (RUNTIME):
# For the runtime, all packages are required
for pkg in ["OPENSSL", "TINYXML", "ZLIB", "NPAPI", "JPEG", "X11", "PNG"]:
for pkg in ["OPENSSL", "ZLIB", "NPAPI", "JPEG", "X11", "PNG"]:
if (pkg in PkgListGet() and PkgSkip(pkg)==1):
exit("Runtime must be compiled with OpenSSL, TinyXML, ZLib, NPAPI, JPEG, X11 and PNG support!")
exit("Runtime must be compiled with OpenSSL, ZLib, NPAPI, JPEG, X11 and PNG support!")
if (not RUNTIME and not LocateBinary("bison")):
exit("Could not locate bison!")
@ -1374,7 +1369,6 @@ DTOOL_CONFIG=[
("HAVE_DIRECTCAM", 'UNDEF', 'UNDEF'),
("HAVE_SQUISH", 'UNDEF', 'UNDEF'),
("HAVE_FCOLLADA", 'UNDEF', 'UNDEF'),
("HAVE_TINYXML", 'UNDEF', 'UNDEF'),
("HAVE_OPENAL_FRAMEWORK", 'UNDEF', 'UNDEF'),
("PRC_SAVE_DESCRIPTIONS", '1', '1'),
("_SECURE_SCL", '1', 'UNDEF'),
@ -1871,6 +1865,8 @@ CopyAllHeaders('panda/src/ode')
CopyAllHeaders('panda/metalibs/pandaode')
CopyAllHeaders('panda/src/physics')
CopyAllHeaders('panda/src/particlesystem')
CopyAllHeaders('panda/src/tinyxml')
CopyAllHeaders('panda/src/dxml')
CopyAllHeaders('panda/metalibs/panda')
CopyAllHeaders('panda/src/audiotraits')
CopyAllHeaders('panda/src/audiotraits')
@ -2626,6 +2622,27 @@ if (PkgSkip("VRPN")==0 and not RUNTIME):
TargetAdd('libvrpn.in', opts=['IMOD:panda', 'ILIB:libvrpn', 'SRCDIR:panda/src/vrpn'])
TargetAdd('libvrpn_igate.obj', input='libvrpn.in', opts=["DEPENDENCYONLY"])
#
# DIRECTORY: panda/src/tinyxml/
#
OPTS=['DIR:panda/src/tinyxml', 'TINYXML']
DefSymbol("TINYXML", "TIXML_USE_STL", "")
TargetAdd('tinyxml_composite1.obj', opts=OPTS, input='tinyxml_composite1.cxx')
TargetAdd('libp3tinyxml.ilb', input='tinyxml_composite1.obj')
#
# DIRECTORY: panda/src/dxml/
#
if (not RUNTIME):
OPTS=['DIR:panda/src/dxml', 'BUILDING:PANDA']
TargetAdd('dxml_config_dxml.obj', opts=OPTS, input='config_dxml.cxx')
IGATEFILES=GetDirectoryContents('panda/src/dxml', ["*.h", "config_dxml.cxx"])
TargetAdd('libdxml.in', opts=OPTS, input=IGATEFILES)
TargetAdd('libdxml.in', opts=['IMOD:panda', 'ILIB:libdxml', 'SRCDIR:panda/src/dxml'])
TargetAdd('libdxml_igate.obj', input='libdxml.in', opts=["DEPENDENCYONLY"])
#
# DIRECTORY: panda/metalibs/panda/
#
@ -2666,6 +2683,7 @@ if (not RUNTIME):
TargetAdd('libpanda_module.obj', input='libnet.in')
TargetAdd('libpanda_module.obj', input='libpgui.in')
TargetAdd('libpanda_module.obj', input='libmovies.in')
TargetAdd('libpanda_module.obj', input='libdxml.in')
TargetAdd('libpanda.dll', input='panda_panda.obj')
TargetAdd('libpanda.dll', input='libpanda_module.obj')
@ -2739,6 +2757,9 @@ if (not RUNTIME):
TargetAdd('libpanda.dll', input='libnativenet_igate.obj')
TargetAdd('libpanda.dll', input='pandabase_pandabase.obj')
TargetAdd('libpanda.dll', input='libpandaexpress.dll')
TargetAdd('libpanda.dll', input='dxml_config_dxml.obj')
TargetAdd('libpanda.dll', input='libdxml_igate.obj')
TargetAdd('libpanda.dll', input='libp3tinyxml.ilb')
TargetAdd('libpanda.dll', input='libp3dtoolconfig.dll')
TargetAdd('libpanda.dll', input='libp3dtool.dll')
@ -3435,18 +3456,6 @@ if (PkgSkip("PYTHON")==0):
TargetAdd('libshowbase.in', opts=['IMOD:p3direct', 'ILIB:libshowbase', 'SRCDIR:direct/src/showbase'])
TargetAdd('libshowbase_igate.obj', input='libshowbase.in', opts=["DEPENDENCYONLY"])
#
# DIRECTORY: direct/src/dxml/
#
if (PkgSkip("PYTHON")==0 and PkgSkip("TINYXML")==0):
OPTS=['DIR:direct/src/dxml', 'BUILDING:DIRECT', 'TINYXML']
TargetAdd('dxml_config_dxml.obj', opts=OPTS, input='config_dxml.cxx')
IGATEFILES=GetDirectoryContents('direct/src/dxml', ["*.h", "config_dxml.cxx"])
TargetAdd('libdxml.in', opts=OPTS, input=IGATEFILES)
TargetAdd('libdxml.in', opts=['IMOD:p3direct', 'ILIB:libdxml', 'SRCDIR:direct/src/dxml'])
TargetAdd('libdxml_igate.obj', input='libdxml.in', opts=["DEPENDENCYONLY"])
#
# DIRECTORY: direct/metalibs/direct/
#
@ -3460,8 +3469,6 @@ if (PkgSkip("PYTHON")==0):
TargetAdd('libp3direct_module.obj', input='libdeadrec.in')
TargetAdd('libp3direct_module.obj', input='libinterval.in')
TargetAdd('libp3direct_module.obj', input='libdistributed.in')
if (PkgSkip("TINYXML")==0):
TargetAdd('libp3direct_module.obj', input='libdxml.in')
TargetAdd('libp3direct_module.obj', opts=OPTS)
TargetAdd('libp3direct_module.obj', opts=['IMOD:p3direct', 'ILIB:libp3direct'])
@ -3484,11 +3491,8 @@ if (PkgSkip("PYTHON")==0):
TargetAdd('libp3direct.dll', input='distributed_cConnectionRepository.obj')
TargetAdd('libp3direct.dll', input='distributed_cDistributedSmoothNodeBase.obj')
TargetAdd('libp3direct.dll', input='libdistributed_igate.obj')
if (PkgSkip("TINYXML")==0):
TargetAdd('libp3direct.dll', input='dxml_config_dxml.obj')
TargetAdd('libp3direct.dll', input='libdxml_igate.obj')
TargetAdd('libp3direct.dll', input=COMMON_PANDA_LIBS)
TargetAdd('libp3direct.dll', opts=['ADVAPI', 'OPENSSL', 'WINUSER', 'TINYXML'])
TargetAdd('libp3direct.dll', opts=['ADVAPI', 'OPENSSL', 'WINUSER'])
#
# DIRECTORY: direct/src/dcparse/
@ -3523,7 +3527,7 @@ if (RTDIST or RUNTIME):
if (sys.platform != "darwin" and not sys.platform.startswith("win")):
DefSymbol("RUNTIME", "HAVE_X11", "1")
OPTS=['DIR:direct/src/plugin', 'BUILDING:P3D_PLUGIN', 'RUNTIME', 'TINYXML', 'OPENSSL']
OPTS=['DIR:direct/src/plugin', 'BUILDING:P3D_PLUGIN', 'RUNTIME', 'OPENSSL']
TargetAdd('plugin_common.obj', opts=OPTS, input='plugin_common_composite1.cxx')
OPTS += ['ZLIB', 'JPEG', 'PNG', 'MSIMG']
@ -3547,9 +3551,10 @@ if (RTDIST or RUNTIME):
TargetAdd(fname, input='plugin_binaryXml.obj')
TargetAdd(fname, input='plugin_handleStream.obj')
TargetAdd(fname, input='plugin_handleStreamBuf.obj')
TargetAdd(fname, input='libp3tinyxml.ilb')
if (sys.platform == "darwin"):
TargetAdd(fname, input='libsubprocbuffer.ilb')
TargetAdd(fname, opts=['TINYXML', 'OPENSSL', 'ZLIB', 'JPEG', 'PNG', 'X11', 'ADVAPI', 'WINUSER', 'WINGDI', 'WINSHELL', 'WINCOMCTL', 'WINOLE', 'MSIMG'])
TargetAdd(fname, opts=['OPENSSL', 'ZLIB', 'JPEG', 'PNG', 'X11', 'ADVAPI', 'WINUSER', 'WINGDI', 'WINSHELL', 'WINCOMCTL', 'WINOLE', 'MSIMG'])
if (PkgSkip("PYTHON")==0 and RTDIST):
TargetAdd('p3dpython_p3dpython_composite1.obj', opts=OPTS, input='p3dpython_composite1.cxx')
@ -3557,11 +3562,13 @@ if (RTDIST or RUNTIME):
TargetAdd('p3dpython.exe', input='p3dpython_p3dpython_composite1.obj')
TargetAdd('p3dpython.exe', input='p3dpython_p3dPythonMain.obj')
TargetAdd('p3dpython.exe', input=COMMON_PANDA_LIBS)
TargetAdd('p3dpython.exe', opts=['NOSTRIP', 'PYTHON', 'TINYXML', 'WINUSER'])
TargetAdd('p3dpython.exe', input='libp3tinyxml.ilb')
TargetAdd('p3dpython.exe', opts=['NOSTRIP', 'PYTHON', 'WINUSER'])
TargetAdd('libp3dpython.dll', input='p3dpython_p3dpython_composite1.obj')
TargetAdd('libp3dpython.dll', input=COMMON_PANDA_LIBS)
TargetAdd('libp3dpython.dll', opts=['PYTHON', 'TINYXML', 'WINUSER'])
TargetAdd('libp3dpython.dll', input='libp3tinyxml.ilb')
TargetAdd('libp3dpython.dll', opts=['PYTHON', 'WINUSER'])
if (sys.platform.startswith("win")):
DefSymbol("NON_CONSOLE", "NON_CONSOLE", "")
@ -3571,7 +3578,8 @@ if (RTDIST or RUNTIME):
TargetAdd('p3dpythonw.exe', input='p3dpythonw_p3dpython_composite1.obj')
TargetAdd('p3dpythonw.exe', input='p3dpythonw_p3dPythonMain.obj')
TargetAdd('p3dpythonw.exe', input=COMMON_PANDA_LIBS)
TargetAdd('p3dpythonw.exe', opts=['SUBSYSTEM:WINDOWS', 'PYTHON', 'TINYXML', 'WINUSER'])
TargetAdd('p3dpythonw.exe', input='libp3tinyxml.ilb')
TargetAdd('p3dpythonw.exe', opts=['SUBSYSTEM:WINDOWS', 'PYTHON', 'WINUSER'])
if (PkgSkip("OPENSSL")==0 and RTDIST):
OPTS=['DIR:direct/src/plugin', 'DIR:panda/src/express', 'OPENSSL', 'WX']
@ -3600,7 +3608,7 @@ if (RUNTIME and PkgSkip("NPAPI")==0):
elif (sys.platform=="darwin"):
TargetAdd('nppanda3d.rsrc', opts=OPTS, input='nppanda3d.r')
OPTS += ['NPAPI', 'TINYXML']
OPTS += ['NPAPI']
TargetAdd('plugin_npapi_nppanda3d_composite1.obj', opts=OPTS, input='nppanda3d_composite1.cxx')
TargetAdd('nppanda3d.plugin', input='plugin_common.obj')
@ -3612,14 +3620,15 @@ if (RUNTIME and PkgSkip("NPAPI")==0):
TargetAdd('nppanda3d.plugin', input='nppanda3d.rsrc')
TargetAdd('nppanda3d.plugin', input='nppanda3d.plist', ipath=OPTS)
TargetAdd('nppanda3d.plugin', input='plugin_find_root_dir_assist.obj')
TargetAdd('nppanda3d.plugin', opts=['NPAPI', 'TINYXML', 'OPENSSL', 'WINUSER', 'WINSHELL', 'WINOLE', 'CARBON'])
TargetAdd('nppanda3d.plugin', input='libp3tinyxml.ilb')
TargetAdd('nppanda3d.plugin', opts=['NPAPI', 'OPENSSL', 'WINUSER', 'WINSHELL', 'WINOLE', 'CARBON'])
#
# DIRECTORY: direct/src/plugin_activex/
#
if (RUNTIME and sys.platform.startswith("win")):
OPTS=['DIR:direct/src/plugin_activex', 'RUNTIME', 'ACTIVEX', 'TINYXML']
OPTS=['DIR:direct/src/plugin_activex', 'RUNTIME', 'ACTIVEX']
DefSymbol('ACTIVEX', '_USRDLL', '')
DefSymbol('ACTIVEX', '_WINDLL', '')
DefSymbol('ACTIVEX', '_AFXDLL', '')
@ -3633,14 +3642,15 @@ if (RUNTIME and sys.platform.startswith("win")):
TargetAdd('p3dactivex.ocx', input='plugin_activex_p3dactivex_composite1.obj')
TargetAdd('p3dactivex.ocx', input='P3DActiveX.res')
TargetAdd('p3dactivex.ocx', input='P3DActiveX.def', ipath=OPTS)
TargetAdd('p3dactivex.ocx', opts=['MFC', 'WINSOCK2', 'OPENSSL', 'TINYXML'])
TargetAdd('p3dactivex.ocx', input='libp3tinyxml.ilb')
TargetAdd('p3dactivex.ocx', opts=['MFC', 'WINSOCK2', 'OPENSSL'])
#
# DIRECTORY: direct/src/plugin_standalone/
#
if (RUNTIME):
OPTS=['DIR:direct/src/plugin_standalone', 'RUNTIME', 'TINYXML', 'OPENSSL']
OPTS=['DIR:direct/src/plugin_standalone', 'RUNTIME', 'OPENSSL']
TargetAdd('plugin_standalone_panda3d.obj', opts=OPTS, input='panda3d.cxx')
TargetAdd('plugin_standalone_panda3dBase.obj', opts=OPTS, input='panda3dBase.cxx')
@ -3668,7 +3678,8 @@ if (RUNTIME):
TargetAdd('panda3d.exe', input='libp3dtoolconfig.dll')
TargetAdd('panda3d.exe', input='libp3dtool.dll')
TargetAdd('panda3d.exe', input='libp3pystub.dll')
TargetAdd('panda3d.exe', opts=['NOICON', 'TINYXML', 'OPENSSL', 'ZLIB', 'WINGDI', 'WINUSER', 'WINSHELL', 'ADVAPI', 'WINSOCK2', 'WINOLE', 'CARBON'])
TargetAdd('panda3d.exe', input='libp3tinyxml.ilb')
TargetAdd('panda3d.exe', opts=['NOICON', 'OPENSSL', 'ZLIB', 'WINGDI', 'WINUSER', 'WINSHELL', 'ADVAPI', 'WINSOCK2', 'WINOLE', 'CARBON'])
if (sys.platform == "darwin"):
TargetAdd('plugin_standalone_panda3dMac.obj', opts=OPTS, input='panda3dMac.cxx')
@ -3681,9 +3692,10 @@ if (RUNTIME):
TargetAdd('Panda3D.app', input='libp3dtoolconfig.dll')
TargetAdd('Panda3D.app', input='libp3dtool.dll')
TargetAdd('Panda3D.app', input='libp3pystub.dll')
TargetAdd('Panda3D.app', input='libp3tinyxml.ilb')
TargetAdd('Panda3D.app', input='panda3d_mac.plist', ipath=OPTS)
TargetAdd('Panda3D.app', input='models/plugin_images/panda3d.icns')
TargetAdd('Panda3D.app', opts=['NOSTRIP', 'TINYXML', 'OPENSSL', 'ZLIB', 'WINGDI', 'WINUSER', 'WINSHELL', 'ADVAPI', 'WINSOCK2', 'WINOLE', 'CARBON'])
TargetAdd('Panda3D.app', opts=['NOSTRIP', 'OPENSSL', 'ZLIB', 'WINGDI', 'WINUSER', 'WINSHELL', 'ADVAPI', 'WINSOCK2', 'WINOLE', 'CARBON'])
elif (sys.platform.startswith("win")):
TargetAdd('plugin_standalone_panda3dWinMain.obj', opts=OPTS, input='panda3dWinMain.cxx')
TargetAdd('panda3dw.exe', input='plugin_standalone_panda3d.obj')
@ -3694,10 +3706,11 @@ if (RUNTIME):
TargetAdd('panda3dw.exe', input='libp3dtoolconfig.dll')
TargetAdd('panda3dw.exe', input='libp3dtool.dll')
TargetAdd('panda3dw.exe', input='libp3pystub.dll')
TargetAdd('panda3dw.exe', opts=['TINYXML', 'OPENSSL', 'ZLIB', 'WINGDI', 'WINUSER', 'WINSHELL', 'ADVAPI', 'WINSOCK2', 'WINOLE', 'CARBON'])
TargetAdd('panda3dw.exe', input='libp3tinyxml.ilb')
TargetAdd('panda3dw.exe', opts=['OPENSSL', 'ZLIB', 'WINGDI', 'WINUSER', 'WINSHELL', 'ADVAPI', 'WINSOCK2', 'WINOLE', 'CARBON'])
if (RTDIST):
OPTS=['BUILDING:P3D_PLUGIN', 'DIR:direct/src/plugin_standalone', 'DIR:direct/src/plugin', 'DIR:dtool/src/dtoolbase', 'DIR:dtool/src/dtoolutil', 'DIR:dtool/src/pystub', 'DIR:dtool/src/prc', 'DIR:dtool/src/dconfig', 'DIR:panda/src/express', 'DIR:panda/src/downloader', 'RUNTIME', 'P3DEMBED', 'TINYXML', 'OPENSSL', 'JPEG', 'PNG', 'ZLIB']
OPTS=['BUILDING:P3D_PLUGIN', 'DIR:direct/src/plugin_standalone', 'DIR:direct/src/plugin', 'DIR:dtool/src/dtoolbase', 'DIR:dtool/src/dtoolutil', 'DIR:dtool/src/pystub', 'DIR:dtool/src/prc', 'DIR:dtool/src/dconfig', 'DIR:panda/src/express', 'DIR:panda/src/downloader', 'RUNTIME', 'P3DEMBED', 'OPENSSL', 'JPEG', 'PNG', 'ZLIB']
# This is arguably a big fat ugly hack, but doing it otherwise would complicate the build process considerably.
DefSymbol("P3DEMBED", "LINK_ALL_STATIC", "")
TargetAdd('plugin_standalone_panda3dBase.obj', opts=OPTS, input='panda3dBase.cxx')
@ -3735,8 +3748,9 @@ if (RTDIST):
TargetAdd('p3dembed.exe', input='plugin_find_root_dir_assist.obj')
if (sys.platform == "darwin"):
TargetAdd('p3dembed.exe', input='libsubprocbuffer.ilb')
TargetAdd('p3dembed.exe', input='libp3tinyxml.ilb')
TargetAdd('p3dembed.exe', input='libp3d_plugin_static.ilb')
TargetAdd('p3dembed.exe', opts=['NOICON', 'NOSTRIP', 'WINGDI', 'WINSOCK2', 'ZLIB', 'WINUSER', 'OPENSSL', 'JPEG', 'WINOLE', 'CARBON', 'MSIMG', 'WINCOMCTL', 'TINYXML', 'ADVAPI', 'WINSHELL', 'X11', 'PNG'])
TargetAdd('p3dembed.exe', opts=['NOICON', 'NOSTRIP', 'WINGDI', 'WINSOCK2', 'ZLIB', 'WINUSER', 'OPENSSL', 'JPEG', 'WINOLE', 'CARBON', 'MSIMG', 'WINCOMCTL', 'ADVAPI', 'WINSHELL', 'X11', 'PNG'])
#
# DIRECTORY: pandatool/src/pandatoolbase/

4
panda/.gitignore vendored
View File

@ -1,3 +1 @@
/built/
Makefile
pp.dep
*.pyc

View File

@ -17,7 +17,7 @@
parametrics \
pnmimagetypes pnmimage \
pnmtext text tform lerp putil \
audio pgui pandabase
audio pgui pandabase dxml
#define LOCAL_LIBS \
downloader express pandabase
@ -38,16 +38,3 @@
#define INSTALL_HEADERS panda.h
#end metalib_target

View File

@ -1,9 +1,8 @@
#begin lib_target
#define BUILD_TARGET $[HAVE_TINYXML]
#define USE_PACKAGES tinyxml
#define LOCAL_LIBS p3tinyxml pandabase
#begin lib_target
#define TARGET dxml
#define LOCAL_LIBS directbase
#define OTHER_LIBS \
interrogatedb:c dconfig:c dtoolconfig:m \
dtoolutil:c dtoolbase:c prc:c dtool:m

View File

@ -15,7 +15,7 @@
#ifndef CONFIG_DXML_H
#define CONFIG_DXML_H
#include "directbase.h"
#include "pandabase.h"
#include "notifyCategoryProxy.h"
#include "dconfig.h"
@ -29,9 +29,9 @@
#define TIXML_USE_STL
#endif
NotifyCategoryDecl(dxml, EXPCL_DIRECT, EXPTP_DIRECT);
NotifyCategoryDecl(dxml, EXPCL_PANDA, EXPTP_PANDA);
extern EXPCL_DIRECT void init_libdxml();
extern EXPCL_PANDA void init_libdxml();
class TiXmlDocument;
BEGIN_PUBLISH

View File

@ -0,0 +1,15 @@
#begin static_lib_target
#define TARGET p3tinyxml
#define COMBINED_SOURCES tinyxml_composite1.cxx
#define SOURCES \
tinyxml.h
#define INCLUDED_SOURCES \
tinyxml.cpp tinyxmlparser.cpp tinyxmlerror.cpp
#define EXTRA_CDEFS TIXML_USE_STL
#define C++FLAGS $[CFLAGS_SHARED]
#end static_lib_target

File diff suppressed because it is too large Load Diff

1799
panda/src/tinyxml/tinyxml.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
#include "tinyxml.cpp"
#include "tinyxmlerror.cpp"
#include "tinyxmlparser.cpp"

View File

@ -0,0 +1,52 @@
/*
www.sourceforge.net/projects/tinyxml
Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product documentation
would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
*/
#include "tinyxml.h"
// The goal of the seperate error file is to make the first
// step towards localization. tinyxml (currently) only supports
// english error messages, but the could now be translated.
//
// It also cleans up the code a bit.
//
const char* TiXmlBase::errorString[ TIXML_ERROR_STRING_COUNT ] =
{
"No error",
"Error",
"Failed to open file",
"Error parsing Element.",
"Failed to read Element name",
"Error reading Element value.",
"Error reading Attributes.",
"Error: empty tag.",
"Error reading end tag.",
"Error parsing Unknown.",
"Error parsing Comment.",
"Error parsing Declaration.",
"Error document empty.",
"Error null (0) or unexpected EOF found in input stream.",
"Error parsing CDATA.",
"Error when TiXmlDocument added to document, because TiXmlDocument can only be at the root.",
};

File diff suppressed because it is too large Load Diff