Overview
Theseed.sh script is the initial setup script that runs before build.sh and reconfigure.sh. It creates the seed.conf configuration file by launching an interactive menu to set up the basic directory structure and version set selection.
Usage
build.sh if seed.conf doesn’t exist yet.
Script Contents
seed.sh:1-23
How It Works
1. Setup Patch Symlinks
2. Set Configuration Prefix
CONFIG_, so menu options like VERSION_SET become CONFIG_VERSION_SET in the output file.
3. Set Configuration File
seed.conf in the project root.
4. Launch Interactive Menu
Kconfig-seed.
Interactive Menu
When you runseed.sh (or when build.sh runs it automatically), you’ll see:
Configuration Options
The menu allows you to configure:Select which version set file to use (7.1.38, 7.3.46, or 8.8). This determines the library versions that will be built.
Where source code will be downloaded (SRC directory)
Where intermediate build files will be stored (BLD directory)
Where compiled libraries will be installed (BIN directory)
Choose between Unix Makefiles or Xcode project generation. Most users should select makefiles.
If enabled, non-patched packages are stored in a shared parent directory to avoid re-downloading for multiple projects. Patched packages (DCMTK, OpenJPEG, miele-lxiv) are always stored separately.
Output File
The script createsseed.conf with content like:
The
seed.conf file is read by build.sh to determine directory paths and the version set to use.When Is It Run?
Theseed.sh script runs in these scenarios:
- Explicitly: When you run
./seed.shdirectly - Automatically: When
build.shdetects thatseed.confdoesn’t exist - Reconfiguration: When you need to change directories or version sets
Common Workflows
Initial Setup
Change Version Set
Change Directories
See Also
- seed.conf Reference - Details on the seed.conf file format
- Kconfig Reference - Understanding the Kconfig-seed menu structure
- Directory Structure - How SRC, BLD, and BIN directories are organized
- Version Sets - Available version set options