scripts/showTuple.sh.in
author Daniel Price <daniel.price@gmail.com>
Tue Nov 20 16:59:17 2012 -0800 (2012-11-20)
changeset 3126 333d3e40cbd1
parent 2468 90595d1c1017
child 3141 d8bd17248789
permissions -rw-r--r--
scripts: refine static linking check to better guide the user

The current mechanism to check if static linking is possible, and the mesage
displayed on failure, can be puzzling to the unsuspecting user.

Also, the current implementation is not using the existing infrastructure,
and is thus difficult to enhance with new tests.

So, switch to using the standard CT_DoExecLog infra, and use four tests to
check for the host compiler:
- check we can run it
- check it can build a trivial program
- check it can statically link that program
- check if it statically link with libstdc++

That should cover most of the problems. Hopefully.

(At the same time, fix a typo in a comment)

Signed-off-by: Daniel Price <daniel.price@gmail.com>
[yann.morin.1998@free.fr: split original patch for self-contained changes]
[yann.morin.1998@free.fr: use steps to better see gcc's output]
[yann.morin.1998@free.fr: commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <163f86b5216fc08c672a.1353459722@nipigon.dssd.com>
Patchwork-Id: 200536
yann@1336
     1
#!@@CT_bash@@
yann@1336
     2
yann@1336
     3
# What we need:
yann@1336
     4
#  - the .config file
yann@1336
     5
yann@1336
     6
# Parse the tools' paths configuration
yann@2838
     7
. "${CT_LIB_DIR}/paths.sh"
yann@1336
     8
yann@1336
     9
# We'll need the stdout later, save it
yann@1336
    10
exec 7>&1
yann@1336
    11
yann@1336
    12
# Parse the common functions
yann@1336
    13
. "${CT_LIB_DIR}/scripts/functions"
yann@1336
    14
yann@1336
    15
# Don't care about any log file
yann@1336
    16
exec >/dev/null
yann@1336
    17
rm -f "${tmp_log_file}"
yann@1336
    18
yann@1336
    19
# Parse the configuration file
yann@2468
    20
. .config.2
yann@1336
    21
yann@1336
    22
# Parse architecture and kernel specific functions
yann@1336
    23
. "${CT_LIB_DIR}/scripts/build/arch/${CT_ARCH}.sh"
yann@1336
    24
. "${CT_LIB_DIR}/scripts/build/kernel/${CT_KERNEL}.sh"
yann@1336
    25
yann@1336
    26
# Build CT_TARGET
yann@1336
    27
CT_DoBuildTargetTuple
yann@1336
    28
yann@1336
    29
# All this for this single echo... :-( Sigh, I'll have to re-arrange things...
yann@1336
    30
echo "${CT_TARGET}" >&7