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 USE_PACKAGES native_net
#define COMPONENT_LIBS \ #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 \ #define OTHER_LIBS \
panda:m \ panda:m \

View File

@ -21,7 +21,7 @@ class panda3d_import_manager:
os = os os = os
sys = sys sys = sys
imp = imp imp = imp
# Figure out the dll suffix (commonly, _d for windows debug builds), # Figure out the dll suffix (commonly, _d for windows debug builds),
# and the dll extension. # and the dll extension.
dll_suffix = '' dll_suffix = ''
@ -38,20 +38,20 @@ class panda3d_import_manager:
dll_suffix = '' dll_suffix = ''
if sys.executable.endswith('_d.exe'): if sys.executable.endswith('_d.exe'):
dll_suffix = '_d' dll_suffix = '_d'
# On OSX, extension modules can be loaded from either .so or .dylib. # On OSX, extension modules can be loaded from either .so or .dylib.
if sys.platform == "darwin": if sys.platform == "darwin":
dll_exts = ('.pyd', '.so', '.dylib') dll_exts = ('.pyd', '.so', '.dylib')
prepared = False prepared = False
@classmethod @classmethod
def __prepare(cls): def __prepare(cls):
# This method only needs to be called once. # This method only needs to be called once.
if cls.prepared: if cls.prepared:
return return
cls.prepared = True cls.prepared = True
# First, we must ensure that the library path is # First, we must ensure that the library path is
# modified to locate all of the dynamic libraries. # modified to locate all of the dynamic libraries.
target = None target = None
@ -71,41 +71,41 @@ class panda3d_import_manager:
cls.__prepend_to_path("PATH", target) cls.__prepend_to_path("PATH", target)
else: else:
cls.__prepend_to_path("LD_LIBRARY_PATH", target) cls.__prepend_to_path("LD_LIBRARY_PATH", target)
if cls.sys.platform == "darwin": if cls.sys.platform == "darwin":
cls.__prepend_to_path("DYLD_LIBRARY_PATH", target) cls.__prepend_to_path("DYLD_LIBRARY_PATH", target)
@classmethod @classmethod
def __prepend_to_path(cls, varname, target): def __prepend_to_path(cls, varname, target):
""" Prepends the given directory to the """ Prepends the given directory to the
specified search path environment variable. """ specified search path environment variable. """
# Get the current value # Get the current value
if varname in cls.os.environ: if varname in cls.os.environ:
path = cls.os.environ[varname].strip(cls.os.pathsep) path = cls.os.environ[varname].strip(cls.os.pathsep)
else: else:
path = "" path = ""
# Prepend our value, if it's not already the first thing # Prepend our value, if it's not already the first thing
if len(path) == 0: if len(path) == 0:
cls.os.environ[varname] = target cls.os.environ[varname] = target
elif not path.startswith(target): elif not path.startswith(target):
cls.os.environ[varname] = target + cls.os.pathsep + path cls.os.environ[varname] = target + cls.os.pathsep + path
@classmethod @classmethod
def libimport(cls, name): def libimport(cls, name):
""" Imports and returns the specified library name. The """ Imports and returns the specified library name. The
provided library name has to be without dll extension. """ provided library name has to be without dll extension. """
if not cls.prepared: cls.__prepare() if not cls.prepared: cls.__prepare()
# Try to import it normally first. # Try to import it normally first.
try: try:
return __import__(name) return __import__(name)
except ImportError, err: except ImportError, err:
if str(err) != "No module named " + name: if str(err) != "No module named " + name:
raise raise
# Hm, importing normally didn't work. Let's try imp.load_dynamic. # Hm, importing normally didn't work. Let's try imp.load_dynamic.
# But first, locate the desired library. # But first, locate the desired library.
target = None target = None
@ -128,9 +128,9 @@ class panda3d_submodule(type(sys)):
""" Represents a submodule of 'panda3d' that represents a dynamic """ Represents a submodule of 'panda3d' that represents a dynamic
library. This dynamic library is loaded when something is accessed library. This dynamic library is loaded when something is accessed
from the module. """ from the module. """
__manager__ = panda3d_import_manager __manager__ = panda3d_import_manager
def __init__(self, name, library): def __init__(self, name, library):
type(sys).__init__(self, "panda3d." + name) type(sys).__init__(self, "panda3d." + name)
self.__library__ = library self.__library__ = library
@ -154,7 +154,7 @@ class panda3d_submodule(type(sys)):
return self.__libraries__ return self.__libraries__
elif name in dir(mod): elif name in dir(mod):
return mod.__dict__[name] return mod.__dict__[name]
# Not found? Raise the error that Python would normally raise. # Not found? Raise the error that Python would normally raise.
raise AttributeError, "'module' object has no attribute '%s'" % name raise AttributeError, "'module' object has no attribute '%s'" % name
@ -162,9 +162,9 @@ class panda3d_multisubmodule(type(sys)):
""" Represents a submodule of 'panda3d' that represents multiple """ Represents a submodule of 'panda3d' that represents multiple
dynamic libraries. These are loaded when something is accessed dynamic libraries. These are loaded when something is accessed
from the module. """ from the module. """
__manager__ = panda3d_import_manager __manager__ = panda3d_import_manager
def __init__(self, name, libraries): def __init__(self, name, libraries):
type(sys).__init__(self, "panda3d." + name) type(sys).__init__(self, "panda3d." + name)
self.__libraries__ = libraries self.__libraries__ = libraries
@ -195,16 +195,16 @@ class panda3d_multisubmodule(type(sys)):
class panda3d_module(type(sys)): class panda3d_module(type(sys)):
""" Represents the main 'panda3d' module. """ """ Represents the main 'panda3d' module. """
__file__ = __file__ __file__ = __file__
modules = panda3d_modules modules = panda3d_modules
__manager__ = panda3d_import_manager __manager__ = panda3d_import_manager
def __load__(self): def __load__(self):
""" Force all the libraries to be loaded right now. """ """ Force all the libraries to be loaded right now. """
for module in self.modules: for module in self.modules:
self.__manager__.sys.modules["panda3d.%s" % module].__load__() self.__manager__.sys.modules["panda3d.%s" % module].__load__()
def __getattr__(self, name): def __getattr__(self, name):
if name == "__all__": if name == "__all__":
return self.modules.keys() return self.modules.keys()

View File

@ -19,7 +19,7 @@
// instead of the dynamic runtime library, which is much better for // instead of the dynamic runtime library, which is much better for
// distributing the plugin with the XPI and CAB interfaces. This // distributing the plugin with the XPI and CAB interfaces. This
// requires that special /MT versions of OpenSSL, libjpeg, libpng, // 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] #define _MT $[if $[P3D_PLUGIN_MT],_mt]
@ -27,7 +27,7 @@
fileSpec.cxx fileSpec.h fileSpec.I \ fileSpec.cxx fileSpec.h fileSpec.I \
find_root_dir.cxx find_root_dir.h \ find_root_dir.cxx find_root_dir.h \
$[if $[IS_OSX],find_root_dir_assist.mm] \ $[if $[IS_OSX],find_root_dir_assist.mm] \
get_tinyxml.h \ get_tinyxml.h
binaryXml.cxx binaryXml.h \ binaryXml.cxx binaryXml.h \
fhandle.h \ fhandle.h \
handleStream.cxx handleStream.h handleStream.I \ handleStream.cxx handleStream.h handleStream.I \
@ -105,19 +105,19 @@
#begin lib_target #begin lib_target
// //
// p3d_plugin.dll, the main entry point to the Core API. // 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 BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_OPENSSL],$[HAVE_ZLIB],$[HAVE_JPEG],$[HAVE_PNG]]
#define USE_PACKAGES tinyxml$[_MT] openssl$[_MT] zlib$[_MT] jpeg$[_MT] png$[_MT] x11 #define USE_PACKAGES openssl$[_MT] zlib$[_MT] jpeg$[_MT] png$[_MT] x11
#define TARGET p3d_plugin #define TARGET p3d_plugin
#define LIB_PREFIX #define LIB_PREFIX
#define BUILDING_DLL BUILDING_P3D_PLUGIN #define BUILDING_DLL BUILDING_P3D_PLUGIN
#define LINK_FORCE_STATIC_RELEASE_C_RUNTIME $[P3D_PLUGIN_MT] #define LINK_FORCE_STATIC_RELEASE_C_RUNTIME $[P3D_PLUGIN_MT]
#define OTHER_LIBS \ #define OTHER_LIBS \
$[if $[OSX_PLATFORM],subprocbuffer] p3tinyxml $[if $[OSX_PLATFORM],subprocbuffer]
#define COMBINED_SOURCES p3d_plugin_composite1.cxx #define COMBINED_SOURCES p3d_plugin_composite1.cxx
#define SOURCES $[COREAPI_SOURCES] #define SOURCES $[COREAPI_SOURCES]
@ -132,17 +132,17 @@
#begin static_lib_target #begin static_lib_target
// //
// libp3d_plugin_static.lib, the Core API as a static library (for p3dembed). // 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 BUILD_TARGET $[and $[HAVE_P3D_PLUGIN],$[HAVE_OPENSSL],$[HAVE_ZLIB],$[HAVE_JPEG],$[HAVE_PNG]]
#define USE_PACKAGES tinyxml openssl zlib jpeg png x11 #define USE_PACKAGES openssl zlib jpeg png x11
#define TARGET p3d_plugin_static #define TARGET p3d_plugin_static
#define BUILDING_DLL BUILDING_P3D_PLUGIN #define BUILDING_DLL BUILDING_P3D_PLUGIN
#define OTHER_LIBS \ #define OTHER_LIBS \
$[if $[OSX_PLATFORM],subprocbuffer] p3tinyxml $[if $[OSX_PLATFORM],subprocbuffer]
#define COMBINED_SOURCES p3d_plugin_composite1.cxx #define COMBINED_SOURCES p3d_plugin_composite1.cxx
#define SOURCES $[COREAPI_SOURCES] #define SOURCES $[COREAPI_SOURCES]
@ -179,14 +179,14 @@
mkdir_complete.cxx mkdir_complete.h mkdir_complete.cxx mkdir_complete.h
#begin static_lib_target #begin static_lib_target
// //
// libplugin_common.lib, a repository of code shared between the core // libplugin_common.lib, a repository of code shared between the core
// API and the various plugin implementations. // 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 TARGET plugin_common
#define USE_PACKAGES tinyxml openssl #define USE_PACKAGES openssl
#define SOURCES $[PLUGIN_COMMON_SOURCES] #define SOURCES $[PLUGIN_COMMON_SOURCES]
@ -194,13 +194,13 @@
#if $[P3D_PLUGIN_MT] #if $[P3D_PLUGIN_MT]
#begin static_lib_target #begin static_lib_target
// //
// libplugin_common_mt.lib, the same as above, with /MT compilation. // 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 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 LINK_FORCE_STATIC_RELEASE_C_RUNTIME 1
#define SOURCES $[PLUGIN_COMMON_SOURCES] #define SOURCES $[PLUGIN_COMMON_SOURCES]
@ -220,14 +220,14 @@
// to invoke a particular instance of Panda. // to invoke a particular instance of Panda.
// //
#define BUILD_TARGET $[and $[HAVE_TINYXML],$[HAVE_PYTHON],$[HAVE_OPENSSL]] #define BUILD_TARGET $[and $[HAVE_PYTHON],$[HAVE_OPENSSL]]
#define USE_PACKAGES tinyxml python openssl cg #define USE_PACKAGES python openssl cg
#define TARGET p3dpython #define TARGET p3dpython
#define OTHER_LIBS \ #define OTHER_LIBS \
dtoolutil:c dtoolbase:c dtool:m \ dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig: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 \ pgraph:c pgraphnodes:c cull:c gsgbase:c gobj:c \
mathutil:c lerp:c downloader:c pnmimage:c \ mathutil:c lerp:c downloader:c pnmimage:c \
prc:c pstatclient:c pandabase:c linmath:c putil:c \ prc:c pstatclient:c pandabase:c linmath:c putil:c \
@ -268,15 +268,15 @@
// the desktop.) // the desktop.)
// //
#define BUILD_TARGET $[and $[HAVE_TINYXML],$[HAVE_PYTHON],$[HAVE_OPENSSL],$[WINDOWS_PLATFORM]] #define BUILD_TARGET $[and $[HAVE_PYTHON],$[HAVE_OPENSSL],$[WINDOWS_PLATFORM]]
#define USE_PACKAGES tinyxml python openssl #define USE_PACKAGES python openssl
#define TARGET p3dpythonw #define TARGET p3dpythonw
#define EXTRA_CDEFS NON_CONSOLE #define EXTRA_CDEFS NON_CONSOLE
#define OTHER_LIBS \ #define OTHER_LIBS \
dtoolutil:c dtoolbase:c dtool:m \ dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig: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 \ pgraph:c pgraphnodes:c cull:c gsgbase:c gobj:c \
mathutil:c lerp:c downloader:c pnmimage:c \ mathutil:c lerp:c downloader:c pnmimage:c \
prc:c pstatclient:c pandabase:c linmath:c putil:c \ prc:c pstatclient:c pandabase:c linmath:c putil:c \
@ -314,15 +314,15 @@
// desparation fallback in case forking fails for some reason. // desparation fallback in case forking fails for some reason.
// //
#define BUILD_TARGET $[and $[HAVE_TINYXML],$[HAVE_PYTHON],$[HAVE_OPENSSL]] #define BUILD_TARGET $[and $[HAVE_PYTHON],$[HAVE_OPENSSL]]
#define USE_PACKAGES tinyxml python openssl cg #define USE_PACKAGES python openssl cg
#define TARGET libp3dpython #define TARGET libp3dpython
#define LIB_PREFIX #define LIB_PREFIX
#define OTHER_LIBS \ #define OTHER_LIBS \
dtoolutil:c dtoolbase:c dtool:m \ dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig: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 \ pgraph:c pgraphnodes:c cull:c gsgbase:c gobj:c \
mathutil:c lerp:c downloader:c pnmimage:c \ mathutil:c lerp:c downloader:c pnmimage:c \
prc:c pstatclient:c pandabase:c linmath:c putil: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 // developing the plugin system itself. Define HAVE_P3D_PLUGIN in
// your Config.pp to build this directory. // 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 _MT $[if $[P3D_PLUGIN_MT],_mt]
#define USE_PACKAGES tinyxml$[_MT]
#begin lib_target #begin lib_target
#define TARGET p3dactivex #define TARGET p3dactivex
@ -16,6 +15,7 @@
#define LOCAL_LIBS plugin_common$[_MT] #define LOCAL_LIBS plugin_common$[_MT]
#define LINK_FORCE_STATIC_RELEASE_C_RUNTIME $[P3D_PLUGIN_MT] #define LINK_FORCE_STATIC_RELEASE_C_RUNTIME $[P3D_PLUGIN_MT]
#define OTHER_LIBS p3tinyxml
#define COMBINED_SOURCES \ #define COMBINED_SOURCES \
$[TARGET]_composite1.cxx $[TARGET]_composite1.cxx

View File

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

View File

@ -2,7 +2,7 @@
// the "standalone" part of the Panda3D plugin/runtime system. Define // the "standalone" part of the Panda3D plugin/runtime system. Define
// HAVE_P3D_PLUGIN in your Config.pp to build it. // 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 #begin bin_target
#define USE_PACKAGES openssl zlib #define USE_PACKAGES openssl zlib
@ -14,7 +14,7 @@
prc:c dtoolutil:c dtoolbase:c dtool:m \ prc:c dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \ interrogatedb:c dconfig:c dtoolconfig:m \
pandabase:c downloader:c express:c pandaexpress:m \ pandabase:c downloader:c express:c pandaexpress:m \
pystub pystub p3tinyxml
#define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon #define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon
@ -42,7 +42,7 @@
prc:c dtoolutil:c dtoolbase:c dtool:m \ prc:c dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \ interrogatedb:c dconfig:c dtoolconfig:m \
pandabase:c downloader:c express:c pandaexpress:m \ pandabase:c downloader:c express:c pandaexpress:m \
pystub pystub p3tinyxml
#define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon #define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon
@ -71,7 +71,7 @@
prc:c dtoolutil:c dtoolbase:c dtool:m \ prc:c dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \ interrogatedb:c dconfig:c dtoolconfig:m \
pandabase:c downloader:c express:c pandaexpress:m \ pandabase:c downloader:c express:c pandaexpress:m \
pystub pystub p3tinyxml
#define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon #define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon
@ -97,7 +97,7 @@
prc:c dtoolutil:c dtoolbase:c dtool:m \ prc:c dtoolutil:c dtoolbase:c dtool:m \
interrogatedb:c dconfig:c dtoolconfig:m \ interrogatedb:c dconfig:c dtoolconfig:m \
pandabase:c downloader:c express:c pandaexpress:m \ pandabase:c downloader:c express:c pandaexpress:m \
pystub \ pystub p3tinyxml \
$[if $[OSX_PLATFORM],subprocbuffer] $[if $[OSX_PLATFORM],subprocbuffer]
#define OSX_SYS_FRAMEWORKS Foundation AppKit Carbon #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] #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]] #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 // Info for http://www.sourceforge.net/projects/chromium
#define CHROMIUM_IPATH /usr/include/chromium/include #define CHROMIUM_IPATH /usr/include/chromium/include
#define CHROMIUM_LPATH /usr/lib/chromium/bin/WINT_NT #define CHROMIUM_LPATH /usr/lib/chromium/bin/WINT_NT

View File

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

View File

@ -309,11 +309,6 @@
#set PHYSX_LIBS $[PHYSX_LIBS] #set PHYSX_LIBS $[PHYSX_LIBS]
#set HAVE_PHYSX $[HAVE_PHYSX] #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_IPATH $[unixfilename $[CHROMIUM_IPATH]]
#set CHROMIUM_LPATH $[unixfilename $[CHROMIUM_LPATH]] #set CHROMIUM_LPATH $[unixfilename $[CHROMIUM_LPATH]]
#set CHROMIUM_LIBS $[CHROMIUM_LIBS] #set CHROMIUM_LIBS $[CHROMIUM_LIBS]

View File

@ -452,18 +452,6 @@
#define physx_libs $[PHYSX_LIBS] #define physx_libs $[PHYSX_LIBS]
#endif #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] #if $[HAVE_CHROMIUM]
#define chromium_ipath $[wildcard $[CHROMIUM_IPATH]] #define chromium_ipath $[wildcard $[CHROMIUM_IPATH]]
#define chromium_lpath $[wildcard $[CHROMIUM_LPATH]] #define chromium_lpath $[wildcard $[CHROMIUM_LPATH]]

View File

@ -63,7 +63,7 @@ PkgListSet(["PYTHON", "DIRECT", # Python support
"NPAPI", "AWESOMIUM", # Browser embedding "NPAPI", "AWESOMIUM", # Browser embedding
"GTK2", "WX", # Toolkit support "GTK2", "WX", # Toolkit support
"OSMESA", "X11", "XF86DGA", "XRANDR", # Unix platform support "OSMESA", "X11", "XF86DGA", "XRANDR", # Unix platform support
"PANDATOOL", "TINYXML", "PVIEW", "DEPLOYTOOLS", # Toolchain "PANDATOOL", "PVIEW", "DEPLOYTOOLS", # Toolchain
"CONTRIB" # Experimental "CONTRIB" # Experimental
]) ])
@ -236,10 +236,10 @@ elif (DISTRIBUTOR == ""):
if (RUNTIME): if (RUNTIME):
for pkg in PkgListGet(): 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) PkgDisable(pkg)
elif (PkgSkip(pkg)==1): 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")): if (sys.platform.startswith("win")):
os.environ["BISON_SIMPLE"] = "thirdparty/win-util/bison.simple" 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): if (INSTALLER) and (PkgSkip("PYTHON")) and (not RUNTIME):
exit("Cannot build installer without python") 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")): if (RTDIST) and (PkgSkip("JPEG")):
exit("Cannot build rtdist without 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/cvaux.lib")
if (PkgSkip("OPENCV")==0): LibName("OPENCV", GetThirdpartyDir() + "opencv/lib/ml.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("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/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/avformat-50-panda.lib")
if (PkgSkip("FFMPEG")==0): LibName("FFMPEG", GetThirdpartyDir() + "ffmpeg/lib/avutil-49-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("JPEG", "", ("jpeg"), "jpeglib.h")
SmartPkgEnable("OPENSSL", "openssl", ("ssl", "crypto"), ("openssl/ssl.h", "openssl/crypto.h")) SmartPkgEnable("OPENSSL", "openssl", ("ssl", "crypto"), ("openssl/ssl.h", "openssl/crypto.h"))
SmartPkgEnable("PNG", "libpng", ("png"), "png.h") SmartPkgEnable("PNG", "libpng", ("png"), "png.h")
SmartPkgEnable("TINYXML", "", ("tinyxml"), "tinyxml.h")
SmartPkgEnable("ZLIB", "", ("z"), "zlib.h") SmartPkgEnable("ZLIB", "", ("z"), "zlib.h")
if (RTDIST and sys.platform == "darwin" and "PYTHONVERSION" in SDK): 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. # 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): if (RUNTIME):
# For the runtime, all packages are required # 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): 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")): if (not RUNTIME and not LocateBinary("bison")):
exit("Could not locate bison!") exit("Could not locate bison!")
@ -1374,7 +1369,6 @@ DTOOL_CONFIG=[
("HAVE_DIRECTCAM", 'UNDEF', 'UNDEF'), ("HAVE_DIRECTCAM", 'UNDEF', 'UNDEF'),
("HAVE_SQUISH", 'UNDEF', 'UNDEF'), ("HAVE_SQUISH", 'UNDEF', 'UNDEF'),
("HAVE_FCOLLADA", 'UNDEF', 'UNDEF'), ("HAVE_FCOLLADA", 'UNDEF', 'UNDEF'),
("HAVE_TINYXML", 'UNDEF', 'UNDEF'),
("HAVE_OPENAL_FRAMEWORK", 'UNDEF', 'UNDEF'), ("HAVE_OPENAL_FRAMEWORK", 'UNDEF', 'UNDEF'),
("PRC_SAVE_DESCRIPTIONS", '1', '1'), ("PRC_SAVE_DESCRIPTIONS", '1', '1'),
("_SECURE_SCL", '1', 'UNDEF'), ("_SECURE_SCL", '1', 'UNDEF'),
@ -1871,6 +1865,8 @@ CopyAllHeaders('panda/src/ode')
CopyAllHeaders('panda/metalibs/pandaode') CopyAllHeaders('panda/metalibs/pandaode')
CopyAllHeaders('panda/src/physics') CopyAllHeaders('panda/src/physics')
CopyAllHeaders('panda/src/particlesystem') CopyAllHeaders('panda/src/particlesystem')
CopyAllHeaders('panda/src/tinyxml')
CopyAllHeaders('panda/src/dxml')
CopyAllHeaders('panda/metalibs/panda') CopyAllHeaders('panda/metalibs/panda')
CopyAllHeaders('panda/src/audiotraits') CopyAllHeaders('panda/src/audiotraits')
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.in', opts=['IMOD:panda', 'ILIB:libvrpn', 'SRCDIR:panda/src/vrpn'])
TargetAdd('libvrpn_igate.obj', input='libvrpn.in', opts=["DEPENDENCYONLY"]) 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/ # DIRECTORY: panda/metalibs/panda/
# #
@ -2666,6 +2683,7 @@ if (not RUNTIME):
TargetAdd('libpanda_module.obj', input='libnet.in') TargetAdd('libpanda_module.obj', input='libnet.in')
TargetAdd('libpanda_module.obj', input='libpgui.in') TargetAdd('libpanda_module.obj', input='libpgui.in')
TargetAdd('libpanda_module.obj', input='libmovies.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='panda_panda.obj')
TargetAdd('libpanda.dll', input='libpanda_module.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='libnativenet_igate.obj')
TargetAdd('libpanda.dll', input='pandabase_pandabase.obj') TargetAdd('libpanda.dll', input='pandabase_pandabase.obj')
TargetAdd('libpanda.dll', input='libpandaexpress.dll') 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='libp3dtoolconfig.dll')
TargetAdd('libpanda.dll', input='libp3dtool.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.in', opts=['IMOD:p3direct', 'ILIB:libshowbase', 'SRCDIR:direct/src/showbase'])
TargetAdd('libshowbase_igate.obj', input='libshowbase.in', opts=["DEPENDENCYONLY"]) 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/ # DIRECTORY: direct/metalibs/direct/
# #
@ -3460,8 +3469,6 @@ if (PkgSkip("PYTHON")==0):
TargetAdd('libp3direct_module.obj', input='libdeadrec.in') TargetAdd('libp3direct_module.obj', input='libdeadrec.in')
TargetAdd('libp3direct_module.obj', input='libinterval.in') TargetAdd('libp3direct_module.obj', input='libinterval.in')
TargetAdd('libp3direct_module.obj', input='libdistributed.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=OPTS)
TargetAdd('libp3direct_module.obj', opts=['IMOD:p3direct', 'ILIB:libp3direct']) 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_cConnectionRepository.obj')
TargetAdd('libp3direct.dll', input='distributed_cDistributedSmoothNodeBase.obj') TargetAdd('libp3direct.dll', input='distributed_cDistributedSmoothNodeBase.obj')
TargetAdd('libp3direct.dll', input='libdistributed_igate.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', input=COMMON_PANDA_LIBS)
TargetAdd('libp3direct.dll', opts=['ADVAPI', 'OPENSSL', 'WINUSER', 'TINYXML']) TargetAdd('libp3direct.dll', opts=['ADVAPI', 'OPENSSL', 'WINUSER'])
# #
# DIRECTORY: direct/src/dcparse/ # DIRECTORY: direct/src/dcparse/
@ -3523,7 +3527,7 @@ if (RTDIST or RUNTIME):
if (sys.platform != "darwin" and not sys.platform.startswith("win")): if (sys.platform != "darwin" and not sys.platform.startswith("win")):
DefSymbol("RUNTIME", "HAVE_X11", "1") 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') TargetAdd('plugin_common.obj', opts=OPTS, input='plugin_common_composite1.cxx')
OPTS += ['ZLIB', 'JPEG', 'PNG', 'MSIMG'] OPTS += ['ZLIB', 'JPEG', 'PNG', 'MSIMG']
@ -3547,9 +3551,10 @@ if (RTDIST or RUNTIME):
TargetAdd(fname, input='plugin_binaryXml.obj') TargetAdd(fname, input='plugin_binaryXml.obj')
TargetAdd(fname, input='plugin_handleStream.obj') TargetAdd(fname, input='plugin_handleStream.obj')
TargetAdd(fname, input='plugin_handleStreamBuf.obj') TargetAdd(fname, input='plugin_handleStreamBuf.obj')
TargetAdd(fname, input='libp3tinyxml.ilb')
if (sys.platform == "darwin"): if (sys.platform == "darwin"):
TargetAdd(fname, input='libsubprocbuffer.ilb') 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): if (PkgSkip("PYTHON")==0 and RTDIST):
TargetAdd('p3dpython_p3dpython_composite1.obj', opts=OPTS, input='p3dpython_composite1.cxx') 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_p3dpython_composite1.obj')
TargetAdd('p3dpython.exe', input='p3dpython_p3dPythonMain.obj') TargetAdd('p3dpython.exe', input='p3dpython_p3dPythonMain.obj')
TargetAdd('p3dpython.exe', input=COMMON_PANDA_LIBS) 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='p3dpython_p3dpython_composite1.obj')
TargetAdd('libp3dpython.dll', input=COMMON_PANDA_LIBS) 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")): if (sys.platform.startswith("win")):
DefSymbol("NON_CONSOLE", "NON_CONSOLE", "") 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_p3dpython_composite1.obj')
TargetAdd('p3dpythonw.exe', input='p3dpythonw_p3dPythonMain.obj') TargetAdd('p3dpythonw.exe', input='p3dpythonw_p3dPythonMain.obj')
TargetAdd('p3dpythonw.exe', input=COMMON_PANDA_LIBS) 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): if (PkgSkip("OPENSSL")==0 and RTDIST):
OPTS=['DIR:direct/src/plugin', 'DIR:panda/src/express', 'OPENSSL', 'WX'] 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"): elif (sys.platform=="darwin"):
TargetAdd('nppanda3d.rsrc', opts=OPTS, input='nppanda3d.r') 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('plugin_npapi_nppanda3d_composite1.obj', opts=OPTS, input='nppanda3d_composite1.cxx')
TargetAdd('nppanda3d.plugin', input='plugin_common.obj') 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.rsrc')
TargetAdd('nppanda3d.plugin', input='nppanda3d.plist', ipath=OPTS) TargetAdd('nppanda3d.plugin', input='nppanda3d.plist', ipath=OPTS)
TargetAdd('nppanda3d.plugin', input='plugin_find_root_dir_assist.obj') 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/ # DIRECTORY: direct/src/plugin_activex/
# #
if (RUNTIME and sys.platform.startswith("win")): 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', '_USRDLL', '')
DefSymbol('ACTIVEX', '_WINDLL', '') DefSymbol('ACTIVEX', '_WINDLL', '')
DefSymbol('ACTIVEX', '_AFXDLL', '') 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='plugin_activex_p3dactivex_composite1.obj')
TargetAdd('p3dactivex.ocx', input='P3DActiveX.res') TargetAdd('p3dactivex.ocx', input='P3DActiveX.res')
TargetAdd('p3dactivex.ocx', input='P3DActiveX.def', ipath=OPTS) 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/ # DIRECTORY: direct/src/plugin_standalone/
# #
if (RUNTIME): 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_panda3d.obj', opts=OPTS, input='panda3d.cxx')
TargetAdd('plugin_standalone_panda3dBase.obj', opts=OPTS, input='panda3dBase.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='libp3dtoolconfig.dll')
TargetAdd('panda3d.exe', input='libp3dtool.dll') TargetAdd('panda3d.exe', input='libp3dtool.dll')
TargetAdd('panda3d.exe', input='libp3pystub.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"): if (sys.platform == "darwin"):
TargetAdd('plugin_standalone_panda3dMac.obj', opts=OPTS, input='panda3dMac.cxx') 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='libp3dtoolconfig.dll')
TargetAdd('Panda3D.app', input='libp3dtool.dll') TargetAdd('Panda3D.app', input='libp3dtool.dll')
TargetAdd('Panda3D.app', input='libp3pystub.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='panda3d_mac.plist', ipath=OPTS)
TargetAdd('Panda3D.app', input='models/plugin_images/panda3d.icns') 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")): elif (sys.platform.startswith("win")):
TargetAdd('plugin_standalone_panda3dWinMain.obj', opts=OPTS, input='panda3dWinMain.cxx') TargetAdd('plugin_standalone_panda3dWinMain.obj', opts=OPTS, input='panda3dWinMain.cxx')
TargetAdd('panda3dw.exe', input='plugin_standalone_panda3d.obj') TargetAdd('panda3dw.exe', input='plugin_standalone_panda3d.obj')
@ -3694,10 +3706,11 @@ if (RUNTIME):
TargetAdd('panda3dw.exe', input='libp3dtoolconfig.dll') TargetAdd('panda3dw.exe', input='libp3dtoolconfig.dll')
TargetAdd('panda3dw.exe', input='libp3dtool.dll') TargetAdd('panda3dw.exe', input='libp3dtool.dll')
TargetAdd('panda3dw.exe', input='libp3pystub.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): 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. # This is arguably a big fat ugly hack, but doing it otherwise would complicate the build process considerably.
DefSymbol("P3DEMBED", "LINK_ALL_STATIC", "") DefSymbol("P3DEMBED", "LINK_ALL_STATIC", "")
TargetAdd('plugin_standalone_panda3dBase.obj', opts=OPTS, input='panda3dBase.cxx') 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') TargetAdd('p3dembed.exe', input='plugin_find_root_dir_assist.obj')
if (sys.platform == "darwin"): if (sys.platform == "darwin"):
TargetAdd('p3dembed.exe', input='libsubprocbuffer.ilb') TargetAdd('p3dembed.exe', input='libsubprocbuffer.ilb')
TargetAdd('p3dembed.exe', input='libp3tinyxml.ilb')
TargetAdd('p3dembed.exe', input='libp3d_plugin_static.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/ # DIRECTORY: pandatool/src/pandatoolbase/

4
panda/.gitignore vendored
View File

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

View File

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

View File

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

View File

@ -15,7 +15,7 @@
#ifndef CONFIG_DXML_H #ifndef CONFIG_DXML_H
#define CONFIG_DXML_H #define CONFIG_DXML_H
#include "directbase.h" #include "pandabase.h"
#include "notifyCategoryProxy.h" #include "notifyCategoryProxy.h"
#include "dconfig.h" #include "dconfig.h"
@ -29,9 +29,9 @@
#define TIXML_USE_STL #define TIXML_USE_STL
#endif #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; class TiXmlDocument;
BEGIN_PUBLISH 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