Overview
Thereconfigure.sh script launches an interactive menu-based interface for selecting which build steps to execute. It uses the kconfig-mconf tool to provide a terminal UI similar to Linux kernel configuration.
Usage
Script Contents
reconfigure.sh:1-8
How It Works
1. Set Configuration Prefix
kconfig-mconf to prefix all configuration variables with STEP_. For example, a menu option DOWNLOAD_SOURCES_DCMTK becomes STEP_DOWNLOAD_SOURCES_DCMTK in the output file.
2. Set Configuration File
steps.conf.
3. Launch Menu Interface
Kconfig-miele.
Interactive Menu
When you runreconfigure.sh, you’ll see a terminal-based menu interface:
Menu Navigation
Keyboard Controls
| Key | Action |
|---|---|
↑ / ↓ | Navigate menu items |
Enter | Select item / Enter submenu |
Space | Toggle checkbox |
Y | Select (enable) current option |
N | Deselect (disable) current option |
? | Show help |
/ | Search for option |
Esc | Go back / Exit |
Tab | Move between menu and buttons |
Selection States
[ ]- Option is disabled (will not run)[*]- Option is enabled (will run)< >- Choice (only one can be selected)<*>- Selected choice
Configuration Output
The menu selections are saved tosteps.conf in the following format:
Variable Format
- Enabled option:
STEP_<OPTION>=y - Disabled option:
# STEP_<OPTION> is not set - String value:
STEP_<OPTION>="value"
Menu Structure
The menu is organized into major phases:1. Download Sources
Controls which packages to download:2. Show Version Information
Controls which packages to show version info for:3. Configure
Controls which packages to configure:4. Build
Controls which packages to build and install:5. Install
Controls post-build installation steps:6. Symbolic Links
Controls creation of symbolic links in the application’s Binaries directory:Common Workflows
First Time Build
Enable all options:- Run
./reconfigure.sh - Enable
[*] Download sources - Enable
[*] Configure - Enable
[*] Build - Enable
[*] Install - Enable
[*] Create Symbolic links - Select
< Exit >and save
Rebuild Single Package
To rebuild just DCMTK:- Run
./reconfigure.sh - Disable
[ ] Download sources - Disable
[ ] Configure(if already configured) - Enable
[*] Build - Enter Build submenu
- Disable all except
[*] Build DCMTK - Enable
[*] Install - Enter Install submenu
- Enable
[*] Install DCMTK - Select
< Exit >and save
Clean Rebuild
To start fresh:- Delete build directories manually
- Run
./reconfigure.sh - Enable Configure and Build for needed packages
- Select
< Exit >and save
Update Dependencies Only
- Run
./reconfigure.sh - Enable
[*] Download sources - Disable
[ ] Build - Disable
[ ] Install - Select
< Exit >and save
Dependencies
Some options depend on others. For example:- “patch DCMTK” is only available if “DCMTK” download is enabled
- “Single VTK library” requires “Build VTK” to be enabled
- “Post-Processing installed DCMTK” requires “Install DCMTK” to be enabled
Configuration File Format
The generatedsteps.conf is a simple shell script that can be sourced by build.sh. It contains:
Modifying Configuration Files
Whilesteps.conf includes a “DO NOT EDIT” warning, you can:
- Use the menu (recommended): Run
./reconfigure.sh - Edit manually (advanced): Modify
steps.confdirectly- Set
STEP_<OPTION>=yto enable - Set
# STEP_<OPTION> is not setto disable - Or simply delete the line to disable
- Set
reconfigure.sh again.
Kconfig Structure
The menu structure is defined inKconfig-miele. See Kconfig Configuration for details on the configuration language and structure.
See Also
- build.sh Reference - Main build script
- Kconfig Configuration - Configuration structure
- seed.conf Reference - Directory and generator settings