2 <html xmlns=
"http://www.w3.org/1999/xhtml">
4 <meta xmlns=
"" http-equiv=
"Content-Type"
5 content=
"text/html; charset=iso-8859-1" />
6 <link xmlns=
"" rel=
"made"
7 href=
"mailto:atf-devel AT NetBSD DOT org" />
8 <link xmlns=
"" rel=
"stylesheet" type=
"text/css"
9 href=
"standalone.css" />
10 <title xmlns=
"">Installation instructions
</title>
13 <div xmlns=
"" class=
"header">
14 <p class=
"title">Installation instructions
</p>
15 <p class=
"author">By Julio Merino, The NetBSD Foundation
</p>
17 <div xmlns=
"" class=
"toc">
22 <a href=
"#introduction">Introduction
</a>
27 <a href=
"#">Dependencies
</a>
32 <a href=
"#">Regenerating the build system
</a>
37 <a href=
"#">General build procedure
</a>
42 <a href=
"#">Configuration flags
</a>
47 <a href=
"#">Post-installation steps
</a>
52 <div xmlns=
"" class=
"contents">
54 <a name=
"introduction">Introduction
</a>
56 <p xml:
space=
"preserve">
57 ATF uses the GNU Automake, GNU Autoconf and GNU Libtool utilities
59 its build system. These are used only when compiling the
61 the source code package. If you want to install ATF from a binary
63 you do not need to read this document.
65 <p xml:
space=
"preserve">
76 <p xml:
space=
"preserve">
77 Or alternatively, install as a regular user into your home
81 $ ./configure --prefix ~/local
87 <a name=
"">Dependencies
</a>
89 <p xml:
space=
"preserve">
90 To build and use ATF successfully you need:
94 <p xml:
space=
"preserve">
95 A standards-compliant C/C++ complier. For example, GNU GCC
100 <p xml:
space=
"preserve">
101 A POSIX shell interpreter.
105 <p xml:
space=
"preserve">
110 <p xml:
space=
"preserve">
111 If you are building ATF from the code on the repository, you will
113 the following tools. The versions listed here are the ones used to
115 the files bundled in the last formal release, but these are not
117 required. Newer ones will most likely work and, maybe, some
123 <p xml:
space=
"preserve">
128 <p xml:
space=
"preserve">
133 <p xml:
space=
"preserve">
138 <p xml:
space=
"preserve">
139 If you are building the XML documentation (which is a requisite to
141 to generate a distfile), you will also need the following tools:
145 <p xml:
space=
"preserve">
150 <p xml:
space=
"preserve">
151 The Simple DocBook DTD
1.1
155 <p xml:
space=
"preserve">
160 <p xml:
space=
"preserve">
165 <p xml:
space=
"preserve">
166 xmlcatalog and xmllint
171 <a name=
"">Regenerating the build system
</a>
173 <p xml:
space=
"preserve">
174 If you are building ATF from code extracted from the repository,
176 first regenerate the files used by the build system. You will also
178 do this if you modify one of configure.ac or Makefile.am.m4. To do
185 <p xml:
space=
"preserve">
186 For formal releases, no extra steps are needed.
189 <a name=
"">General build procedure
</a>
191 <p xml:
space=
"preserve">
192 To build and install the source package, you must follow these
197 <p xml:
space=
"preserve">
198 Configure the sources to adapt to your operating system.
199 This is done using the 'configure' script located on the sources'
201 directory, and it is usually invoked without arguments unless you
203 change the installation prefix. More details on this procedure are
209 <p xml:
space=
"preserve">
210 Build the sources to generate the binaries and scripts.
211 Simply run 'make' on the sources' top directory after configuring
213 problems should arise.
217 <p xml:
space=
"preserve">
218 Install the program by running 'make install'. You may
219 need to become root to issue this step.
223 <p xml:
space=
"preserve">
224 Issue any manual installation steps that may be required.
225 These are described later in their own section.
229 <p xml:
space=
"preserve">
230 Check that the installed programs work by running 'make
231 installcheck'. You do not need to be root to do this, even though
233 checks will not be run otherwise. (Be aware that on, some systems,
235 Libtool will break these checks. If you get some failures, try
236 reconfiguring the project providing the '--disable-fast-install'
238 'configure' and then rebuild and recheck.)
243 <a name=
"">Configuration flags
</a>
245 <p xml:
space=
"preserve">
246 The most common, standard flags given to 'configure' are:
252 <u>--prefix=directory
</u>
255 <p xml:
space=
"preserve">
256 Possible values: Any path
258 <p xml:
space=
"preserve">
261 <p xml:
space=
"preserve">
262 Specifies where the program (binaries and all associated files)
269 <u>--sysconfdir=directory
</u>
272 <p xml:
space=
"preserve">
273 Possible values: Any path
275 <p xml:
space=
"preserve">
276 Default: /usr/local/etc
278 <p xml:
space=
"preserve">
279 Specifies where the installed programs will look for
280 configuration files. '/atf' will be appended to the given path
282 ATF_CONFSUBDIR is redefined as explained later on.
291 <p xml:
space=
"preserve">
292 Shows information about all available flags and exits
293 immediately, without running any configuration tasks.
297 <p xml:
space=
"preserve">
298 The following environment variables are specific to ATF's
309 <p xml:
space=
"preserve">
310 Possible values: empty, a absolute or relative path to a C
313 <p xml:
space=
"preserve">
314 Default: the value of CC as detected by the configure
317 <p xml:
space=
"preserve">
318 Specifies the C compiler that ATF will use at run time whenever
319 the build-time-specific checks are used.
325 <u>ATF_BUILD_CFLAGS
</u>
328 <p xml:
space=
"preserve">
329 Possible values: empty, a list of valid C compiler flags.
331 <p xml:
space=
"preserve">
332 Default: the value of CFLAGS as detected by the configure
335 <p xml:
space=
"preserve">
336 Specifies the C compiler flags that ATF will use at run time
337 whenever the build-time-specific checks are used.
346 <p xml:
space=
"preserve">
347 Possible values: empty, a absolute or relative path to a C/C++
350 <p xml:
space=
"preserve">
351 Default: the value of CPP as detected by the
354 <p xml:
space=
"preserve">
355 Specifies the C/C++ preprocessor that ATF will use at run time
356 whenever the build-time-specific checks are used.
362 <u>ATF_BUILD_CPPFLAGS
</u>
365 <p xml:
space=
"preserve">
366 Possible values: empty, a list of valid C/C++ preprocessor
369 <p xml:
space=
"preserve">
370 Default: the value of CPPFLAGS as detected by the configure
373 <p xml:
space=
"preserve">
374 Specifies the C/C++ preprocessor flags that ATF will use at run
375 time whenever the build-time-specific checks are used.
384 <p xml:
space=
"preserve">
385 Possible values: empty, a absolute or relative path to a C++
388 <p xml:
space=
"preserve">
389 Default: the value of CXX as detected by the configure
392 <p xml:
space=
"preserve">
393 Specifies the C++ compiler that ATF will use at run time whenever
394 the build-time-specific checks are used.
400 <u>ATF_BUILD_CXXFLAGS
</u>
403 <p xml:
space=
"preserve">
404 Possible values: empty, a list of valid C++ compiler
407 <p xml:
space=
"preserve">
408 Default: the value of CXXFLAGS as detected by the configure
411 <p xml:
space=
"preserve">
412 Specifies the C++ compiler flags that ATF will use at run time
413 whenever the build-time-specific checks are used.
419 <u>ATF_CONFSUBDIR
</u>
422 <p xml:
space=
"preserve">
423 Possible values: empty, a relative path.
425 <p xml:
space=
"preserve">
428 <p xml:
space=
"preserve">
429 Specifies the subdirectory of the configuration directory (given
430 by the --sysconfdir argument) under which ATF will search for
441 <p xml:
space=
"preserve">
442 Possible values: empty, absolute path to a M4 macro
445 <p xml:
space=
"preserve">
448 <p xml:
space=
"preserve">
449 Specifies the M4 macro processor that ATF will use at run time to
450 generate GNU Automake files. If empty, the configure script
452 to find a suitable M4 implementation for you.
461 <p xml:
space=
"preserve">
462 Possible values: empty, absolute path to a POSIX shell
465 <p xml:
space=
"preserve">
468 <p xml:
space=
"preserve">
469 Specifies the POSIX shell interpreter that ATF will use at run
470 time to execute its scripts and the test programs written using
472 atf-sh library. If empty, the configure script will try to
474 suitable interpreter for you.
483 <p xml:
space=
"preserve">
484 Possible values: empty, an absolute path.
486 <p xml:
space=
"preserve">
487 Default: /tmp or /var/tmp, depending on availability.
489 <p xml:
space=
"preserve">
490 Specifies the directory that ATF will use to place its temporary
491 files and work directories for test cases. This is just a
493 can be overriden at run time.
502 <p xml:
space=
"preserve">
503 Possible values: absolute path.
505 <p xml:
space=
"preserve">
508 <p xml:
space=
"preserve">
509 Specifies the program name or the absolute path of the 'links'
510 application. Required when --enable-doc-build is used;
521 <p xml:
space=
"preserve">
522 Possible values: absolute path.
524 <p xml:
space=
"preserve">
527 <p xml:
space=
"preserve">
528 Specifies the program name or the absolute path of the 'tidy'
529 tool. Required when --enable-doc-build is used; otherwise
539 <p xml:
space=
"preserve">
540 Possible values: absolute path.
542 <p xml:
space=
"preserve">
545 <p xml:
space=
"preserve">
546 Specifies the program name or the absolute path of the
547 'xmlcatalog' tool. Required when --enable-doc-build is used;
555 <u>XML_CATALOG_FILE
</u>
558 <p xml:
space=
"preserve">
559 Possible values: absolute path.
561 <p xml:
space=
"preserve">
562 Default: /etc/xml/catalog
564 <p xml:
space=
"preserve">
565 Specifies the path to the system-wide XML catalog used to lookup
566 the required DTDs. The build will NOT perform any network
568 load them. Required when --enable-doc-build is used; otherwise
578 <p xml:
space=
"preserve">
579 Possible values: absolute path.
581 <p xml:
space=
"preserve">
584 <p xml:
space=
"preserve">
585 Specifies the program name or the absolute path of the 'xmllint'
586 tool. Required when --enable-doc-build is used; otherwise
596 <p xml:
space=
"preserve">
597 Possible values: absolute path.
599 <p xml:
space=
"preserve">
602 <p xml:
space=
"preserve">
603 Specifies the program name or the absolute path of the 'xsltproc'
604 tool. Required when --enable-doc-build is used; otherwise
609 <p xml:
space=
"preserve">
610 The following flags are specific to ATF's 'configure' script:
616 <u>--enable-developer
</u>
619 <p xml:
space=
"preserve">
620 Possible values: yes, no
622 <p xml:
space=
"preserve">
623 Default: Depends on the version number. Stable versions define
624 this to 'no' while all others have it set to 'yes'.
626 <p xml:
space=
"preserve">
627 Enables several features useful for development, such as the
628 inclusion of debugging symbols in all objects or the enabling
630 warnings during compilation.
636 <u>--enable-doc-build
</u>
639 <p xml:
space=
"preserve">
640 Possible values: yes, no
642 <p xml:
space=
"preserve">
645 <p xml:
space=
"preserve">
646 Enables the building of the XML documentation. This must be
647 enabled in order to be able to generate a distribution file
649 'make dist'). Disabled by default because the toolchain
651 enable this feature is pretty big, and not everyone needs it:
653 distribution files come with up-to-date, pregenerated
660 <u>--enable-unstable-shared
</u>
663 <p xml:
space=
"preserve">
664 Possible values: yes, no
666 <p xml:
space=
"preserve">
669 <p xml:
space=
"preserve">
670 Forces the building of shared libraries in addition to static
671 ones. The build of shared libraries is currently disabled
673 their ABIs and APIs are unstable and subject to change. This
675 provided for development purposes only and will be removed once
677 libraries are stable enough.
682 <a name=
"">Post-installation steps
</a>
684 <p xml:
space=
"preserve">
685 After installing ATF, you have to register the DTDs it provides
687 the system-wide XML catalog. See the comments at the top of the
689 ${datadir}/share/xml/atf to see the correct public identifiers.
691 directory will typically be /usr/local/share/xml/atf or
693 Failure to do so will lead to further errors when processing the
695 generated by atf-report.