Footnotes
See section 13. Rolling Distribution Tarballs
A number chosen arbitrarily by the Automake developers.
This book is built using automake and autoconf .
We couldn't find a use for libtool .
Shock, horror
https://sources.redhat.com/autobook/
An #include
cycle is the situation where file `a.h' #include s file
`b.h', and `b.h' #include s file `a.h' -- either
directly or through some longer chain of #include s.
For an
explanation of name mangling See section Writing Portable C++ with GNU Autotools.
https://www.compuphase.com/small.htm
Available at
ftp://sourceware.cygnus.com/pub/binutils/.
Distributed from
https://www.iro.umontreal.ca/~pinard/libit.
GCC must be compilable by K&R compilers so that it
can be built and installed in an ANSI compiler free
environment.
AIX and
Windows being the main culprits.
Read Eval Print Loop.
Generally this involves indexing the symbols
exported from the archive for faster linking, and to allow the archived
objects to reference symbols from other objects earlier in the same
archive.
Application Binary
Interface: the layout of the bytes that comprise binary objects and
executables: 32 or 64 bit words; procedure calling conventions; memory
alignment rules; system call interface; order and type of the binary
sections (data, code etc) and so on.
As is often the
case, AIX is peculiar in this respect -- ranlib adds path
information to a static archive, and must be run again after the archive
is installed. libtool knows about this, and will
automatically bless the installed library again on AIX.
When making a binary
package from a virtual root directory for example.
`AM_PROG_LIBTOOL' if you have an
older automake or libtool installation.
Position Independent
Code -- suitable for shared libraries which might be loaded to different
addresses when linked by the runtime loader.
The functionality
of `ltconfig' is slated for migration into `libtool.m4' for
a future release of libtool , whereupon this file will no
longer be necessary.
ftp://ftp.gnu.org/gnu/config/
Actually the suffix will be whatever is appropriate
for the target host: such as `.obj' on Windows for example.
For example, when I come to using the `make dist' rule.
The GNU standard is distributed from
https://www.gnu.org/prep/standards.html.
This is for
Autoconf version 2.13. Autoconf version 2.50 recommends
AC_CONFIG_COMMANDS .
This is a sort
of callback function which will be called by the make rules
generated by Automake.
By default, GNU tar can create non-portable archives in
certain (rare) situations. To be safe, Automake arranges to use the
`-o' compatibility flag when GNU tar is used.
Probably numbered 1.5.
There has been some debate in the Autoconf
community about extending Autoconf to allow new directories to be set on
the configure command line. Currently the consensus seems to be
that there are too many arguments to configure already.
The most common way being to simply
set prefix .
This example assumes the use of GNU tar
when extracting; this is standard on Linux but does not come with
Solaris.
These names come from Gulliver's Travels.
https://sourceware.cygnus.com/cygwin/
https://www.scriptics.com/
Windows does permit a program to use a
forward slash to separate directories when calling routines such as
`fopen'. However, Windows users do not expect to type forward
slashes when they enter file names, and they do not expect to see
forward slashes when a file name is printed.
Visit the Libtool home page at
https://www.gnu.org/software/libtool for breaking news.
https://www.mozilla.org/hacking/portable-cpp.html
Not essential but will be slower
without this option, see 10.2.1 Position Independent Code.
HP-UX being the most notable
exception.
As I
always like to say, `from BeOS to Windows!'. And yes, I do think that
it is a better catchphrase than `from AIX to Xenix'!
Use `AM_PROG_LIBTOOL'
if you have automake version 1.4 or older or a version of
libtool earlier than 1.4.
Architectures which use ELF and
ECOFF binary format for example.
Those which use a.out binary format,
for example.
https://www.gnu.org/software/dld
If you have an early 1.3c
snapshot of Libtool, you will also need to copy the `ltdl.m4' file
into your distribution.
This is very different to the way
errors are managed when writing a custom loader for libltdl. Compare
this section with Loader Errors.
See section 18.1 Introducing libltdl
Dmalloc is distributed from
https://www.dmalloc.com.
GNU M4 permits an unlimited
number of arguments, whereas other versions of M4 limit the number of
addressable arguments to nine.
Which is
precisely what the ``' and `'' characters in all of the
examples in this section are.
The ``' is used in
grave redirection and `'' for the shell's own quote character!
Notable exceptions are GNU Bash,
and both Ksh and the Bourne shell on Solaris.
This is a literal newline.
A
term coined by Noah Friedman in the early days of Autoconf to denote the
process of converting a package that configures itself without Autoconf
to one which does.
See
https://sourceware.cygnus.com/java/
Mingw32 home page,
https://www.geocities.com/Tokyo/Towers/6162/gcc.html; and DJGPP
home page, https://www.delorie.com/djgpp/.
since Cygwin-b20.1, I believe.
1.1.1 at the time
of writing.
ftp://ftp.gnu.org/gnu/make/make-3.79.tar.gz
You can get a precompiled package
from https://cygutils.netpedia.net/, also an excellent resource
for other packages ported to Cygwin.
https://sourceware.cygnus.com/cygwin/
The CygUtils website is
https://cygutils.netpedia.net/V1.1/.
Typically you would also have a floppy drive named
`A:', and a CD-ROM named `D:'.
See section 10.5 Executing Uninstalled Binaries.
In general, a stub function will
satisfy the linker's requirements to resolve an undefined symbol at
link time, but has no functionality of its own. In this context, the
stubs do have some boilerplate code to pass execution flow into the
correct full function in the DLL.
Some people prefer
to use the term autoconfuse -- if you should meet any, be sure to
tell them about this book
Part of the Binutils port to Windows, and
necessary to massage compiler objects into a working DLL.
This is a shell
script for Cygwin which emulates the behaviour of ldd on
GNU/Linux, available online from
https://www.oranda.demon.co.uk/dist/ldd.
The name Canadian Cross comes from the
most complex case, in which three different types of systems are used.
At the time that these issues were being hashed out, Canada had three
national political parties.
|