36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
# Source Stack Build Environments
|
|
|
|
Debian 13, Rocky Linux 9, and Alpine Linux container build environments with a C/C++ toolchain, CMake, and Git preinstalled, compatible with both Docker and Podman. The Alpine image builds the stack against musl libc. GitHub HTTPS URLs are routed through `wangguofang.net`. For the libraries included in the images, their pinned versions, and build details, see [INCLUDED_LIBRARIES.md](INCLUDED_LIBRARIES.md).
|
|
|
|
## Build
|
|
|
|
Each build script automatically selects Docker or Podman:
|
|
|
|
```sh
|
|
./build-all.sh
|
|
./debian13/build.sh
|
|
./rocky9/build.sh
|
|
./alpine3.24/build.sh
|
|
```
|
|
|
|
Use environment variables to select the container engine or override image names:
|
|
|
|
```sh
|
|
CONTAINER_ENGINE=podman IMAGE_NAME=my-build-env ./rocky9/build.sh
|
|
```
|
|
|
|
The Debian 13 and Rocky Linux 9 images install every library under `/usr/local` by default. Set `PREFIX` to install them elsewhere; the build environment variables (`PATH`, `PKG_CONFIG_PATH`, `CMAKE_PREFIX_PATH`, `CMAKE_INSTALL_PREFIX`, and so on) follow it. The Alpine image does not support `PREFIX`.
|
|
|
|
```sh
|
|
PREFIX=/opt/stack ./debian13/build.sh
|
|
PREFIX=/opt/stack ./rocky9/build.sh
|
|
```
|
|
|
|
## Run
|
|
|
|
```sh
|
|
docker run --rm -it debian13-source-stack
|
|
docker run --rm -it rocky9-source-stack
|
|
docker run --rm -it alpine3.24-source-stack
|
|
```
|