head 1.2; access; symbols perseant-exfatfs-base-20240630:1.2 perseant-exfatfs:1.2.0.24 perseant-exfatfs-base:1.2 cjep_sun2x:1.2.0.22 cjep_sun2x-base:1.2 cjep_staticlib_x-base1:1.2 cjep_staticlib_x:1.2.0.20 cjep_staticlib_x-base:1.2 phil-wifi-20200421:1.2 phil-wifi-20200411:1.2 phil-wifi-20200406:1.2 pgoyette-compat-merge-20190127:1.2 pgoyette-compat-20190127:1.2 pgoyette-compat-20190118:1.2 pgoyette-compat-1226:1.2 pgoyette-compat-1126:1.2 pgoyette-compat-1020:1.2 pgoyette-compat-0930:1.2 pgoyette-compat-0906:1.2 pgoyette-compat-0728:1.2 pgoyette-compat-0625:1.2 pgoyette-compat-0521:1.2 pgoyette-compat-0502:1.2 pgoyette-compat-0422:1.2 pgoyette-compat-0415:1.2 pgoyette-compat-0407:1.2 pgoyette-compat-0330:1.2 pgoyette-compat-0322:1.2 pgoyette-compat-0315:1.2 pgoyette-compat:1.2.0.18 pgoyette-compat-base:1.2 perseant-stdc-iso10646:1.2.0.16 perseant-stdc-iso10646-base:1.2 prg-localcount2-base3:1.2 prg-localcount2-base2:1.2 prg-localcount2-base1:1.2 prg-localcount2:1.2.0.14 prg-localcount2-base:1.2 pgoyette-localcount-20170426:1.2 bouyer-socketcan-base1:1.2 pgoyette-localcount-20170320:1.2 bouyer-socketcan:1.2.0.12 bouyer-socketcan-base:1.2 pgoyette-localcount-20170107:1.2 pgoyette-localcount-20161104:1.2 localcount-20160914:1.2 pgoyette-localcount-20160806:1.2 pgoyette-localcount-20160726:1.2 pgoyette-localcount:1.2.0.10 pgoyette-localcount-base:1.2 yamt-pagecache-base9:1.2 yamt-pagecache-tag8:1.2 tls-earlyentropy:1.2.0.6 tls-earlyentropy-base:1.2 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.2 riastradh-drm2-base3:1.2 agc-symver:1.2.0.8 agc-symver-base:1.2 tls-maxphys-base:1.2 yamt-pagecache-base8:1.2 yamt-pagecache-base7:1.2 yamt-pagecache-base6:1.2 yamt-pagecache-base5:1.2 yamt-pagecache-base4:1.2 yamt-pagecache-base3:1.2 yamt-pagecache-base2:1.2 yamt-pagecache:1.2.0.4 yamt-pagecache-base:1.2 bouyer-quota2-nbase:1.2 bouyer-quota2:1.2.0.2 bouyer-quota2-base:1.2 atf-0-9:1.1.1.2 atf-0-8:1.1.1.1 atf-0-7:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.2 date 2010.06.18.15.41.22; author jmmv; state dead; branches; next 1.1; 1.1 date 2009.12.22.13.25.58; author jmmv; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2009.12.22.13.25.58; author jmmv; state Exp; branches; next 1.1.1.2; 1.1.1.2 date 2010.06.04.08.23.46; author jmmv; state Exp; branches; next ; desc @@ 1.2 log @Remove unnecessary files The just-commited prepare-import.sh script will take care of spotting extra files that may be unnecessary during a future import. @ text @ Installation instructions

Installation instructions

By Julio Merino, The NetBSD Foundation

Contents

  1. Introduction

  2. Dependencies

  3. Regenerating the build system

  4. General build procedure

  5. Configuration flags

  6. Post-installation steps

Introduction

ATF uses the GNU Automake, GNU Autoconf and GNU Libtool utilities as its build system. These are used only when compiling the application from the source code package. If you want to install ATF from a binary package, you do not need to read this document.

For the impatient:

$ ./configure
$ make
Gain root privileges
# make install
Drop root privileges
$ make installcheck

Or alternatively, install as a regular user into your home directory:

$ ./configure --prefix ~/local
$ make
$ make install
$ make installcheck

Dependencies

To build and use ATF successfully you need:

If you are building ATF from the code on the repository, you will also need the following tools. The versions listed here are the ones used to build the files bundled in the last formal release, but these are not strictly required. Newer ones will most likely work and, maybe, some slightly older ones:

If you are building the XML documentation (which is a requisite to be able to generate a distfile), you will also need the following tools:

Regenerating the build system

If you are building ATF from code extracted from the repository, you must first regenerate the files used by the build system. You will also need to do this if you modify one of configure.ac or Makefile.am.m4. To do this, simply run:

$ ./autogen.sh

For formal releases, no extra steps are needed.

General build procedure

To build and install the source package, you must follow these steps:

  1. Configure the sources to adapt to your operating system. This is done using the 'configure' script located on the sources' top directory, and it is usually invoked without arguments unless you want to change the installation prefix. More details on this procedure are given on a later section.

  2. Build the sources to generate the binaries and scripts. Simply run 'make' on the sources' top directory after configuring them. No problems should arise.

  3. Install the program by running 'make install'. You may need to become root to issue this step.

  4. Issue any manual installation steps that may be required. These are described later in their own section.

  5. Check that the installed programs work by running 'make installcheck'. You do not need to be root to do this, even though some checks will not be run otherwise. (Be aware that on, some systems, GNU Libtool will break these checks. If you get some failures, try reconfiguring the project providing the '--disable-fast-install' flag to 'configure' and then rebuild and recheck.)

Configuration flags

The most common, standard flags given to 'configure' are:

The following environment variables are specific to ATF's 'configure' script:

The following flags are specific to ATF's 'configure' script:

Post-installation steps

After installing ATF, you have to register the DTDs it provides into the system-wide XML catalog. See the comments at the top of the files in ${datadir}/share/xml/atf to see the correct public identifiers. This directory will typically be /usr/local/share/xml/atf or /usr/share/xml/atf. Failure to do so will lead to further errors when processing the XML files generated by atf-report.

@ 1.1 log @Initial revision @ text @@ 1.1.1.1 log @Import atf 0.7. Changes in this release: * Added build-time checks to atf-c and atf-c++. A binding for atf-sh will come later. * Migrated all build-time checks for header files to proper ATF tests. This demonstrates the use of the new feature described above. * Added an internal API for child process management. * Converted all plain-text distribution documents to a Docbook canonical version, and include pre-generated plain text and HTML copies in the distribution file. * Simplified the contents of the Makefile.am by regenerating it from a canonical Makefile.am.m4 source. As a side-effect, some dependency specifications were fixed. * Migrated all checks from the check target to installcheck, as these require ATF to be installed. * Fixed sign comparison mismatches triggered by the now-enabled -Wsign-compare. * Fixed many memory and object leaks. @ text @@ 1.1.1.2 log @Import atf 0.9: * Added atf-sh, an interpreter to process test programs written using the shell API. This is not really a shell interpreter by itself though: it is just a wrapper around the system shell that eases the loading of the necessary ATF libraries. * Removed atf-compile in favour of atf-sh. * Added the use.fs metadata property to test case, which is used to specify which test cases require file system access. This is to highlight dependencies on external resources more clearly and to speed up the execution of test suites by skipping the creation of many unnecessary work directories. * Fixed test programs to get a sane default value for their source directory. This means that it should not be necessary any more to pass -s when running test programs that do not live in the current directory. * Defining test case headers became optional. This is trivial to achieve in shell-based tests but a bit ugly in C and C++. In C, use the new ATF_TC_WITHOUT_HEAD macro to define the test case, and in C++ use ATF_TEST_CASE_WITHOUT_HEAD. @ text @d233 6 a238 1 checks will not be run otherwise. @