tree c2775e75c393aab280598bb763db52d4859ccc3d
parent 62b48c56703eb5f734b9a333b1ae2be10ffa303e
author Christian Poveda Ruiz <31802960+pvdrz@users.noreply.github.com> 1675782828 -0500
committer GitHub <noreply@github.com> 1675782828 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJj4mqsCRBK7hj4Ov3rIwAAXVwIABSsUfU1sZQswitpznfLrqgi
 b4S3oNklUxD3YGLJUpzgx2r00zUuOb1MN8XMnos5W48nP607IVd4sxOGp4JNdlao
 gLPUTtC9DVCVYlr54bjREeAZtm2F6fN/8Uo5u8U6amc0DqzxHn2DdtLXgv4w3DqB
 uEAwUZZrSBSCe02vBlg7xkBOYpnTgmQ0OTwtzXi5Y2quCuqZSMvdVdnmgl3TrPZJ
 KxdXd/ZRLFSUEyeoEeNQqNiY8S0XU7ieTdoBy/t/ohAD975PwT+5aUIH/2w+PzFV
 mDTGRHK2K3e8IdFpn6u2QRo/yECM9loZLwGS/u9F/DRZv8aRjeW3Od1yOpvJZ44=
 =dGF5
 -----END PGP SIGNATURE-----
 

Generate extern wrappers for inlined functions (#2335)

* Generate extern wrappers for inlined functions

If bindgen finds an inlined function and the
`--generate-extern-functions` options is enabled, then:

- It will generate two new source and header files with external
  functions that wrap the inlined functions.
- Rerun `Bindings::generate` using the new header file to include these
  wrappers in the generated bindings.

The following additional options were added:
- `--extern-function-suffix=<suffix>`: Adds <suffix> to the name of each
  external wrapper function (`__extern` is used by default).
- `--extern-functions-file-name=<name>`: Uses <name> as the file name
  for the header and source files (`extern` is used by default).
- `--extern-function-directory=<dir>`: Creates the source and header
  files inside <dir> (`/tmp/bindgen` is used by default).

The C code serialization is experimental and only supports a very
limited set of C functions.

Fixes #1090.

---------

Co-authored-by: Amanjeev Sethi <aj@amanjeev.com>