scons: Check for libdrm_[intel|radeon] as well
authorJakob Bornecrantz <jakob@vmware.com>
Fri, 5 Nov 2010 16:55:46 +0000 (16:55 +0000)
committerJakob Bornecrantz <jakob@vmware.com>
Fri, 5 Nov 2010 20:58:49 +0000 (20:58 +0000)
And run SConscripts if they are present.
Also make dri depend on both drm and x11.

scons/gallium.py
src/gallium/SConscript

index 36f1831af89dfc7ba54e2a30c1bd795332bd66f6..75e9b9e7fc302fcbe9a1dc8635381fb9c9d8444a 100644 (file)
@@ -560,10 +560,14 @@ def generate(env):
         env.Tool('udis86')
     
     pkg_config_modules(env, 'x11', ['x11', 'xext'])
-    pkg_config_modules(env, 'dri', ['libdrm'])
+    pkg_config_modules(env, 'drm', ['libdrm'])
+    pkg_config_modules(env, 'drm_intel', ['libdrm_intel'])
+    pkg_config_modules(env, 'drm_radeon', ['libdrm_radeon'])
     pkg_config_modules(env, 'xorg', ['xorg-server'])
     pkg_config_modules(env, 'kms', ['libkms'])
 
+    env['dri'] = env['x11'] and env['drm']
+
     # Custom builders and methods
     env.Tool('custom')
     createInstallMethods(env)
index 63435a306584bb771a24b4c9ce1dd57534d489a2..9436b684e4e744ef66a25c39ada42335838229e5 100644 (file)
@@ -29,17 +29,21 @@ if not env['msvc']:
         'drivers/r300/SConscript',
     ])
 
-if env['dri']:
+if env['drm']:
     # These drivers depend on drm headers
-    SConscript([
-        # XXX: nouveau drivers have a tight dependency on libdrm, so to enable
-        # we need some version logic before we enable them. Also, ATM there is
-        # no nouveau target in scons
-        #'drivers/nouveau/SConscript', 
-        #'drivers/nv50/SConscript', 
-        #'drivers/nvfx/SConscript',
-        'drivers/r600/SConscript', 
-    ])
+    if env['drm_radeon']:
+        SConscript([
+            'drivers/r600/SConscript',
+        ])
+    # XXX: nouveau drivers have a tight dependency on libdrm, so to enable
+    # we need some version logic before we enable them. Also, ATM there is
+    # no nouveau target in scons
+    # if env['drm_nouveau']:
+    #     SConscript([
+    #         'drivers/nouveau/SConscript', 
+    #         'drivers/nv50/SConscript', 
+    #         'drivers/nvfx/SConscript',
+    #     ])
 
 #
 # State trackers
@@ -89,14 +93,20 @@ if env['platform'] == 'windows':
 if env['dri']:
     SConscript([
         'targets/SConscript.dri',
-        'targets/dri-i915/SConscript',
-        'targets/dri-i965/SConscript',
-        #'targets/dri-nouveau/SConscript',
-        'targets/dri-r300/SConscript',
-        'targets/dri-r600/SConscript',
         'targets/dri-swrast/SConscript',
         'targets/dri-vmwgfx/SConscript',
+        #'targets/dri-nouveau/SConscript',
     ])
+    if env['drm_intel']:
+        SConscript([
+            'targets/dri-i915/SConscript',
+            'targets/dri-i965/SConscript',
+        ])
+    if env['drm_radeon']:
+        SConscript([
+            'targets/dri-r300/SConscript',
+            'targets/dri-r600/SConscript',
+        ])
 
 if env['xorg']:
     SConscript([