.TH dpkg\-architecture 1 "2011-08-14" "Debian Project" "dpkg utilities"
.SH "NAME"
dpkg\-architecture \- set and determine the architecture for package building
.
.SH SYNOPSIS
.B dpkg\-architecture
.RI [ option "...] [" command ]
.PP
.
.SH DESCRIPTION
dpkg\-architecture does provide a facility to determine and set the build and
host architecture for package building.
.PP
The build architecture is always determined by an external call to
\fBdpkg\fP(1), and can not be set at the command line.
.PP
You can specify the host architecture by providing one or both of the options
\fB\-a\fR and \fB\-t\fR. The default is determined by an external call to
.BR gcc (1),
or the same as the build architecture if \s-1CC\s0 or gcc are both not
available. One out of \fB\-a\fR and \fB\-t\fR is sufficient, the value of the
other will be set to a usable default. Indeed, it is often better to only
specify one, because \fBdpkg\-architecture\fP will warn you if your choice
does not match the default.
.
.SH COMMANDS
.TP
.B \-l
Print the environment variables, one each line, in the format
\fIVARIABLE=value\fP. This is the default action.
.TP
.BI \-e debian-architecture
Check for equality of architecture. By default \fIdebian-architecture\fP
is compared against the current Debian architecture, being the host.
This action will not expand the architecture wildcards. Command finishes
with an exit status of 0 if matched, 1 if not matched.
.TP
.BI \-i architecture-wildcard
Check for identity of architecture by expanding \fIarchitecture-wildcard\fP
as an architecture wildcard and comparing against the current Debian
architecture. Command finishes with an exit status of 0 if matched, 1 if
not matched.
.TP
.BI \-q variable-name
Print the value of a single variable.
.TP
.B \-s
Print an export command. This can be used to set the environment variables
using eval.
.TP
.B \-u
Print a similar command to \fB\-s\fP but to unset all variables.
.TP
.BI \-c " command"
Execute a \fIcommand\fP in an environment which has all variables set to
the determined value.
.TP
.B \-L
Print a list of valid architecture names.
.TP
.B \-\-help
Show the usage message and exit.
.TP
.B \-\-version
Show the version and exit.
.
.SH OPTIONS
.TP
.BI \-a debian-architecture
Set the Debian architecture.
.TP
.BI \-t gnu-system-type
Set the GNU system type.
.TP
.B \-f
Values set by existing environment variables with the same name as used by
the scripts are honored (i.e. used by \fBdpkg\-architecture\fP), except if
this force flag is present. This allows the user
to override a value even when the call to \fBdpkg\-architecture\fP is buried
in some other script (for example \fBdpkg\-buildpackage\fP(1)).
.
.SH TERMS
.IP "build machine" 4
The machine the package is built on.
.IP "host machine" 4
The machine the package is built for.
.IP "Debian architecture" 4
The Debian architecture string, which specifies the binary tree in the
\s-1FTP\s0 archive. Examples: i386, sparc, hurd\-i386.
.IP "architecture wildcard" 4
An architecture wildcard is a special architecture string that will match
any real architecture being part of it. The general form is <kernel>\-<cpu>.
Examples: linux\-any, any\-i386, hurd\-any.
.IP "\s-1GNU\s0 system type" 4
An architecture specification string consisting of two parts separated by
a dash: cpu and system. Examples: i386\-linux\-gnu, sparc\-linux\-gnu,
i386\-gnu, x86_64\-netbsd.
.
.SH VARIABLES
The following variables are set by \fBdpkg\-architecture\fP:
.IP "\s-1DEB_BUILD_ARCH\s0" 4
The Debian architecture of the build machine.
.IP "\s-1DEB_BUILD_ARCH_OS\s0" 4
The Debian system name of the build machine.
.IP "\s-1DEB_BUILD_ARCH_CPU\s0" 4
The Debian cpu name of the build machine.
.IP "\s-1DEB_BUILD_ARCH_BITS\s0" 4
The pointer size of the build machine (in bits).
.IP "\s-1DEB_BUILD_ARCH_ENDIAN\s0" 4
The endianness of the build machine (little / big).
.IP "\s-1DEB_BUILD_GNU_CPU\s0" 4
The \s-1CPU\s0 part of \s-1DEB_BUILD_GNU_TYPE\s0.
.IP "\s-1DEB_BUILD_GNU_SYSTEM\s0" 4
The System part of \s-1DEB_BUILD_GNU_TYPE\s0.
.IP "\s-1DEB_BUILD_GNU_TYPE\s0" 4
The \s-1GNU\s0 system type of the build machine.
.IP "\s-1DEB_BUILD_MULTIARCH\s0" 4
The clarified \s-1GNU\s0 system type of the build machine, used for filesystem
paths.
.IP "\s-1DEB_HOST_ARCH\s0" 4
The Debian architecture of the host machine.
.IP "\s-1DEB_HOST_ARCH_OS\s0" 4
The Debian system name of the host machine.
.IP "\s-1DEB_HOST_ARCH_CPU\s0" 4
The Debian cpu name of the host machine.
.IP "\s-1DEB_HOST_ARCH_BITS\s0" 4
The pointer size of the host machine (in bits).
.IP "\s-1DEB_HOST_ARCH_ENDIAN\s0" 4
The endianness of the host machine (little / big).
.IP "\s-1DEB_HOST_GNU_CPU\s0" 4
The \s-1CPU\s0 part of \s-1DEB_HOST_GNU_TYPE\s0.
.IP "\s-1DEB_HOST_GNU_SYSTEM\s0" 4
The System part of \s-1DEB_HOST_GNU_TYPE\s0.
.IP "\s-1DEB_HOST_GNU_TYPE\s0" 4
The \s-1GNU\s0 system type of the host machine.
.IP "\s-1DEB_HOST_MULTIARCH\s0" 4
The clarified \s-1GNU\s0 system type of the host machine, used for filesystem
paths.
.
.SH "DEBIAN/RULES"
The environment variables set by \fBdpkg\-architecture\fP are passed to
\fIdebian/rules\fP as make variables (see make documentation). However,
you should not rely on them, as this breaks manual invocation of the
script. Instead, you should always initialize them using
\fBdpkg\-architecture\fP with the \-q option. Here are some examples,
which also show how you can improve the cross compilation support in your
package:
.PP

Instead of:
.IP
.nf
ARCH=\`dpkg \-\-print\-architecture\`
configure $(\s-1ARCH\s0)\-linux
.fi
.PP
please use the following:
.IP
.nf
\&\s-1DEB_BUILD_GNU_TYPE\s0 := $(shell dpkg\-architecture \-qDEB_BUILD_GNU_TYPE)
\&\s-1DEB_HOST_GNU_TYPE\s0 := $(shell dpkg\-architecture \-qDEB_HOST_GNU_TYPE)

configure \-\-build=$(\s-1DEB_BUILD_GNU_TYPE\s0) \-\-host=$(\s-1DEB_HOST_GNU_TYPE\s0)
.fi
.PP

Instead of:
.IP
.nf
ARCH=\`dpkg \-\-print\-architecture\`
ifeq ($(\s-1ARCH\s0),alpha)
  ...
endif
.fi
.PP
please use:
.IP
.nf
\&\s-1DEB_HOST_ARCH\s0 := $(shell dpkg\-architecture \-qDEB_HOST_ARCH)

ifeq ($(\s-1DEB_HOST_ARCH\s0),alpha)
  ...
endif
.fi
.PP
or if you only need to check the CPU or OS type, use the DEB_HOST_ARCH_CPU
or DEB_HOST_ARCH_OS variables.
.PP
In general, calling dpkg in the rules file to get architecture information
is deprecated (unless you want to provide backward compatibility, see below).
Especially the \-\-print\-architecture option is unreliable since we have
Debian architectures which don't equal a processor name.
.
.SH "BACKWARD COMPATIBILITY"
The DEB_*_ARCH_BITS and DEB_*_ARCH_ENDIAN variables were introduced
in dpkg\-dev 1.15.4. Using them in \fIdebian/rules\fR thus requires a
build-dependency on dpkg\-dev (>= 1.15.4).
.PP
The DEB_HOST_ARCH_CPU and DEB_HOST_ARCH_OS variables were introduced
in dpkg\-dev 1.13.2. Before this \fIdebian/rules\fR files tended to check
the values of the DEB_HOST_GNU_CPU or DEB_HOST_GNU_TYPE variables which
have been subject to change.
.PP
Where \fIdebian/rules\fR files check these variables to decide how or what
to compile, this should be updated to use the new variables and values.
You may wish to retain backwards compatibility with older version of
dpkg\-dev by using the following code:
.IP
.nf
DEB_HOST_ARCH_CPU := $(shell dpkg\-architecture \-qDEB_HOST_ARCH_CPU 2>/dev/null)
DEB_HOST_ARCH_OS := $(shell dpkg\-architecture \-qDEB_HOST_ARCH_OS 2>/dev/null)

# Take account of old dpkg\-architecture output.
ifeq ($(DEB_HOST_ARCH_CPU),)
  DEB_HOST_ARCH_CPU := $(shell dpkg\-architecture \-qDEB_HOST_GNU_CPU)
  ifeq ($(DEB_HOST_ARCH_CPU),x86_64)
    DEB_HOST_ARCH_CPU := amd64
  endif
endif
ifeq ($(DEB_HOST_ARCH_OS),)
  DEB_HOST_ARCH_OS := $(subst \-gnu,,$(shell dpkg\-architecture \-qDEB_HOST_GNU_SYSTEM))
  ifeq ($(DEB_HOST_ARCH_OS),gnu)
    DEB_HOST_ARCH_OS := hurd
  endif
endif
.fi
.PP
And similarly for DEB_BUILD_ARCH_CPU and DEB_BUILD_ARCH_OS.
.PP
If you still wish to support versions of dpkg\-dev that did not include
\fBdpkg\-architecture\fR, the following does the job:
.IP
.nf
\&\s-1DEB_BUILD_ARCH\s0 := $(shell dpkg \-\-print\-architecture)
\&\s-1DEB_BUILD_GNU_CPU\s0 := $(patsubst hurd\-%,%,$(\s-1DEB_BUILD_ARCH\s0))
ifeq ($(filter\-out hurd\-%,$(\s-1DEB_BUILD_ARCH\s0)),)
  \s-1DEB_BUILD_GNU_SYSTEM\s0 := gnu
else
  \s-1DEB_BUILD_GNU_SYSTEM\s0 := linux\-gnu
endif
DEB_BUILD_GNU_TYPE=$(\s-1DEB_BUILD_GNU_CPU\s0)\-$(\s-1DEB_BUILD_GNU_SYSTEM\s0)

\&\s-1DEB_HOST_ARCH\s0 := $(\s-1DEB_BUILD_ARCH\s0)
\&\s-1DEB_HOST_GNU_CPU\s0 := $(\s-1DEB_BUILD_GNU_CPU\s0)
\&\s-1DEB_HOST_GNU_SYSTEM\s0 := $(\s-1DEB_BUILD_GNU_SYSTEM\s0)
\&\s-1DEB_HOST_GNU_TYPE\s0 := $(\s-1DEB_BUILD_GNU_TYPE\s0)
.fi
.PP
Put a subset of these lines at the top of your debian/rules file; these
default values will be overwritten if dpkg\-architecture is used.
.PP
You don't need the full set. Choose a consistent set which contains the
values you use in the rules file. For example, if you only need the host
Debian architecture, `DEB_HOST_ARCH=\`dpkg \-\-print\-architecture\`'
is sufficient (this is indeed the Debian architecture of the build machine,
but remember that we are only trying to be backward compatible with native
compilation).
.PP
The \fB\-e\fP and \fB\-i\fP options were only introduced in relatively recent
versions of \fBdpkg\-architecture\fR (since dpkg 1.13.13).
.
.SH EXAMPLES
\fBdpkg\-buildpackage\fP accepts the \fB\-a\fR option and passes it to
\fBdpkg\-architecture\fP. Other examples:
.IP
CC=i386\-gnu\-gcc dpkg\-architecture \-c debian/rules build
.IP
eval \`dpkg\-architecture \-u\`
.PP
Check if an architecture is equal to the current architecture or a given
one:
.IP
dpkg\-architecture \-elinux\-alpha
.IP
dpkg\-architecture \-amips \-elinux\-mips
.PP
Check if the current architecture or an architecture provided with \-a are
Linux systems:
.IP
dpkg\-architecture \-ilinux\-any
.IP
dpkg\-architecture \-ai386 \-ilinux\-any
.
.SH FILES
All these files have to be present for \fBdpkg\-architecture\fP to
work. Their location can be overridden at runtime with the environment
variable \fBDPKG_DATADIR\fP.
.TP
.I /usr/share/dpkg/cputable
Table of known CPU names and mapping to their GNU name.
.TP
.I /usr/share/dpkg/ostable
Table of known operating system names and mapping to their GNU name.
.TP
.I /usr/share/dpkg/triplettable
Mapping between Debian architecture triplets and Debian architecture
names.
.
.SH "SEE ALSO"
.BR dpkg\-buildpackage (1),
.BR dpkg\-cross (1).
.
.SH AUTHOR
.B dpkg\-architecture
and this man page were initially written by
Marcus Brinkmann <brinkmd@debian.org>.

