virtualx-engine/platform/x11
Rémi Verschelde ad7710ae5e
Dynamically load libudev.so.1 on Linux if udev=yes
This makes it possibly to run Linux binaries compiled with udev support on
Linux systems which do not provide udev (typically systemd-less distros).

If udev is missing, we fall back to parsing `/dev/input` like when compiled
without udev support (`udev=no`).

Also adding some verbose debug statements to know which method we're using
when debugging Linux joypad issues.

The libudev so wrappers were generated on Mageia 8 with libudev 246.9 using
https://github.com/hpvb/dynload-wrapper:
```
./generate-wrapper.py --include /usr/include/libudev.h --sys-include '<libudev.h>' \
  --soname libudev.so.1 --init-name libudev --omit-prefix gnu_ \
  --output-header libudev-so_wrap.h --output-implementation libudev-so_wrap.c
```

(cherry picked from commits a10c259c1d
and e26a1f807b)

Edit: Updated to version 0.2 of dynload-wrapper to fix symbols clobbering as
done in #46143.
2021-02-18 10:31:31 +01:00
..
export Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
context_gl_x11.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
context_gl_x11.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
crash_handler_x11.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
crash_handler_x11.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
detect.py Dynamically load libudev.so.1 on Linux if udev=yes 2021-02-18 10:31:31 +01:00
detect_prime.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
detect_prime.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
godot_x11.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
joypad_linux.cpp Dynamically load libudev.so.1 on Linux if udev=yes 2021-02-18 10:31:31 +01:00
joypad_linux.h Dynamically load libudev.so.1 on Linux if udev=yes 2021-02-18 10:31:31 +01:00
key_mapping_x11.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
key_mapping_x11.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
libudev-so_wrap.c Dynamically load libudev.so.1 on Linux if udev=yes 2021-02-18 10:31:31 +01:00
libudev-so_wrap.h Dynamically load libudev.so.1 on Linux if udev=yes 2021-02-18 10:31:31 +01:00
logo.png Optimize images losslessly using oxipng -o6 --strip all --zopfli 2018-06-28 19:17:41 +02:00
os_x11.cpp Fix used uninitialized warning in os_x11.cpp 2021-02-06 10:43:02 +00:00
os_x11.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
pck_embed.ld Fix error exporting to X11 with embedded PCK 2020-01-16 17:47:37 +01:00
pck_embed.legacy.ld Fix error exporting to X11 with embedded PCK 2020-01-16 17:47:37 +01:00
platform_config.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
platform_x11_builders.py SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
power_x11.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
power_x11.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
SCsub Dynamically load libudev.so.1 on Linux if udev=yes 2021-02-18 10:31:31 +01:00