mirror of https://github.com/nirenjan/libx52.git
doc: Update INSTALL.md with Meson instructions
This change removes the old autotools based documentation and switches to using Meson exclusively. In addition, the build action will build using meson compile and meson test instead of ninja/ninja test.pull/64/head
parent
842e7e53ed
commit
aa555f5e66
|
|
@ -4,8 +4,8 @@ set -e
|
||||||
|
|
||||||
meson setup -Dprefix=/usr -Dsysconfdir=/etc -Dlocalstatedir=/var -Dnls=enabled build
|
meson setup -Dprefix=/usr -Dsysconfdir=/etc -Dlocalstatedir=/var -Dnls=enabled build
|
||||||
cd build
|
cd build
|
||||||
ninja
|
meson compile
|
||||||
ninja test
|
meson test
|
||||||
meson dist
|
meson dist
|
||||||
|
|
||||||
# Print bugreport output
|
# Print bugreport output
|
||||||
|
|
|
||||||
46
INSTALL.md
46
INSTALL.md
|
|
@ -5,22 +5,18 @@ Build has been tested on the following operating systems (x86-64 only):
|
||||||
|
|
||||||
* Ubuntu 22.04 LTS
|
* Ubuntu 22.04 LTS
|
||||||
* Ubuntu 24.04 LTS
|
* Ubuntu 24.04 LTS
|
||||||
* macOS Big Sur 11
|
* macOS (latest tag on Github, ARM)
|
||||||
* macOS Monterey 12
|
|
||||||
|
|
||||||
# Prerequisites
|
# Prerequisites
|
||||||
|
|
||||||
## Required Packages
|
## Required Packages
|
||||||
|
|
||||||
* automake
|
* meson
|
||||||
* autoconf
|
* ninja
|
||||||
* autopoint
|
|
||||||
* gettext
|
* gettext
|
||||||
* hidapi + headers
|
* hidapi + headers
|
||||||
* inih
|
* inih
|
||||||
* libtool
|
|
||||||
* libusb-1.0 + headers
|
* libusb-1.0 + headers
|
||||||
* libevdev + headers (on Linux)
|
|
||||||
* pkg-config
|
* pkg-config
|
||||||
* python3 (3.6 or greater)
|
* python3 (3.6 or greater)
|
||||||
* git (not required for builds, but necessary to clone the repository)
|
* git (not required for builds, but necessary to clone the repository)
|
||||||
|
|
@ -29,15 +25,16 @@ Build has been tested on the following operating systems (x86-64 only):
|
||||||
|
|
||||||
| Platform | Install instructions |
|
| Platform | Install instructions |
|
||||||
| -------- | -------------------- |
|
| -------- | -------------------- |
|
||||||
| Ubuntu | `sudo apt-get install automake autoconf gettext autopoint libhidapi-dev libevdev-dev libtool libusb-1.0-0-dev libinih-dev pkg-config python3 git` |
|
| Ubuntu | `sudo apt-get install meson gettext libhidapi-dev libevdev-dev libusb-1.0-0-dev libinih-dev pkg-config python3 git` |
|
||||||
| MacOS + Homebrew | `brew install automake autoconf gettext hidapi libtool libusb pkg-config python3 git` |
|
| MacOS + Homebrew | `brew install meson gettext hidapi libtool libusb pkg-config python3 git` |
|
||||||
| Arch Linux | `pacman -S base-devel libusb hidapi libevdev libinih python git` |
|
| Arch Linux | `pacman -S base-devel meson libusb hidapi libevdev libinih python git` |
|
||||||
| Fedora | `sudo dnf install autoconf automake gettext-devel findutils libtool hidapi-devel libusb-devel libevdev-devel inih-devel pkg-config python3 git` |
|
| Fedora | `sudo dnf install meson gettext-devel findutils hidapi-devel libusb-devel libevdev-devel inih-devel pkg-config python3 git` |
|
||||||
|
|
||||||
## Optional Packages
|
## Optional Packages
|
||||||
|
|
||||||
* doxygen - to generate HTML documentation and man pages
|
* doxygen - to generate HTML documentation and man pages
|
||||||
* libcmocka (1.1 or greater) + headers - to run unit tests
|
* libcmocka (1.1 or greater) + headers - to run unit tests
|
||||||
|
* libevdev + headers (on Linux) - to add virtual keyboard/mouse support
|
||||||
|
|
||||||
# Installation Instructions
|
# Installation Instructions
|
||||||
|
|
||||||
|
|
@ -49,37 +46,36 @@ git clone https://github.com/nirenjan/libx52.git
|
||||||
2. Run autogen.sh
|
2. Run autogen.sh
|
||||||
```
|
```
|
||||||
cd ./libx52
|
cd ./libx52
|
||||||
./autogen.sh
|
meson setup build -Dprefix=/usr
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Run the following commands:
|
3. Run the following commands:
|
||||||
```
|
```
|
||||||
./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc
|
meson compile -C build && meson install -C build
|
||||||
make && sudo make install
|
|
||||||
```
|
```
|
||||||
|
|
||||||
You may want to remove or edit the `--prefix=/usr` option, most users prefer
|
You may want to remove or edit the `-Dprefix=/usr` option, most users prefer
|
||||||
non-distro binaries in `/usr/local` (default without `--prefix`) or `/opt`.
|
non-distro binaries in `/usr/local` (default without `-Dprefix`) or `/opt`.
|
||||||
|
|
||||||
## Configuration options
|
## Configuration options
|
||||||
|
|
||||||
### udev
|
### udev
|
||||||
|
|
||||||
The configuration system should automatically detect the udev rules directory,
|
The configuration system should automatically detect the udev rules directory,
|
||||||
but you can override it by using the following argument to `configure`:
|
but you can override it by using the following argument to `meson setup`:
|
||||||
|
|
||||||
```
|
```
|
||||||
--with-udevrulesdir=/path/to/udev/rules.d
|
-Dudev-rules-dir=/path/to/udev/rules.d
|
||||||
```
|
```
|
||||||
|
|
||||||
### Input group
|
### Input group
|
||||||
|
|
||||||
The udev rules that are installed provide read/write access to members of the
|
The udev rules that are installed provide read/write access to members of the
|
||||||
input devices group. This defaults to `plugdev`, but can be modified using
|
input devices group. This defaults to `plugdev`, but can be modified using
|
||||||
the following argument to `configure`:
|
the following argument to `meson setup`:
|
||||||
|
|
||||||
```
|
```
|
||||||
--with-input-group=group
|
-Dinput-group=group
|
||||||
```
|
```
|
||||||
|
|
||||||
### Systemd support
|
### Systemd support
|
||||||
|
|
@ -89,13 +85,13 @@ itself to run in the background. Typical deployments with systemd will have it
|
||||||
run in the foreground, and disable timestamps in the logs, since those are
|
run in the foreground, and disable timestamps in the logs, since those are
|
||||||
inserted automatically by journald.
|
inserted automatically by journald.
|
||||||
|
|
||||||
Systemd support is enabled by default, but can be disabled with the
|
Systemd support is enabled by default, which disables timestamps in the program
|
||||||
`--disable-systemd` argument to `configure`
|
logs, but you can re-enable timestamps by passing `-Dsystemd-logs=disabled`
|
||||||
|
argument to `meson setup`
|
||||||
|
|
||||||
It is also possible to configure the directory in which the service file is
|
It is also possible to configure the directory in which the service file is
|
||||||
installed with the following option. This is ignored if you have specified
|
installed with the following option. This is ignored if systemd is not found.
|
||||||
`--disable-systemd`.
|
|
||||||
|
|
||||||
```
|
```
|
||||||
--with-systemdsystemunitdir=/path/to/systemd/system
|
-Dsystemd-unit-dir=/path/to/systemd/system
|
||||||
```
|
```
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue