usage: ./build.sh [-a nt32|nt64] [-b debug|release] [-C dir[,..]] [-D kind[,..]]
[-F ipv4|ipv6|offline] [-h] [-P [jobs]] [-r ALL|LAST|name[,..][:step,..]]
[-R] [-v[v[v[v]]]] [--as-needed] [--debug-minipix] [<target>[ ..]]
-a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
-b debug|release Selects debug or release build; defaults to debug.
-C dir[,..] Clean build directory (build,) ${PREFIX} before processing build
scripts (prefix,) source directory (src,) and/or destination directory
(dest) after successful package builds.
-D kind[,..] Produce minimal midipix distribution directory (minipix,) package
tarballs (pkg,) RPM binary packages (rpm,) compressed and optionally
signed binary and source tarballs containing ${PREFIX} sans ${BUILD_WORKDIR}
(t{bz2,gz,xz},) and/or deployable distribution ZIP archive (zipdist.)
{t{bz2,gz,xz},zipdist} imply minipix.
-F ipv4|ipv6|offline
Force IPv4 (ipv4) or IPv6 (ipv6) when downloading package archives
and/or Git repositories or don't download either at all (offline.)
-h Show this screen.
-P [jobs] Enables parallelisation at target-level, whenever applicable.
The maximum count of jobs defaults to the number of logical
processors on the host system.
If -R is not specified and at least one (1) package fails to build,
all remaining package builds will be forcibly aborted for convenience.
-r ALL[:step,..]|LAST|name[,..][:step,..]
Restart all packages/the specified comma-separated package(s)
completely or at optionally specified comma-separated step(s)
or restart the last failed package and resume build.
Currently defined steps are:
fetch_wget, fetch_git, fetch_extract,
configure_patch_pre, configure_autotools, configure_patch,
configure, build, install_subdirs, install_make,
install_files, install_libs, install_pkgconfig, install_purge_la,
install_strip, install, and install_rpm.
-R Ignore build failures, skip printing package logs, and continue
building (relaxed mode.)
-v[v[v[v]]] Be verbose; -vv: always print package logs; -vvv: set xtrace during package builds; -vvvv: logs fileops.
--as-needed Don't build unless the midipix_build repository has received new commits.
--debug-minipix Don't strip(1) minipix binaries to facilitate debugging minipix.
<target>[ ..] One of: host_packages_deps, host_toolchain, host_toolchain_deps, host_toolchain_mingw32,
host_tools, host_tools_deps, host_tools_rpm, minipix, native_packages, native_packages_deps,
native_packages_deps_x11, native_runtime, native_toolchain, native_toolchain_deps,
native_toolchain_mingw32, and/or native_tools.
${HOME}/midipix_build.vars, ${HOME}/.midipix_build.vars, and/or ../midipix_build.vars will be sourced if present.
Examples:
./build.sh -r coreutils
Completely restart the coreutils build.
./build.sh -r coreutils:configure,build,install
Restart the configure, build, and install steps of the coreutils build.
./build.sh -C prefix -r ALL DEFAULT_GITROOT_HEAD=...
Clean ${PREFIX} and forcibly rebuild everything.