scripts/build/companion_tools/200-autoconf.sh
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 1901 bdb3a98e064b
child 2309 2e0f0757289d
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>
     1 # Build script for autoconf
     2 
     3 CT_AUTOCONF_VERSION=2.65
     4 
     5 do_companion_tools_autoconf_get() {
     6     CT_GetFile "autoconf-${CT_AUTOCONF_VERSION}" \
     7                {ftp,http}://ftp.gnu.org/gnu/autoconf
     8 }
     9 
    10 do_companion_tools_autoconf_extract() {
    11     CT_Extract "autoconf-${CT_AUTOCONF_VERSION}"
    12     CT_Patch "autoconf" "${CT_AUTOCONF_VERSION}"
    13 }
    14 
    15 do_companion_tools_autoconf_build() {
    16     CT_DoStep EXTRA "Installing autoconf"
    17     mkdir -p "${CT_BUILD_DIR}/build-autoconf"
    18     CT_Pushd "${CT_BUILD_DIR}/build-autoconf"
    19     
    20     # Ensure configure gets run using the CONFIG_SHELL as configure seems to
    21     # have trouble when CONFIG_SHELL is set and /bin/sh isn't bash
    22     # For reference see:
    23     # http://www.gnu.org/software/autoconf/manual/autoconf.html#CONFIG_005fSHEL
    24     
    25     CT_DoExecLog CFG ${CONFIG_SHELL} \
    26     "${CT_SRC_DIR}/autoconf-${CT_AUTOCONF_VERSION}/configure" \
    27         --prefix="${CT_TOOLS_OVERIDE_DIR}"
    28     CT_DoExecLog ALL make
    29     CT_DoExecLog ALL make install
    30     CT_Popd
    31     CT_EndStep
    32 }