config/debug/gdb.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 14 16:21:07 2008 +0000 (2008-09-14)
changeset 850 ef8549b58b6f
parent 824 cc4590c03dd1
child 865 04cf91f13430
permissions -rw-r--r--
Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

/trunk/scripts/build/kernel/none.sh | 77 6 71 0 +----
/trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++-
/trunk/scripts/build/libc/none.sh | 513 9 504 0 +-----------------------------
/trunk/scripts/crosstool.sh | 17 9 8 0 +
/trunk/scripts/functions | 6 4 2 0 +
/trunk/scripts/showSamples.sh | 6 3 3 0
/trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++
/trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++
/trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++--
/trunk/config/kernel.in | 9 8 1 0 +
/trunk/config/toolchain.in | 1 1 0 0 +
/trunk/config/cc/gcc.in | 3 3 0 0 +
/trunk/config/debug/dmalloc.in | 1 1 0 0 +
/trunk/config/debug/gdb.in | 4 3 1 0 +
/trunk/config/debug/strace.in | 1 1 0 0 +
/trunk/config/debug/duma.in | 1 1 0 0 +
/trunk/config/cc.in | 8 8 0 0 +
/trunk/config/target.in | 13 13 0 0 +
/trunk/config/binutils.in | 1 1 0 0 +
/trunk/config/gmp_mpfr.in | 1 1 0 0 +
/trunk/config/libc.in | 17 11 6 0 +
/trunk/arch/arm/functions | 3 1 2 0 -
22 files changed, 600 insertions(+), 652 deletions(-)
     1 # GDB menu
     2 
     3 menuconfig GDB
     4     bool
     5     prompt "gdb"
     6     default n
     7     help
     8       Enable gdb for the target
     9 
    10 if GDB
    11 
    12 config GDB_CROSS
    13     bool
    14     prompt "Cross-gdb"
    15     default y
    16     select GDB_GDBSERVER if ! BARE_METAL
    17     help
    18       Build and install a cross-gdb for the target, to run on host.
    19 
    20 config GDB_CROSS_STATIC
    21     bool
    22     prompt "Build a static cross gdb"
    23     default n
    24     depends on GDB_CROSS
    25     help
    26       A static cross gdb can be usefull if you debug on a machine that is
    27       not the one that is used to compile the toolchain.
    28 
    29       That way, you can share the cross-gdb without installing a toolchain
    30       on every machine that will be used to debug target programs.
    31 
    32 config GDB_CROSS_INSIGHT
    33     bool
    34     prompt "Use Insight instead (EXPERIMENTAL)"
    35     default n
    36     depends on GDB_CROSS
    37     depends on EXPERIMENTAL
    38     help
    39       If you say 'Y' here, then Insight will be used to build the cross
    40       debugger, instead of the plain gdb.
    41       
    42       Insight is gdb plus a TCL/TK GUI: http://sourceware.org/insight/
    43 
    44 config GDB_NATIVE
    45     bool
    46     prompt "Native gdb"
    47     default n
    48     depends on ! BARE_METAL
    49     help
    50       Build and install a native gdb for the target, to run on the target.
    51 
    52 config GDB_NATIVE_STATIC
    53     bool
    54     prompt "Build a static native gdb"
    55     default n
    56     depends on GDB_NATIVE
    57     help
    58       In case you have trouble with dynamic loading of shared libraries,
    59       you will find that a static gdb comes in handy.
    60 
    61 config GDB_NATIVE_USE_GMP_MPFR
    62     bool
    63     prompt "Use GMP and MPFR"
    64     default n
    65     depends on GDB_NATIVE
    66     select GMP_MPFR
    67     select GMP_MPFR_TARGET
    68     help
    69       gdb can make use of the GMP and MPFR libraries.
    70 
    71       While the cross-gdb (above) can use the libraries compiled for the
    72       host, the native gdb needs the libraries for the target (where it will
    73       eventually run).
    74 
    75       Setting this option will force building the GMP and MPFR libraries for
    76       the target, and configure the native gdb to use them.
    77 
    78 config GDB_GDBSERVER
    79     bool
    80     prompt "gdbserver"
    81     default n
    82     depends on ! BARE_METAL
    83     help
    84       Build and install a gdbserver for the target, to run on the target.
    85 
    86 config GDB_GDBSERVER_STATIC
    87     bool
    88     prompt "Build a static gdbserver"
    89     default y
    90     depends on GDB_GDBSERVER
    91     help
    92       In case you have trouble with dynamic loading of shared libraries,
    93       you will find that a static gdbserver comes in handy.
    94 
    95 choice
    96     bool
    97     prompt "gdb version"
    98     depends on GDB_CROSS || GDB_NATIVE || GDB_GDBSERVER
    99 
   100 config GDB_V_snapshot
   101     bool
   102     prompt "snapshot (EXPERIMENTAL)"
   103     depends on EXPERIMENTAL
   104     depends on ! GDB_CROSS_INSIGHT
   105 
   106 config GDB_V_6_4
   107     bool
   108     prompt "6.4 (OBSOLETE)"
   109     depends on OBSOLETE
   110 
   111 config GDB_V_6_5
   112     bool
   113     prompt "6.5 (OBSOLETE)"
   114     depends on OBSOLETE
   115 
   116 config GDB_V_6_6
   117     bool
   118     prompt "6.6"
   119 
   120 config GDB_V_6_7
   121     bool
   122     prompt "6.7 (EXPERIMENTAL)"
   123     depends on EXPERIMENTAL
   124 
   125 config GDB_V_6_7_1
   126     bool
   127     prompt "6.7.1 (EXPERIMENTAL)"
   128     depends on EXPERIMENTAL
   129 
   130 config GDB_V_6_8
   131     bool
   132     prompt "6.8"
   133 
   134 # CT_INSERT_VERSION_ABOVE
   135 # Don't remove above line!
   136 endchoice
   137 
   138 config GDB_VERSION
   139     string
   140     default "snapshot" if GDB_V_snapshot
   141     default "6.4" if GDB_V_6_4
   142     default "6.5" if GDB_V_6_5
   143     default "6.6" if GDB_V_6_6
   144     default "6.7" if GDB_V_6_7
   145     default "6.7.1" if GDB_V_6_7_1
   146     default "6.8" if GDB_V_6_8
   147 # CT_INSERT_VERSION_STRING_ABOVE
   148 # Don't remove above line!
   149 
   150 if GDB_NATIVE
   151 
   152 comment "Native gdb needs the ncurses library on the target"
   153 
   154 choice
   155     bool
   156     prompt "ncurses version"
   157 
   158 config NCURSES_V_5_6
   159     bool
   160     prompt "5.6"
   161 
   162 endchoice
   163 
   164 config NCURSES_VERSION
   165     string
   166     default "5.6" if NCURSES_V_5_6
   167 
   168 endif # GDB_NATIVE --> ncurses
   169 
   170 endif