aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 8f2d04a68731276b4addd464d0e470686c1ecd1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
This archive contains pre-configured CodeSynthesis XSD source code 
with all its dependencies (except Xerces-C++ and Boost). It allows 
you to build the XSD compiler in non-interactive mode (that is,
without answering any configuration questions).

The following GNU tools are required to build XSD. Any fairly recent 
GNU/Linux distribution should have these already installed:

GNU bash >= 2.00   (bash --version)  http://www.gnu.org/software/bash/
GNU m4   >= 1.4    (m4 --version)    http://www.gnu.org/software/m4/
GNU make >= 3.81   (make --version)  http://www.gnu.org/software/make/
GNU g++  >= 3.4.3  (g++ --version)   http://gcc.gnu.org/

The build system expects you to have the Xerces-C++ (2.6.0 or later)
as well as Boost filesystem and regex (1.33.1 or later) libraries
built and installed in a location where the C++ compiler looks by
default (normally /usr/lib/ and /usr/local/lib/). Alternatively, you
can provide include (-I) and library (-L) paths for this packages via
the CPPFLAGS and LDFLAGS variables, respectively.

The build system supports the following variables:

CXX               (defaults to g++ if not set)
AR                (defaults to ar if not set)
RANLIB            (defaults to ranlib if not set)
CPPFLAGS
CXXFLAGS
LDFALGS
LIBS
BOOST_LIB_SUFFIX
BOOST_LINK_SYSTEM

For example:

$ make CXX=g++-4.2 CXXFLAGS=-O3 -j 4

The BOOST_LIB_SUFFIX variable allows you to specify the optional
Boost library suffix. For example, if your Boost library names are
in the libboost_regex-gcc41-mt-d.so format, then you will need to
set BOOST_LIB_SUFFIX to -gcc41-mt-d.

The BOOST_LINK_SYSTEM variable allows you to specify whether the
Boost system library should be explicitly linked to which may be
required by newer linkers. The valid values are 'y' (default) and 
'n'.

If you would like to see the full compiler/linker/etc., command lines,
you can add verbose=1 to the make command line:

$ make verbose=1

After the build is complete, the XSD compiler can be found in the 
xsd/xsd/ directory and the runtime headers in the xsd/libxsd/ directory.
You can install the XSD compiler, runtime library, and documentation
with the install target, for example:

$ make install_prefix=/usr install

You can fine-tune the installation locations with the following make
variables:

install_prefix       default is /usr/local
install_data_prefix  default is install_prefix
install_exec_prefix  default is install_prefix

install_bin_dir      default is install_exec_prefix/bin
install_sbin_dir     default is install_exec_prefix/sbin
install_lib_dir      default is install_exec_prefix/lib

install_data_dir     default is install_data_prefix/share
install_inc_dir      default is install_data_prefix/include

install_doc_dir      default is install_data_dir/doc
install_man_dir      default is install_data_dir/man
install_info_dir     default is install_data_dir/info

You can also create a distribution package with the XSD compiler binary,
source code for the runtime library and examples, as well as the
documentation using the dist and dist-win targets, for example:

$ make dist_prefix=./xsd-x.y.z dist

Or, for Windows:

$ make dist_prefix=./xsd-x.y.z dist-win

The build system also supports the clean target:

$ make clean

Send bug reports or any other feedback to the xsd-users@codesynthesis.com
mailing list.