config/cc.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 760 80098c869f5e
child 923 54fc137f9dc8
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 # Compiler options
     2 
     3 menu "C compiler"
     4 
     5 choice
     6     bool
     7     prompt "C compiler flavour"
     8     default CC_GCC
     9 
    10 config CC_GCC
    11     bool
    12     prompt "gcc"
    13     select CC_SUPPORT_CXX
    14     select CC_SUPPORT_FORTRAN
    15     select CC_SUPPORT_JAVA
    16     select CC_SUPPORT_ADA
    17     select CC_SUPPORT_OBJC
    18     select CC_SUPPORT_OBJCXX
    19     help
    20       gcc is the full-blown GNU compiler. This is what most people will choose.
    21       
    22       gcc supports many languages, a powerful code parser, optimised binary 
    23       output, and lots of other features.
    24 
    25 endchoice
    26 
    27 config CC_VERSION
    28     string
    29 
    30 config CC
    31     string
    32     default "gcc" if CC_GCC
    33 
    34 if CC_GCC
    35 source config/cc/gcc.in
    36 endif
    37 
    38 config CC_SUPPORT_CXX
    39     bool
    40 
    41 config CC_SUPPORT_FORTRAN
    42     bool
    43 
    44 config CC_SUPPORT_JAVA
    45     bool
    46 
    47 config CC_SUPPORT_ADA
    48     bool
    49 
    50 config CC_SUPPORT_OBJC
    51     bool
    52 
    53 config CC_SUPPORT_OBJCXX
    54     bool
    55 
    56 if ! BARE_METAL
    57 
    58 comment "Additional supported languages:"
    59 
    60 config CC_LANG_CXX
    61     bool
    62     prompt "C++"
    63     default n
    64     depends on CC_SUPPORT_CXX
    65     help
    66       Enable building a C++ compiler.
    67 
    68       Only select this if you know that your specific version of the
    69       compiler supports this language.
    70 
    71 config CC_LANG_FORTRAN
    72     bool
    73     prompt "Fortran"
    74     default n
    75     depends on CC_SUPPORT_FORTRAN
    76     help
    77       Enable building a FORTRAN compiler.
    78 
    79       Only select this if you know that your specific version of the
    80       compiler supports this language.
    81 
    82 config CC_LANG_JAVA
    83     bool
    84     prompt "Java"
    85     default n
    86     depends on CC_SUPPORT_JAVA
    87     help
    88       Enable building a Java compiler.
    89 
    90       Only select this if you know that your specific version of the
    91       compiler supports this language.
    92 
    93 config CC_LANG_ADA
    94     bool
    95     prompt "ADA (EXPERIMENTAL)"
    96     default n
    97     depends on CC_SUPPORT_ADA
    98     depends on EXPERIMENTAL
    99     help
   100       Enable building an Ada compiler.
   101 
   102       Only select this if you know that your specific version of the
   103       compiler supports this language.
   104 
   105 config CC_LANG_OBJC
   106     bool
   107     prompt "Objective-C (EXPERIMENTAL)"
   108     default n
   109     depends on CC_SUPPORT_OBJC
   110     depends on EXPERIMENTAL
   111     help
   112       Enable building an Objective C compiler.
   113 
   114       Only select this if you know that your specific version of the
   115       compiler supports this language.
   116 
   117 config CC_LANG_OBJCXX
   118     bool
   119     prompt "Objective-C++ (EXPERIMENTAL)"
   120     depends on EXPERIMENTAL
   121     default n
   122     depends on CC_SUPPORT_OBJCXX
   123     help
   124       Enable building an Objective C++ compiler.
   125 
   126       Only select this if you know that your specific version of the
   127       compiler supports this language.
   128 
   129 config CC_LANG_OTHERS
   130     string
   131     prompt "Other languages (EXPERIMENTAL)"
   132     default ""
   133     depends on EXPERIMENTAL
   134     help
   135       Enter here a comma-separated list of languages that you know your compiler
   136       supports, besides those listed above.
   137 
   138       Eg. gcc-4.1+ has a toy programming language, treelang. As it is not usefull
   139       in real life, it is not available in the selection above.
   140 
   141 endif # ! BARE_METAL
   142 
   143 if BARE_METAL
   144 comment "Only C language supported on bare metal"
   145 endif # BARE_METAL
   146 
   147 endmenu