On 10/19/2015 08:01 AM, Jose Fonseca wrote:
Undoes early hacks, and ensures nir/glsl_types.cpp is built once, and
only once.

The root problem is that SCons doesn't know about NIR nor any source
file in the NIR_FILES source list.

Tested with libgl-gdi and libgl-xlib scons targets.
---
  src/gallium/targets/libgl-gdi/SConscript           | 10 +---------
  src/gallium/targets/libgl-gdi/glsl_types_hack.cpp  |  3 ---
  src/gallium/targets/libgl-xlib/SConscript          |  3 ---
  src/gallium/targets/libgl-xlib/glsl_types_hack.cpp |  3 ---
  src/gallium/targets/osmesa/SConscript              |  7 +------
  src/gallium/targets/osmesa/glsl_types_hack.cpp     |  3 ---
  src/glsl/SConscript                                |  7 ++++++-
  src/mesa/drivers/x11/SConscript                    |  1 -
  8 files changed, 8 insertions(+), 29 deletions(-)
  delete mode 100644 src/gallium/targets/libgl-gdi/glsl_types_hack.cpp
  delete mode 100644 src/gallium/targets/libgl-xlib/glsl_types_hack.cpp
  delete mode 100644 src/gallium/targets/osmesa/glsl_types_hack.cpp

diff --git a/src/gallium/targets/libgl-gdi/SConscript 
b/src/gallium/targets/libgl-gdi/SConscript
index eb777a8..594f34d 100644
--- a/src/gallium/targets/libgl-gdi/SConscript
+++ b/src/gallium/targets/libgl-gdi/SConscript
@@ -7,10 +7,6 @@ env = env.Clone()

  env.Append(CPPPATH = [
      '#src',
-    '#src/mesa',
-    '#src/mapi',
-    '#src/glsl',
-    '#src/glsl/nir',
      '#src/gallium/state_trackers/wgl',
      '#src/gallium/winsys/sw',
  ])
@@ -24,11 +20,7 @@ env.Append(LIBS = [

  env.Prepend(LIBS = [mesautil])

-sources = [
-    'libgl_gdi.c',
-    'glsl_types_hack.cpp'
-]
-
+sources = ['libgl_gdi.c']
  drivers = []

  if True:
diff --git a/src/gallium/targets/libgl-gdi/glsl_types_hack.cpp 
b/src/gallium/targets/libgl-gdi/glsl_types_hack.cpp
deleted file mode 100644
index 5c042f2..0000000
--- a/src/gallium/targets/libgl-gdi/glsl_types_hack.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-/* errrg scons.. otherwise "scons: *** Two environments with different actions were 
specified for the same target: 
$mesa/build/linux-x86_64-debug/glsl/nir/glsl_types.os" */
-#include "glsl_types.cpp"
-
diff --git a/src/gallium/targets/libgl-xlib/SConscript 
b/src/gallium/targets/libgl-xlib/SConscript
index fedc522..df5a220 100644
--- a/src/gallium/targets/libgl-xlib/SConscript
+++ b/src/gallium/targets/libgl-xlib/SConscript
@@ -6,8 +6,6 @@ Import('*')
  env = env.Clone()

  env.Append(CPPPATH = [
-    '#/src/glsl',
-    '#/src/glsl/nir',
      '#/src/mapi',
      '#/src/mesa',
      '#/src/mesa/main',
@@ -38,7 +36,6 @@ env.Prepend(LIBS = [

  sources = [
      'xlib.c',
-    'glsl_types_hack.cpp',
  ]

  if True:
diff --git a/src/gallium/targets/libgl-xlib/glsl_types_hack.cpp 
b/src/gallium/targets/libgl-xlib/glsl_types_hack.cpp
deleted file mode 100644
index 5c042f2..0000000
--- a/src/gallium/targets/libgl-xlib/glsl_types_hack.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-/* errrg scons.. otherwise "scons: *** Two environments with different actions were 
specified for the same target: 
$mesa/build/linux-x86_64-debug/glsl/nir/glsl_types.os" */
-#include "glsl_types.cpp"
-
diff --git a/src/gallium/targets/osmesa/SConscript 
b/src/gallium/targets/osmesa/SConscript
index 78930a9..4a9115b 100644
--- a/src/gallium/targets/osmesa/SConscript
+++ b/src/gallium/targets/osmesa/SConscript
@@ -5,8 +5,6 @@ env = env.Clone()
  env.Prepend(CPPPATH = [
      '#src/mapi',
      '#src/mesa',
-    '#src/glsl',
-    '#src/glsl/nir',
      #Dir('../../../mapi'), # src/mapi build path for python-generated GL API 
files/headers
  ])

@@ -24,10 +22,7 @@ env.Prepend(LIBS = [

  env.Append(CPPDEFINES = ['GALLIUM_TRACE', 'GALLIUM_SOFTPIPE'])

-sources = [
-    'target.c',
-    'glsl_types_hack.cpp'
-]
+sources = ['target.c']

  if env['llvm']:
      env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
diff --git a/src/gallium/targets/osmesa/glsl_types_hack.cpp 
b/src/gallium/targets/osmesa/glsl_types_hack.cpp
deleted file mode 100644
index 5c042f2..0000000
--- a/src/gallium/targets/osmesa/glsl_types_hack.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-/* errrg scons.. otherwise "scons: *** Two environments with different actions were 
specified for the same target: 
$mesa/build/linux-x86_64-debug/glsl/nir/glsl_types.os" */
-#include "glsl_types.cpp"
-
diff --git a/src/glsl/SConscript b/src/glsl/SConscript
index 927cbdc..70bf5b0 100644
--- a/src/glsl/SConscript
+++ b/src/glsl/SConscript
@@ -61,6 +61,12 @@ source_lists = env.ParseSourceList('Makefile.sources')
  for l in ('LIBGLCPP_FILES', 'LIBGLSL_FILES'):
      glsl_sources += source_lists[l]

+# add nir/glsl_types.cpp manually, because SCons still doesn't know about NIR.
+# XXX: Remove this once we build NIR and NIR_FILES.
+glsl_sources += [
+    'nir/glsl_types.cpp',
+]
+
  if env['msvc']:
      env.Prepend(CPPPATH = ['#/src/getopt'])
      env.PrependUnique(LIBS = [getopt])
@@ -81,7 +87,6 @@ mesa_objs = env.StaticObject([
      'prog_hash_table.c',
      'symbol_table.c',
      'dummy_errors.c',
-    'nir/glsl_types.cpp',
  ])

  compiler_objs += mesa_objs
diff --git a/src/mesa/drivers/x11/SConscript b/src/mesa/drivers/x11/SConscript
index aa1e73a..cd5cccd 100644
--- a/src/mesa/drivers/x11/SConscript
+++ b/src/mesa/drivers/x11/SConscript
@@ -33,7 +33,6 @@ sources = [
        'xm_dd.c',
        'xm_line.c',
        'xm_tri.c',
-       '../../../glsl/nir/glsl_types.cpp',
  ]

  # Disallow undefined symbols


Looks good to me.  Thanks for cleaning this up, Jose!

Reviewed-by: Brian Paul <bri...@vmware.com>


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to