summaryrefslogtreecommitdiff
path: root/README
blob: 32c89047fe0250cc085733bda767a872176c8880 (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
This archive contains pre-configured CodeSynthesis XSD source code
with all its dependencies (except Xerces-C++). 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 all of them already installed:

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

The build system expects you to have the Xerces-C++ library version
3.0.0 or later built and installed in a location where the C++ compiler
will find them by default (normally /usr/lib/ and /usr/local/lib/).
Alternatively, you can provide include (-I) and library (-L) paths
for this library via the CPPFLAGS and LDFLAGS variables, respectively.

The build system supports the following variables:

CC  	  	  (defaults to gcc if not set)
CXX               (defaults to g++ if not set)
AR                (defaults to ar if not set)
RANLIB            (defaults to ranlib if not set)
CPPFLAGS
CFLAGS
CXXFLAGS
LDFLAGS
LIBS
EXTERNAL_LIBCUTL

For example:

$ make CC=gcc-4.8 CXX=g++-4.8 CFLAGS=-O3 CXXFLAGS=-O3 -j 4

The EXTERNAL_LIBCUTL variable allows you to use an external build
of libcutl, for example, if you already have this library installed.
The valid values are 'n' (default) and 'y'.

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/ sub-directory and the runtime headers in the xsd/libxsd/
sub-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=/tmp/xsd-x.y.z dist

Or, for Windows:

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

The build system also supports the test and clean targets, for example:

$ make test
$ make clean

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