A native Windows GUI application (libui-ng) for managing and installing libraries into a w64devkit environment.
- Browse 20+ libraries (zlib, SDL2, curl, freetype, opus, etc.)
- Automatic dependency resolution and topological install order
- Installs to a user-specified prefix (default:
C:/w64devkit) - Tracks installed libraries per prefix in
res/installed.ini - Streaming output display during script execution
Requires w64devkit (MinGW-w64 + make).
make -j4 # Release build (stripped)
make -j4 config=Debug # Debug build (-g, -DDEBUG, no strip)
gdb -x gdb_watch.cmd w64devkit-tools-debug.exeThis compiles the libui-ng bundled library and links the executable.
./w64devkit-tools.exe- Select the libraries to install via the checkboxes
- Optionally change the install prefix
- Click Install Selected
- Output appears in real-time as each install script runs
Create scripts/install_<name>.sh with these metadata headers:
#!/bin/bash
#deps: <dependency names, space or comma separated>
#desc: Short description
#version: x.y.z
#name: Display NameThen source the shared preamble and call the skip check:
source "$(dirname "$0")/common.sh"
skip_if_installed "<pkgconfig_name>" "$INSTALL_PREFIX/lib/lib<name>.a" "<display_name>"The script receives two arguments: the install prefix ($1) and a force-update flag ($2, "true" or "false"). These are parsed by common.sh into $INSTALL_PREFIX and $FORCE_UPDATE. Exit 0 on success.
├── main.cpp — GUI application
├── Makefile — Build system
├── libui-ng/ — Bundled libui-ng source
├── scripts/ — Per-library install shell scripts
│ └── common.sh — Shared preamble (sourced by all install scripts)
├── res/ — Resources (icon, manifest, rc, installed.ini)