diff options
Diffstat (limited to 'dist')
29 files changed, 729 insertions, 1 deletions
diff --git a/dist/build/config.make b/dist/build/config.make index 44f3c36..532bdf0 100644 --- a/dist/build/config.make +++ b/dist/build/config.make @@ -22,6 +22,8 @@ XSDE_SNPRINTF := $(strip $(XSDE_SNPRINTF)) XSDE_PARSER_VALIDATION := $(strip $(XSDE_PARSER_VALIDATION)) XSDE_SERIALIZER_VALIDATION := $(strip $(XSDE_SERIALIZER_VALIDATION)) XSDE_REUSE_STYLE := $(strip $(XSDE_REUSE_STYLE)) +XSDE_CDR := $(strip $(XSDE_CDR)) +XSDE_XDR := $(strip $(XSDE_XDR)) XSDE_POLYMORPHIC := $(strip $(XSDE_POLYMORPHIC)) XSDE_PARSER_SMAP_BUCKETS := $(strip $(XSDE_PARSER_SMAP_BUCKETS)) XSDE_PARSER_IMAP_BUCKETS := $(strip $(XSDE_PARSER_IMAP_BUCKETS)) diff --git a/dist/config/config.make b/dist/config/config.make index b6c4212..0602490 100644 --- a/dist/config/config.make +++ b/dist/config/config.make @@ -95,6 +95,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/config/config.nmake b/dist/config/config.nmake index 6279c60..79e68d8 100644 --- a/dist/config/config.nmake +++ b/dist/config/config.nmake @@ -94,6 +94,22 @@ XSDE_SERIALIZER_VALIDATION = y XSDE_REUSE_STYLE = tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR = n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR = n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/evc-4.0/config.nmake b/dist/etc/evc-4.0/config.nmake index 78d5840..b42a80b 100644 --- a/dist/etc/evc-4.0/config.nmake +++ b/dist/etc/evc-4.0/config.nmake @@ -97,6 +97,22 @@ XSDE_SERIALIZER_VALIDATION = y XSDE_REUSE_STYLE = tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR = n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR = n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/iphone/config-device.make b/dist/etc/iphone/config-device.make index 84fd828..8fde555 100644 --- a/dist/etc/iphone/config-device.make +++ b/dist/etc/iphone/config-device.make @@ -102,6 +102,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/iphone/config-simulator.make b/dist/etc/iphone/config-simulator.make index fc9ab84..0f2853d 100644 --- a/dist/etc/iphone/config-simulator.make +++ b/dist/etc/iphone/config-simulator.make @@ -102,6 +102,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/lynxos/config-4.2.make b/dist/etc/lynxos/config-4.2.make index 56ff0e1..183566d 100644 --- a/dist/etc/lynxos/config-4.2.make +++ b/dist/etc/lynxos/config-4.2.make @@ -101,6 +101,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/qnx/config-6.3-gcc-2.95.make b/dist/etc/qnx/config-6.3-gcc-2.95.make index 0b4b28d..fe97e86 100644 --- a/dist/etc/qnx/config-6.3-gcc-2.95.make +++ b/dist/etc/qnx/config-6.3-gcc-2.95.make @@ -100,6 +100,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/qnx/config-6.3-gcc-3.3.make b/dist/etc/qnx/config-6.3-gcc-3.3.make index 80343c4..37345f6 100644 --- a/dist/etc/qnx/config-6.3-gcc-3.3.make +++ b/dist/etc/qnx/config-6.3-gcc-3.3.make @@ -100,6 +100,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/qnx/config-6.4.make b/dist/etc/qnx/config-6.4.make index d14e458..3d4f3b6 100644 --- a/dist/etc/qnx/config-6.4.make +++ b/dist/etc/qnx/config-6.4.make @@ -100,6 +100,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/vc-8.0/config-max.nmake b/dist/etc/vc-8.0/config-max.nmake index cd1e4a1..1fb78e5 100644 --- a/dist/etc/vc-8.0/config-max.nmake +++ b/dist/etc/vc-8.0/config-max.nmake @@ -98,6 +98,22 @@ XSDE_SERIALIZER_VALIDATION = y XSDE_REUSE_STYLE = tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR = n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR = n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/vc-8.0/config-min.nmake b/dist/etc/vc-8.0/config-min.nmake index b2f3c6d..2d4f742 100644 --- a/dist/etc/vc-8.0/config-min.nmake +++ b/dist/etc/vc-8.0/config-min.nmake @@ -98,6 +98,22 @@ XSDE_SERIALIZER_VALIDATION = y XSDE_REUSE_STYLE = tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR = n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR = n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/vc-9.0/config-max.nmake b/dist/etc/vc-9.0/config-max.nmake index 24bf39b..585ff0e 100644 --- a/dist/etc/vc-9.0/config-max.nmake +++ b/dist/etc/vc-9.0/config-max.nmake @@ -98,6 +98,22 @@ XSDE_SERIALIZER_VALIDATION = y XSDE_REUSE_STYLE = tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR = n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR = n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/vc-9.0/config-min.nmake b/dist/etc/vc-9.0/config-min.nmake index c085f97..1b141df 100644 --- a/dist/etc/vc-9.0/config-min.nmake +++ b/dist/etc/vc-9.0/config-min.nmake @@ -98,6 +98,22 @@ XSDE_SERIALIZER_VALIDATION = y XSDE_REUSE_STYLE = tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR = n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR = n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/vxworks/config-5.5.1.make b/dist/etc/vxworks/config-5.5.1.make index 2de4676..65d96ad 100644 --- a/dist/etc/vxworks/config-5.5.1.make +++ b/dist/etc/vxworks/config-5.5.1.make @@ -101,6 +101,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/vxworks/config-max-6.4.make b/dist/etc/vxworks/config-6.4-max.make index 5aa80e8..ac063e4 100644 --- a/dist/etc/vxworks/config-max-6.4.make +++ b/dist/etc/vxworks/config-6.4-max.make @@ -112,6 +112,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/etc/vxworks/config-min-6.4.make b/dist/etc/vxworks/config-6.4-min.make index 522771f..a9f9ba5 100644 --- a/dist/etc/vxworks/config-min-6.4.make +++ b/dist/etc/vxworks/config-6.4-min.make @@ -100,6 +100,22 @@ XSDE_SERIALIZER_VALIDATION := y XSDE_REUSE_STYLE := tiein +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the CDR (Common Data Representation) binary format. +# This functionality requires the ACE library. +# +XSDE_CDR := n + + +# Set to 'y' if you want support for serialization of the C++/Hybrid +# object model to the XDR (eXternal Data Representation) binary format. +# This functionality requires the XDR API which is available out of the +# box on most POSIX systems as part of Sun RPC. On other platforms you +# may need to install a third-party library which provides the XDR API. +# +XSDE_XDR := n + + # Set to 'y' if you need to handle XML vocabularies that use XML Schema # polymorphism (xsi:type or substitution groups). Also don't forget to # use either --generate-polymorphic (generates polymorphism-aware code) diff --git a/dist/examples/cxx/hybrid/binary/cdr/makefile b/dist/examples/cxx/hybrid/binary/cdr/makefile new file mode 100644 index 0000000..96c6274 --- /dev/null +++ b/dist/examples/cxx/hybrid/binary/cdr/makefile @@ -0,0 +1,58 @@ +root := ../../../../.. + +include $(root)/build/cxx/rules.make + +override LIBS += -lACE + +# Build. +# +EXTRA_CPPFLAGS := -I$(root)/libxsde + +ifeq ($(XSDE_STL),n) +EXTRA_XSDFLAGS += --no-stl +endif + +ifeq ($(XSDE_LONGLONG),n) +EXTRA_XSDFLAGS += --no-long-long +endif + +ifeq ($(XSDE_PARSER_VALIDATION),n) +EXTRA_XSDFLAGS += --suppress-validation +endif + +ifeq ($(XSDE_REUSE_STYLE),mixin) +EXTRA_XSDFLAGS += --reuse-style-mixin +endif + +driver: driver.o library.o library-pskel.o library-pimpl.o \ +library-sskel.o library-simpl.o $(root)/libxsde/xsde/libxsde.a + +driver.o: driver.cxx library.hxx library-pimpl.hxx library-simpl.hxx +library.o: library.cxx library.hxx +library-pskel.o: library-pskel.cxx +library-pimpl.o: library-pimpl.cxx +library-simpl.o: library-simpl.cxx +library-simpl.o: library-simpl.cxx + +.PRECIOUS: %.hxx %.cxx %-pskel.hxx %-pskel.cxx %-pimpl.hxx %-pimpl.cxx \ +%-sskel.hxx %-sskel.cxx %-simpl.hxx %-simpl.cxx + +%.hxx %.cxx %-pskel.hxx %-pskel.cxx %-pimpl.hxx %-pimpl.cxx \ +%-sskel.hxx %-sskel.cxx %-simpl.hxx %-simpl.cxx: %.xsd + $(root)/bin/xsde cxx-hybrid $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--generate-parser --generate-serializer --generate-aggregate \ +--generate-insertion CDR --generate-extraction CDR $< + +# Test. +# +.PHONY: test +test: driver library.xml + ./driver library.xml + +# Clean. +# +.PHONY: clean +clean: + rm -f library-pimpl.?xx library-pskel.?xx library-simpl.?xx \ +library-sskel.?xx library.?xx library-pimpl.o library-pskel.o \ +library-simpl.o library-sskel.o library.o driver.o driver diff --git a/dist/examples/cxx/hybrid/binary/cdr/nmakefile b/dist/examples/cxx/hybrid/binary/cdr/nmakefile new file mode 100644 index 0000000..a87ded2 --- /dev/null +++ b/dist/examples/cxx/hybrid/binary/cdr/nmakefile @@ -0,0 +1,55 @@ +root = ..\..\..\..\.. + +!include $(root)\build\cxx\rules.nmake + +LIBS = $(LIBS) ACE.lib + +# Build. +# +EXTRA_CPPFLAGS = /I$(root)\libxsde + +!if "$(XSDE_STL)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl +!endif + +!if "$(XSDE_LONGLONG)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long +!endif + +!if "$(XSDE_PARSER_VALIDATION)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --suppress-validation +!endif + +!if "$(XSDE_REUSE_STYLE)" == "mixin" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --reuse-style-mixin +!endif + +driver.exe: driver.obj library.obj library-pskel.obj library-pimpl.obj \ +library-sskel.obj library-simpl.obj $(root)\libxsde\xsde\xsde.lib + +driver.obj: driver.cxx library.hxx library-pimpl.hxx library-simpl.hxx +library.obj: library.cxx +library-pskel.obj: library-pskel.cxx +library-pimpl.obj: library-pimpl.cxx +library-sskel.obj: library-sskel.cxx +library-simpl.obj: library-simpl.cxx + +library.cxx library.hxx \ +library-pskel.cxx library-pskel.hxx library-pimpl.cxx library-pimpl.hxx \ +library-sskel.cxx library-sskel.hxx library-simpl.cxx library-simpl.hxx \ +: library.xsd + $(root)\bin\xsde.exe cxx-hybrid $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--generate-parser --generate-serializer --generate-aggregate \ +--generate-insertion CDR --generate-extraction CDR library.xsd + +# Test. +# +test: driver.exe library.xml + .\driver.exe library.xml + +# Clean. +# +clean: + -del library-pimpl.?xx library-pskel.?xx library-simpl.?xx \ +library-sskel.?xx library.?xx library-pimpl.obj library-pskel.obj \ +library-simpl.obj library-sskel.obj library.obj driver.obj driver.exe diff --git a/dist/examples/cxx/hybrid/binary/custom/makefile b/dist/examples/cxx/hybrid/binary/custom/makefile new file mode 100644 index 0000000..c0e57ad --- /dev/null +++ b/dist/examples/cxx/hybrid/binary/custom/makefile @@ -0,0 +1,70 @@ +root := ../../../../.. + +include $(root)/build/cxx/rules.make + +# Build. +# +EXTRA_CPPFLAGS := -I$(root)/libxsde + +ifeq ($(XSDE_STL),n) +EXTRA_XSDFLAGS += --no-stl +endif + +ifeq ($(XSDE_LONGLONG),n) +EXTRA_XSDFLAGS += --no-long-long +endif + +ifeq ($(XSDE_PARSER_VALIDATION),n) +EXTRA_XSDFLAGS += --suppress-validation +endif + +ifeq ($(XSDE_REUSE_STYLE),mixin) +EXTRA_XSDFLAGS += --reuse-style-mixin +endif + +driver: driver.o library.o library-pskel.o library-pimpl.o \ +library-sskel.o library-simpl.o exceptions.o orawstream.o \ +irawstream.o $(root)/libxsde/xsde/libxsde.a + +driver.o: driver.cxx library.hxx library-pimpl.hxx library-simpl.hxx +exceptions.o: exceptions.cxx +orawstream.o: orawstream.cxx xml-schema.hxx +irawstream.o: irawstream.cxx xml-schema.hxx +library.o: library.cxx library.hxx +library-pskel.o: library-pskel.cxx library-pskel.hxx +library-pimpl.o: library-pimpl.cxx library-pskel.hxx +library-simpl.o: library-simpl.cxx library-simpl.hxx +library-simpl.o: library-simpl.cxx library-simpl.hxx + +library.hxx: xml-schema.hxx +library-pskel.hxx: xml-schema-pskel.hxx +library-pimpl.hxx: xml-schema-pskel.hxx +library-sskel.hxx: xml-schema-sskel.hxx +library-simpl.hxx: xml-schema-sskel.hxx + +.PRECIOUS: %.hxx %.cxx %-pskel.hxx %-pskel.cxx %-pimpl.hxx %-pimpl.cxx \ +%-sskel.hxx %-sskel.cxx %-simpl.hxx %-simpl.cxx + +xml-schema%hxx xml-schema-pskel%hxx xml-schema-sskel%hxx: + $(root)/bin/xsde cxx-hybrid $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--generate-parser --generate-serializer --generate-xml-schema xml-schema.xsd + +%.hxx %.cxx %-pskel.hxx %-pskel.cxx %-pimpl.hxx %-pimpl.cxx \ +%-sskel.hxx %-sskel.cxx %-simpl.hxx %-simpl.cxx: %.xsd + $(root)/bin/xsde cxx-hybrid $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--options-file options $< + +# Test. +# +.PHONY: test +test: driver library.xml + ./driver library.xml + +# Clean. +# +.PHONY: clean +clean: + rm -f xml-schema.hxx xml-schema-pskel.hxx xml-schema-sskel.hxx \ +library-pimpl.?xx library-pskel.?xx library-simpl.?xx library-sskel.?xx \ +library.?xx library-pimpl.o library-pskel.o library-simpl.o library-sskel.o \ +library.o irawstream.o orawstream.o exceptions.o driver.o driver diff --git a/dist/examples/cxx/hybrid/binary/custom/nmakefile b/dist/examples/cxx/hybrid/binary/custom/nmakefile new file mode 100644 index 0000000..b53db8e --- /dev/null +++ b/dist/examples/cxx/hybrid/binary/custom/nmakefile @@ -0,0 +1,68 @@ +root = ..\..\..\..\.. + +!include $(root)\build\cxx\rules.nmake + +# Build. +# +EXTRA_CPPFLAGS = /I$(root)\libxsde + +!if "$(XSDE_STL)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl +!endif + +!if "$(XSDE_LONGLONG)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long +!endif + +!if "$(XSDE_PARSER_VALIDATION)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --suppress-validation +!endif + +!if "$(XSDE_REUSE_STYLE)" == "mixin" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --reuse-style-mixin +!endif + +driver.exe: driver.obj library.obj library-pskel.obj library-pimpl.obj \ +library-sskel.obj library-simpl.obj exceptions.obj orawstream.obj \ +irawstream.obj $(root)\libxsde\xsde\xsde.lib + +driver.obj: driver.cxx library.hxx library-pimpl.hxx library-simpl.hxx +exceptions.obj: exceptions.cxx +orawstream.obj: orawstream.cxx xml-schema.hxx +irawstream.obj: irawstream.cxx xml-schema.hxx +library.obj: library.cxx library.hxx +library-pskel.obj: library-pskel.cxx library-pskel.hxx +library-pimpl.obj: library-pimpl.cxx library-pskel.hxx +library-simpl.obj: library-simpl.cxx library-simpl.hxx +library-simpl.obj: library-simpl.cxx library-simpl.hxx + +library.hxx: xml-schema.hxx +library-pskel.hxx: xml-schema-pskel.hxx +library-sskel.hxx: xml-schema-sskel.hxx +library-sskel.hxx: xml-schema-sskel.hxx +library-simpl.hxx: xml-schema-sskel.hxx + +xml-schema.hxx xml-schema-pskel.hxx xml-schema-sskel.hxx: + $(root)\bin\xsde.exe cxx-hybrid $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--generate-parser --generate-serializer --generate-xml-schema xml-schema.xsd + +library.cxx library.hxx \ +library-pskel.cxx library-pskel.hxx library-pimpl.cxx library-pimpl.hxx \ +library-sskel.cxx library-sskel.hxx library-simpl.cxx library-simpl.hxx \ +: library.xsd + $(root)\bin\xsde.exe cxx-hybrid $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--options-file options library.xsd + +# Test. +# +test: driver.exe library.xml + .\driver.exe library.xml + +# Clean. +# +clean: + -del xml-schema.hxx xml-schema-pskel.hxx xml-schema-sskel.hxx \ +library-pimpl.?xx library-pskel.?xx library-simpl.?xx library-sskel.?xx \ +library.?xx library-pimpl.obj library-pskel.obj library-simpl.obj \ +library-sskel.obj library.obj irawstream.obj orawstream.obj exceptions.obj \ +driver.obj driver.exe diff --git a/dist/examples/cxx/hybrid/binary/custom/options b/dist/examples/cxx/hybrid/binary/custom/options new file mode 100644 index 0000000..f37d345 --- /dev/null +++ b/dist/examples/cxx/hybrid/binary/custom/options @@ -0,0 +1,8 @@ +--generate-parser +--generate-serializer +--generate-aggregate +--generate-insertion orawstream +--hxx-prologue #include "orawstream.hxx" +--generate-extraction irawstream +--hxx-prologue #include "irawstream.hxx" +--extern-xml-schema xml-schema.xsd diff --git a/dist/examples/cxx/hybrid/binary/makefile b/dist/examples/cxx/hybrid/binary/makefile new file mode 100644 index 0000000..a683d0e --- /dev/null +++ b/dist/examples/cxx/hybrid/binary/makefile @@ -0,0 +1,33 @@ +root := ../../../.. + +include $(root)/build/config.make + +dirs := + +ifeq ($(XSDE_IOSTREAM),y) +ifeq ($(XSDE_EXCEPTIONS),y) + +dirs += custom + +ifeq ($(XSDE_CDR),y) +dirs += cdr +endif + +ifeq ($(XSDE_XDR),y) +dirs += xdr +endif + +endif +endif + +.PHONY: all $(dirs) + +all: $(dirs) + +$(dirs): + @$(MAKE) -C $@ $(MAKECMDGOALS) + +makefile: ; +%.make:: ; + +%:: $(dirs) ; diff --git a/dist/examples/cxx/hybrid/binary/nmakefile b/dist/examples/cxx/hybrid/binary/nmakefile new file mode 100644 index 0000000..384694a --- /dev/null +++ b/dist/examples/cxx/hybrid/binary/nmakefile @@ -0,0 +1,29 @@ +root = ..\..\..\.. + +!include $(root)\build\config.nmake + +dirs = + +!if "$(XSDE_IOSTREAM)" == "y" +!if "$(XSDE_EXCEPTIONS)" == "y" + +dirs = $(dirs) custom + +!if "$(XSDE_CDR)" == "y" +dirs = $(dirs) cdr +!endif + +!if "$(XSDE_XDR)" == "y" +dirs = $(dirs) xdr +!endif + +!endif +!endif + +all: + @for %i in ( $(dirs) ) do \ +@cmd /c "cd %i & $(MAKE) /nologo /f nmakefile" + +test clean: + @for %i in ( $(dirs) ) do \ +@cmd /c "cd %i & $(MAKE) /nologo /f nmakefile $@" diff --git a/dist/examples/cxx/hybrid/binary/xdr/makefile b/dist/examples/cxx/hybrid/binary/xdr/makefile new file mode 100644 index 0000000..95ceade --- /dev/null +++ b/dist/examples/cxx/hybrid/binary/xdr/makefile @@ -0,0 +1,58 @@ +root := ../../../../.. + +include $(root)/build/cxx/rules.make + +override LIBS += -lnsl + +# Build. +# +EXTRA_CPPFLAGS := -I$(root)/libxsde + +ifeq ($(XSDE_STL),n) +EXTRA_XSDFLAGS += --no-stl +endif + +ifeq ($(XSDE_LONGLONG),n) +EXTRA_XSDFLAGS += --no-long-long +endif + +ifeq ($(XSDE_PARSER_VALIDATION),n) +EXTRA_XSDFLAGS += --suppress-validation +endif + +ifeq ($(XSDE_REUSE_STYLE),mixin) +EXTRA_XSDFLAGS += --reuse-style-mixin +endif + +driver: driver.o library.o library-pskel.o library-pimpl.o \ +library-sskel.o library-simpl.o $(root)/libxsde/xsde/libxsde.a + +driver.o: driver.cxx library.hxx library-pimpl.hxx library-simpl.hxx +library.o: library.cxx library.hxx +library-pskel.o: library-pskel.cxx +library-pimpl.o: library-pimpl.cxx +library-simpl.o: library-simpl.cxx +library-simpl.o: library-simpl.cxx + +.PRECIOUS: %.hxx %.cxx %-pskel.hxx %-pskel.cxx %-pimpl.hxx %-pimpl.cxx \ +%-sskel.hxx %-sskel.cxx %-simpl.hxx %-simpl.cxx + +%.hxx %.cxx %-pskel.hxx %-pskel.cxx %-pimpl.hxx %-pimpl.cxx \ +%-sskel.hxx %-sskel.cxx %-simpl.hxx %-simpl.cxx: %.xsd + $(root)/bin/xsde cxx-hybrid $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--generate-parser --generate-serializer --generate-aggregate \ +--generate-insertion XDR --generate-extraction XDR $< + +# Test. +# +.PHONY: test +test: driver library.xml + ./driver library.xml + +# Clean. +# +.PHONY: clean +clean: + rm -f library-pimpl.?xx library-pskel.?xx library-simpl.?xx \ +library-sskel.?xx library.?xx library-pimpl.o library-pskel.o \ +library-simpl.o library-sskel.o library.o driver.o driver diff --git a/dist/examples/cxx/hybrid/binary/xdr/nmakefile b/dist/examples/cxx/hybrid/binary/xdr/nmakefile new file mode 100644 index 0000000..f71e178 --- /dev/null +++ b/dist/examples/cxx/hybrid/binary/xdr/nmakefile @@ -0,0 +1,53 @@ +root = ..\..\..\..\.. + +!include $(root)\build\cxx\rules.nmake + +# Build. +# +EXTRA_CPPFLAGS = /I$(root)\libxsde + +!if "$(XSDE_STL)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl +!endif + +!if "$(XSDE_LONGLONG)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long +!endif + +!if "$(XSDE_PARSER_VALIDATION)" == "n" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --suppress-validation +!endif + +!if "$(XSDE_REUSE_STYLE)" == "mixin" +EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --reuse-style-mixin +!endif + +driver.exe: driver.obj library.obj library-pskel.obj library-pimpl.obj \ +library-sskel.obj library-simpl.obj $(root)\libxsde\xsde\xsde.lib + +driver.obj: driver.cxx library.hxx library-pimpl.hxx library-simpl.hxx +library.obj: library.cxx +library-pskel.obj: library-pskel.cxx +library-pimpl.obj: library-pimpl.cxx +library-sskel.obj: library-sskel.cxx +library-simpl.obj: library-simpl.cxx + +library.cxx library.hxx \ +library-pskel.cxx library-pskel.hxx library-pimpl.cxx library-pimpl.hxx \ +library-sskel.cxx library-sskel.hxx library-simpl.cxx library-simpl.hxx \ +: library.xsd + $(root)\bin\xsde.exe cxx-hybrid $(XSDFLAGS) $(EXTRA_XSDFLAGS) \ +--generate-parser --generate-serializer --generate-aggregate \ +--generate-insertion XDR --generate-extraction XDR library.xsd + +# Test. +# +test: driver.exe library.xml + .\driver.exe library.xml + +# Clean. +# +clean: + -del library-pimpl.?xx library-pskel.?xx library-simpl.?xx \ +library-sskel.?xx library.?xx library-pimpl.obj library-pskel.obj \ +library-simpl.obj library-sskel.obj library.obj driver.obj driver.exe diff --git a/dist/examples/cxx/hybrid/makefile b/dist/examples/cxx/hybrid/makefile index fdcec1d..38ccd04 100644 --- a/dist/examples/cxx/hybrid/makefile +++ b/dist/examples/cxx/hybrid/makefile @@ -2,7 +2,7 @@ root := ../../.. include $(root)/build/config.make -dirs := compositors +dirs := binary compositors ifeq ($(XSDE_IOSTREAM),y) ifeq ($(XSDE_EXCEPTIONS),y) diff --git a/dist/libxsde/xsde/makefile b/dist/libxsde/xsde/makefile index 7ce4bdc..9120561 100644 --- a/dist/libxsde/xsde/makefile +++ b/dist/libxsde/xsde/makefile @@ -49,6 +49,25 @@ endif ## src += cxx/hybrid/sequence.cxx +ifeq ($(XSDE_CDR),y) +src += \ +cxx/hybrid/cdr/exceptions.cxx \ +cxx/hybrid/cdr/istream.cxx \ +cxx/hybrid/cdr/ostream.cxx \ +cxx/hybrid/cdr/qname.cxx \ +cxx/hybrid/cdr/date-time.cxx \ +cxx/hybrid/cdr/string-sequence.cxx +endif + +ifeq ($(XSDE_XDR),y) +src += \ +cxx/hybrid/xdr/exceptions.cxx \ +cxx/hybrid/xdr/istream.cxx \ +cxx/hybrid/xdr/ostream.cxx \ +cxx/hybrid/xdr/qname.cxx \ +cxx/hybrid/xdr/date-time.cxx \ +cxx/hybrid/xdr/string-sequence.cxx +endif ## C++/Parser ## diff --git a/dist/libxsde/xsde/nmakefile b/dist/libxsde/xsde/nmakefile index 5588d57..2e7e11a 100644 --- a/dist/libxsde/xsde/nmakefile +++ b/dist/libxsde/xsde/nmakefile @@ -51,6 +51,25 @@ src = $(src) cxx\xml\char-table.cxx cxx\xml\ncname.cxx ## src = $(src) cxx\hybrid\sequence.cxx +!if "$(XSDE_CDR)" == "y" +src = $(src) \ +cxx\hybrid\cdr\exceptions.cxx \ +cxx\hybrid\cdr\istream.cxx \ +cxx\hybrid\cdr\ostream.cxx \ +cxx\hybrid\cdr\qname.cxx \ +cxx\hybrid\cdr\date-time.cxx \ +cxx\hybrid\cdr\string-sequence.cxx +!endif + +!if "$(XSDE_XDR)" == "y" +src = $(src) \ +cxx\hybrid\xdr\exceptions.cxx \ +cxx\hybrid\xdr\istream.cxx \ +cxx\hybrid\xdr\ostream.cxx \ +cxx\hybrid\xdr\qname.cxx \ +cxx\hybrid\xdr\date-time.cxx \ +cxx\hybrid\xdr\string-sequence.cxx +!endif ## C++/Parser ## |