Mesa (master): scons: Check for libdrm_[intel|radeon] as well

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Fri Nov 5 20:59:18 UTC 2010


Module: Mesa
Branch: master
Commit: c0db7854d502d0b24110cbe8560967794d7938cb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0db7854d502d0b24110cbe8560967794d7938cb

Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Fri Nov  5 16:55:46 2010 +0000

scons: Check for libdrm_[intel|radeon] as well

And run SConscripts if they are present.
Also make dri depend on both drm and x11.

---

 scons/gallium.py       |    6 +++++-
 src/gallium/SConscript |   40 +++++++++++++++++++++++++---------------
 2 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/scons/gallium.py b/scons/gallium.py
index 36f1831..75e9b9e 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -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)
diff --git a/src/gallium/SConscript b/src/gallium/SConscript
index 63435a3..9436b68 100644
--- a/src/gallium/SConscript
+++ b/src/gallium/SConscript
@@ -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([




More information about the mesa-commit mailing list