sip-build(1)
π sip-build β the manual page, but make it slay π
okay so bestie, you found the sip-build page in the General Commands Manual and you're about to have a whole moment. sit down, hydrate, and let's get into it π«Ά
β¨ NAME β¨
sip-build β build the sip project in-situ, no cap π
πΈ SYNOPSIS πΈ
sip-build [options]
that's it. that's the whole vibe. options only, no positional args, she's low maintenance π
π¦ DESCRIPTION π¦
so sip-build builds a project but does not install it. that's the whole personality right there β she builds, she does not install, she leaves. iconic.
this is highkey useful when you're developing a set of bindings, because you're gonna rebuild like a hundred times and you do not want her yeeting things into your install location every single time. build in place, iterate, glow up β¨
π OPTIONS π
every single one, in order, no skipping, because we don't gatekeep here π
-h,--helpβ shows you a help message. when in doubt, ask the girl herself π«Ά-V,--versionβ prints the SIP version number. know your queen's number π--deprecations-are-errorsβ any use of a deprecated feature gets handled as an error instead of a warning. so if you're clinging to old stuff, she will absolutely call it out π--quietβ all progress messages are disabled. silent. mysterious. main character energy π€«--verboseβ verbose progress messages are enabled. she tells you everything, and honestly? we love a communicative queen π£--abi-version M[.N]β sets the version number of the ABI of the sip module to target, which isM.N. by default the latest major version is used. if you don't specify the minor version, then the latest minor version of that major version is used. so--abi-version 6just grabs the freshest6.xfor you β¨--api-dir DIRβ a QScintilla.apifile gets created inDIR. that's the whole job π--build-dir DIRβDIRis created as a build directory, and all generated files land in there. important: the build directory is not removed after the build has been completed β she leaves her stuff behind, respectfully. the default value isbuildποΈ--concatenate Nβ the generated code gets split intoNfiles. by default, one file is generated for each C structure or C++ class. specifying a low value ofNcan significantly speed up the build of large projects. so yes, fewer files = faster build, go off π₯--disable NAMEβ theNAMEbindings are disabled and will not be built. this option may be specified multiple times. it is only available if the project contains multiple sets of bindings π--disabled-feature TAGβ theTAGfeature tag is disabled. this option may be specified multiple times π«--enable NAMEβ theNAMEbindings are enabled and will be built. any associated configuration tests that would normally be run to determine if the bindings should be built are suppressed. this option may be specified multiple times. it is only available if the project contains multiple sets of bindings. she said "I'm building it, don't test me" π--debugβ a build with debugging symbols is performed π--no-compileβ the compilation of the generated code is disabled π--no-docstringsβ the generation of docstrings that describe the signature of all functions, methods and constructors is disabled π--no-version-infoβ no reference to the SIP version number is included in any generated code π--pep484-pyiβ the generation of Python type hints stub files is enabled. these files contain a description of a module's API that is compliant with PEP 484 β¨--protected-is-publicβ SIP can generate code to provide access to protected C++ functions from Python. on non-Windows platforms this code can be avoided if theprotectedkeyword is redefined aspublicduring compilation. this can result in a significant reduction in the size of a generated Python module. this option enables the redefinition ofprotected, and is the default on all platforms except Windows π--no-protected-is-publicβ this option disables the redefinition ofprotectedto access protected C++ functions from Python, and is the default on Windows πͺ--scripts-dir DIRβ any project scripts will eventually be installed inDIR. ifDIRis relative then it is taken as relative to the target directory. by default, the directory containing the Python interpreter is used π--target-dir DIRβ the project will eventually be installed inDIR. by default it is thesite-packagesdirectory of the Python installation π¦--tracingβ debugging statements that trace the execution of the bindings are automatically generated. by default the statements are not generated π
β οΈ friendly reminder bestie: sip-build builds but does not install. if you were waiting for her to drop things in your target dir, she's not doing that. that's a different command, iykyk π
that's the whole page, fr fr. go build something gorgeous β¨
signing off from the sip-build(1) page in the General Commands Manual β mwah, take care of her πππ¦πΈ
π¦ where this page comes from
- debian trixie: sip-tools 6.10.0-2 Β· BSD-2-Clause
- ubuntu questing: sip-tools 6.12.0-1
- ubuntu resolute: sip-tools 6.15.1-1 Β· BSD-2-Clause
- ubuntu stonking: sip-tools 6.16.1-2 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms