config/debug/gdb.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jun 19 15:33:33 2008 +0000 (2008-06-19)
changeset 583 44b87fb3f0d3
parent 573 2a1803b98186
child 596 d1651a3f42a3
permissions -rw-r--r--
A bunch of fixes/improvements to the gdb build:
- allow native builds (both shared and static)
- fix enabling threads
- better handle the gdbserver case
- introduce the ncurses library to allow native builds
- re-order config options adequately

/trunk/scripts/build/debug/300-gdb.sh | 126 79 47 0 ++++++++++++++++++++++++++---------------
/trunk/config/debug/gdb.in | 45 33 12 0 +++++++++++----
2 files changed, 112 insertions(+), 59 deletions(-)
yann@96
     1
# GDB menu
yann@96
     2
yann@96
     3
menuconfig GDB
yann@96
     4
    bool
yann@96
     5
    prompt "gdb"
yann@96
     6
    default n
yann@96
     7
    help
yann@96
     8
      Enable gdb for the target
yann@96
     9
yann@96
    10
if GDB
yann@96
    11
yann@96
    12
config GDB_CROSS
yann@96
    13
    bool
yann@96
    14
    prompt "Cross-gdb"
yann@96
    15
    default y
yann@583
    16
    select GDB_GDBSERVER
yann@96
    17
    help
yann@583
    18
      Build and install a cross-gdb for the target, to run on host.
yann@96
    19
yann@583
    20
config GDB_CROSS_STATIC
yann@457
    21
    bool
yann@457
    22
    prompt "Build a static cross gdb"
yann@457
    23
    default n
yann@457
    24
    depends on GDB_CROSS
yann@457
    25
    help
yann@457
    26
      A static cross gdb can be usefull if you debug on a machine that is
yann@583
    27
      not the one that is used to compile the toolchain.
yann@457
    28
yann@583
    29
      That way, you can share the cross-gdb without installing a toolchain
yann@583
    30
      on every machine that will be used to debug target programs.
yann@583
    31
yann@583
    32
config GDB_NATIVE
yann@583
    33
    bool
yann@583
    34
    prompt "Native gdb"
yann@583
    35
    default n
yann@583
    36
    select GDB_GDBSERVER
yann@583
    37
    help
yann@583
    38
      Build and install a native gdb for the target, to run on the target.
yann@583
    39
yann@583
    40
config GDB_NATIVE_STATIC
yann@583
    41
    bool
yann@583
    42
    prompt "Build a static native gdb"
yann@583
    43
    default n
yann@583
    44
    depends on GDB_NATIVE
yann@583
    45
    help
yann@583
    46
      In case you have trouble with dynamic loading of shared libraries,
yann@583
    47
      you will find that a static gdb comes in handy.
yann@583
    48
yann@583
    49
config GDB_GDBSERVER
yann@583
    50
    bool
yann@583
    51
    prompt "gdbserver"
yann@583
    52
    default n
yann@583
    53
    help
yann@583
    54
      Build and install a gdbserver for the target, to run on the target.
yann@583
    55
yann@583
    56
config GDB_GDBSERVER_STATIC
yann@175
    57
    bool
yann@175
    58
    prompt "Build a static gdbserver"
yann@175
    59
    default n
yann@583
    60
    depends on GDB_GDBSERVER
yann@175
    61
    help
yann@175
    62
      In case you have trouble with dynamic loading of shared libraries,
yann@175
    63
      you will find that a static gdbserver comes in handy.
yann@175
    64
yann@96
    65
choice
yann@96
    66
    bool
yann@96
    67
    prompt "gdb version"
yann@583
    68
    depends on GDB_CROSS || GDB_NATIVE || GDB_GDBSERVER
yann@96
    69
yann@96
    70
config GDB_V_snapshot
yann@96
    71
    bool
yann@220
    72
    prompt "snapshot (EXPERIMENTAL)"
yann@96
    73
    depends on EXPERIMENTAL
yann@96
    74
yann@96
    75
config GDB_V_6_4
yann@96
    76
    bool
yann@330
    77
    prompt "6.4 (OBSOLETE)"
yann@96
    78
    depends on OBSOLETE
yann@96
    79
yann@96
    80
config GDB_V_6_5
yann@96
    81
    bool
yann@96
    82
    prompt "6.5"
yann@96
    83
yann@96
    84
config GDB_V_6_6
yann@96
    85
    bool
yann@96
    86
    prompt "6.6"
yann@96
    87
yann@477
    88
config GDB_V_6_7
yann@477
    89
    bool
yann@477
    90
    prompt "6.7 (EXPERIMENTAL)"
yann@477
    91
    depends on EXPERIMENTAL
yann@477
    92
yann@477
    93
config GDB_V_6_7_1
yann@477
    94
    bool
yann@477
    95
    prompt "6.7.1 (EXPERIMENTAL)"
yann@477
    96
    depends on EXPERIMENTAL
yann@477
    97
yann@477
    98
config GDB_V_6_8
yann@477
    99
    bool
yann@477
   100
    prompt "6.8 (EXPERIMENTAL)"
yann@477
   101
    depends on EXPERIMENTAL
yann@477
   102
yann@96
   103
# CT_INSERT_VERSION_ABOVE
yann@96
   104
# Don't remove above line!
yann@96
   105
endchoice
yann@96
   106
yann@96
   107
config GDB_VERSION
yann@96
   108
    string
yann@96
   109
    default "snapshot" if GDB_V_snapshot
yann@96
   110
    default "6.4" if GDB_V_6_4
yann@96
   111
    default "6.5" if GDB_V_6_5
yann@96
   112
    default "6.6" if GDB_V_6_6
yann@477
   113
    default "6.7" if GDB_V_6_7
yann@477
   114
    default "6.7.1" if GDB_V_6_7_1
yann@477
   115
    default "6.8" if GDB_V_6_8
yann@96
   116
# CT_INSERT_VERSION_STRING_ABOVE
yann@96
   117
# Don't remove above line!
yann@96
   118
yann@573
   119
if GDB_NATIVE
yann@573
   120
yann@573
   121
comment "Native gdb needs the ncurses library on the target"
yann@573
   122
yann@573
   123
choice
yann@573
   124
    bool
yann@573
   125
    prompt "ncurses version"
yann@573
   126
yann@573
   127
config NCURSES_V_4_2
yann@573
   128
    bool
yann@573
   129
    prompt "4.2"
yann@573
   130
yann@573
   131
config NCURSES_V_5_6
yann@573
   132
    bool
yann@573
   133
    prompt "5.6"
yann@573
   134
yann@573
   135
endchoice
yann@573
   136
yann@573
   137
config NCURSES_VERSION
yann@573
   138
    string
yann@573
   139
    default "4.2" if NCURSES_V_4_2
yann@573
   140
    default "5.6" if NCURSES_V_5_6
yann@573
   141
yann@583
   142
endif # GDB_NATIVE --> ncurses
yann@573
   143
yann@96
   144
endif