mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
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 ```
This commit is contained in:
parent
fa8a47e1bf
commit
a10c259c1d
8 changed files with 1154 additions and 14 deletions
|
@ -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"]:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue