To generate the bindings locally execute the following commands in a terminal. Make sure to initialise submodules with --recursive
otherwise the gir-files
directory will not be loaded properly.
$ git clone --recursive https://github.com/gircore/gir.core.git
$ cd gir.core/src
$ dotnet fsi GenerateLibs.fsx
$ dotnet build GirCore.Libs.slnf
If you want to clean the Libs folder of all generated files run:
$ dotnet fsi CleanLibs.fsx
The project includes a C library (GirTest) which is used for testing the generator.
This requires some additional dependencies:
- C compiler
- meson
gobject-introspection
(for Ubuntu, thelibgirepository1.0-dev
package is required)
To compile the GirTest
native library, run:
$ dotnet fsi GenerateGirTestLib.fsx
Then, to include the GirTest
library when generating the bindings, run:
$ dotnet fsi GenerateLibs.fsx GirTest-0.1.gir
To compile all the generated bindings, including GirTest
, run:
$ dotnet build
The GirCore.sln
solution contains all libraries, including GirTest
.
The GirCore.Libs.slnf
solution filter excludes the GirTest
library's bindings and its unit tests, which can be useful if you have not built the native library.