summaryrefslogtreecommitdiff
path: root/scripts/build/companion_tools/200-autoconf.sh
blob: 28ff6513d32dd518b6bc9c737152c115459c174f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Build script for autoconf

do_companion_tools_autoconf_get()
{
    CT_Fetch AUTOCONF
}

do_companion_tools_autoconf_extract()
{
    CT_ExtractPatch AUTOCONF
}

do_companion_tools_autoconf_for_build()
{
    CT_DoStep INFO "Installing autoconf for build"
    CT_mkdir_pushd "${CT_BUILD_DIR}/build-autoconf-build"
    do_autoconf_backend host=${CT_BUILD} prefix="${CT_BUILD_COMPTOOLS_DIR}"
    CT_Popd
    CT_EndStep
}

do_companion_tools_autoconf_for_host()
{
    CT_DoStep INFO "Installing autoconf for host"
    CT_mkdir_pushd "${CT_BUILD_DIR}/build-autoconf-host"
    do_autoconf_backend host=${CT_HOST} prefix="${CT_PREFIX_DIR}"
    CT_Popd
    CT_EndStep
}

do_autoconf_backend()
{
    local host
    local prefix

    for arg in "$@"; do
        eval "${arg// /\\ }"
    done

    # Ensure configure gets run using the CONFIG_SHELL as configure seems to
    # have trouble when CONFIG_SHELL is set and /bin/sh isn't bash
    # For reference see:
    # http://www.gnu.org/software/autoconf/manual/autoconf.html#CONFIG_005fSHELL
    CT_DoLog EXTRA "Configuring autoconf"
    CT_DoExecLog CFG \
    ${CONFIG_SHELL} \
    "${CT_SRC_DIR}/autoconf/configure" \
                     --host="${host}" \
                     --prefix="${prefix}"

    CT_DoLog EXTRA "Building autoconf"
    CT_DoExecLog ALL make

    CT_DoLog EXTRA "Installing autoconf"
    CT_DoExecLog ALL make install
}