sip-build(1)

πŸ“¦
version 6.16.1 Β· 3 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– 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 is M.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 6 just grabs the freshest 6.x for you ✨
  • --api-dir DIR β€” a QScintilla .api file gets created in DIR. that's the whole job πŸ“
  • --build-dir DIR β€” DIR is 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 is build πŸ—οΈ
  • --concatenate N β€” the generated code gets split into N files. by default, one file is generated for each C structure or C++ class. specifying a low value of N can significantly speed up the build of large projects. so yes, fewer files = faster build, go off πŸ”₯
  • --disable NAME β€” the NAME bindings 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 β€” the TAG feature tag is disabled. this option may be specified multiple times 🚫
  • --enable NAME β€” the NAME bindings 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 the protected keyword is redefined as public during compilation. this can result in a significant reduction in the size of a generated Python module. this option enables the redefinition of protected, and is the default on all platforms except Windows πŸ‘‘
  • --no-protected-is-public β€” this option disables the redefinition of protected to access protected C++ functions from Python, and is the default on Windows πŸͺŸ
  • --scripts-dir DIR β€” any project scripts will eventually be installed in DIR. if DIR is 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 in DIR. by default it is the site-packages directory 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