aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 25c88b4dfb15bd1210674b97df050fa2e60de90d (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
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)
CPPFLAGS
CXXFLAGS
LDFALGS
LIBS
BOOST_LIB_SUFFIX

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.

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.