# BinaryBuilderBase.GitSource how to recurse submodules?

**URL:** <https://discourse.julialang.org/t/binarybuilderbase-gitsource-how-to-recurse-submodules/109626>\
**Category:** Package Management\
**Tags:** question, binarybuilder\
**Created:** [February 2, 2024, 3:08pm UTC](https://discourse.julialang.org/t/binarybuilderbase-gitsource-how-to-recurse-submodules/109626 "2024-02-02T15:08:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![PaulVirally](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/paulvirally/32/29911_2.png) [@PaulVirally](https://discourse.julialang.org/u/PaulVirally)\
**Post date:** [February 2, 2024, 3:08pm UTC](https://discourse.julialang.org/t/binarybuilderbase-gitsource-how-to-recurse-submodules/109626/1 "2024-02-02T15:08:33Z")

</div>

In my `build_tarballs.jl`, I have a [`GitSource`](https://github.com/PaulVirally/VkFFTCUDALib) that has submodules. Looking at the [source code for BinaryBuilderBase.GitSource’s setup](https://github.com/JuliaPackaging/BinaryBuilderBase.jl/blob/a4ef056f979007f806ff3980dc6e592f9dd4dd1b/src/Prefix.jl#L290C1-L292C8), there doesn’t seem to be a way currently to for the clone to pass `--recurse-submodules`. Is this functionality available in BinaryBuilderBase, or should I change my original repo to not use submodules?

---

<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:** [February 2, 2024, 3:10pm UTC](https://discourse.julialang.org/t/binarybuilderbase-gitsource-how-to-recurse-submodules/109626/2 "2024-02-02T15:10:39Z")

</div>

Run the `git submodule` command manually in the build script:

> <https://github.com/JuliaPackaging/Yggdrasil/blob/8bd138b9e3c8122105a865bf94926834dc6b37a9/J/jq/build_tarballs.jl#L16>

We are limited by what the [LibGit2](https://docs.julialang.org/en/v1/stdlib/LibGit2/) standard library can do, which doesn’t include submodule management.
