# BinaryBuilder: generating \`\*\_jll.jl\` package without recompiling the binary

**URL:** <https://discourse.julialang.org/t/binarybuilder-generating-jll-jl-package-without-recompiling-the-binary/68966>\
**Category:** Tooling\
**Tags:** binarybuilder\
**Created:** [September 29, 2021, 10:06pm UTC](https://discourse.julialang.org/t/binarybuilder-generating-jll-jl-package-without-recompiling-the-binary/68966 "2021-09-29T22:06:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![circonflexe](https://avatars.discourse-cdn.com/v4/letter/c/c57346/32.png) [@circonflexe](https://discourse.julialang.org/u/circonflexe)\
**Post date:** [September 29, 2021, 10:06pm UTC](https://discourse.julialang.org/t/binarybuilder-generating-jll-jl-package-without-recompiling-the-binary/68966/1 "2021-09-29T22:06:29Z")

</div>

So I am compiling a huge library inside `BinaryBuilder`. After some tweaking, the compilation went right. Now I want to generate the `.jl` package (for local use). I know that `julia build_tarballs.jl --deploy-jll=local` will do this; however, it will also recompile the library, which is extremely long in my case.

Hence the question: is there a way to tell `BinaryBuilder` to just generate the Julia files, assuming (which is the case now) that all the compiled files are present? (or, even better, after performing the product audit to actually check that everything is indeed there).

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [October 11, 2021, 8:04pm UTC](https://discourse.julialang.org/t/binarybuilder-generating-jll-jl-package-without-recompiling-the-binary/68966/2 "2021-10-11T20:04:41Z")

</div>

I hope this isn’t too late. There are functions called [`build_jll_package`](https://github.com/JuliaPackaging/BinaryBuilder.jl/blob/6467218420c8f709a1324b42a7c22fcb22e3b0fb/src/AutoBuild.jl#L1091-L1360) and [`rebuild_jll_package`](https://github.com/JuliaPackaging/BinaryBuilder.jl/blob/6467218420c8f709a1324b42a7c22fcb22e3b0fb/src/AutoBuild.jl#L961-L1089). They aren’t documented nor exported because we don’t really want to expose them to the public, API isn’t well defined (and moderately ugly), and they’re used only in limited places. You can see how they’re used in [Yggdrasil](https://github.com/JuliaPackaging/Yggdrasil/blob/7954b778dd5da95f515a56f4cce73c272f7f9767/.ci/register_package.jl#L118).
