annotate README.host @ 2925:7cbaadc92c67

* services/objloader/current/src/objloader.c, services/objloader/current/src/objelf.c services/objloader/current/include/objelf.h: Fixed a memory leak where a library section was loaded but memory allocated was not released. This bug was reported by Davy Wouters on the eCos list. Added minor cosmetics and a number of CYG_ASSERT and if() to test the values returned by cyg_ldr_load_elf_section() * services/objloader/current/cdl/objloader.cdl: Eliminate workarounds for file path handling issue in obsolete Cygwin tclsh. Use ACTUAL_CFLAGS for robustness. * fs/rom/current/cdl/romfs.cdl: Eliminate workarounds for file path handling issue in obsolete Cygwin tclsh. Build the mk_romfs tool with higher priority than the custom rules which use it.
author jld
date Fri, 09 Oct 2009 13:53:09 +0000
parents 87c2e2ce3904
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
1 eCos Host-side Software
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
2 =======================
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
3
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
4 This README file only describes the eCos host-side software. For
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
5 details of the eCos target-side software or the required toolchains,
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
6 please see other documentation. A good starting point is
2538
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
7 http://sourceware.com/ecos
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
8
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
9 There are two categories of host-side software. The host subdirectory
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
10 contains generic software, primarily related to the eCos configuration
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
11 technology. All eCos users will need to use some of this technology to
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
12 configure and build eCos, either using pre-built binaries or by
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
13 building the host-side software from source. The generic software
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
14 should be portable to a wide range of host platforms.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
15
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
16 There is also package-specific host-side software. Much of this is I/O
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
17 related. For example the generic USB-slave package contains some
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
18 programs related to testing; a test application is run on a target
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
19 with suitable USB slave-side hardware, and needs to interact with
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
20 another program running on the USB host; the latter is
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
21 package-specific host-side software and can be found in the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
22 subdirectory packages/io/usb/slave. Code like this may have
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
23 significant platform dependencies and may only work on a single
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
24 platform or on a small number of platforms. There may also be
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
25 special requirements, for example it may be necessary to install some
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
26 programs suid root so that they have appropriate access to the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
27 hardware.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
28
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
29
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
30 The host subdirectory includes the following:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
31
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
32 infra/
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
33 This is an implementation of the eCos infrastructure that can be
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
34 used on the host-side, and provides assertion, tracing and
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
35 testcase support.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
36
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
37 NOTE: the eCos infrastructure facilities are not especially
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
38 well-suited to host-side development, in particular they are not
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
39 C++-oriented. There are plans to remove the current infrastructure
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
40 completely and replace it with something more suitable. People
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
41 planning new projects should be aware of this, and may wish to
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
42 avoid using the current infrastructure.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
43
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
44 libcdl/
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
45 The CDL library lies at the heart of the eCos configuration
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
46 technology.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
47
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
48 tools/configtool/
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
49 The sources to the various configuration tools can be found here.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
50
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
51 tools/configtool/common/common/
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
52 Contains sources related to makefile generation, shared by the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
53 command line and graphical tools.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
54
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
55 tools/configtool/standalone/common/
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
56 Contains the command line ecosconfig tool.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
57
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
58 tools/configtool/standalone/wxwin/
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
59 Contains sources for the wxWindows-based, Linux and Windows graphical
2771
87c2e2ce3904 * README.host: Minor update of configtool info.
jld
parents: 2729
diff changeset
60 configuration tool. The Windows version is built with cygwin g++.
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
61
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
62 tools/configtool/common/win32/
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
63 tools/configtool/standalone/win32/
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
64 Contains sources for the older, MFC-based, Windows-only graphical
2771
87c2e2ce3904 * README.host: Minor update of configtool info.
jld
parents: 2729
diff changeset
65 configuration tool. This can only be built with Visual C++.
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
66
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
67 The two graphical configuration tools have their own build procedures,
2771
87c2e2ce3904 * README.host: Minor update of configtool info.
jld
parents: 2729
diff changeset
68 described in tools/configtool/standalone/wxwin/README.txt and
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
69 tools/configtool/standalone/win32/ReadMe respectively.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
70
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
71 Package-specific host-side code lives in the host subdirectory of the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
72 appropriate package, for example packages/io/usb/slave/<version>/host.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
73 Most packages only provide target-side code and hence will not have a
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
74 host subdirectory. Users can install various packages from a variety
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
75 of sources, and where a package does have host-side software the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
76 package documentation should be consulted for further information.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
77
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
78
595
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
79 Installing on Linux, Other Unix Systems, and Cygwin
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
80 ---------------------------------------------------
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
81
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
82 Both generic host-side software (infra, libcdl and ecosconfig) and
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
83 package-specific software can be built with the conventional
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
84 "configure/make/make install" sequence. However the code does not
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
85 conform fully to GNU coding standards so some operations such as "make
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
86 dist" are not supported. There is limited support for DejaGnu-based
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
87 testing.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
88
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
89 Much of the host-side software has a dependency on Tcl. This is not
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
90 supplied with the sources since many users will already have a
345
3f4258400ba5 Fix host-side configury problems which can occur if you are not using
bartv
parents: 290
diff changeset
91 suitable installation, for example it is shipped as standard with all
3f4258400ba5 Fix host-side configury problems which can occur if you are not using
bartv
parents: 290
diff changeset
92 major Linux distributions. The generic host-side software should work
3f4258400ba5 Fix host-side configury problems which can occur if you are not using
bartv
parents: 290
diff changeset
93 with any release of Tcl from 8.0 onwards. The package-specific
3f4258400ba5 Fix host-side configury problems which can occur if you are not using
bartv
parents: 290
diff changeset
94 software requires a more recent version, 8.3 or later. If no suitable
3f4258400ba5 Fix host-side configury problems which can occur if you are not using
bartv
parents: 290
diff changeset
95 Tcl installation is available then the configure step will still
3f4258400ba5 Fix host-side configury problems which can occur if you are not using
bartv
parents: 290
diff changeset
96 succeed but some of the package-specific software will not be built.
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
97
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
98 There are two main approaches to building the host-side software:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
99
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
100 1) build the generic and the package-specific code in one build tree.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
101 This uses the top-level configure script. The script automatically
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
102 invokes the configure script in the main host subdirectory. In
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
103 addition it searches the packages hierarchy for host subdirectories
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
104 containing their own configure scripts and will invoke those.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
105
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
106 Note: the search for host subdirectories happens during configure
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
107 time, not during the make. If new packages with host-side code are
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
108 added to the repository then it will be necessary to re-run the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
109 toplevel configure script.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
110
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
111 2) build the generic code in one build tree, using the configure
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
112 script in the toplevel's host subdirectory. Then build some or all
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
113 of the package-specific code in separate build trees, using the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
114 configure scripts in each package's host subdirectory.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
115
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
116 The first approach is generally simpler. However some of the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
117 package-specific code requires special installation, for example a
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
118 program may have to be installed suid root so that it has the right
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
119 privileges to access hardware, and hence the "make install" step has
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
120 to be run by the superuser. Also some of the package-specific code is
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
121 rather specialized and may be of no interest to many users. For
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
122 example, the USB testing code is only useful when developing
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
123 USB-based applications. Hence some users may prefer the second
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
124 approach, building just the generic code and a subset of the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
125 package-specific code.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
126
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
127 It is necessary to use a separate build tree rather than build
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
128 directly in the source tree. This is enforced by the configure scripts.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
129
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
130 $ mkdir build
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
131 $ cd build
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
132
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
133 The next step is to run the desired configure script. To build all
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
134 the host-side software this means the toplevel configure script:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
135
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
136 $ <path>/configure <args>
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
137
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
138 Alternatively to build just the generic host-side software, use the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
139 configure script in the host subdirectory.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
140
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
141 $ mkdir host
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
142 $ cd host
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
143 $ <path>/host/configure <args>
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
144
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
145 Or, to build just one package's host-side code:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
146
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
147 $ mkdir -p packages/io/usb/slave/current/host
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
148 $ cd packages/io/usb/slave/current/host
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
149 $ <path>/packages/io/usb/slave/current/host/configure <args>
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
150
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
151 (It is not actually necessary to use the same directory structure in
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
152 the build tree as in the source tree, but doing so can avoid
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
153 confusion).
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
154
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
155 A list of all the command-line options can be obtained by running
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
156 "configure --help". The most important ones are as follows:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
157
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
158 1) --prefix. This can be used to specify the location of the install
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
159 tree, defaulting to /usr/local, so the ecosconfig program ends up
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
160 in /usr/local/bin/ecosconfig and the CDL library ends up in
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
161 /usr/local/lib/libcdl.a. If an alternative location is preferred
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
162 this can be specified with --prefix, for example:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
163
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
164 $ <path>/configure --prefix=/usr/local/ecos <args>
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
165
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
166 2) --enable-debug. By default all assertions and tracing are disabled.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
167 When debugging any of the generic host-side software these should
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
168 be enabled. Some package-specific code may not have any extra
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
169 debug support, in which case --enable-debug would be ignored.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
170
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
171 $ <path>/configure --enable-debug
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
172
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
173 It is also possible to control most of the assertion and tracing
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
174 macros at a finer grain. This is intended mainly for use by the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
175 developers.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
176
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
177 --disable-asserts disable all assertions
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
178 --disable-preconditions disable a subset of the assertions
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
179 --disable-postconditions disable a subset of the assertions
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
180 --disable-invariants disable a subset of the assertions
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
181 --disable-loopinvariants disable a subset of the assertions
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
182 --disable-tracing disable tracing
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
183 --disable-fntracing disable function entry/exit tracing
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
184
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
185 3) --with-tcl=<path>
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
186 --with-tcl-version=<number>
2538
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
187 --with-tk=<path>
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
188
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
189 The host-side tools have a dependency on Tcl, which is not supplied
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
190 with the sources because many people will already have a suitable
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
191 installation. Specifically it is necessary to have the header file
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
192 tcl.h and appropriate libraries such that -ltcl will work - this
595
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
193 can involve either static or shared libraries. Some tools may require
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
194 Tk as well as Tcl.
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
195
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
196 Unfortunately there is considerable variation in Tcl installations.
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
197 In theory all Tcl installations have a file tclConfig.sh which
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
198 defines exactly how to compile and link code that uses Tcl, and Tk
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
199 has a similar file tkConfig.sh. The eCos configure scripts look for
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
200 these files, first in $(prefix)/lib, then in /usr/lib. If the system
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
201 already has a Tcl installation in /usr then the configure script will
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
202 automatically find /usr/lib/tclConfig.sh and it is not necessary
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
203 to pass additional options when configuring the eCos host-side
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
204 software. Alternatively, if for example you have installed a more
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
205 recent version of Tcl/Tk in the same place that you want to install the
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
206 eCos software, e.g. /usr/local, then $(prefix)/lib/tclConfig.sh
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
207 will be read in.
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
208
595
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
209 It is also possible that a more recent version of Tcl has been installed
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
210 in a different location. For example, you may wish to install the eCos host
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
211 tools in /opt/ecos but use a version of Tcl installed in /usr/local. The
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
212 eCos configure scripts need to be told explicitly where to look for
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
213 the Tcl:
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
214
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
215 $ <path>/configure --with-tcl=/usr/local ...
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
216
595
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
217 Some systems, for example Debian Linux 3.0, do not install tclConfig.sh
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
218 in /usr/lib because that makes it more difficult to have several different
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
219 versions of Tcl installed at the same time. Instead tclConfig.sh is found
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
220 in a versioned directory such as /usr/lib/tcl8.3. Since several versions
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
221 may be installed the desired one must be specified explicitly.
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
222
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
223 $ <path>/configure --with-tcl-version=8.3
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
224
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
225 The --with-tcl and --with-tcl-version options are combined to give a search path:
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
226
2538
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
227 <with-tcl>/lib/tclConfig.sh
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
228 <with-tcl>/lib/tcl<vsn>/tclConfig.sh
595
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
229 <prefix>/lib/tclConfig.sh
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
230 <prefix>/lib/tcl<vsn>/tclConfig.sh
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
231 /usr/lib/tclConfig.sh
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
232 /usr/lib/tcl<vsn>/tclConfig.sh
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
233
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
234 If tclConfig.sh cannot be found in any of these places then it is assumed
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
235 that Tcl has not been properly installed and the eCos configure script will
2538
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
236 fail.
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
237
2538
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
238 To search for Tk the configure scripts use much the same rules as
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
239 for Tcl. It is also possible to specify a path using the --with-tk
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
240 option, useful if for some reason Tk has been installed in a
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
241 different location from Tcl. There is no --with-tk-version: it is
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
242 assumed that the same version should be used for both Tcl and Tk.
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
243
595
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
244 Again, the configure scripts must be able to find tkConfig.sh
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
245
595
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
246 Once tclConfig.sh and tkConfig.sh have been found and read in, the eCos
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
247 configure scripts should have all the information needed to compile and
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
248 link code that uses Tcl. First the location of key headers such as
2538
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
249 <tcl.h> is needed. A tclConfig.sh file may define TCL_INCLUDE_SPEC
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
250 or TCL_INC_DIR to give a specific location, otherwise the header
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
251 files should be in $(TCL_PREFIX)/include. If <tcl.h> cannot be
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
252 found then the eCos configure scripts will fail.
595
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
253
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
254 Next it is necessary to work out how to link applications with Tcl. This
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
255 information should be provided by a tclConfig.sh variable TCL_LIB_SPEC.
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
256 Unfortunately not all Tcl installations set this, for example the cygwin
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
257 Tcl 8.4 release. If TCL_LIB_SPEC is not defined then instead the
c2d1fd823f09 Update autoconf macro for Tcl, and regenerate affected files
bartv
parents: 491
diff changeset
258 configure script will look for a library libtcl<vsn>.a, where <vsn> is
2538
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
259 specified using --with-tcl-version, then for a library libtcl.a.
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
260 tclConfig.sh may also list additional libraries in TCL_LIBS and
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
261 additional linker flags in TCL_LD_FLAGS.
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
262
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
263 For Tk the relevant tkConfig.sh settings are TK_INCLUDE_SPEC or
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
264 TK_INC_DIR, TK_XINCLUDES, TK_LIB_SPEC, and TK_LIBS.
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
265
345
3f4258400ba5 Fix host-side configury problems which can occur if you are not using
bartv
parents: 290
diff changeset
266
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
267 Following the configure step the build tree should be set up
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
268 correctly. All that remains is the actual build and install:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
269
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
270 $ make
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
271 $ make install
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
272
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
273 This should result in an ecosconfig executable, plus appropriate
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
274 libraries and header files. If the install prefix is a system
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
275 location, for example /usr/local/, then "make install" will normally
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
276 require root privileges. Also some of the package-specific software
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
277 has special installation requirements, for example programs that need
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
278 to be installed suid root, and this will also need root privileges.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
279
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
280
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
281 Installing with Visual C++
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
282 --------------------------
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
283
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
284 Under Windows it is possible to build the generic host-side software
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
285 (infra, libcdl and ecosconfig) with Visual C++ but this is deprecated.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
286 Building with g++ under cygwin is preferred.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
287
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
288 It is still necessary to run the configure script and a suitable make
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
289 utility. That requires a shell and a Unix-like environment, as
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
290 provided by cygwin. The Visual C++ compiler cl.exe needs to be on the
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
291 shell's search path, and some environment variables such as INCLUDE
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
292 and LIB may need to be set to point at the Visual C++ installation -
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
293 the details may vary depending on the version of the compiler. Then
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
294 the configure command should be run like this:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
295
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
296 $ CC=cl CXX=cl <path>/host/configure <args>
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
297
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
298 Note that the path should be a cygwin path: cygwin mount points are
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
299 accepted and forward slashes should be used. The various configure
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
300 scripts now detect that Visual C++ should be used, and adapt
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
301 accordingly.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
302
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
303 Depending on what cygwin mount points are set up, /usr/local may or
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
304 may not be an appropriate install location for VC++ applications.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
305 If not, the install location should be specified with --prefix:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
306
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
307 $ CC=cl CXX=cl <path>/configure --prefix=<install-path> <args>
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
308
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
309 It is also necessary to use the right version of Tcl. For a VC++ build
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
310 the cygwin release of Tcl should not be used. Instead a suitable
491
def85e4d96d2 http://dev.scriptics.com/ is now http://www.tcl.tk/
jlarmour
parents: 345
diff changeset
311 prebuilt Tcl package can be obtained from http://www.tcl.tk/.
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
312 It is necessary to tell the configure script where this has been
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
313 installed, for example:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
314
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
315 $ CC=cl CXX=cl <path>/configure --prefix=<install-path> \
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
316 --with-tcl=/cygdrive/d/local/scriptics/Tcl/tcl8.1 <args>
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
317
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
318 The library name will be of the form tcl81.lib, and there will not be
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
319 a symbolic link from tcl.lib to the appropriate version. It will be
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
320 necessary to specify the Tcl version explicitly since the default
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
321 version is currently 8.0.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
322
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
323 $ CC=cl CXX=cl <path>/configure --prefix=<install-path> \
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
324 --with-tcl=/d/local/scriptics/Tcl/tcl8.1 --with-tcl-version=81 <args>
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
325
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
326 Following a successful configure, the tools can be built and installed
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
327 in the normal fashion:
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
328
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
329 $ make
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
330 $ make install
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
331
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
332
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
333 More Information
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
334 ================
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
335
2538
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
336 Please see the eCos web site, http://sourceware.com/ecos/, for
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
337 further details. This includes the FAQ, a form for reporting problems,
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
338 and details of the various mailing lists
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
339 (http://sources.redhat.com/ecos/intouch.html) At the time of writing
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
340 there are no separate mailing lists for the eCos host-side sources,
2538
8f5c64d663f7 Another attempt at the Tcl/Tk autoconf macro
bartv
parents: 595
diff changeset
341 the main mailing list ecos-discuss@sourceware.com should be used
290
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
342 instead.
3ecf91f6663a Update instructions for building the host-side software
bartv
parents:
diff changeset
343
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
344 // ####ECOSDOCCOPYRIGHTBEGIN####
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
345 // ===============================================================
2771
87c2e2ce3904 * README.host: Minor update of configtool info.
jld
parents: 2729
diff changeset
346 // Copyright (C) 2000, 2001, 2002, 2009 Free Software Foundation, Inc.
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
347 // This material may be distributed only subject to the terms
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
348 // and conditions set forth in the Open Publication License, v1.0
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
349 // or later (the latest version is presently available at
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
350 // http://www.opencontent.org/openpub/)
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
351 // Distribution of the work or derivative of the work in any
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
352 // standard (paper) book form is prohibited unless prior
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
353 // permission obtained from the copyright holder
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
354 // ===============================================================
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2538
diff changeset
355 // ####ECOSDOCCOPYRIGHTEND####