if subprocess.call(["pkg-config", "--exists", ' '.join(modules)]) != 0:
return
+ # Strip version expressions from modules
+ modules = [module.split(' ', 1)[0] for module in modules]
+
# Other flags may affect the compilation of unrelated targets, so store
# them with a prefix, (e.g., XXX_CFLAGS, XXX_LIBS, etc)
try:
def pkg_check_modules(env, name, modules):
- sys.stdout.write('Checking for %s...' % name)
+ sys.stdout.write('Checking for %s (%s)...' % (name, ' '.join(modules)))
_pkg_check_modules(env, name, modules)
result = env['HAVE_' + name]
sys.stdout.write(' %s\n' % ['no', 'yes'][int(bool(result))])
env.PkgCheckModules('X11', ['x11', 'xext', 'xdamage', 'xfixes'])
env.PkgCheckModules('XCB', ['x11-xcb', 'xcb-glx'])
env.PkgCheckModules('XF86VIDMODE', ['xxf86vm'])
- env.PkgCheckModules('DRM', ['libdrm'])
- env.PkgCheckModules('DRM_INTEL', ['libdrm_intel'])
- env.PkgCheckModules('DRM_RADEON', ['libdrm_radeon'])
- env.PkgCheckModules('XORG', ['xorg-server'])
- env.PkgCheckModules('KMS', ['libkms'])
- env.PkgCheckModules('UDEV', ['libudev'])
+ env.PkgCheckModules('DRM', ['libdrm >= 2.4.24'])
+ env.PkgCheckModules('DRM_INTEL', ['libdrm_intel >= 2.4.38'])
+ env.PkgCheckModules('DRM_RADEON', ['libdrm_radeon >= 2.4.31'])
+ env.PkgCheckModules('XORG', ['xorg-server >= 1.6.0'])
+ env.PkgCheckModules('KMS', ['libkms >= 2.4.24'])
+ env.PkgCheckModules('UDEV', ['libudev > 150'])
env['dri'] = env['x11'] and env['drm']