From 6c63b913179127e09ed7d9da8920493ccceec6ce Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 2 Mar 2009 12:14:54 +0200 Subject: Add make support for creating binary distributions Two new make targets, dist and dist-win, were added that allow one to create a binary distribution from the current build. The dist target creates a UNIX distribution while dist-win -- Windows. The simplified build systems for the runtime library and examples that were kept separately are now part of the project (the dist/ subdirectory). --- dist/config/config.nmake | 135 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 dist/config/config.nmake (limited to 'dist/config/config.nmake') diff --git a/dist/config/config.nmake b/dist/config/config.nmake new file mode 100644 index 0000000..6279c60 --- /dev/null +++ b/dist/config/config.nmake @@ -0,0 +1,135 @@ +# Toolchain. +# +CC = cl.exe +CFLAGS = /nologo /W3 +CPPFLAGS = -D_CRT_SECURE_NO_DEPRECATE + +CXX = cl.exe +CXXFLAGS = /nologo /W3 + +LD = link.exe +LDFLAGS = /nologo +LIBS = + +# Set RANLIB to empty if your system does not need ranlib. +# +AR = lib.exe +ARFLAGS = /nologo +RANLIB = + +# Common XSD/e flags. +# +XSDFLAGS = --generate-inline + + +# Platform. Valid values are: +# +# 'wince' - Windows CE +# 'win32' - Windows 2000, XP, etc. +# 'posix' - POSIX OS, including UNIX/Linux, VxWorks, etc. +# +XSDE_PLATFORM = win32 + + +# Platform architecture width in bits. +# +XSDE_ARCH_WIDTH = 32 + + +# Platform byte order. Valid values are 'b' for big-endian +# and 'l' for little-endian. +# +XSDE_BYTEORDER = l + + +# 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. +# +XSDE_STL = y + + +# Set to 'n' if you don't have iostream. +# +XSDE_IOSTREAM = y + + +# Set to 'n' if you don't have C++ exceptions. Also don't forget to +# use the --no-exceptions option when compiling your schemas. +# +XSDE_EXCEPTIONS = y + + +# Set to 'n' if your platform doesn't have the "long long int" type or +# the strtoull function. Also don't forget to use the --no-long-long +# option when compiling your schemas. +# +XSDE_LONGLONG = n + + +# Set to 'n' if your platform doesn't have the _snprintf function. +# +XSDE_SNPRINTF = y + + +# Set to 'n' if you don't want support for XML Schema validation in +# C++/Parser. Also don't forget to use the --suppress-validation +# option when compiling your schemas. +# +XSDE_PARSER_VALIDATION = y + + +# Set to 'n' if you don't want support for XML Schema validation in +# C++/Serializer. Also don't forget to use the --suppress-validation +# option when compiling your schemas. +# +XSDE_SERIALIZER_VALIDATION = y + + +# Base parser/serializer implementation reuse style. Valid values are: +# +# 'mixin' - virtual inheritance-based reuse (specify --reuse-style-mixin) +# 'tiein' - delegation-based reuse (recommended) +# 'none' - no reuse support (specify --reuse-style-none) +# +XSDE_REUSE_STYLE = tiein + + +# 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) +# or --runtime-polymorphic (generates non-polymorphic code that uses the +# runtime library configured with polymorphism support). Note that support +# for XML Schema polymorphism requires runtime static initialization +# support in the C++ compiler (that is, support for automatic calling +# of constructors for static objects). Furthermore, if the mixin reuse +# style is used (XSDE_REUSE_STYLE) then the generated code requires +# support for dynamic_cast. +# +XSDE_POLYMORPHIC = n + + +# When polymorphism support is enabled (XSDE_POLYMORPHIC), the following +# parameters control the substitution and inheritance hashmaps bucket +# allocation. Because the number of elements in these hashmaps depends +# on the schemas being compiled and thus is fairly static, these hashmaps +# do not perform automatic table resizing. To obtain good performance the +# elements to buckets ratio should be between 0.7 and 0.9. The recommended +# way to ensure this range is to add diagnostics code to your application +# as shown in the documentation and examples. It is also a good idea to +# use prime numbers for bucket counts: 53 97 193 389 769 1543 3079 6151 +# 12289 24593 49157 98317 196613 393241. Inheritance hashmaps are only +# used when validation is enabled. +# +XSDE_PARSER_SMAP_BUCKETS = 53 +XSDE_PARSER_IMAP_BUCKETS = 97 +XSDE_SERIALIZER_SMAP_BUCKETS = 53 +XSDE_SERIALIZER_SMAP_BUCKET_BUCKETS = 53 +XSDE_SERIALIZER_IMAP_BUCKETS = 97 + + +# Options tuning depending on the features selected. +# +!if "$(XSDE_EXCEPTIONS)" == "y" +CFLAGS = $(CFLAGS) /EHs +CXXFLAGS = $(CXXFLAGS) /EHs +!endif -- cgit v1.1