-
Notifications
You must be signed in to change notification settings - Fork 10
/
INSTALL
247 lines (168 loc) · 7.62 KB
/
INSTALL
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
Installation Instructions
=========================
This file contains instructions on building and installing the
libraries and utilities in the elftoolchain project's sources.
Supported Operating Systems
---------------------------
The source tree is currently built and tested on the following
operating systems.
================= ======== =======================
Operating System Version Supported Architectures
----------------- -------- -----------------------
`DragonFly BSD`_ 5.2 amd64
FreeBSD_ 11.3 amd64 & i386
Minix_ 3.0.2 i386
NetBSD_ 8.1 amd64
OpenBSD_ 6.5 amd64
Ubuntu_ GNU/Linux 18.04 x86_64
================= ======== =======================
.. _DragonFly BSD: http://www.dragonflybsd.org/
.. _FreeBSD: http://www.freebsd.org/
.. _Minix: http://www.minix3.org/
.. _NetBSD: http://www.netbsd.org/
.. _OpenBSD: http://www.openbsd.org/
.. _Ubuntu: http://www.ubuntu.com/
Building the Source Tree
========================
The core libraries and utilities that make up the software release are
always built by default. Builds of the project's test suites (in the
``test/`` subdirectory), and of additional documentation (in the directory
``documentation/``) are optional, and will only be attempted if these
directories are present.
Prerequisites
-------------
:DragonFly BSD 5.2:
- The core libraries and utilities should build out of the box on
a stock install of DragonFly BSD.
- To build and run the test suite:
#. The current release of the `Test Execution Toolkit`_ needs to
be downloaded and unpacked into the ``test/tet/`` directory.
#. The ``py27-yaml`` package needs to be installed::
% sudo pkg install py27-yaml
- Building additional documentation is not currently supported
under DragonFly BSD.
:FreeBSD 11.3:
- The core libraries and utilities should build out of the box on
a stock install of FreeBSD.
- To build and run the test suite:
#. The current release of the `Test Execution Toolkit`_ needs to
be downloaded and unpacked into the ``test/tet/`` directory::
% cd <SRCDIR>/test/tet
% tar -xf /PATH/TO/DOWNLOADED/TET-3.8-SOURCES
#. The ``python`` and ``py27-yaml`` packages need to be installed::
% sudo pkg install python py27-yaml
- Building additional documentation is not currently supported under
FreeBSD 11.3.
:Minix 3.2.0:
- The following packages are pre-requisites for building the
sources on Minix 3.2.0:
=================== =====================================
**Package** **Description**
=================== =====================================
``gcc44`` The GNU C compiler.
=================== =====================================
The following command line may be used to install the necessary
pre-requisites::
# pkgin install gcc44
- The test suites cannot currently be built under Minix.
- Building additional documentation is not currently supported
under Minix.
:OpenBSD 6.5:
- The following packages are pre-requisites for building the
sources on OpenBSD 6.5:
=================== =====================================
**Package** **Description**
=================== =====================================
``libarchive`` An archive access library.
=================== =====================================
The following command line may be used to install the necessary
pre-requisites::
# pkg_add libarchive
- Building additional documentation is not currently supported
under OpenBSD.
:NetBSD 8.1:
- The core libraries and utilities should build out of the box on
a stock install of NetBSD 8.1.
- To build and run the test suite:
#. The current release of the `Test Execution Toolkit`_, needs
to be downloaded and unpacked into the ``test/tet/``
directory.
#. The following additional package needs to be installed, as
listed in the example command line below ::
% sudo pkgin install py27-yaml
- Building additional documentation is not currently supported
under NetBSD.
:Ubuntu GNU/Linux 18.04:
- The following packages are pre-requisites for building the
sources on Ubuntu GNU/Linux 18.04:
=================== =====================================
**Package** **Description**
=================== =====================================
``binutils`` Needed for the build.
``bison`` Parser generator.
``flex`` Lexical analyser.
``gcc`` C compiler.
``libarchive-dev`` Archive access library.
``libbsd-dev`` BSD headers and libraries.
``libc6-dev`` Files for C language development.
``libexpat1-dev`` An XML processing library.
``m4`` Macro processor.
``bmake`` NetBSD ``make``.
``python-yaml`` A YAML library for Python.
``sharutils`` For ``uudecode``.
``zlib1g-dev`` Compression library.
=================== =====================================
The following command line may be used to install the necessary
pre-requisites::
% sudo apt install binutils bison flex gcc libarchive-dev \
libc6-dev m4 bmake zlib1g-dev
- To build and run the test suite:
#. The current release of the `Test Execution Toolkit`_, needs
to be downloaded and unpacked into the ``test/tet/``
directory.
#. The following additional packages need to be installed, as
listed in the example command line below::
% sudo apt install libexpat1-dev python-yaml sharutils
- To build additional documentation, the packages listed in the
example command line below are needed::
% sudo apt install html-xml-utils libbsd-dev mandoc \
texlive-extra-utils texlive-latex-recommended texlive-pictures
.. _Test Execution Toolkit: http://tetworks.opengroup.org/
.. _OpenGroup: http://www.opengroup.org/
Building the software
---------------------
The software may be built by running **make**.
On `DragonFly BSD`_, FreeBSD_, Minix_, NetBSD_ and OpenBSD_, use::
% make
On Ubuntu GNU/Linux with the **bmake** package installed, use::
% bmake
Testing the software
---------------------
The ``run-tests`` target in the top-level Makefile will build and
execute the test suites that are part of this software.
On `DragonFly BSD`_, FreeBSD_ and NetBSD_, use::
% make run-tests
On Ubuntu GNU/Linux with the **bmake** package installed, use::
% bmake run-tests
Installing the Software
=======================
The software may be installed using the ``install`` target.
On `DragonFly BSD`_, FreeBSD_, Minix_, NetBSD_ and OpenBSD_ use::
% make install
On Ubuntu GNU/Linux with the **bmake** package installed, use::
% bmake install
By default the ``install`` target will install utilities into
``/usr/bin/``, libraries into ``/usr/lib/`` and manual pages into
``/usr/share/man/man[0-9]/``.
The installation directory may be changed using the ``DESTDIR``
variable. For example::
% bmake DESTDIR=$HOME/local install
Additional Information
======================
Additional information about the project may be found on the `project
website`_.
.. _project website: http://elftoolchain.sourceforge.net/
.. $Id$
.. Local Variables:
.. mode: rst
.. End: