Linux Documentation
 help / color / mirror / Atom feed
* [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang`
@ 2023-01-09 20:45 Miguel Ojeda
  2023-01-09 20:54 ` Nick Desaulniers
  2023-01-09 21:06 ` Miguel Ojeda
  0 siblings, 2 replies; 7+ messages in thread
From: Miguel Ojeda @ 2023-01-09 20:45 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: linux-kbuild, Nathan Chancellor, Nick Desaulniers, Nicolas Schier,
	rust-for-linux, linux-kernel, patches, Miguel Ojeda, Alex Gaynor,
	Wedson Almeida Filho, Boqun Feng, Gary Guo, Björn Roy Baron,
	Jonathan Corbet, linux-doc

Sometimes users need to tweak the finding process of `libclang`
for `bindgen` via the `clang-sys`-provided environment variables.

Thus add a paragraph to the setting up guide, including a reference
to `clang-sys`'s relevant documentation.

Link: https://lore.kernel.org/rust-for-linux/CAKwvOdm5JT4wbdQQYuW+RT07rCi6whGBM2iUAyg8A1CmLXG6Nw@mail.gmail.com/
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
 Documentation/rust/quick-start.rst | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/Documentation/rust/quick-start.rst b/Documentation/rust/quick-start.rst
index 13b7744b1e27..cae21ea7de41 100644
--- a/Documentation/rust/quick-start.rst
+++ b/Documentation/rust/quick-start.rst
@@ -100,6 +100,23 @@ Install it via (note that this will download and build the tool from source)::
 
 	cargo install --locked --version $(scripts/min-tool-version.sh bindgen) bindgen
 
+``bindgen`` needs to find a suitable ``libclang`` in order to work. If it is
+not found (or a different ``libclang`` than the one found should be used),
+the process can be tweaked using the environment variables understood by
+``clang-sys`` (the Rust bindings crate that ``bindgen`` uses to access
+``libclang``):
+
+* ``LLVM_CONFIG_PATH`` can be pointed to an ``llvm-config`` executable.
+
+* Or ``LIBCLANG_PATH`` can be pointed to a ``libclang`` shared library
+  or to the directoy containing it.
+
+* Or ``CLANG_PATH`` can be pointed to a ``clang`` executable.
+
+For details, please see ``clang-sys``'s documentation at:
+
+	https://github.com/KyleMayes/clang-sys#environment-variables
+
 
 Requirements: Developing
 ------------------------
-- 
2.39.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang`
  2023-01-09 20:45 [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang` Miguel Ojeda
@ 2023-01-09 20:54 ` Nick Desaulniers
  2023-01-09 21:05   ` Miguel Ojeda
  2023-01-09 21:06 ` Miguel Ojeda
  1 sibling, 1 reply; 7+ messages in thread
From: Nick Desaulniers @ 2023-01-09 20:54 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Masahiro Yamada, linux-kbuild, Nathan Chancellor, Nicolas Schier,
	rust-for-linux, linux-kernel, patches, Alex Gaynor,
	Wedson Almeida Filho, Boqun Feng, Gary Guo, Björn Roy Baron,
	Jonathan Corbet, linux-doc

On Mon, Jan 9, 2023 at 12:45 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> Sometimes users need to tweak the finding process of `libclang`
> for `bindgen` via the `clang-sys`-provided environment variables.
>
> Thus add a paragraph to the setting up guide, including a reference
> to `clang-sys`'s relevant documentation.
>
> Link: https://lore.kernel.org/rust-for-linux/CAKwvOdm5JT4wbdQQYuW+RT07rCi6whGBM2iUAyg8A1CmLXG6Nw@mail.gmail.com/
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>

This is super helpful for me, since I build clang from source and
would like to use my libclang.so! Thanks for this documentation
Miguel!
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

> ---
>  Documentation/rust/quick-start.rst | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/Documentation/rust/quick-start.rst b/Documentation/rust/quick-start.rst
> index 13b7744b1e27..cae21ea7de41 100644
> --- a/Documentation/rust/quick-start.rst
> +++ b/Documentation/rust/quick-start.rst
> @@ -100,6 +100,23 @@ Install it via (note that this will download and build the tool from source)::
>
>         cargo install --locked --version $(scripts/min-tool-version.sh bindgen) bindgen
>
> +``bindgen`` needs to find a suitable ``libclang`` in order to work. If it is
> +not found (or a different ``libclang`` than the one found should be used),
> +the process can be tweaked using the environment variables understood by
> +``clang-sys`` (the Rust bindings crate that ``bindgen`` uses to access
> +``libclang``):
> +
> +* ``LLVM_CONFIG_PATH`` can be pointed to an ``llvm-config`` executable.
> +
> +* Or ``LIBCLANG_PATH`` can be pointed to a ``libclang`` shared library
> +  or to the directoy containing it.
> +
> +* Or ``CLANG_PATH`` can be pointed to a ``clang`` executable.
> +
> +For details, please see ``clang-sys``'s documentation at:
> +
> +       https://github.com/KyleMayes/clang-sys#environment-variables
> +
>
>  Requirements: Developing
>  ------------------------
> --
> 2.39.0
>


-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang`
  2023-01-09 20:54 ` Nick Desaulniers
@ 2023-01-09 21:05   ` Miguel Ojeda
  0 siblings, 0 replies; 7+ messages in thread
From: Miguel Ojeda @ 2023-01-09 21:05 UTC (permalink / raw)
  To: Nick Desaulniers
  Cc: Miguel Ojeda, Masahiro Yamada, linux-kbuild, Nathan Chancellor,
	Nicolas Schier, rust-for-linux, linux-kernel, patches,
	Alex Gaynor, Wedson Almeida Filho, Boqun Feng, Gary Guo,
	Björn Roy Baron, Jonathan Corbet, linux-doc

On Mon, Jan 9, 2023 at 9:54 PM Nick Desaulniers <ndesaulniers@google.com> wrote:
>
> This is super helpful for me, since I build clang from source and
> would like to use my libclang.so! Thanks for this documentation
> Miguel!
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

Thanks for the quick review Nick!

By the way, I didn't add your Reported-by here because apparently it
is only intended for bug fixes and not features.

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang`
  2023-01-09 20:45 [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang` Miguel Ojeda
  2023-01-09 20:54 ` Nick Desaulniers
@ 2023-01-09 21:06 ` Miguel Ojeda
  2023-01-12  6:04   ` Masahiro Yamada
  1 sibling, 1 reply; 7+ messages in thread
From: Miguel Ojeda @ 2023-01-09 21:06 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Masahiro Yamada, linux-kbuild, Nathan Chancellor,
	Nick Desaulniers, Nicolas Schier, rust-for-linux, linux-kernel,
	patches, Alex Gaynor, Wedson Almeida Filho, Boqun Feng, Gary Guo,
	Björn Roy Baron, Jonathan Corbet, linux-doc

On Mon, Jan 9, 2023 at 9:45 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> +* Or ``LIBCLANG_PATH`` can be pointed to a ``libclang`` shared library
> +  or to the directoy containing it.

I just noticed the typo here, sorry: directoy -> directory

Masahiro: if you take them, please feel free to correct it.

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang`
  2023-01-09 21:06 ` Miguel Ojeda
@ 2023-01-12  6:04   ` Masahiro Yamada
  2023-01-13 23:13     ` Miguel Ojeda
  0 siblings, 1 reply; 7+ messages in thread
From: Masahiro Yamada @ 2023-01-12  6:04 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Miguel Ojeda, linux-kbuild, Nathan Chancellor, Nick Desaulniers,
	Nicolas Schier, rust-for-linux, linux-kernel, patches,
	Alex Gaynor, Wedson Almeida Filho, Boqun Feng, Gary Guo,
	Björn Roy Baron, Jonathan Corbet, linux-doc

On Tue, Jan 10, 2023 at 6:06 AM Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Mon, Jan 9, 2023 at 9:45 PM Miguel Ojeda <ojeda@kernel.org> wrote:
> >
> > +* Or ``LIBCLANG_PATH`` can be pointed to a ``libclang`` shared library
> > +  or to the directoy containing it.
>
> I just noticed the typo here, sorry: directoy -> directory
>
> Masahiro: if you take them, please feel free to correct it.


Yes, I can take this, but the doc change
is independent of the rest, and will not conflict with
any Kbuild changes.

So, you can apply this one to your tree.





>
> Cheers,
> Miguel



--
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang`
  2023-01-12  6:04   ` Masahiro Yamada
@ 2023-01-13 23:13     ` Miguel Ojeda
  2023-01-15  2:59       ` Masahiro Yamada
  0 siblings, 1 reply; 7+ messages in thread
From: Miguel Ojeda @ 2023-01-13 23:13 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Miguel Ojeda, linux-kbuild, Nathan Chancellor, Nick Desaulniers,
	Nicolas Schier, rust-for-linux, linux-kernel, patches,
	Alex Gaynor, Wedson Almeida Filho, Boqun Feng, Gary Guo,
	Björn Roy Baron, Jonathan Corbet, linux-doc

On Thu, Jan 12, 2023 at 7:05 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Yes, I can take this, but the doc change
> is independent of the rest, and will not conflict with
> any Kbuild changes.
>
> So, you can apply this one to your tree.

The doc change is not fully independent: this patch is first because
the next commit uses the fact that the documentation is written (to
point the user to it), and the commit message mentions this.

Not a big deal, but it would look better if all are in at once.

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang`
  2023-01-13 23:13     ` Miguel Ojeda
@ 2023-01-15  2:59       ` Masahiro Yamada
  0 siblings, 0 replies; 7+ messages in thread
From: Masahiro Yamada @ 2023-01-15  2:59 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Miguel Ojeda, linux-kbuild, Nathan Chancellor, Nick Desaulniers,
	Nicolas Schier, rust-for-linux, linux-kernel, patches,
	Alex Gaynor, Wedson Almeida Filho, Boqun Feng, Gary Guo,
	Björn Roy Baron, Jonathan Corbet, linux-doc

On Sat, Jan 14, 2023 at 8:13 AM Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Thu, Jan 12, 2023 at 7:05 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> > Yes, I can take this, but the doc change
> > is independent of the rest, and will not conflict with
> > any Kbuild changes.
> >
> > So, you can apply this one to your tree.
>
> The doc change is not fully independent: this patch is first because
> the next commit uses the fact that the documentation is written (to
> point the user to it), and the commit message mentions this.
>
> Not a big deal, but it would look better if all are in at once.
>
> Cheers,
> Miguel


Now I think it is better to ask you to pick up my patch [1]
and apply all of this patch set in your tree
since you are adding bigger changes.




[1]: https://patchwork.kernel.org/project/linux-kbuild/patch/20230109061436.3146442-1-masahiroy@kernel.org/






-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-01-15  3:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-09 20:45 [PATCH 1/6] docs: rust: add paragraph about finding a suitable `libclang` Miguel Ojeda
2023-01-09 20:54 ` Nick Desaulniers
2023-01-09 21:05   ` Miguel Ojeda
2023-01-09 21:06 ` Miguel Ojeda
2023-01-12  6:04   ` Masahiro Yamada
2023-01-13 23:13     ` Miguel Ojeda
2023-01-15  2:59       ` Masahiro Yamada

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox