diff --git a/misc/tools/README.txt b/misc/tools/README.txt index 9faba836db..fff94cd3f5 100644 --- a/misc/tools/README.txt +++ b/misc/tools/README.txt @@ -2,6 +2,7 @@ misc/tools/README.txt ===================== genromfs-0.5.2.tar.gz +--------------------- This is a snapshot of the genromfs tarball taken from http://sourceforge.net/projects/romfs/. This snapshot is provided to @@ -11,6 +12,7 @@ genromfs-0.5.2.tar.gz from the buildroot. kconfig-frontends +----------------- This is a snapshot of the kconfig-frontends version 3.6.0 tarball taken from http://ymorin.is-a-geek.org/projects/kconfig-frontends. @@ -29,9 +31,10 @@ kconfig-frontends make install kconfig-frontends-3.3.0-1-libintl.patch +--------------------------------------- The above build instructions did not work for me under my Cygwin - installation with kconfig-frontends-4.4.0. This patch is a awful hack + installation with kconfig-frontends-3.3.0. This patch is a awful hack but will successfully build 'mconf' under Cygwin. cat kconfig-frontends-3.3.0-1-libintl.patch | patch -p0 @@ -48,5 +51,56 @@ kconfig-frontends-3.3.0-1-libintl.patch http://ymorin.is-a-geek.org/download/kconfig-frontends/ kconfig-macos.path +------------------ This is a patch to make the kconfig-frontends-3.3.0 build on Mac OS X. + +kconfig-frontends for Windows +============================= + +From http://tech.groups.yahoo.com/group/nuttx/message/2900: + +"The build was quite simple: + +I used mingw installer and I had to install two packages that the +automated mingw setup does not bring by default: + + * mingw-get update + * mingw-get install mingw32-pdcurses mingw32-libpdcurses + * mingw-get install msys-regex msys-libregex + +(grep the output of mingw-get list if I got the names wrong) + +Then I had to change some things in mconf code, it was quite simple to +understand the make errors. + + * The first of them is to disable any use of uname() in symbol.c and + replace the uname output by a constant string value (I used MINGW32-MSYS), + + * The second one is related to the second parameter to mkdir() that has + to disappear for windows (we don't care about folder rights) in confdata.c; + + * And the last one of them involves #undef bool in dialog.h before including + curses.h (CURSES_LOC), around line 30. + +I wrapped all of my changes in #if(n)def __MINGW32__, but that is not +sufficient to make that work everywhere, I think. + +So mconf itself has some portability issues that shall be managed in a +cleaner way, what I did was just hacks, I don't think they are +acceptable by mconf upstream maintainers. + +Here is the magic incantation to get the whole thing working. It seems +that the configure script is not so good and does not bring the required +bits to link libregex. + + CFLAGS="-I/mingw/include -I/usr/include" LDFLAGS="-Bstatic -L/mingw/lib + -L/usr/lib -lregex" ./configure --enable-frontends=mconf --enable-static + --disable-shared + +So the message I want to pass is that native "make menuconfig" in +windows IS POSSIBLE, I have done it in a few minutes." + +"Oops, forgot something, I had to bring a gperf binary from the gnuwin32 project." + +- Sebastien Lorquet diff --git a/nuttx/COPYING b/nuttx/COPYING index 4cf66a5965..b3655265d6 100644 --- a/nuttx/COPYING +++ b/nuttx/COPYING @@ -163,8 +163,8 @@ dtoa(): "This product includes software developed by the University of California, Berkeley and its contributors." -lib/string/lib_vikmemcpy.c -^^^^^^^^^^^^^^^^^^^^^^^^^^ +libc/string/lib_vikmemcpy.c +^^^^^^^^^^^^^^^^^^^^^^^^^^^ If you enable CONFIG_MEMCPY_VIK, then you will build with the optimized version of memcpy from Daniel Vik. Licensing information for that version @@ -192,10 +192,10 @@ lib/string/lib_vikmemcpy.c 3. This notice may not be removed or altered from any source distribution. -lib/math -^^^^^^^^ +libc/math +^^^^^^^^^ - If you enable CONFIG_LIB, you will build the math library at lib/math. + If you enable CONFIG_LIB, you will build the math library at libc/math. This library was taken from the math library developed for the Rhombus OS by Nick Johnson (https://github.com/nickbjohnson4224/rhombus). This port was contributed by Darcy Gong. The Rhombus math library has this diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 247704b7a0..c63dbe62b2 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -3591,3 +3591,7 @@ are also more subject to the "fat, flat line bug" that I need to fix someday. See http://www.nuttx.org/doku.php?id=wiki:graphics:nxgraphics for a description of the fat, flat line bug. + * libc: Renamed nuttx/lib to nuttx/libc to make space for a true lib/ + directory that will be forthcoming. Also rename libraries: liblib.a -> libc.a, + libulib.a -> libuc.a, libklib.a -> libkc.a, liblibxx.a ->libcxx.a. + (I will probably, eventually rename libxx to libcxx for consistency) diff --git a/nuttx/Documentation/NuttXNxFlat.html b/nuttx/Documentation/NuttXNxFlat.html index 2e6d2f59a8..3a2ed80460 100644 --- a/nuttx/Documentation/NuttXNxFlat.html +++ b/nuttx/Documentation/NuttXNxFlat.html @@ -407,7 +407,7 @@ any following arguments. nuttx/syscall/syscall.csv that describes the NuttX RTOS interface, and
  • - nuttx/lib/lib/csv that describes the NuttX C library interface. + nuttx/libc/lib.csv that describes the NuttX C library interface.
  • -

    2.9 nuttx/lib

    +

    2.9 nuttx/libc

    This directory holds a collection of standard libc-like functions with custom interfaces into NuttX.

    - Normally the logic in this file builds to a single library (liblib.a). + Normally the logic in this file builds to a single library (libc.a). However, if NuttX is built as a separately compiled kernel (with CONFIG_NUTTX_KERNEL=y), then the contents of this directory are built as two libraries: - One for use by user programs (libulib.a) and one for use only within the <kernel> space (libklib.a). + One for use by user programs (libuc.a) and one for use only within the <kernel> space (libkc.a).

    These user/kernel space libraries (along with the sycalls of nuttx/syscall) are needed to support the two differing protection domains. @@ -1177,7 +1177,7 @@ include/ Directory structure: