diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2021-02-17 11:28:27 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2021-02-17 13:14:59 +0100 |
commit | a10c259c1d89fbce2d0e05ac60ac5c78d431c070 (patch) | |
tree | 15ecd9847fed6cd3a2e08dda46720f48bafb2594 /platform/linuxbsd/detect.py | |
parent | fa8a47e1bf9e3bdd961a7c6bc983bfc600356a7c (diff) | |
download | redot-engine-a10c259c1d89fbce2d0e05ac60ac5c78d431c070.tar.gz |
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
```
Diffstat (limited to 'platform/linuxbsd/detect.py')
-rw-r--r-- | platform/linuxbsd/detect.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py index 40d2078ebb..f87e9cf886 100644 --- a/platform/linuxbsd/detect.py +++ b/platform/linuxbsd/detect.py @@ -325,14 +325,14 @@ def configure(env): if platform.system() == "Linux": env.Append(CPPDEFINES=["JOYDEV_ENABLED"]) - if env["udev"]: if os.system("pkg-config --exists libudev") == 0: # 0 means found print("Enabling udev support") env.Append(CPPDEFINES=["UDEV_ENABLED"]) - env.ParseConfig("pkg-config libudev --cflags --libs") else: print("libudev development libraries not found, disabling udev support") + else: + env["udev"] = False # Linux specific # Linkflags below this line should typically stay the last ones if not env["builtin_zlib"]: |