Commit 100ea265 authored by Mario Limonciello's avatar Mario Limonciello
Browse files

Add build directions to (#120)

parent 63687ad1
......@@ -5,6 +5,42 @@ This project aims to make updating firmware on Linux automatic, safe and reliabl
Additional information is available at the website:
## Compiling
fwupd uses the [Meson build system]( for compilation.
All building is done in a temporary directory, and autotools is not required.
### Create the build directory
`# mkdir -p build; pushd build`
### Generate the build script
This is done relative to the location of ``. Any missing dependencies will be mentioned while running `meson`.
By default meson places `/etc` and `/var` under the prefix, which works incorrectly with fwupd.
Unless you have a version of meson with the fix for you will need to
You will need to build setting *sysconfdir* and *localstatedir* manually.
`# meson --sysconfdir-/etc --localstatedir=/var ..`
The default compilation options are documented in `meson_options.txt` in the root of the build tree.
If you would like to override any option. you can do so when generating the build rules.
For example to disable the *DELL* plugin you would run meson like this:
`# meson --sysconfdir-/etc --localstatedir=/var -Denable-dell=false ..`
### Compile using ninja
Compilation is executed by one command:
`# ninja `
#### Common problems
While compiling policykit policy: `/home/user/jhbuild/install/bin/msgfmt: cannot locate ITS rules for`
* This is caused by an older version of polkit (0.113 or older). Some distros have patched polkit 0.113 to contain ITS rules. See for the most up to date information
### Install using `ninja`
`# sudo ninja install`
Adding a new plugin
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment