summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpunto- <ariel@godotengine.org>2016-01-06 22:05:42 -0300
committerpunto- <ariel@godotengine.org>2016-01-06 22:05:42 -0300
commit0ba9b267a4962a1a517e79ebe6bf87cc04e45777 (patch)
treeb99d8667098fa9a60b4647f2302598bb98e182d6
parentc8849c0b7999ab0a0a767d49c0c080d2c984e1a7 (diff)
parenta98aa0bbbeb2ffab54e257c771657c190e293c5e (diff)
Merge pull request #3254 from akien-mga/pr-joydev-opt-out
Make joydev build using libudev and libevdev opt-out
-rw-r--r--platform/x11/detect.py29
1 files changed, 18 insertions, 11 deletions
diff --git a/platform/x11/detect.py b/platform/x11/detect.py
index 0226c8b8c0..344545ab81 100644
--- a/platform/x11/detect.py
+++ b/platform/x11/detect.py
@@ -55,6 +55,7 @@ def get_opts():
('use_sanitizer','Use llvm compiler sanitize address','no'),
('use_leak_sanitizer','Use llvm compiler sanitize memory leaks','no'),
('pulseaudio','Detect & Use pulseaudio','yes'),
+ ('gamepad','Gamepad support, requires libudev and libevdev','yes'),
('new_wm_api', 'Use experimental window management API','no'),
('debug_release', 'Add debug symbols to release version','no'),
]
@@ -145,23 +146,29 @@ def configure(env):
env.Append(CPPPATH=['#tools/freetype/freetype/include'])
-
-
env.Append(CPPFLAGS=['-DOPENGL_ENABLED','-DGLEW_ENABLED'])
if platform.system() == 'Linux':
env.Append(CPPFLAGS=["-DALSA_ENABLED"])
env.Append(LIBS=['asound'])
- if not os.system("pkg-config --exists libudev"):
- if not os.system("pkg-config --exists libevdev"):
- print("Enabling udev/evdev")
- env.Append(CPPFLAGS=["-DJOYDEV_ENABLED"])
- env.ParseConfig('pkg-config libudev --cflags --libs')
- env.ParseConfig('pkg-config libevdev --cflags --libs')
- else:
- print("libevdev development libraries not found, disabling gamepad support")
+ if (env["gamepad"]=="yes" and platform.system() == "Linux"):
+ # pkg-config returns 0 when the lib exists...
+ found_udev = not os.system("pkg-config --exists libudev")
+ found_evdev = not os.system("pkg-config --exists libevdev")
+
+ if (found_udev and found_evdev):
+ print("Enabling gamepad support with udev/evdev")
+ env.Append(CPPFLAGS=["-DJOYDEV_ENABLED"])
+ env.ParseConfig('pkg-config libudev --cflags --libs')
+ env.ParseConfig('pkg-config libevdev --cflags --libs')
else:
- print("libudev development libraries not found, disabling gamepad support")
+ if (not found_udev):
+ print("libudev development libraries not found")
+ if (not found_evdev):
+ print("libevdev development libraries not found")
+ print("Some libraries are missing for the required gamepad support, aborting!")
+ print("Install the mentioned libraries or build with 'gamepad=no' to disable gamepad support.")
+ sys.exit(255)
if (env["pulseaudio"]=="yes"):
if not os.system("pkg-config --exists libpulse-simple"):