diff options
Diffstat (limited to 'platform/x11/detect.py')
| -rw-r--r-- | platform/x11/detect.py | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/platform/x11/detect.py b/platform/x11/detect.py index d996587864..e035c72993 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -1,6 +1,7 @@ import os import sys +import platform def is_active(): @@ -44,7 +45,7 @@ def can_build(): print("xinerama not found.. x11 disabled.") return False - + return True # X11 enabled def get_opts(): @@ -54,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'), ] @@ -144,10 +146,33 @@ def configure(env): env.Append(CPPPATH=['#tools/freetype/freetype/include']) - - env.Append(CPPFLAGS=['-DOPENGL_ENABLED','-DGLEW_ENABLED']) - env.Append(CPPFLAGS=["-DALSA_ENABLED"]) + + if os.system("pkg-config --exists alsa")==0: + print("Enabling ALSA") + env.Append(CPPFLAGS=["-DALSA_ENABLED"]) + env.Append(LIBS=['asound']) + else: + print("ALSA libraries not found, disabling driver") + + 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: + 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"): @@ -158,7 +183,7 @@ def configure(env): print("PulseAudio development libraries not found, disabling driver") env.Append(CPPFLAGS=['-DX11_ENABLED','-DUNIX_ENABLED','-DGLES2_ENABLED','-DGLES_OVER_GL']) - env.Append(LIBS=['GL', 'GLU', 'pthread','asound','z']) #TODO detect linux/BSD! + env.Append(LIBS=['GL', 'GLU', 'pthread', 'z']) #env.Append(CPPFLAGS=['-DMPC_FIXED_POINT']) #host compiler is default.. |