Commit Graph

19 Commits

Author SHA1 Message Date
Yann E. MORIN"
b81d232a9b kernel: add mingw
Add the option to build a cross-compiler for kernel type 'mingw'.
The resulting cross-compiler can be used to build applications on a Linux host
that can be run on a Windows target.

Compiler is build using the mingwrt and w32-api packages aviable from the
MinGW project (http://sourceforge.net/projects/mingw).

The windows headers (w32-api package) are extracting with the kernel_headers
step The libraries and other headers from both packages are build and
installed in the various steps of libc

Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: fix kernel headers comment, don't "return 0"]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11 21:36:20 +02:00
Yann E. MORIN"
43ca5b4095 config: add support for a second part of the generated choices
Some components have configuration options that can depend on
generic options, so they should go below those.

uClibc for example:
- has its own options (wchar...)
- uses the generic options (threads...)
- if linuxthreads chosen, offers two impls

So we need to be able to split the components options in 2,
one part that is above the generic options, and one part that
ends up below the generic options.
2010-06-08 23:26:54 +02:00
Yann E. MORIN"
d276ce2a4f config: fix style issues when source-ing files
Always enclose the sourced file between double-quotes (purely for
consistency; enclosing or not are both allowed by the kconfig language).
2010-03-29 20:24:50 +02:00
Yann E. MORIN"
4fa6f04c32 config: move the "build shared libraries" option to the OS menu
The "Build shared libraries" config option is dependant on the type of
"Target OS".

Moving this options to the "Target OS" sub-menu is also better in the user
perspective: he/she no longer needs to go back and forth to see if he/she
missed any option.
2009-08-30 16:54:30 +02:00
Yann E. MORIN"
8d7dcccad5 config: introduce the KERNEL_SUPPORTS_SHARED_LIBS silent config option
The target OSes will be able to select this option if they support shared
libraries, instead of having "Build shared libaries" depend on each OS.
2009-08-30 16:44:59 +02:00
Yann E. MORIN"
df07dda46d Merge the /deve/uclinux branch back to /trunk:
- add support for uClinux, the MMU-less ports of Linux.

 -------- diffstat follows --------
 /trunk/scripts/build/kernel/linux.sh      |  100     1    99     0 ---------------
 /trunk/steps.mk                           |    1     1     0     0 +
 /trunk/config/kernel/linux.in             |  247     0   247     0 -------------------------------------
 /trunk/config/kernel.in                   |    2     1     1     0
 /trunk/config/libc/glibc.in               |    2     1     1     0
 /trunk/config/libc/eglibc.in              |    2     1     1     0
 /trunk/config/libc/glibc-eglibc.in-common |    5     5     0     0 +
 /trunk/config/config.in                   |    1     1     0     0 +
 8 files changed, 11 insertions(+), 349 deletions(-)
2009-05-13 20:55:15 +00:00
Yann E. MORIN"
c7df47dcea In generated choice menus, move the selection options outside the choice menu.
/trunk/kconfig/kconfig.mk |   60    35    25     0 +++++++++++++++++++++++++++++++----------------------
 /trunk/config/kernel.in   |    6     0     6     0 -----
 /trunk/config/target.in   |    6     0     6     0 -----
 3 files changed, 35 insertions(+), 37 deletions(-)
2008-10-12 11:22:46 +00:00
Yann E. MORIN"
91147b5d18 Typoes.
/trunk/README           |    2     1     1     0 +-
 /trunk/config/kernel.in |    2     1     1     0 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
2008-10-06 20:13:05 +00:00
Yann E. MORIN"
5e2ecc71c6 Move around the BARE_METAL config entry outside of the bare metal /kernel/ entry: there might be different setups that causes a bare metal compiler.
/trunk/config/kernel/bare-metal.experimental.in |   12     4     8     0 ++++--------
 /trunk/config/kernel.in                         |    6     6     0     0 ++++++
 2 files changed, 10 insertions(+), 8 deletions(-)
2008-09-28 21:31:13 +00:00
Yann E. MORIN"
c36b921790 Generate the kernel config choice, rather than having it hard-coded:
- change the menu label from 'Target OS' to 'Operating System',
  - bare-metal is a kind of kernel (OS), rename to 'bare-metal' from 'none',
  - update the kconfig.mk to generate the kernel choice entries,
  - update glibc&eglibc kernel version option accordingly.
Update the debug & tools confiog file generation to match with arch & kernel.
Print terse command lines when building in kconfig/ (a-la Linux kernel).
Fix the makefile rules in kconfig/kconfig.mk to be /simple/ rules.

 /trunk/kconfig/kconfig.mk                       |  117    81    36     0 +++++++++++++++++++++----------
 /trunk/config/kernel/linux.in                   |    4     4     0     0 +
 /trunk/config/kernel/bare-metal.experimental.in |   15    15     0     0 ++++
 /trunk/config/kernel.in                         |   33     5    28     0 +--------
 /trunk/config/libc/glibc-eglibc-common.in       |    4     2     2     0
 5 files changed, 107 insertions(+), 66 deletions(-)
2008-09-16 17:39:40 +00:00
Yann E. MORIN"
ed92de0b90 Make bare-metal a kernel selection.
/trunk/config/kernel.in |   22    14     8     0 ++++++++++++++--------
 /trunk/config/target.in |   13     0    13     0 -------------
 2 files changed, 14 insertions(+), 21 deletions(-)
2008-09-15 09:43:35 +00:00
Yann E. MORIN"
799672a641 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(-)
2008-09-14 16:21:07 +00:00
Yann E. MORIN"
7a0e770be1 Remove the now really obsolete Linux kernel headers copy and sanitised.
Remove orphanned Linux kernel patchsets.
Initiate a kernel build scripts directory. Move the Linux kernel build script there.

 /trunk/scripts/build/kernel/linux.sh |  146    11   135     0 +++---------------------------------------
 /trunk/scripts/crosstool.sh          |    2     1     1     0
 /trunk/steps.mk                      |    1     0     1     0 -
 /trunk/config/kernel/linux.in        |   49     0    49     0 --------------
 /trunk/config/kernel.in              |    4     4     0     0 +
 5 files changed, 16 insertions(+), 186 deletions(-)
2008-09-10 21:40:23 +00:00
Yann E. MORIN"
2237fab536 Moving around the files in config/ broke the tools/addToolVersion.sh script.
Fix that.

 /trunk/tools/addToolVersion.sh |   26    13    13     0 +++++++++++++-------------
 /trunk/config/kernel/linux.in  |    6     3     3     0 +++---
 /trunk/config/kernel.in        |    2     1     1     0 +-
 /trunk/config/cc.in            |    2     1     1     0 +-
 /trunk/config/libc.in          |    4     2     2     0 ++--
 5 files changed, 20 insertions(+), 20 deletions(-)
2008-04-17 21:04:23 +00:00
Yann E. MORIN"
dd862bd7a4 Move config files around, and clean up the mess in the config/ directory.
config/kernel/kernel_linux.in            |   12     6     6     0 +-
 config/paths.in                          |   89     0    89     0 ----------------
 config/kernel_linux_headers_install.in   |  168     0   168     0 ------------------------------
 config/kernel.in                         |    2     1     1     0
 config/kernel_linux_headers_copy.in      |   42     0    42     0 --------
 config/cc.in                             |    2     1     1     0
 config/logging.in                        |  110     0   110     0 --------------------
 config/build-behave.in                   |   45     0    45     0 --------
 config/libc_uClibc.in                    |  101     0   101     0 ------------------
 config/kernel_linux_headers_sanitised.in |   62     0    62     0 -----------
 config/ct-behave.in                      |   82     0    82     0 ---------------
 config/kernel_linux.in                   |  134     0   134     0 ------------------------
 config/global.in                         |   10     5     5     0 +-
 config/download_extract.in               |  171     0   171     0 -------------------------------
 config/cc_gcc.in                         |  130     0   130     0 ------------------------
 config/libc_glibc.in                     |  124     0   124     0 ----------------------
 config/libc.in                           |    4     2     2     0
 17 files changed, 15 insertions(+), 1273 deletions(-)
2008-04-17 20:26:25 +00:00
Yann E. MORIN"
4ef6286f11 Remove dead entries for components not yet integrated: cygwin kernel, tcc...
Some fixups in config entries, to avoid warnings when parsed by the kconfig parser.
2007-05-13 21:11:27 +00:00
Yann E. MORIN"
96d28dc7d3 Introduce an OBSOLETE config option, to mask-out legacy stuff. 2007-05-06 13:42:10 +00:00
Yann E. MORIN"
5f1a6f35e0 Change suggested by Robert P. J. DAY <rpjday@mindspring.com> to rename the "Kernel to use" prompt with "Target OS". 2007-04-11 17:43:38 +00:00
Yann E. MORIN"
1906cf93f8 Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
2007-02-24 11:00:05 +00:00