Provided by: dpkg-cross_2.3.0.1_all bug

NAME

       cross-compile — Configuration for dpkg-cross and relatives

DESCRIPTION

       This  file  defines  some  settings  for dpkg-cross but many values are
       unused in the general case.

       Settings in the system path file /etc/dpkg-cross/cross-compile  can  be
       overridden  by  an  optional  file in your home directory: $HOME/.dpkg-
       cross/cross-compile.

       The configuration file syntax  has  been  significantly  relaxed  since
       version  1.39. Comments start with a ’#’ and continue to the end of the
       line.  Comments are allowed  on  their  own  lines  or  after  variable
       definitions.  Variable definitions have the general form:

              varname = value

       Prior  to  v2.0.0,  dpkg-cross  diverted  dpkg-buildpackage  and  dpkg-
       shlibdeps from dpkg-dev and used lots  of  settings  in  this  file  to
       modify  that  behaviour.  In v2.0.0, these diversions have been removed
       and the main elements of the diversions implemented in dpkg-dev itself.
       The  old diversion scripts are retained in dpkg-cross but are no longer
       called in normal usage. Settings that are affected by this  change  are
       listed in the "Legacy" section.

       Scripts using the Debian::DpkgCross module can define their own options
       to be set in this file and are free to use the existing settings in any
       suitable way. All options are available via the read_config function in
       the module.

       The following variables are recognised by default by dpkg-cross and can
       be specified in any order. Only default_arch is used routinely.

       default_arch (default: none)
                 The  default  architecture  for dpkg-cross is normally set by
                 debconf. To change the system-wide value, use

                        $ sudo dpkg-reconfigure dpkg-cross

                 Alternatively, the default can be overridden  on  a  per-user
                 basis using the optional file in $HOME/.dpkg-cross/.

       crossbase (default: /usr)
                 This  is  the path prefix for all other cross compiling paths
                 below. It is used in their default  definition,  but  a  user
                 definition need not necessarily use it.

       crossdir (default: $(CROSSBASE)/$(DEB_HOST_GNU_TYPE))
                 This is the base directory for a specific architecture.

       crossbin (default: $(CROSSDIR)/bin)
                 This  directory  contains  binaries for cross compiling (gcc,
                 as, ld, ...).  It’s mainly  intended  for  refering  to,  but
                 dpkg-shlibdeps  also  uses  it as one alternative to locate a
                 objdump  that  can  parse  objects  of  the  architecture  in
                 question.

       crosslib (default: $(CROSSDIR)/lib or $(CROSSROOT)/lib, resp.)
                 This  directory  contains  libraries and other linker support
                 files (e.g.  crt1.o) for cross compiling. The setting is used
                 by  dpkg-cross  as  place  where  to install files from usual
                 /lib,  /usr/lib,  and  /usr/X11R6/lib.  Also   dpkg-shlibdeps
                 expects  target  arch  libraries  in  this directory. This is
                 specially important if ‘‘$(CROSSROOT)’’ is defined.

       crosslib64 (default: $(CROSSLIB)64)
                 On targets that have both  32bit  and  64bit  variants,  this
                 directory  contains  64bit  versions  of  libraries and other
                 linker support files. This setting is used by  dpkg-cross  as
                 place  where  to  install  files from /lib64, /usr/lib64, and
                 /usr/X11R6/lib64. Note that this  setting  is  NOT  used  for
                 64bit-only targets (such as ‘‘ia64’’).

       crossinc (default: $(CROSSDIR)/include)
                 This  directory  contains  headers  for  cross compiling. The
                 setting is used by dpkg-cross as place where to install files
                 from  usual  /usr/include  and /usr/X11R6/include.  Unused if
                 ‘‘$(CROSSROOT)’’ is defined.

       crossprefix (default: $(CPU)-$(OS)-)
                 This is the prefix for cross compiling  binaries,  like  gcc.
                 The  default  naming  is GNU convention, e.g.  you could have
                 m68k-linux-gcc in your  PATH.   It  is  mainly  intended  for
                 refering   to,   but  dpkg-shlibdeps  also  uses  it  as  one
                 alternative to locate a objdump that can parse objects of the
                 architecture        in        question        (it       tries
                 ‘‘$(CROSSPREFIX)objdump’’).

       removedeps
                 This variable defines comma-separated list of  package  names
                 that  should be removed from any dependency fields (Depends:,
                 Conflicts:, etc) of the generated packages.  This  is  useful
                 when  the  original  native  package depends on packages like
                 xfree86-common or gpm,  that  are  of  no  value  for  cross-
                 compilation.

                 This  option  has been largely superceded by the -X|--exclude
                 support in dpkg-cross itself.

       keepdeps  This variable defines comma-separated list of  package  names
                 that should be kept as is, without adding -arch-cross suffix,
                 in all dependency fields (Depends:, Conflicts:, etc)  of  the
                 generated  packages.  This is useful for packages like bison,
                 when host version of package can satisfy the dependency.

                 This option has been largely superceded by  the  -X|--exclude
                 support in dpkg-cross itself.

Legacy options

       Other  values  previously used in this file are now largely legacy code
       that are retained for use with the old  scripts  from  /usr/share/dpkg-
       cross/.

       crossroot-arch (default: none)
                 If  arch matches the current target architecture (selected by
                 a -a option), then this definition of  ‘‘$(CROSSROOT)’’  will
                 take  place.  It  tells  dpkg-cross  that there is a complete
                 Debian installation for the target arch mounted somewhere, in
                 the  path  which  is  the  value  of  the  definition.  If  a
                 ‘‘$(CROSSROOT)’’ definition is  active,  some  of  the  other
                 variables  change  their meaning. For a complete description,
                 best refer to /usr/share/doc/dpkg-cross/README.Debian.gz.

       compilerpath (default: /bin:/usr/bin)
                 This variable defines  colon-separated  list  of  directories
                 where gccross search for compilers.

       The  variables  ‘‘$(CPU)’’  and ‘‘$(OS)’’ mentioned above sometimes are
       derived from the current target architecture ‘‘$(ARCH)’’.  If that  one
       does  not  contain  a  dash  (’-’),  it’s  assumed to be ‘‘$(CPU)’’ and
       ‘‘$(OS)’’ to be ‘‘linux’’. However, if the architecture  string  starts
       with  ‘‘hurd-’’ or end in ‘‘-gnu’’, the ‘‘$(OS)’’ part will be ‘‘gnu’’,
       the ‘‘$(CPU)’’ the rest before or after the OS.

       Additional variables may be defined for  the  legacy  dpkg-buildpackage
       wrapper.

              Important:  Makeflags are disabled in 2.0.0

              The old behaviour of overriding all MAKEFLAGS within a build has
              been  abandoned.  MAKEFLAGS  should  not  be  overridden  as  it
              compromises  the  intended behaviour of dpkg-cross by preventing
              build tools  from  being  compiled  with  the  native  compiler,
              causing  builds  to  fail when the executable is run after being
              compiled under the cross-compiler as dictated by  the  incorrect
              MAKEFLAGS.  Packages  that  cross-built with MAKEFLAGS but which
              fail to cross-build without it should be patched.

       Old style ’environment’ variables can  still  be  set  using  the  same
       syntax  as  all  other variables in the file and can be exported to the
       environment when using the  legacy  scripts.  This  is  a  change  from
       previous behaviour.

VARIABLE UNSETTING

       Unlike previous versions, any variable can be unset in the same file or
       in the user-specific file after being set in the  system  file.  Simply
       provide an empty value.

FILES

       $HOME/.dpkg-cross/cross-compile, /etc/dpkg-cross/cross-compile

SEE ALSO

       dpkg-cross(1),          Debian::DpkgCross(3),         cross-compile(5),
       /usr/share/doc/dpkg-cross/README.Debian.gz

AUTHOR

       Roman Hodek <debian-embedded@lists.debian.org>

       Neil Williams <codehelp@debian.org>

VERSION

       $Revision: 2.0.0

COPYRIGHT

       Copyright © 2007 Roman Hodek <debian-embedded@lists.debian.org>

       Copyright © 2007 Neil Williams <codehelp@debian.org>

       This program is free software; you can redistribute it and/or modify it
       under  the  terms of the GNU General Public License as published by the
       Free Software Foundation; either version 2 of the License, or (at  your
       option) any later version.

                                                              cross-compile(5)