On Tue, May 10, 2016 at 3:43 PM, Emil Velikov <emil.l.veli...@gmail.com> wrote: > On 9 May 2016 at 20:33, Rob Clark <robdcl...@gmail.com> wrote: >> From: Jose Fonseca <jfons...@vmware.com> >> >> Signed-off-by: Rob Clark <robcl...@freedesktop.org> >> --- >> src/compiler/SConscript | 57 >> +++++++++++++++++++++++++++++++++++++++++++++++-- >> 1 file changed, 55 insertions(+), 2 deletions(-) >> >> diff --git a/src/compiler/SConscript b/src/compiler/SConscript >> index 10c79c4..dde4dfd 100644 >> --- a/src/compiler/SConscript >> +++ b/src/compiler/SConscript >> @@ -1,5 +1,7 @@ >> Import('*') >> >> +from sys import executable as python_cmd >> + >> env = env.Clone() >> >> env.MSVC2013Compat() >> @@ -11,13 +13,64 @@ env.Prepend(CPPPATH = [ >> '#src/mesa', >> '#src/gallium/include', >> '#src/gallium/auxiliary', >> + '#src/compiler', >> + '#src/compiler/nir', >> +]) >> + >> + >> +# Make generated headers reachable from the include path. >> +env.Append(CPPPATH = [ >> + Dir('nir').abspath >> ]) >> >> -sources = env.ParseSourceList('Makefile.sources', 'LIBCOMPILER_FILES') >> +# nir generated sources >> + >> +nir_builder_opcodes_h = env.CodeGenerate( >> + target = 'nir/nir_builder_opcodes.h', >> + script = 'nir/nir_builder_opcodes_h.py', >> + source = [], >> + command = python_cmd + ' $SCRIPT > $TARGET' >> +) >> + >> +env.CodeGenerate( >> + target = 'nir/nir_constant_expressions.c', >> + script = 'nir/nir_constant_expressions.py', >> + source = [], >> + command = python_cmd + ' $SCRIPT > $TARGET' >> +) >> + >> +env.CodeGenerate( >> + target = 'nir/nir_opcodes.h', >> + script = 'nir/nir_opcodes_h.py', >> + source = [], >> + command = python_cmd + ' $SCRIPT > $TARGET' >> +) >> + >> +env.CodeGenerate( >> + target = 'nir/nir_opcodes.c', >> + script = 'nir/nir_opcodes_c.py', >> + source = [], >> + command = python_cmd + ' $SCRIPT > $TARGET' >> +) >> + >> +env.CodeGenerate( >> + target = 'nir/nir_opt_algebraic.c', >> + script = 'nir/nir_algebraic.py', >> + source = [], >> + command = python_cmd + ' $SCRIPT > $TARGET' >> +) >> + >> +# parse Makefile.sources >> +source_lists = env.ParseSourceList('Makefile.sources') >> + >> +nir_sources = [] >> +nir_sources += source_lists['LIBCOMPILER_FILES'] >> +nir_sources += source_lists['NIR_FILES'] >> +nir_sources += source_lists['NIR_GENERATED_FILES'] >> >> compiler = env.ConvenienceLibrary( >> target = 'compiler', >> - source = sources >> + source = nir_sources >> ) >> Export('compiler') >> > NIR already has scons build support. One just needs to add the static > (convenience in scons speak) library 'nir' into the respective > place(s). Something like the following untested hunk should do it. And > yes, it is a bit nasty looking. > > -Emil > > diff --git a/src/compiler/SConscript.glsl b/src/compiler/SConscript.glsl > index 43a11d1..4e5133b 100644 > --- a/src/compiler/SConscript.glsl > +++ b/src/compiler/SConscript.glsl > @@ -64,6 +64,8 @@ if env['msvc']: > env.Prepend(CPPPATH = ['#/src/getopt']) > env.PrependUnique(LIBS = [getopt]) > > +env.Prepend(LIBS = [nir]) > + > # Copy these files to avoid generation object files into src/mesa/program > env.Prepend(CPPPATH = ['#src/mesa/main']) > env.Command('glsl/imports.c', '#src/mesa/main/imports.c', > Copy('$TARGET', '$SOURCE'))
hmm, seems to take more than that... but not planning to push the parts that introduce mesa/st dependency on NIR yet so if you want to handle adding nir to scons build, I'm happy to drop the patch.. $ scons scons: Reading SConscript files ... Checking for GCC ... yes Checking for Clang ... no scons: Found LLVM version 3.7.0 Checking for X11 (x11 xext xdamage xfixes glproto >= 1.4.13)... yes Checking for XCB (x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8)... yes Checking for XF86VIDMODE (xxf86vm)... yes Checking for DRM (libdrm >= 2.4.38)... yes Checking for UDEV (libudev >= 151)... yes NameError: name 'nir' is not defined: File "/home/robclark/tmp/mesa/SConstruct", line 143: duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html File "/usr/lib/scons/SCons/Script/SConscript.py", line 614: return method(*args, **kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 551: return _SConscript(self.fs, *files, **subst_kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 260: exec _file_ in call_stack[-1].globals File "/home/robclark/tmp/mesa/src/SConscript", line 8: SConscript('compiler/SConscript') File "/usr/lib/scons/SCons/Script/SConscript.py", line 614: return method(*args, **kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 551: return _SConscript(self.fs, *files, **subst_kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 260: exec _file_ in call_stack[-1].globals File "/home/robclark/tmp/mesa/src/compiler/SConscript", line 24: SConscript('SConscript.glsl') File "/usr/lib/scons/SCons/Script/SConscript.py", line 614: return method(*args, **kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 551: return _SConscript(self.fs, *files, **subst_kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 260: exec _file_ in call_stack[-1].globals File "/home/robclark/tmp/mesa/src/compiler/SConscript.glsl", line 67: env.Prepend(LIBS = [nir]) BR, -R _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev