ID Index

Index of IDs in this document. Exported IDs indicated like this.


<sect id=intro>1 Introduction

<subsect id=entrypoints>1.1 Quick entry-points


<sect id=tools>2 Tools

<subsect id=tooloverview>2.1 Overview of the Autotools

<subsubsect id=autoconfoverview>2.1.1 Autoconf

<subsubsect id=automakeoverview>2.1.2 Automake

<subsubsect id=autoreconf>2.1.4 Autoreconf: why you don't need to know about aclocal

<subsubsect id=configure-script>2.1.5 Running ./configure

<subsect id=starconf>2.2 Starconf, and the Starlink autoconf macros

<subsubsect id=starconf-default-variables>2.2.1 STARCONF_DEFAULT_PREFIX and STARCONF_DEFAULT_STARLINK

<subsubsect id=components>2.2.2 Components

<subsubsect id=templates>2.2.3 File templates

<subsubsect id=componentxml>2.2.4 The format of the component.xml file

<subsect id=versioninfo>2.3 Version numbers

<figure id=versinfo>Figure 5

<subsect id=tool-state>2.4 A few remarks on state

<subsect id=fortran>2.5 Preprocessable Fortran

<subsect id=starlink-cvs>2.6 Using the Starlink CVS repository

<subsect id=tool-cvs>2.7 CVS

<subsubsect id=tool-cvs-tagging>2.7.1 CVS and tagging

<subsubsect id=tool-cvs-recursion>2.7.2 CVS and recursion -- checking out only a subtree


<sect id=building>3 Building applications and libraries

<subsect id=top-level-makefile>3.1 The top-level Makefile

<subsect id=bootstrapping>3.2 Bootstrapping and building the entire tree

<subsect id=buildingcomponents>3.3 Building a single component

<subsect id=monoliths>3.4 Building monoliths

<subsect id=bootstrappingonly>3.5 Bootstrapping without building: configuring starconf and the autotools


<sect id=autoconfing>4 Incorporating a package into the Starlink build system

<subsect id=autoconfingexample>4.1 Autoconfing a library

<subsect id=buildsystem-interface>4.2 The build system `interface'

<subsect id=autodistrib>4.3 Distribution of components

<subsubsect id=rolldistribution>4.3.1 Making a distribution

<subsubsubsect id=rolldistribution-tree>4.3.1.1 A distribution from the complete tree

<subsubsubsect id=rolldistribution-single>4.3.1.2 Distributing a single component

<subsect id=regressiontests>4.4 Regression tests

<subsect id=importing-thirdparty>4.5 Importing third-party sources

<subsubsect id=config-cfitsio>4.5.2 Configuring CFITSIO

<subsubsect id=config-tclsys>4.5.3 Configuring tcl

<subsect id=autoconfing-docs>4.6 Documentation

<subsect id=autoconfing-final>4.7 Adding components: the final step


<sect id=faqs>5 FAQs

<subsect id=general-faqs>5.1 General FAQs

<dt id=tagged-error>item `I've just been told that libtool is ``unable to infer tagged configuration''. What on earth is that supposed to mean?'

<subsect id=install-faqs>5.2 Installation FAQs

<dt id=nobase-faq>item `Automake flattens paths when it installs things. Why?'

<subsect id=state-faqs>5.3 State FAQs


<sect id=tips>6 Miscellaneous hints and tips

<subsect id=tip-force-link-language>6.1 Forcing automake's choice of linking language

<subsect id=tip-conditional-build>6.2 Conditionally building components, I

<subsect id=tip-conditional-build-2>6.3 Conditionally Building Components, II

<subsect id=tip-adding-flags>6.4 Manipulating compiler and linker flags


<sect id=starconfmacros>A The Starconf macros and variables

<subsect id=macro-ac-fc-check-headers>A.1 AC_FC_CHECK_HEADERS

<subsect id=macro-ac-fc-check-intrinsics>A.2 AC_FC_CHECK_INTRINSICS

<subsect id=ac-fc-have-boz>A.3 AC_FC_HAVE_BOZ

<subsect id=ac-fc-have-old-typeless-boz>A.4 AC_FC_HAVE_OLD_TYPELESS_BOZ

<subsect id=ac-fc-have-percentloc>A.5 AC_FC_HAVE_PERCENTLOC

<subsect id=ac-fc-have-percentval>A.6 AC_FC_HAVE_PERCENTVAL

<subsect id=ac-fc-have-typeless-boz>A.7 AC_FC_HAVE_TYPELESS_BOZ

<subsect id=ac-fc-have-volatile>A.8 AC_FC_HAVE_VOLATILE

<subsect id=macro-ac-fc-literal-backslash>A.9 AC_FC_LITERAL_BACKSLASH

<subsect id=macro-ac-fc-open-specifiers>A.10 AC_FC_OPEN_SPECIFIERS

<subsect id=macro-ac-fc-recl-unit>A.11 AC_FC_RECL_UNIT

<subsect id=macro-ac-prog-fc>A.12 AC_PROG_FC

<subsect id=macro-ac-prog-fpp>A.13 AC_PROG_FPP

<subsect id=macro-check-progs>A.14 STAR_CHECK_PROGS

<subsect id=macro-cnf-compatible-symbols>A.15 STAR_CNF_COMPATIBLE_SYMBOLS

<subsect id=macro-declare-dependencies>A.16 STAR_DECLARE_DEPENDENCIES

<subsect id=macro-defaults>A.17 STAR_DEFAULTS

<subsect id=macro-star-initialise-fortran>A.18 STAR_INITIALISE_FORTRAN

<subsect id=macro-largefile-support>A.19 STAR_LARGEFILE_SUPPORT

<subsect id=macro-latex-documentation>A.20 STAR_LATEX_DOCUMENTATION

<subsect id=variable-manifest-dir>A.21 Variable STAR_MANIFEST_DIR

<subsect id=macro-messgen>A.22 STAR_MESSGEN

<subsect id=macro-monoliths>A.23 STAR_MONOLITHS

<subsect id=path-tcltk>A.24 STAR_PATH_TCLTK

<subsect id=macro-platform-sources>A.25 STAR_PLATFORM_SOURCES

<subsect id=macro-predist-sources>A.26 STAR_PREDIST_SOURCES

<subsect id=macro-special-install-command>A.27 STAR_SPECIAL_INSTALL_COMMAND

<subsect id=macro-suppress-build-if>A.28 STAR_SUPPRESS_BUILD_IF

<subsect id=macro-xml-documentation>A.29 STAR_XML_DOCUMENTATION

<subsect id=variable-starxxxdata>A.30 starxxx_DATA -- special installation directories

<subsect id=macro-obsolete>A.31 Obsolete macros

<subsubsect id=macro-ac-f77-have-open-readonly>A.31.1 AC_F77_HAVE_OPEN_READONLY

<subsubsect id=macro-special-dirs>A.31.2 STAR_DOCS_FILES and friends

<subsubsect id=macro-fc-library-ldflags>A.31.3 STAR_FC_LIBRARY_LDFLAGS

<subsubsect id=macro-have-fc-open-readonly>A.31.4 STAR_HAVE_FC_OPEN_READONLY


<sect id=gnutools>B The relationship with the GNU autotools


<sect id=developments>C Possible future changes