scons: Don't always include/links X11 headers/libs.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 11 Mar 2010 17:52:34 +0000 (17:52 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Wed, 31 Mar 2010 17:40:10 +0000 (18:40 +0100)
Move it into a separate tool.

TODO: Needs to be "tooled" in each SConscript that uses it.

SConstruct
scons/x11.py [new file with mode: 0644]

index f32e62f5fe10662a1b4c695fa7c5781cae7757d4..d9230bd90412160228502875707dde0fcde80e59 100644 (file)
@@ -159,8 +159,6 @@ if platform in ('posix', 'linux', 'freebsd', 'darwin'):
        ])
        if platform == 'darwin':
                env.Append(CPPDEFINES = ['_DARWIN_C_SOURCE'])
-       env.Append(CPPPATH = ['/usr/X11R6/include'])
-       env.Append(LIBPATH = ['/usr/X11R6/lib'])
        env.Append(LIBS = [
                'm',
                'pthread',
@@ -181,16 +179,6 @@ if dri:
 if drawllvm:
     env.Append(CPPDEFINES = ['DRAW_LLVM'])
 
-# libGL
-if platform in ('linux', 'freebsd', 'darwin'):
-       env.Append(LIBS = [
-               'X11',
-               'Xext',
-               'Xxf86vm',
-               'Xdamage',
-               'Xfixes',
-       ])
-
 # for debugging
 #print env.Dump()
 
diff --git a/scons/x11.py b/scons/x11.py
new file mode 100644 (file)
index 0000000..99bf079
--- /dev/null
@@ -0,0 +1,52 @@
+"""x11
+
+Tool-specific initialization for X11
+
+"""
+
+#
+# Copyright (c) 2010 VMware, Inc.
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+
+def generate(env):
+    env.Append(CPPPATH = ['/usr/X11R6/include'])
+    env.Append(LIBPATH = ['/usr/X11R6/lib'])
+
+    env.Append(LIBS = [
+        'X11',
+        'Xext',
+        'Xxf86vm',
+        'Xdamage',
+        'Xfixes',
+    ])
+
+
+def exists(env):
+    # TODO: actually detect the presence of the headers
+    if env['platform'] in ('linux', 'freebsd', 'darwin'):
+        return True
+    else:
+        return False
+
+
+# vim:set ts=4 sw=4 et: