config/kernel.in
author Daniel Price <daniel.price@gmail.com>
Tue Nov 20 16:59:17 2012 -0800 (2012-11-20)
changeset 3126 333d3e40cbd1
parent 2484 d1a8c2ae7946
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@1
     1
# Kernel options
yann@1
     2
yann@861
     3
menu "Operating System"
yann@861
     4
yann@883
     5
# Config option used throughout the config and code to determine wether
yann@1337
     6
# we have a kernel or not (there might be different bare metal stuff)...
yann@883
     7
config BARE_METAL
yann@883
     8
    bool
yann@883
     9
diorcet@3112
    10
config WINDOWS
bartvdrmeulen@2017
    11
    bool
bartvdrmeulen@2017
    12
yann@1499
    13
# Each target OS (aka kernel) that support shared libraries can select
yann@1499
    14
# this, so the user can decide whether or not to build a shared library
yann@1499
    15
# enabled toolchain
yann@1499
    16
config KERNEL_SUPPORTS_SHARED_LIBS
yann@1499
    17
    bool
yann@1499
    18
yann@847
    19
config KERNEL
yann@847
    20
    string
yann@847
    21
yann@861
    22
config KERNEL_VERSION
yann@861
    23
    string
yann@850
    24
yann@1870
    25
source "config.gen/kernel.in"
yann@854
    26
yann@1502
    27
comment "Common kernel options"
yann@1502
    28
yann@1502
    29
config SHARED_LIBS
yann@1502
    30
    bool
yann@1502
    31
    prompt "Build shared libraries"
yann@1502
    32
    depends on KERNEL_SUPPORTS_SHARED_LIBS
yann@1502
    33
    default y
yann@1502
    34
    help
yann@1502
    35
      Say 'y' here, unless you don't want shared libraries.
yann@1502
    36
      
yann@1502
    37
      You might not want shared libraries if you're building for a target that
yann@1502
    38
      don't support it (maybe some nommu targets, for example, or bare metal).
yann@1502
    39
yann@1976
    40
source "config.gen/kernel.in.2"
yann@1976
    41
yann@1
    42
endmenu