summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SConstruct13
-rw-r--r--src/gallium/SConscript6
-rw-r--r--src/gallium/auxiliary/gallivm/SConscript16
3 files changed, 34 insertions, 1 deletions
diff --git a/SConstruct b/SConstruct
index 4fb51f2e6d..b20f88a303 100644
--- a/SConstruct
+++ b/SConstruct
@@ -32,6 +32,7 @@ import sys
opts = Options('config.py')
opts.Add(BoolOption('debug', 'build debug version', False))
opts.Add(BoolOption('dri', 'build dri drivers', False))
+opts.Add(BoolOption('llvm', 'use llvm', False))
opts.Add(EnumOption('machine', 'use machine-specific assembly code', 'x86',
allowed_values=('generic', 'x86', 'x86-64')))
@@ -55,6 +56,7 @@ else:
# replicate options values in local variables
debug = env['debug']
dri = env['dri']
+llvm = env['llvm']
machine = env['machine']
# derived options
@@ -66,6 +68,7 @@ Export([
'debug',
'x86',
'dri',
+ 'llvm',
'platform',
'gcc',
'msvc',
@@ -159,6 +162,14 @@ if dri:
'GLX_INDIRECT_RENDERING',
])
+# LLVM
+if llvm:
+ # See also http://www.scons.org/wiki/UsingPkgConfig
+ env.ParseConfig('llvm-config --cflags --ldflags --libs')
+ env.Append(CPPDEFINES = ['MESA_LLVM'])
+ env.Append(CXXFLAGS = ['-Wno-long-long'])
+
+
# libGL
if 1:
env.Append(LIBS = [
@@ -214,6 +225,8 @@ build_topdir = 'build'
build_subdir = platform
if dri:
build_subdir += "-dri"
+if llvm:
+ build_subdir += "-llvm"
if x86:
build_subdir += "-x86"
if debug:
diff --git a/src/gallium/SConscript b/src/gallium/SConscript
index ea55ed2ed5..c505eee792 100644
--- a/src/gallium/SConscript
+++ b/src/gallium/SConscript
@@ -13,9 +13,13 @@ SConscript([
'auxiliary/tgsi/SConscript',
'auxiliary/cso_cache/SConscript',
'auxiliary/draw/SConscript',
- #'auxiliary/gallivm/SConscript',
'auxiliary/pipebuffer/SConscript',
+])
+
+if llvm:
+ SConscript(['auxiliary/gallivm/SConscript'])
+SConscript([
'drivers/softpipe/SConscript',
'drivers/i915simple/SConscript',
'drivers/i965simple/SConscript',
diff --git a/src/gallium/auxiliary/gallivm/SConscript b/src/gallium/auxiliary/gallivm/SConscript
new file mode 100644
index 0000000000..c0aa51b90a
--- /dev/null
+++ b/src/gallium/auxiliary/gallivm/SConscript
@@ -0,0 +1,16 @@
+Import('*')
+
+gallivm = env.ConvenienceLibrary(
+ target = 'gallivm',
+ source = [
+ 'gallivm.cpp',
+ 'gallivm_cpu.cpp',
+ 'instructions.cpp',
+ 'loweringpass.cpp',
+ 'tgsitollvm.cpp',
+ 'storage.cpp',
+ 'storagesoa.cpp',
+ 'instructionssoa.cpp',
+ ])
+
+auxiliaries.insert(0, gallivm)