aboutsummaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-01-07 13:50:11 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-01-07 13:50:11 +0200
commit76d23e639004517db8f9469d64ac1789f8449365 (patch)
treedbafc8c4e31a97f74046c98af19d0fe76f360001 /dist
parentc30caae30bc64974eeaa1e81aa2abdc203f5120d (diff)
Add support for ISO-8859-1 as application encoding
New runtime configuration parameter, XSDE_ENCODING. New option, --char-encoding. New test, tests/cxx/hybrid/iso8859-1.
Diffstat (limited to 'dist')
-rw-r--r--dist/build/config.make1
-rw-r--r--dist/config/config.make18
-rw-r--r--dist/config/config.nmake14
-rw-r--r--dist/etc/evc-4.0/config.nmake14
-rw-r--r--dist/etc/iphone/config-device.make14
-rw-r--r--dist/etc/iphone/config-simulator.make14
-rw-r--r--dist/etc/lynxos/config-4.2.make14
-rw-r--r--dist/etc/lynxos/config-5.0.make14
-rw-r--r--dist/etc/qnx/config-6.3-gcc-2.95.make14
-rw-r--r--dist/etc/qnx/config-6.3-gcc-3.3.make14
-rw-r--r--dist/etc/qnx/config-6.4.make14
-rw-r--r--dist/etc/vc-8.0/config-max.nmake14
-rw-r--r--dist/etc/vc-8.0/config-min.nmake14
-rw-r--r--dist/etc/vc-9.0/config-max.nmake14
-rw-r--r--dist/etc/vc-9.0/config-min.nmake14
-rw-r--r--dist/etc/vxworks/config-5.5.1.make14
-rw-r--r--dist/etc/vxworks/config-6.4-max.make14
-rw-r--r--dist/etc/vxworks/config-6.4-min.make14
-rw-r--r--dist/etc/vxworks/config-6.7-max.make14
-rw-r--r--dist/etc/vxworks/config-6.7-min.make14
-rw-r--r--dist/examples/cxx/hybrid/binary/cdr/makefile4
-rw-r--r--dist/examples/cxx/hybrid/binary/cdr/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/binary/custom/makefile4
-rw-r--r--dist/examples/cxx/hybrid/binary/custom/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/binary/xdr/makefile4
-rw-r--r--dist/examples/cxx/hybrid/binary/xdr/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/compositors/makefile4
-rw-r--r--dist/examples/cxx/hybrid/compositors/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/custom/wildcard/makefile4
-rw-r--r--dist/examples/cxx/hybrid/custom/wildcard/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/filter/makefile4
-rw-r--r--dist/examples/cxx/hybrid/filter/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/hello/makefile4
-rw-r--r--dist/examples/cxx/hybrid/hello/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/library/makefile4
-rw-r--r--dist/examples/cxx/hybrid/library/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/minimal/makefile4
-rw-r--r--dist/examples/cxx/hybrid/minimal/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/multiroot/makefile4
-rw-r--r--dist/examples/cxx/hybrid/multiroot/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/polymorphism/makefile4
-rw-r--r--dist/examples/cxx/hybrid/polymorphism/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/polyroot/makefile4
-rw-r--r--dist/examples/cxx/hybrid/polyroot/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/streaming/makefile4
-rw-r--r--dist/examples/cxx/hybrid/streaming/nmakefile4
-rw-r--r--dist/examples/cxx/hybrid/wildcard/makefile4
-rw-r--r--dist/examples/cxx/hybrid/wildcard/nmakefile4
-rw-r--r--dist/examples/cxx/parser/generated/makefile4
-rw-r--r--dist/examples/cxx/parser/generated/nmakefile4
-rw-r--r--dist/examples/cxx/parser/hello/makefile4
-rw-r--r--dist/examples/cxx/parser/hello/nmakefile4
-rw-r--r--dist/examples/cxx/parser/library/makefile4
-rw-r--r--dist/examples/cxx/parser/library/nmakefile4
-rw-r--r--dist/examples/cxx/parser/minimal/makefile4
-rw-r--r--dist/examples/cxx/parser/minimal/nmakefile4
-rw-r--r--dist/examples/cxx/parser/mixed/makefile4
-rw-r--r--dist/examples/cxx/parser/mixed/nmakefile4
-rw-r--r--dist/examples/cxx/parser/multiroot/makefile4
-rw-r--r--dist/examples/cxx/parser/multiroot/nmakefile4
-rw-r--r--dist/examples/cxx/parser/polymorphism/makefile4
-rw-r--r--dist/examples/cxx/parser/polymorphism/nmakefile4
-rw-r--r--dist/examples/cxx/parser/polyroot/makefile4
-rw-r--r--dist/examples/cxx/parser/polyroot/nmakefile4
-rw-r--r--dist/examples/cxx/parser/wildcard/makefile4
-rw-r--r--dist/examples/cxx/parser/wildcard/nmakefile4
-rw-r--r--dist/examples/cxx/serializer/hello/makefile4
-rw-r--r--dist/examples/cxx/serializer/hello/nmakefile4
-rw-r--r--dist/examples/cxx/serializer/library/makefile4
-rw-r--r--dist/examples/cxx/serializer/library/nmakefile4
-rw-r--r--dist/examples/cxx/serializer/minimal/makefile4
-rw-r--r--dist/examples/cxx/serializer/minimal/nmakefile4
-rw-r--r--dist/examples/cxx/serializer/polymorphism/makefile4
-rw-r--r--dist/examples/cxx/serializer/polymorphism/nmakefile4
-rw-r--r--dist/examples/cxx/serializer/polyroot/makefile4
-rw-r--r--dist/examples/cxx/serializer/polyroot/nmakefile4
-rw-r--r--dist/examples/cxx/serializer/wildcard/makefile4
-rw-r--r--dist/examples/cxx/serializer/wildcard/nmakefile4
-rw-r--r--dist/libxsde/xsde/makefile18
-rw-r--r--dist/libxsde/xsde/nmakefile18
-rw-r--r--dist/tests/cxx/hybrid/makefile4
-rw-r--r--dist/tests/cxx/hybrid/nmakefile4
82 files changed, 545 insertions, 2 deletions
diff --git a/dist/build/config.make b/dist/build/config.make
index 87a39c6..b05df1a 100644
--- a/dist/build/config.make
+++ b/dist/build/config.make
@@ -14,6 +14,7 @@ include $(root)/config/config.make
XSDE_PLATFORM := $(strip $(XSDE_PLATFORM))
XSDE_ARCH_WIDTH := $(strip $(XSDE_ARCH_WIDTH))
XSDE_BYTEORDER := $(strip $(XSDE_BYTEORDER))
+XSDE_ENCODING := $(strip $(XSDE_ENCODING))
XSDE_STL := $(strip $(XSDE_STL))
XSDE_IOSTREAM := $(strip $(XSDE_IOSTREAM))
XSDE_EXCEPTIONS := $(strip $(XSDE_EXCEPTIONS))
diff --git a/dist/config/config.make b/dist/config/config.make
index ac3518c..fccb68f 100644
--- a/dist/config/config.make
+++ b/dist/config/config.make
@@ -37,12 +37,26 @@ XSDE_PLATFORM := posix
XSDE_ARCH_WIDTH := 32
-# Platform byte order. Valid values are 'b' for big-endian
-# and 'l' for little-endian.
+# Platform byte order. Valid values are 'b' for big-endian and 'l'
+# for little-endian.
#
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/config/config.nmake b/dist/config/config.nmake
index 599d660..0e4008f 100644
--- a/dist/config/config.nmake
+++ b/dist/config/config.nmake
@@ -42,6 +42,20 @@ XSDE_ARCH_WIDTH = 32
XSDE_BYTEORDER = l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING = utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/evc-4.0/config.nmake b/dist/etc/evc-4.0/config.nmake
index cb4777f..136f281 100644
--- a/dist/etc/evc-4.0/config.nmake
+++ b/dist/etc/evc-4.0/config.nmake
@@ -45,6 +45,20 @@ XSDE_ARCH_WIDTH = 32
XSDE_BYTEORDER = l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING = utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/iphone/config-device.make b/dist/etc/iphone/config-device.make
index a52c484..c6e8634 100644
--- a/dist/etc/iphone/config-device.make
+++ b/dist/etc/iphone/config-device.make
@@ -50,6 +50,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/iphone/config-simulator.make b/dist/etc/iphone/config-simulator.make
index 3ab24df..afff0a6 100644
--- a/dist/etc/iphone/config-simulator.make
+++ b/dist/etc/iphone/config-simulator.make
@@ -50,6 +50,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/lynxos/config-4.2.make b/dist/etc/lynxos/config-4.2.make
index beb401e..5be4262 100644
--- a/dist/etc/lynxos/config-4.2.make
+++ b/dist/etc/lynxos/config-4.2.make
@@ -49,6 +49,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/lynxos/config-5.0.make b/dist/etc/lynxos/config-5.0.make
index 3c64855..25a15b2 100644
--- a/dist/etc/lynxos/config-5.0.make
+++ b/dist/etc/lynxos/config-5.0.make
@@ -49,6 +49,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
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 4a6bb1b..3211450 100644
--- a/dist/etc/qnx/config-6.3-gcc-2.95.make
+++ b/dist/etc/qnx/config-6.3-gcc-2.95.make
@@ -48,6 +48,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
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 770693b..e0a84db 100644
--- a/dist/etc/qnx/config-6.3-gcc-3.3.make
+++ b/dist/etc/qnx/config-6.3-gcc-3.3.make
@@ -48,6 +48,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/qnx/config-6.4.make b/dist/etc/qnx/config-6.4.make
index a302d0d..71f40db 100644
--- a/dist/etc/qnx/config-6.4.make
+++ b/dist/etc/qnx/config-6.4.make
@@ -48,6 +48,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/vc-8.0/config-max.nmake b/dist/etc/vc-8.0/config-max.nmake
index 07b46bb..59d1a1c 100644
--- a/dist/etc/vc-8.0/config-max.nmake
+++ b/dist/etc/vc-8.0/config-max.nmake
@@ -46,6 +46,20 @@ XSDE_ARCH_WIDTH = 32
XSDE_BYTEORDER = l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING = utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/vc-8.0/config-min.nmake b/dist/etc/vc-8.0/config-min.nmake
index 286e349..bdb9863 100644
--- a/dist/etc/vc-8.0/config-min.nmake
+++ b/dist/etc/vc-8.0/config-min.nmake
@@ -46,6 +46,20 @@ XSDE_ARCH_WIDTH = 32
XSDE_BYTEORDER = l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING = utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/vc-9.0/config-max.nmake b/dist/etc/vc-9.0/config-max.nmake
index 938bc3d..3a11fe7 100644
--- a/dist/etc/vc-9.0/config-max.nmake
+++ b/dist/etc/vc-9.0/config-max.nmake
@@ -46,6 +46,20 @@ XSDE_ARCH_WIDTH = 32
XSDE_BYTEORDER = l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING = utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/vc-9.0/config-min.nmake b/dist/etc/vc-9.0/config-min.nmake
index b98e9a9..9df85b5 100644
--- a/dist/etc/vc-9.0/config-min.nmake
+++ b/dist/etc/vc-9.0/config-min.nmake
@@ -46,6 +46,20 @@ XSDE_ARCH_WIDTH = 32
XSDE_BYTEORDER = l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING = utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/vxworks/config-5.5.1.make b/dist/etc/vxworks/config-5.5.1.make
index 9d6d8c5..89bf164 100644
--- a/dist/etc/vxworks/config-5.5.1.make
+++ b/dist/etc/vxworks/config-5.5.1.make
@@ -49,6 +49,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := b
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/vxworks/config-6.4-max.make b/dist/etc/vxworks/config-6.4-max.make
index 0d7ba41..b1b08fd 100644
--- a/dist/etc/vxworks/config-6.4-max.make
+++ b/dist/etc/vxworks/config-6.4-max.make
@@ -61,6 +61,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/vxworks/config-6.4-min.make b/dist/etc/vxworks/config-6.4-min.make
index 3efd917..3435c70 100644
--- a/dist/etc/vxworks/config-6.4-min.make
+++ b/dist/etc/vxworks/config-6.4-min.make
@@ -48,6 +48,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/vxworks/config-6.7-max.make b/dist/etc/vxworks/config-6.7-max.make
index f6e8674..43731df 100644
--- a/dist/etc/vxworks/config-6.7-max.make
+++ b/dist/etc/vxworks/config-6.7-max.make
@@ -61,6 +61,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/etc/vxworks/config-6.7-min.make b/dist/etc/vxworks/config-6.7-min.make
index 42861a3..cf8d622 100644
--- a/dist/etc/vxworks/config-6.7-min.make
+++ b/dist/etc/vxworks/config-6.7-min.make
@@ -48,6 +48,20 @@ XSDE_ARCH_WIDTH := 32
XSDE_BYTEORDER := l
+# Application character encoding. Valid values are 'utf8' for UTF-8
+# and 'iso8859-1' for ISO-8859-1. Note that this encoding is not
+# the same as the XML document encoding that is being parsed or
+# serialized. Rather, it is the encoding that is used inside the
+# application. When an XML document is parsed, the character data
+# is automatically converted to the application encoding. Similarly,
+# when an XML document is serialized, the data in the application
+# encoding is automatically converted to the resulting document
+# encoding. Also don't forget to use the --char-encoding option
+# when compiling your schemas if using an encoding other than UTF-8.
+#
+XSDE_ENCODING := utf8
+
+
# Set to 'n' if you don't have STL (std::string, etc.). Also don't
# forget to use the --no-stl option when compiling your schemas.
#
diff --git a/dist/examples/cxx/hybrid/binary/cdr/makefile b/dist/examples/cxx/hybrid/binary/cdr/makefile
index 1453f78..9e0cd7d 100644
--- a/dist/examples/cxx/hybrid/binary/cdr/makefile
+++ b/dist/examples/cxx/hybrid/binary/cdr/makefile
@@ -8,6 +8,10 @@ override LIBS += -lACE
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/hybrid/binary/cdr/nmakefile b/dist/examples/cxx/hybrid/binary/cdr/nmakefile
index ce9210b..ffa65b6 100644
--- a/dist/examples/cxx/hybrid/binary/cdr/nmakefile
+++ b/dist/examples/cxx/hybrid/binary/cdr/nmakefile
@@ -8,6 +8,10 @@ LIBS = $(LIBS) ACE.lib
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/hybrid/binary/custom/makefile b/dist/examples/cxx/hybrid/binary/custom/makefile
index 9d02861..55f1944 100644
--- a/dist/examples/cxx/hybrid/binary/custom/makefile
+++ b/dist/examples/cxx/hybrid/binary/custom/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/hybrid/binary/custom/nmakefile b/dist/examples/cxx/hybrid/binary/custom/nmakefile
index 00a0964..02e193f 100644
--- a/dist/examples/cxx/hybrid/binary/custom/nmakefile
+++ b/dist/examples/cxx/hybrid/binary/custom/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/hybrid/binary/xdr/makefile b/dist/examples/cxx/hybrid/binary/xdr/makefile
index 257536d..ebd0241 100644
--- a/dist/examples/cxx/hybrid/binary/xdr/makefile
+++ b/dist/examples/cxx/hybrid/binary/xdr/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/hybrid/binary/xdr/nmakefile b/dist/examples/cxx/hybrid/binary/xdr/nmakefile
index 332bbeb..49cbbb2 100644
--- a/dist/examples/cxx/hybrid/binary/xdr/nmakefile
+++ b/dist/examples/cxx/hybrid/binary/xdr/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/hybrid/compositors/makefile b/dist/examples/cxx/hybrid/compositors/makefile
index dd36b46..beda699 100644
--- a/dist/examples/cxx/hybrid/compositors/makefile
+++ b/dist/examples/cxx/hybrid/compositors/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/hybrid/compositors/nmakefile b/dist/examples/cxx/hybrid/compositors/nmakefile
index 14039ac..3178b0a 100644
--- a/dist/examples/cxx/hybrid/compositors/nmakefile
+++ b/dist/examples/cxx/hybrid/compositors/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/hybrid/custom/wildcard/makefile b/dist/examples/cxx/hybrid/custom/wildcard/makefile
index fb85b48..f316afa 100644
--- a/dist/examples/cxx/hybrid/custom/wildcard/makefile
+++ b/dist/examples/cxx/hybrid/custom/wildcard/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/hybrid/custom/wildcard/nmakefile b/dist/examples/cxx/hybrid/custom/wildcard/nmakefile
index 329c993..37f1293 100644
--- a/dist/examples/cxx/hybrid/custom/wildcard/nmakefile
+++ b/dist/examples/cxx/hybrid/custom/wildcard/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/hybrid/filter/makefile b/dist/examples/cxx/hybrid/filter/makefile
index 586a166..baf45ce 100644
--- a/dist/examples/cxx/hybrid/filter/makefile
+++ b/dist/examples/cxx/hybrid/filter/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/hybrid/filter/nmakefile b/dist/examples/cxx/hybrid/filter/nmakefile
index 6db5615..d535457 100644
--- a/dist/examples/cxx/hybrid/filter/nmakefile
+++ b/dist/examples/cxx/hybrid/filter/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/hybrid/hello/makefile b/dist/examples/cxx/hybrid/hello/makefile
index 5499a21..9b2130d 100644
--- a/dist/examples/cxx/hybrid/hello/makefile
+++ b/dist/examples/cxx/hybrid/hello/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/hybrid/hello/nmakefile b/dist/examples/cxx/hybrid/hello/nmakefile
index ea80a40..59d7111 100644
--- a/dist/examples/cxx/hybrid/hello/nmakefile
+++ b/dist/examples/cxx/hybrid/hello/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/hybrid/library/makefile b/dist/examples/cxx/hybrid/library/makefile
index 512a0ba..944c724 100644
--- a/dist/examples/cxx/hybrid/library/makefile
+++ b/dist/examples/cxx/hybrid/library/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/hybrid/library/nmakefile b/dist/examples/cxx/hybrid/library/nmakefile
index e1d1a72..17f3ce0 100644
--- a/dist/examples/cxx/hybrid/library/nmakefile
+++ b/dist/examples/cxx/hybrid/library/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/hybrid/minimal/makefile b/dist/examples/cxx/hybrid/minimal/makefile
index 8224235..53a52d4 100644
--- a/dist/examples/cxx/hybrid/minimal/makefile
+++ b/dist/examples/cxx/hybrid/minimal/makefile
@@ -8,6 +8,10 @@ EXTRA_CPPFLAGS := -I$(root)/libxsde
EXTRA_XSDFLAGS := --no-stl --no-exceptions
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_IOSTREAM),n)
EXTRA_XSDFLAGS += --no-iostream
endif
diff --git a/dist/examples/cxx/hybrid/minimal/nmakefile b/dist/examples/cxx/hybrid/minimal/nmakefile
index 060be2c..30d6805 100644
--- a/dist/examples/cxx/hybrid/minimal/nmakefile
+++ b/dist/examples/cxx/hybrid/minimal/nmakefile
@@ -8,6 +8,10 @@ EXTRA_CPPFLAGS = /I$(root)\libxsde
EXTRA_XSDFLAGS = --no-stl --no-exceptions
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_IOSTREAM)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-iostream
!endif
diff --git a/dist/examples/cxx/hybrid/multiroot/makefile b/dist/examples/cxx/hybrid/multiroot/makefile
index 7329f41..f4fda3f 100644
--- a/dist/examples/cxx/hybrid/multiroot/makefile
+++ b/dist/examples/cxx/hybrid/multiroot/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/hybrid/multiroot/nmakefile b/dist/examples/cxx/hybrid/multiroot/nmakefile
index d3c4e35..b550ddf 100644
--- a/dist/examples/cxx/hybrid/multiroot/nmakefile
+++ b/dist/examples/cxx/hybrid/multiroot/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/hybrid/polymorphism/makefile b/dist/examples/cxx/hybrid/polymorphism/makefile
index e1f40a1..cc7148c 100644
--- a/dist/examples/cxx/hybrid/polymorphism/makefile
+++ b/dist/examples/cxx/hybrid/polymorphism/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/hybrid/polymorphism/nmakefile b/dist/examples/cxx/hybrid/polymorphism/nmakefile
index bd86945..de9e356 100644
--- a/dist/examples/cxx/hybrid/polymorphism/nmakefile
+++ b/dist/examples/cxx/hybrid/polymorphism/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/hybrid/polyroot/makefile b/dist/examples/cxx/hybrid/polyroot/makefile
index a422aa3..752d936 100644
--- a/dist/examples/cxx/hybrid/polyroot/makefile
+++ b/dist/examples/cxx/hybrid/polyroot/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/hybrid/polyroot/nmakefile b/dist/examples/cxx/hybrid/polyroot/nmakefile
index d713db0..dbf57fb 100644
--- a/dist/examples/cxx/hybrid/polyroot/nmakefile
+++ b/dist/examples/cxx/hybrid/polyroot/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/hybrid/streaming/makefile b/dist/examples/cxx/hybrid/streaming/makefile
index 6c97f8b..bb67f6a 100644
--- a/dist/examples/cxx/hybrid/streaming/makefile
+++ b/dist/examples/cxx/hybrid/streaming/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/hybrid/streaming/nmakefile b/dist/examples/cxx/hybrid/streaming/nmakefile
index 76a0c14..e9b5821 100644
--- a/dist/examples/cxx/hybrid/streaming/nmakefile
+++ b/dist/examples/cxx/hybrid/streaming/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/hybrid/wildcard/makefile b/dist/examples/cxx/hybrid/wildcard/makefile
index 0c8fd1f..3087253 100644
--- a/dist/examples/cxx/hybrid/wildcard/makefile
+++ b/dist/examples/cxx/hybrid/wildcard/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/hybrid/wildcard/nmakefile b/dist/examples/cxx/hybrid/wildcard/nmakefile
index d4d8d06..0634fa8 100644
--- a/dist/examples/cxx/hybrid/wildcard/nmakefile
+++ b/dist/examples/cxx/hybrid/wildcard/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/parser/generated/makefile b/dist/examples/cxx/parser/generated/makefile
index bf3b512..6f77af4 100644
--- a/dist/examples/cxx/parser/generated/makefile
+++ b/dist/examples/cxx/parser/generated/makefile
@@ -14,6 +14,10 @@ EXTRA_XSDFLAGS := --generate-print-impl --generate-test-driver
#
EXTRA_XSDFLAGS += --force-overwrite
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_STL),n)
EXTRA_XSDFLAGS += --no-stl
endif
diff --git a/dist/examples/cxx/parser/generated/nmakefile b/dist/examples/cxx/parser/generated/nmakefile
index ad0900c..c801757 100644
--- a/dist/examples/cxx/parser/generated/nmakefile
+++ b/dist/examples/cxx/parser/generated/nmakefile
@@ -14,6 +14,10 @@ EXTRA_XSDFLAGS = --generate-print-impl --generate-test-driver
#
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --force-overwrite
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_STL)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-stl
!endif
diff --git a/dist/examples/cxx/parser/hello/makefile b/dist/examples/cxx/parser/hello/makefile
index 421d69e..a136306 100644
--- a/dist/examples/cxx/parser/hello/makefile
+++ b/dist/examples/cxx/parser/hello/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/parser/hello/nmakefile b/dist/examples/cxx/parser/hello/nmakefile
index 40d1307..60f226a 100644
--- a/dist/examples/cxx/parser/hello/nmakefile
+++ b/dist/examples/cxx/parser/hello/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/parser/library/makefile b/dist/examples/cxx/parser/library/makefile
index 0221150..a142b56 100644
--- a/dist/examples/cxx/parser/library/makefile
+++ b/dist/examples/cxx/parser/library/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS += -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/parser/library/nmakefile b/dist/examples/cxx/parser/library/nmakefile
index 21ffebd..fe82086 100644
--- a/dist/examples/cxx/parser/library/nmakefile
+++ b/dist/examples/cxx/parser/library/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/parser/minimal/makefile b/dist/examples/cxx/parser/minimal/makefile
index fb0d483..aba65d9 100644
--- a/dist/examples/cxx/parser/minimal/makefile
+++ b/dist/examples/cxx/parser/minimal/makefile
@@ -8,6 +8,10 @@ EXTRA_CPPFLAGS += -I$(root)/libxsde
EXTRA_XSDFLAGS := --no-stl --no-exceptions
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_IOSTREAM),n)
EXTRA_XSDFLAGS += --no-iostream
endif
diff --git a/dist/examples/cxx/parser/minimal/nmakefile b/dist/examples/cxx/parser/minimal/nmakefile
index addf4c8..4e81aff 100644
--- a/dist/examples/cxx/parser/minimal/nmakefile
+++ b/dist/examples/cxx/parser/minimal/nmakefile
@@ -8,6 +8,10 @@ EXTRA_CPPFLAGS = /I$(root)\libxsde
EXTRA_XSDFLAGS = --no-stl --no-exceptions
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_IOSTREAM)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-iostream
!endif
diff --git a/dist/examples/cxx/parser/mixed/makefile b/dist/examples/cxx/parser/mixed/makefile
index 44d988e..b4e7426 100644
--- a/dist/examples/cxx/parser/mixed/makefile
+++ b/dist/examples/cxx/parser/mixed/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS += -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/parser/mixed/nmakefile b/dist/examples/cxx/parser/mixed/nmakefile
index d25c2ae..bba2da4 100644
--- a/dist/examples/cxx/parser/mixed/nmakefile
+++ b/dist/examples/cxx/parser/mixed/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/parser/multiroot/makefile b/dist/examples/cxx/parser/multiroot/makefile
index 8fdaeec..b3fb1f6 100644
--- a/dist/examples/cxx/parser/multiroot/makefile
+++ b/dist/examples/cxx/parser/multiroot/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS += -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/parser/multiroot/nmakefile b/dist/examples/cxx/parser/multiroot/nmakefile
index 632b38b..779daa7 100644
--- a/dist/examples/cxx/parser/multiroot/nmakefile
+++ b/dist/examples/cxx/parser/multiroot/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/parser/polymorphism/makefile b/dist/examples/cxx/parser/polymorphism/makefile
index 368401a..c970f3a 100644
--- a/dist/examples/cxx/parser/polymorphism/makefile
+++ b/dist/examples/cxx/parser/polymorphism/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS += -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/parser/polymorphism/nmakefile b/dist/examples/cxx/parser/polymorphism/nmakefile
index a35b625..30c50cd 100644
--- a/dist/examples/cxx/parser/polymorphism/nmakefile
+++ b/dist/examples/cxx/parser/polymorphism/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/parser/polyroot/makefile b/dist/examples/cxx/parser/polyroot/makefile
index 69e7c10..898472a 100644
--- a/dist/examples/cxx/parser/polyroot/makefile
+++ b/dist/examples/cxx/parser/polyroot/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS += -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/parser/polyroot/nmakefile b/dist/examples/cxx/parser/polyroot/nmakefile
index f3c4ff0..220d824 100644
--- a/dist/examples/cxx/parser/polyroot/nmakefile
+++ b/dist/examples/cxx/parser/polyroot/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/parser/wildcard/makefile b/dist/examples/cxx/parser/wildcard/makefile
index 7d117bc..40591b3 100644
--- a/dist/examples/cxx/parser/wildcard/makefile
+++ b/dist/examples/cxx/parser/wildcard/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/parser/wildcard/nmakefile b/dist/examples/cxx/parser/wildcard/nmakefile
index c912a1c..99ab82f 100644
--- a/dist/examples/cxx/parser/wildcard/nmakefile
+++ b/dist/examples/cxx/parser/wildcard/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/serializer/hello/makefile b/dist/examples/cxx/serializer/hello/makefile
index a498aa4..90a752d 100644
--- a/dist/examples/cxx/serializer/hello/makefile
+++ b/dist/examples/cxx/serializer/hello/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS := -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/serializer/hello/nmakefile b/dist/examples/cxx/serializer/hello/nmakefile
index f3b3d2c..f1043a3 100644
--- a/dist/examples/cxx/serializer/hello/nmakefile
+++ b/dist/examples/cxx/serializer/hello/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/serializer/library/makefile b/dist/examples/cxx/serializer/library/makefile
index cf275b9..a6166a3 100644
--- a/dist/examples/cxx/serializer/library/makefile
+++ b/dist/examples/cxx/serializer/library/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS += -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/serializer/library/nmakefile b/dist/examples/cxx/serializer/library/nmakefile
index 9399f5d..71a21f0 100644
--- a/dist/examples/cxx/serializer/library/nmakefile
+++ b/dist/examples/cxx/serializer/library/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/serializer/minimal/makefile b/dist/examples/cxx/serializer/minimal/makefile
index 4c8c23c..5c17e24 100644
--- a/dist/examples/cxx/serializer/minimal/makefile
+++ b/dist/examples/cxx/serializer/minimal/makefile
@@ -8,6 +8,10 @@ EXTRA_CPPFLAGS += -I$(root)/libxsde
EXTRA_XSDFLAGS := --no-stl --no-exceptions
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_IOSTREAM),n)
EXTRA_XSDFLAGS += --no-iostream
endif
diff --git a/dist/examples/cxx/serializer/minimal/nmakefile b/dist/examples/cxx/serializer/minimal/nmakefile
index 7b1def3..0184770 100644
--- a/dist/examples/cxx/serializer/minimal/nmakefile
+++ b/dist/examples/cxx/serializer/minimal/nmakefile
@@ -8,6 +8,10 @@ EXTRA_CPPFLAGS = /I$(root)\libxsde
EXTRA_XSDFLAGS = --no-stl --no-exceptions
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_IOSTREAM)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-iostream
!endif
diff --git a/dist/examples/cxx/serializer/polymorphism/makefile b/dist/examples/cxx/serializer/polymorphism/makefile
index a602422..6f5b4c8 100644
--- a/dist/examples/cxx/serializer/polymorphism/makefile
+++ b/dist/examples/cxx/serializer/polymorphism/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS += -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/serializer/polymorphism/nmakefile b/dist/examples/cxx/serializer/polymorphism/nmakefile
index ad10eea..75e9d7c 100644
--- a/dist/examples/cxx/serializer/polymorphism/nmakefile
+++ b/dist/examples/cxx/serializer/polymorphism/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/serializer/polyroot/makefile b/dist/examples/cxx/serializer/polyroot/makefile
index a602422..6f5b4c8 100644
--- a/dist/examples/cxx/serializer/polyroot/makefile
+++ b/dist/examples/cxx/serializer/polyroot/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS += -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/serializer/polyroot/nmakefile b/dist/examples/cxx/serializer/polyroot/nmakefile
index ad10eea..75e9d7c 100644
--- a/dist/examples/cxx/serializer/polyroot/nmakefile
+++ b/dist/examples/cxx/serializer/polyroot/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/examples/cxx/serializer/wildcard/makefile b/dist/examples/cxx/serializer/wildcard/makefile
index 9c99a98..742d8ff 100644
--- a/dist/examples/cxx/serializer/wildcard/makefile
+++ b/dist/examples/cxx/serializer/wildcard/makefile
@@ -6,6 +6,10 @@ include $(root)/build/cxx/rules.make
#
EXTRA_CPPFLAGS += -I$(root)/libxsde
+ifeq ($(XSDE_ENCODING),iso8859-1)
+EXTRA_XSDFLAGS += --char-encoding iso8859-1
+endif
+
ifeq ($(XSDE_LONGLONG),n)
EXTRA_XSDFLAGS += --no-long-long
endif
diff --git a/dist/examples/cxx/serializer/wildcard/nmakefile b/dist/examples/cxx/serializer/wildcard/nmakefile
index a6c0feb..9ca6d8c 100644
--- a/dist/examples/cxx/serializer/wildcard/nmakefile
+++ b/dist/examples/cxx/serializer/wildcard/nmakefile
@@ -6,6 +6,10 @@ root = ..\..\..\..
#
EXTRA_CPPFLAGS = /I$(root)\libxsde
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --char-encoding iso8859-1
+!endif
+
!if "$(XSDE_LONGLONG)" == "n"
EXTRA_XSDFLAGS = $(EXTRA_XSDFLAGS) --no-long-long
!endif
diff --git a/dist/libxsde/xsde/makefile b/dist/libxsde/xsde/makefile
index 9abff7a..60c5ba3 100644
--- a/dist/libxsde/xsde/makefile
+++ b/dist/libxsde/xsde/makefile
@@ -11,6 +11,10 @@ src += c/genx/genx.c c/genx/char-props.c
src += cxx/string.cxx cxx/ro-string.cxx cxx/stack.cxx
+ifeq ($(XSDE_ENCODING),iso8859-1)
+src += cxx/iso8859-1.cxx
+endif
+
ifeq ($(XSDE_STL),n)
src += cxx/strdupx.cxx
endif
@@ -506,6 +510,20 @@ endif
ifeq ($(XSDE_BYTEORDER),b)
@echo $(h)define XSDE_BYTEORDER 4321 >>$@
endif
+ifeq ($(XSDE_ENCODING),utf8)
+ @echo $(h)define XSDE_ENCODING_UTF8 >>$@
+else
+ifeq ($(XSDE_ENCODING),)
+ @echo $(h)define XSDE_ENCODING_UTF8 >>$@
+else
+ @echo $(h)undef XSDE_ENCODING_UTF8 >>$@
+endif
+endif
+ifeq ($(XSDE_ENCODING),iso8859-1)
+ @echo $(h)define XSDE_ENCODING_ISO8859_1 >>$@
+else
+ @echo $(h)undef XSDE_ENCODING_ISO8859_1 >>$@
+endif
ifeq ($(XSDE_STL),y)
@echo $(h)define XSDE_STL >>$@
endif
diff --git a/dist/libxsde/xsde/nmakefile b/dist/libxsde/xsde/nmakefile
index dd806f7..90fc489 100644
--- a/dist/libxsde/xsde/nmakefile
+++ b/dist/libxsde/xsde/nmakefile
@@ -13,6 +13,10 @@ src = $(src) c\genx\genx.c c\genx\char-props.c
src = $(src) cxx\string.cxx cxx\ro-string.cxx cxx\stack.cxx
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+src = $(src) cxx\iso8859-1.cxx
+!endif
+
!if "$(XSDE_STL)" == "n"
src = $(src) cxx\strdupx.cxx
!endif
@@ -501,6 +505,20 @@ config.h:
!if "$(XSDE_BYTEORDER)" == "b"
@echo #define XSDE_BYTEORDER 4321 >>$@
!endif
+!if "$(XSDE_ENCODING)" == "utf8"
+ @echo #define XSDE_ENCODING_UTF8 >>$@
+!else
+!if "$(XSDE_ENCODING)" == ""
+ @echo #define XSDE_ENCODING_UTF8 >>$@
+!else
+ @echo #undef XSDE_ENCODING_UTF8 >>$@
+!endif
+!endif
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+ @echo #define XSDE_ENCODING_ISO8859_1 >>$@
+!else
+ @echo #undef XSDE_ENCODING_ISO8859_1 >>$@
+!endif
!if "$(XSDE_STL)" == "y"
@echo #define XSDE_STL >>$@
!endif
diff --git a/dist/tests/cxx/hybrid/makefile b/dist/tests/cxx/hybrid/makefile
index 3cd2d7d..ddcf464 100644
--- a/dist/tests/cxx/hybrid/makefile
+++ b/dist/tests/cxx/hybrid/makefile
@@ -17,6 +17,10 @@ endif
ifeq ($(XSDE_IOSTREAM),y)
dirs += built-in default enumeration list test-template union
+ifeq ($(XSDE_ENCODING),iso8859-1)
+dirs += iso8859-1
+endif
+
ifeq ($(XSDE_CDR),y)
dirs += binary/cdr
endif
diff --git a/dist/tests/cxx/hybrid/nmakefile b/dist/tests/cxx/hybrid/nmakefile
index 9052637..1127649 100644
--- a/dist/tests/cxx/hybrid/nmakefile
+++ b/dist/tests/cxx/hybrid/nmakefile
@@ -17,6 +17,10 @@ dirs = $(dirs) iterator
!if "$(XSDE_IOSTREAM)" == "y"
dirs = $(dirs) built-in default enumeration list test-template union
+!if "$(XSDE_ENCODING)" == "iso8859-1"
+dirs = $(dirs) iso8859-1
+!endif
+
!if "$(XSDE_CDR)" == "y"
dirs = $(dirs) binary/cdr
!endif