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.2 amd64 & i386 Minix_ 3.0.2 i386 NetBSD_ 7.1.2 i386 OpenBSD_ 6.3 amd64 Ubuntu_ GNU/Linux 17.10 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.2: - 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 /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.2. :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.3: - The following packages are pre-requisites for building the sources on OpenBSD 6.3: =================== ===================================== **Package** **Description** =================== ===================================== ``libarchive`` An archive access library. =================== ===================================== The following command line may be used to install the necessary pre-requisites:: # pkg_add libarchive - The test suites cannot currently be built under OpenBSD. - Building additional documentation is not currently supported under OpenBSD. :NetBSD 7.1.2: - The core libraries and utilities should build out of the box on a stock install of NetBSD 7.1.2. - 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 17.10: - The following packages are pre-requisites for building the sources on Ubuntu GNU/Linux 17.10: =================== ===================================== **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-get 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-get install libexpat1-dev python-yaml sharutils - To build additional documentation, the packages listed in the example command line below are needed:: % sudo apt-get install texlive-latex-recommended texlive-pictures \ libbsd-dev .. _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: INSTALL 3667 2018-12-28 22:19:46Z emaste $ .. Local Variables: .. mode: rst .. End: