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