config/global/paths.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Jan 28 22:06:49 2011 +0100 (2011-01-28)
changeset 2284 7ede374110e5
parent 2109 4a45c5758258
child 2419 eab1a8bb1008
permissions -rw-r--r--
config: add an option not to remove the destination directory

In certain circumstances, removing the destination/installation directory
is a bad idea. For example, when the build environment is already taking
care of sanitising the build tree, and pre-installs stuff in there, it is
a very bad idea to remove the destination directory.

This happens now in buildroot, as the crostool-NG backend now installs the
toolchain in the common host-tools directory, and pre-install there a few
host-utilities (eg. host-automake and host-gawk).

Provide a config knob to turn on/off the removal of the destination
directory, defaulting to 'y' (previous behavior), and forced to 'n' when
used as a backend.

Reported-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@445
     1
# Options related to paths and install
yann@1
     2
yann@1
     3
comment "Paths"
yann@1
     4
yann@85
     5
config LOCAL_TARBALLS_DIR
yann@1
     6
    string
yann@1865
     7
    prompt "Local tarballs directory" if ! BACKEND
yann@85
     8
    default ""
yann@1
     9
    help
yann@85
    10
      If you have previously downloaded the tarballs, enter the PATH where
yann@85
    11
      you stored them here.
yann@31
    12
yann@265
    13
config SAVE_TARBALLS
yann@265
    14
    bool
yann@1865
    15
    prompt "Save new tarballs" if ! BACKEND
yann@1865
    16
    depends on LOCAL_TARBALLS_DIR != "" || BACKEND
yann@1865
    17
    default y if BACKEND
yann@1865
    18
    default n if ! BACKEND
yann@265
    19
    help
yann@425
    20
      If you say 'y' here, new downloaded tarballs will be saved in the
yann@265
    21
      directory you entered above.
yann@265
    22
yann@610
    23
config WORK_DIR
yann@610
    24
    string
yann@1865
    25
    prompt "Working directory" if ! BACKEND
yann@2109
    26
    default "${CT_TOP_DIR}/.build"
yann@610
    27
    help
yann@610
    28
      Set this to the directory where all build actions will be done.
yann@610
    29
      
yann@610
    30
      The default is "${CT_TOP_DIR}/targets", and leaving this option
yann@610
    31
      empty will also use the default.
yann@610
    32
      
yann@610
    33
      You should not need to change that, except in one very peculiar
yann@610
    34
      setup:
yann@610
    35
       - your crosstool-NG source directory is on the network
yann@610
    36
       - you configured crosstool-NG with --local
yann@610
    37
      This kind of setup is a pain, as any action involving source file
yann@610
    38
      access would have to go through the wire. In this case, you should
yann@610
    39
      set CT_WORK_DIR to point to a path local to your machine, to avoid
yann@610
    40
      any network overhead.
yann@610
    41
      
yann@610
    42
      Do *NOT* change it if you don't know better.
yann@610
    43
yann@1
    44
config PREFIX_DIR
yann@1
    45
    string
yann@1865
    46
    prompt "Prefix directory" if ! BACKEND
yann@613
    47
    default "${HOME}/x-tools/${CT_TARGET}"
yann@1
    48
    help
yann@1
    49
      This is the path the toolchain will run from.
yann@1
    50
yann@1
    51
config INSTALL_DIR
yann@1
    52
    string
yann@1
    53
#    prompt "Install directory"
yann@1
    54
    default "${CT_PREFIX_DIR}"
yann@1
    55
#    help
yann@610
    56
#      This is the path the toolchain will be installed into.
yann@1
    57
#      
yann@1
    58
#      Normally, you would set this to ${CT_PREFIX_DIR}, but if for some reasons
yann@1
    59
#      you can't write there, you can install somewhere else and have a third
yann@1
    60
#      person do the install for you.
yann@1
    61
#      The reason you might also want to install elsewhere is if you are going
yann@1
    62
#      to package your shinny new toolchain for distribution.
yann@1
    63
yann@2284
    64
config RM_RF_PREFIX_DIR
yann@2284
    65
    bool
yann@2284
    66
    prompt "|  Remove the prefix dir prior to building"
yann@2284
    67
    default y
yann@2284
    68
    depends on !BACKEND
yann@2284
    69
    help
yann@2284
    70
      If you say 'y' here, then PREFIX_DIR (above) will be eradicated
yann@2284
    71
      prior to the toolchain is built.
yann@2284
    72
      
yann@2284
    73
      This can be usefull when you are trying different settings (due
yann@2284
    74
      to build failures or feature tests). In this case, to avoid using
yann@2284
    75
      a potentially broken previous toolchain, the install location is
yann@2284
    76
      removed, to start afresh.
yann@2284
    77
      
yann@2284
    78
      On the oher hand, if you are building a final toolchain, and install
yann@2284
    79
      it into a directory with pre-install, unrelated programs, it would be
yann@2284
    80
      damageable to remove that directory. In this case, you may want to
yann@2284
    81
      say 'n' here.
yann@2284
    82
      
yann@2284
    83
      Note that when acting as a backend, this option is not available, and
yann@2284
    84
      is forced to 'n'.
yann@2284
    85
yann@14
    86
config REMOVE_DOCS
yann@14
    87
    bool
yann@14
    88
    prompt "Remove documentation"
yann@753
    89
    default y
yann@14
    90
    help
yann@14
    91
      Remove the installed documentation (man and info pages).
yann@14
    92
      Gains around 8MiB for a uClibc-based, C and C++ compiler.
yann@14
    93
yann@174
    94
config INSTALL_DIR_RO
yann@174
    95
    bool
yann@174
    96
    prompt "Render the toolchain read-only"
yann@753
    97
    default y
yann@174
    98
    help
yann@174
    99
      Render the directory of the toolchain (and its sub-directories)
yann@174
   100
      read-only.
yann@174
   101
      
yann@174
   102
      Usefull for toolchains destined for production.
linux@2060
   103
linux@2060
   104
config STRIP_ALL_TOOLCHAIN_EXECUTABLES
linux@2060
   105
    bool
linux@2060
   106
    prompt "Strip all toolchain executables"
linux@2060
   107
    default y
linux@2060
   108
    help
linux@2060
   109
      All build host executables contain a lot of unnecessary info.
linux@2060
   110
      By stripping all executables it slightly speeds up the compilation
linux@2060
   111
      of large projects.
linux@2060
   112
      NOTE: It does NOT strip the target libraries, only HOST executables