diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-03-02 12:14:54 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-03-02 12:14:54 +0200 |
commit | 6c63b913179127e09ed7d9da8920493ccceec6ce (patch) | |
tree | 95684b51b4ab60e6468a592a53e33c2cf00027ab /dist/config | |
parent | 3fd3cfc36784be43f545f2f0973e3dc58f475996 (diff) |
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).
Diffstat (limited to 'dist/config')
-rw-r--r-- | dist/config/config.make | 135 | ||||
-rw-r--r-- | dist/config/config.nmake | 135 |
2 files changed, 270 insertions, 0 deletions
diff --git a/dist/config/config.make b/dist/config/config.make new file mode 100644 index 0000000..b6c4212 --- /dev/null +++ b/dist/config/config.make @@ -0,0 +1,135 @@ +# Toolchain. +# +CC := gcc +CFLAGS := -W -Wall -O3 +CPPFLAGS := + +CXX := g++ +CXXFLAGS := -W -Wall -O3 + +LD := $(CXX) +LDFLAGS := $(CXXFLAGS) +LIBS := + +# Set RANLIB to empty if your system does not need ranlib. +# +AR := ar +ARFLAGS := rc +RANLIB := 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 := posix + + +# 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 := y + + +# 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. +# +ifeq ($(XSDE_EXCEPTIONS),y) +CFLAGS += -fexceptions +endif 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 |