Man Linux: Main Page and Category List

NAME

       dpkg-buildflags - returns build flags to use during package build

SYNOPSIS

       dpkg-buildflags [option...] command

DESCRIPTION

       dpkg-buildflags  is  a tool to retrieve compilation flags to use during
       build of Debian packages.  The default flags are defined by the  vendor
       but they can be extended/overriden in several ways:

       1.     system-wide with /etc/dpkg/buildflags.conf;

       2.     for  the current user with $XDG_CONFIG_HOME/dpkg/buildflags.conf
              where $XDG_CONFIG_HOME defaults to $HOME/.config;

       3.     temporarily   with   environment    variables    (see    section
              ENVIRONMENT).

       The configuration files can contain two types of directives:

       SET flag value
              Override the flag named flag to have the value value.

       APPEND flag value
              Extend  the  flag named flag with the options given in value.  A
              space is prepended to the appended value if the  flag's  current
              value is non-empty.

       The  configuration  files can contain comments on lines starting with a
       hash (#). Empty lines are also ignored.

COMMANDS

       --list Print the list of flags supported by the current vendor (one per
              line).  See  the  SUPPORTED  FLAGS  section for more information
              about them.

       --export=format
              Print to standard output shell (if format is  sh)  or  make  (if
              format  is  make)  commands  that  can be used to export all the
              compilation flags in the environment. If the format value is not
              given,  sh  is  assumed. Only compilation flags starting with an
              upper case character are included, others are assumed to not  be
              suitable for the environment.

       --get flag
              Print  the value of the flag on standard output. Exits with 0 if
              the flag is known otherwise exits with 1.

       --origin flag
              Print the origin of the value that is returned by  --get.  Exits
              with  0  if the flag is known otherwise exits with 1. The origin
              can be one of the following values:

              vendor the original flag set by the vendor is returned;

              system the flag is set/modified by a system-wide configuration;

              user   the   flag   is   set/modified   by    a    user-specific
                     configuration;

              env    the  flag  is  set/modified  by  an  environment-specific
                     configuration.

       --help Show the usage message and exit.

       --version
              Show the version and exit.

SUPPORTED FLAGS

       CFLAGS Options for the C compiler. The default value set by the  vendor
              includes  -g and the default optimization level (-O2 usually, or
              -O0  if  the  DEB_BUILD_OPTIONS  environment  variable   defines
              noopt).

       CPPFLAGS
              Options for the C preprocessor. Default value: empty.

       CXXFLAGS
              Options for the C++ compiler. Same as CFLAGS.

       FFLAGS Options for the Fortran compiler. Same as CFLAGS.

       LDFLAGS
              Options  passed  to  the  compiler  when  linking executables or
              shared objects (if the linker is called directly, then -Wl and ,
              have to be stripped from these options). Default value: empty.

FILES

       /etc/dpkg/buildflags.conf
              System wide configuration file.

       $XDG_CONFIG_HOME/dpkg/buildflags.conf                                or
       $HOME/.config/dpkg/buildflags.conf
              User configuration file.

ENVIRONMENT

       DEB_flag_SET
              This  variable  can  be used to force the value returned for the
              given flag.

       DEB_flag_APPEND
              This variable can be used to append supplementary options to the
              value returned for the given flag.

       DEB_BUILD_OPTIONS
              When   used  with  the  hardening-wrapper  package,  the  values
              hardening  and  nohardening  will  be   converted   into   their
              respective DEB_BUILD_HARDENING values.  The hardening option can
              also include (optionally prefixed with no ) the  following  sub-
              options:  stackprotector  format  fortify pie relro For example,
              DEB_BUILD_OPTIONS=hardening=nopie          would           cause
              DEB_BUILD_HARDENING_PIE=0        to       be       set,       or
              DEB_BUILD_OPTIONS=nohardening would cause  DEB_BUILD_HARDENING=0
              to  be  set.   See  http://wiki.debian.org/Hardening for further
              details.

AUTHOR

       Copyright (C) 2010 Raphael Hertzog

       This is free software; see the GNU General Public Licence version 2  or
       later for copying conditions. There is NO WARRANTY.