Linux Kernel configuration tool Kconfig under Windows
Veröffentlicht: | Weitere Einträge über linux kernel windows nuttx
Recently we started using the Linux Kernel configuration tools for some of our more extensive software projects. Also the NuttX project makes use of these tools and is still missing a port for a more complete native windows support. Theses tools basically provide a sophisticated DSL for describing configuration options plus several different frontends for selecting / and editing software configurations.
Installing Dependencies
The NuttX README suggests some tools to be used for the Native Windows Build so we'll use that for our setup too.
- GnuWin32 provides standard UNIX tools ported to Windows
- MinGW as host compiler
- Git GitHub's Windows Git shell
- CMake to generate Makefiles
GnuWin32
Download the current GnuWin32 installer from sourceforge: GetGnuWin32-x.x.x.exe
The installer will only install a download utility which in turn will download and install the actual packages. After installing the installer navigate to the installation directory and execute the download.bat script. This script will download all packages. To install them run the install.bat script. We will install to c:\gnuwin32.
MinGW
Download the current MinGW installer from sourceforge: mingw-get-setup.exe
The installer will install and launch the MinGW Installation Magager. Now you can select the packages you like to install.
Don't select any MSYS packages because it may conflict with the GnuWin32 tools.
Select the following packages for installation:
- mingw32-base
- mingw32-gcc-g++
Install the selected packages from the Installation => Apply Changes Menu.
Add c:\MinGW\bin to the Path environment variable.
Git
Download the current GitHub Gitshell installer from GitHub: GitHubSetup.exe
This package contains a Git bash for easy Git usage under windows. We will use it to obtain the NuttX source code from the repository.
CMake
Download the current CMake installer: cmake-x.x.x.x-win32-x86.exe
CMake is a software to generate Makefiles and other build environments from a simple DSL. We will use CMake to avoid messing around with autotools on windows.
The Port
The port was actually pretty easy. What has been done?
- Added CMake files
- Added PDCurses to the package. Some minor changes have been applied to the code so it couldn't be linked to the standard code base. Essentially it now returns Curses' KEY_BACKSPACE instead of some windows specific constant. Now the text input dialogs work properly.
- Removed check for escape sequences on ESC key (Seems to be handled differently in PDCurses)
- Using the correct signatures for file handling procedures like mkdir
- Don't use uname on Windows
Building mconf
Building the tools should now work:
git clone http://github.com/uvc-ingenieure/kconfig-frontends cd kconfig-frontends mkdir build cd build cmake -G "MinGW Makefiles" .. make cp ./bin/kconfig-mconf.exe c:/GnuWin32/bin/