config/debug/gdb.in
author Daniel Price <daniel.price@gmail.com>
Tue Nov 20 16:59:17 2012 -0800 (2012-11-20)
changeset 3126 333d3e40cbd1
parent 3055 00ad3bbbf024
child 3137 14417fac6e9f
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@96
     1
# GDB menu
yann@96
     2
yann@2444
     3
## help gdb is the GNU debugger
yann@96
     4
yann@1849
     5
source "config/debug/gdb.in.cross"
yann@1849
     6
source "config/debug/gdb.in.native"
yann@1849
     7
source "config/debug/gdb.in.gdbserver"
yann@1269
     8
yann@2417
     9
if GDB_CROSS || GDB_NATIVE || GDB_GDBSERVER
yann@2417
    10
yann@2417
    11
comment "gdb version"
yann@2417
    12
yann@2417
    13
config DEBUG_GDB_SHOW_LINARO
yann@2417
    14
    bool
yann@2417
    15
    prompt "Show Linaro versions (EXPERIMENTAL)"
yann@2417
    16
    depends on EXPERIMENTAL
yann@2417
    17
    help
yann@2417
    18
      Linaro is maintaining some advanced/more stable/experimental versions
yann@2417
    19
      of gdb, especially for the ARM architecture.
yann@2417
    20
yann@2417
    21
      Those versions have not been blessed by the gdb community (nor have they
yann@2417
    22
      been cursed either!), but they look to be pretty much stable, and even
yann@2417
    23
      more stable than the upstream versions. YMMV...
yann@2417
    24
yann@2417
    25
      If you do not know what this Linaro stuff is, then simply say 'n' here,
yann@2417
    26
      and rest in peace. OTOH, if you know what you are doing, you will be
yann@2417
    27
      able to use and enjoy :-) the Linaro versions by saying 'y' here.
yann@2417
    28
yann@2417
    29
      Linaro: http://www.linaro.org/
yann@2417
    30
yann@96
    31
choice
yann@96
    32
    bool
yann@96
    33
    prompt "gdb version"
yann@1535
    34
# Don't remove next line
yann@1535
    35
# CT_INSERT_VERSION_BELOW
yann@1534
    36
benoit@3055
    37
config GDB_V_linaro_7_5_2012_09
benoit@3055
    38
    bool
benoit@3055
    39
    prompt "linaro-7.5-2012.09 (EXPERIMENTAL)"
benoit@3055
    40
    depends on DEBUG_GDB_SHOW_LINARO
benoit@3055
    41
    select GDB_7_0_or_later
benoit@3055
    42
    select GDB_7_2_or_later
benoit@3055
    43
benoit@2995
    44
config GDB_V_linaro_7_4_2012_06
benoit@2919
    45
    bool
benoit@2995
    46
    prompt "linaro-7.4-2012.06 (EXPERIMENTAL)"
benoit@2919
    47
    depends on DEBUG_GDB_SHOW_LINARO
benoit@2919
    48
    select GDB_7_0_or_later
yann@2985
    49
    select GDB_7_2_or_later
benoit@2919
    50
bryanhundven@3013
    51
config GDB_V_7_4_1
bryanhundven@3013
    52
    bool
bryanhundven@3013
    53
    prompt "7.4.1 (EXPERIMENTAL)"
bryanhundven@3013
    54
    depends on EXPERIMENTAL
bryanhundven@3013
    55
    select GDB_7_0_or_later
bryanhundven@3013
    56
    select GDB_7_2_or_later
bryanhundven@3013
    57
bryanhundven@3013
    58
config GDB_V_7_4
bryanhundven@3013
    59
    bool
bryanhundven@3013
    60
    prompt "7.4 (EXPERIMENTAL)"
bryanhundven@3013
    61
    depends on EXPERIMENTAL
bryanhundven@3013
    62
    select GDB_7_0_or_later
bryanhundven@3013
    63
    select GDB_7_2_or_later
bryanhundven@3013
    64
benoit@2803
    65
config GDB_V_linaro_7_3_2011_12
benoit@2612
    66
    bool
benoit@2803
    67
    prompt "linaro-7.3-2011.12 (EXPERIMENTAL)"
benoit@2612
    68
    depends on DEBUG_GDB_SHOW_LINARO
benoit@2612
    69
    select GDB_7_0_or_later
yann@2985
    70
    select GDB_7_2_or_later
benoit@2612
    71
bryanhundven@3013
    72
config GDB_V_7_3_1
bryanhundven@3013
    73
    bool
bryanhundven@3013
    74
    prompt "7.3.1 (EXPERIMENTAL)"
bryanhundven@3013
    75
    depends on EXPERIMENTAL
bryanhundven@3013
    76
    select GDB_7_0_or_later
bryanhundven@3013
    77
    select GDB_7_2_or_later
bryanhundven@3013
    78
yann@2654
    79
config GDB_V_7_3a
benoit@2612
    80
    bool
yann@2654
    81
    prompt "7.3a (EXPERIMENTAL)"
benoit@2612
    82
    depends on EXPERIMENTAL
benoit@2612
    83
    select GDB_7_0_or_later
yann@2985
    84
    select GDB_7_2_or_later
benoit@2612
    85
benoit@2478
    86
config GDB_V_linaro_7_2_2011_05_0
yann@2303
    87
    bool
benoit@2478
    88
    prompt "linaro-7.2-2011.05-0 (EXPERIMENTAL)"
yann@2417
    89
    depends on DEBUG_GDB_SHOW_LINARO
yann@2303
    90
    select GDB_7_0_or_later
yann@2985
    91
    select GDB_7_2_or_later
yann@2303
    92
yann@2654
    93
config GDB_V_7_2a
jon@2168
    94
    bool
yann@2654
    95
    prompt "7.2a (EXPERIMENTAL)"
jon@2168
    96
    depends on EXPERIMENTAL
jon@2168
    97
    select GDB_7_0_or_later
yann@2985
    98
    select GDB_7_2_or_later
jon@2168
    99
yann@2654
   100
config GDB_V_7_1a
yann@1874
   101
    bool
yann@2654
   102
    prompt "7.1a (EXPERIMENTAL)"
yann@1874
   103
    depends on EXPERIMENTAL
yann@1874
   104
    select GDB_7_0_or_later
yann@1874
   105
yann@2654
   106
config GDB_V_7_0_1a
jocke@1705
   107
    bool
yann@2654
   108
    prompt "7.0.1a (EXPERIMENTAL)"
jocke@1705
   109
    depends on EXPERIMENTAL
yann@1852
   110
    select GDB_7_0_or_later
jocke@1705
   111
yann@2654
   112
config GDB_V_7_0a
yann@1612
   113
    bool
yann@2654
   114
    prompt "7.0a (EXPERIMENTAL)"
yann@1612
   115
    depends on EXPERIMENTAL
yann@1852
   116
    select GDB_7_0_or_later
yann@1612
   117
yann@2654
   118
config GDB_V_6_8a
yann@1534
   119
    bool
yann@2654
   120
    prompt "6.8a"
yann@1534
   121
david@3091
   122
config GDB_CUSTOM
david@3091
   123
    bool
david@3091
   124
    prompt "Custom gdb"
david@3091
   125
    depends on EXPERIMENTAL
david@3091
   126
    select GDB_7_0_or_later
david@3091
   127
    select GDB_7_2_or_later
david@3091
   128
yann@96
   129
endchoice
yann@96
   130
yann@2985
   131
config GDB_7_2_or_later
yann@2985
   132
    bool
yann@2985
   133
yann@1852
   134
config GDB_7_0_or_later
yann@1852
   135
    bool
benoit@2490
   136
    select GDB_HAS_PKGVERSION_BUGURL
yann@2575
   137
    select GDB_INSTALL_GDBINIT
benoit@2490
   138
benoit@2490
   139
config GDB_HAS_PKGVERSION_BUGURL
benoit@2490
   140
    bool
yann@1852
   141
yann@2575
   142
config GDB_INSTALL_GDBINIT
yann@2575
   143
    bool
yann@2575
   144
yann@96
   145
config GDB_VERSION
yann@96
   146
    string
yann@1535
   147
# Don't remove next line
yann@1535
   148
# CT_INSERT_VERSION_STRING_BELOW
benoit@3055
   149
    default "linaro-7.5-2012.09" if GDB_V_linaro_7_5_2012_09
benoit@2995
   150
    default "linaro-7.4-2012.06" if GDB_V_linaro_7_4_2012_06
bryanhundven@3013
   151
    default "7.4.1" if GDB_V_7_4_1
bryanhundven@3013
   152
    default "7.4" if GDB_V_7_4
benoit@2803
   153
    default "linaro-7.3-2011.12" if GDB_V_linaro_7_3_2011_12
bryanhundven@3013
   154
    default "7.3.1" if GDB_V_7_3_1
yann@2654
   155
    default "7.3a" if GDB_V_7_3a
benoit@2478
   156
    default "linaro-7.2-2011.05-0" if GDB_V_linaro_7_2_2011_05_0
yann@2654
   157
    default "7.2a" if GDB_V_7_2a
yann@2654
   158
    default "7.1a" if GDB_V_7_1a
yann@2654
   159
    default "7.0.1a" if GDB_V_7_0_1a
yann@2654
   160
    default "7.0a" if GDB_V_7_0a
yann@2654
   161
    default "6.8a" if GDB_V_6_8a
david@3091
   162
    default "custom" if GDB_CUSTOM
david@3091
   163
david@3091
   164
if GDB_CUSTOM
david@3091
   165
david@3091
   166
config GDB_CUSTOM_LOCATION
david@3091
   167
    string
david@3091
   168
    prompt "Full path to custom gdb source"
david@3091
   169
    default ""
david@3091
   170
    help
david@3091
   171
      Enter the path to the directory (or tarball) of your source for gdb,
david@3091
   172
      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gdb
david@3091
   173
david@3091
   174
endif # GDB_CUSTOM
yann@2417
   175
yann@2417
   176
endif
david@3091
   177