Blob Blame History Raw
usage: ./build.sh [-4|6] [-a nt32|nt64] [-b debug|release]
                  [-c] [-C dir[,..]] [-h] [-N] [-P [jobs]]
                  [-r ALL[:step,..]] [-r name[,..][:step,..]]
                  [-R] [-t[.gz|.bz2|.xz] [-v[v[v]]] [-x]
                  [--as-needed] [--debug-minipix] [--rpm] [<target>[ ..]]
        -4|-6                   Force IPv[46] when downloading files.
        -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                      Clean ${PREFIX} before processing build scripts.
        -C dir[,..]             Clean build directory (build,) source directory (src,) and/or
                                destination directory (dest) after successful package builds;
                                excludes -t, but may be passed alongside -p.
        -h                      Show this screen.
        -N                      Offline mode: no {wget,git-{clone,pull}}(1) calls.
        -p                      Create package tarballs; excludes -t.
        -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,..]
        -r name[,..][:step,..]  Restart the all packages/the specified comma-separated package(s)
                                completely or at optionally specified comma-separated step(s).
                                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.)
        -t[.gz|.bz2|.xz]        Produce binary distribution and source tarballs containing
                                ${PREFIX} sans ${BUILD_WORKDIR} and ${PREFIX}/src/midipix_build
                                and ${BUILD_WORKDIR} sans top-level regular files at the end of
                                a build with zero failures. The tarballs will be compressed
                                with either gzip, bzip2, or xz and signed with GPG; the
                                default compression is xz.
        -v[v[v]]                Be verbose; -vv: always print package logs; -vvv: logs fileops.
        -x                      Set xtrace during package builds; implies -vv.
        --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.
        --rpm                   Build RPM packages for each package built; selects host_tools_rpm.
        <target>[ ..]           One of:
                                host or host_tools, host_tools_deps, host_tools_rpm, host_toolchain_deps, host_toolchain, host_toolchain_mingw32,
                                native or native_tools, native_toolchain_deps, native_toolchain, native_toolchain_mingw32, native_runtime,
                                packages_deps or host_packages_deps, native_packages_deps, native_packages_deps_x11,
                                packages or native_packages, or dist.

        ${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 -r psxscl DEFAULT_GITROOT_HEAD=... PKG_PSXSCL_CFLAGS_CONFIGURE_EXTRA=-DPSX_EXTENDED_STRACE
        Build psxscl from the internal repository with strace enabled.

        ./build.sh -c -r ALL DEFAULT_GITROOT_HEAD=...
        Clean ${PREFIX} and forcibly rebuild everything.