Re: [Mesa-dev] Mesa (master): automake: Add a prefix variable for libglsl sources.

2012-06-12 Thread Dan Nicholson
On 6/11/12, Eric Anholt e...@anholt.net wrote:
 On Mon, 11 Jun 2012 10:02:34 -0700 (PDT), Jose Fonseca jfons...@vmware.com
 wrote:
 This breaks the SCons build, which parses src/glsl/Makefile.sources,
 and can't understand $(GLSL_SRCDIR)/ as it only supports a simple
 subset of Make syntax.

 Is there some other way to achieve this effect, without changing
 src/glsl/Makefile.sources?

 Thanks for pushing the fix -- looks fine.

 It turns out that while working on my next series of automaking, I've
 found that there's a knob to tell automake to stfu about use of gmake
 features, so this dance may not actually be required.

FYI, it's -Wall in AM_INIT_AUTOMAKE from e4c97f1e6 that's doing this.
foreign shuts off the portability warnings.

http://www.gnu.org/software/automake/manual/automake.html#automake-Invocation
http://www.gnu.org/software/automake/manual/automake.html#Strictness

Since I'm pretty sure there are quite a few parts of the build that
depend on GNU Make, I'd suggest either dropping -Wall or adding
-Wno-portability. I don't see how -Wall is helping here, though.

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


Re: [Mesa-dev] Mesa (master): automake: Add a prefix variable for libglsl sources.

2012-06-11 Thread Jose Fonseca
This breaks the SCons build, which parses src/glsl/Makefile.sources, and can't 
understand $(GLSL_SRCDIR)/ as it only supports a simple subset of Make syntax.

Is there some other way to achieve this effect, without changing 
src/glsl/Makefile.sources?

Jose

- Original Message -
 Module: Mesa
 Branch: master
 Commit: 446faee094ae6f0a4914b59a9eb87077a1f7b3c5
 URL:

 http://cgit.freedesktop.org/mesa/mesa/commit/?id=446faee094ae6f0a4914b59a9eb87077a1f7b3c5
 
 Author: Eric Anholt e...@anholt.net
 Date:   Tue May 29 14:45:10 2012 -0700
 
 automake: Add a prefix variable for libglsl sources.
 
 See e86c40a84d241b954594f5ae7df9b9c3fc797a4e for reasoning.  In the
 process I did s/:=/=/ to shut up automake about nonportable make
 syntax.
 
 ---
 
  src/glsl/Android.mk   |1 +
  src/glsl/Makefile |1 +
  src/glsl/Makefile.sources |  172
  ++--
  3 files changed, 88 insertions(+), 86 deletions(-)
 
 diff --git a/src/glsl/Android.mk b/src/glsl/Android.mk
 index cf793d6..66c8bec 100644
 --- a/src/glsl/Android.mk
 +++ b/src/glsl/Android.mk
 @@ -25,6 +25,7 @@
  
  LOCAL_PATH := $(call my-dir)
  
 +GLSL_SRCDIR = .
  include $(LOCAL_PATH)/Makefile.sources
  
  # ---
 diff --git a/src/glsl/Makefile b/src/glsl/Makefile
 index 7c80c95..2ae46d1 100644
 --- a/src/glsl/Makefile
 +++ b/src/glsl/Makefile
 @@ -7,6 +7,7 @@ include $(TOP)/configs/current
  
  LIBNAME = glsl
  
 +GLSL_SRCDIR=.
  include Makefile.sources
  
  GLCPP_SOURCES = \
 diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources
 index caa8ad5..b58de17 100644
 --- a/src/glsl/Makefile.sources
 +++ b/src/glsl/Makefile.sources
 @@ -2,92 +2,92 @@
  
  # libglcpp
  
 -LIBGLCPP_FILES := \
 - glcpp/pp.c
 +LIBGLCPP_FILES = \
 + $(GLSL_SRCDIR)/glcpp/pp.c
  
 -LIBGLCPP_GENERATED_FILES := \
 - glcpp/glcpp-lex.c \
 - glcpp/glcpp-parse.c
 +LIBGLCPP_GENERATED_FILES = \
 + $(GLSL_SRCDIR)/glcpp/glcpp-lex.c \
 + $(GLSL_SRCDIR)/glcpp/glcpp-parse.c
  
  # libglsl
  
 -LIBGLSL_FILES := \
 - strtod.c \
 - ralloc.c
 +LIBGLSL_FILES = \
 + $(GLSL_SRCDIR)/strtod.c \
 + $(GLSL_SRCDIR)/ralloc.c
  
 -LIBGLSL_CXX_FILES := \
 - ast_expr.cpp \
 - ast_function.cpp \
 - ast_to_hir.cpp \
 - ast_type.cpp \
 - builtin_variables.cpp \
 - glsl_parser_extras.cpp \
 - glsl_types.cpp \
 - glsl_symbol_table.cpp \
 - hir_field_selection.cpp \
 - ir_basic_block.cpp \
 - ir_builder.cpp \
 - ir_clone.cpp \
 - ir_constant_expression.cpp \
 - ir.cpp \
 - ir_expression_flattening.cpp \
 - ir_function_can_inline.cpp \
 - ir_function_detect_recursion.cpp \
 - ir_function.cpp \
 - ir_hierarchical_visitor.cpp \
 - ir_hv_accept.cpp \
 - ir_import_prototypes.cpp \
 - ir_print_visitor.cpp \
 - ir_reader.cpp \
 - ir_rvalue_visitor.cpp \
 - ir_set_program_inouts.cpp \
 - ir_validate.cpp \
 - ir_variable_refcount.cpp \
 - linker.cpp \
 - link_functions.cpp \
 - link_uniforms.cpp \
 - link_uniform_initializers.cpp \
 - loop_analysis.cpp \
 - loop_controls.cpp \
 - loop_unroll.cpp \
 - lower_clip_distance.cpp \
 - lower_discard.cpp \
 - lower_discard_flow.cpp \
 - lower_if_to_cond_assign.cpp \
 - lower_instructions.cpp \
 - lower_jumps.cpp \
 - lower_mat_op_to_vec.cpp \
 - lower_noise.cpp \
 - lower_texture_projection.cpp \
 - lower_variable_index_to_cond_assign.cpp \
 - lower_vec_index_to_cond_assign.cpp \
 - lower_vec_index_to_swizzle.cpp \
 - lower_vector.cpp \
 - lower_output_reads.cpp \
 - opt_algebraic.cpp \
 - opt_array_splitting.cpp \
 - opt_constant_folding.cpp \
 - opt_constant_propagation.cpp \
 - opt_constant_variable.cpp \
 - opt_copy_propagation.cpp \
 - opt_copy_propagation_elements.cpp \
 - opt_dead_code.cpp \
 - opt_dead_code_local.cpp \
 - opt_dead_functions.cpp \
 - opt_function_inlining.cpp \
 - opt_if_simplification.cpp \
 - opt_noop_swizzle.cpp \
 - opt_redundant_jumps.cpp \
 - opt_structure_splitting.cpp \
 - opt_swizzle_swizzle.cpp \
 - opt_tree_grafting.cpp \
 - s_expression.cpp
 +LIBGLSL_CXX_FILES = \
 + $(GLSL_SRCDIR)/ast_expr.cpp \
 + $(GLSL_SRCDIR)/ast_function.cpp \
 + $(GLSL_SRCDIR)/ast_to_hir.cpp \
 + $(GLSL_SRCDIR)/ast_type.cpp \
 + $(GLSL_SRCDIR)/builtin_variables.cpp \
 + $(GLSL_SRCDIR)/glsl_parser_extras.cpp \
 + $(GLSL_SRCDIR)/glsl_types.cpp \
 + $(GLSL_SRCDIR)/glsl_symbol_table.cpp \
 + $(GLSL_SRCDIR)/hir_field_selection.cpp \
 + $(GLSL_SRCDIR)/ir_basic_block.cpp \
 + $(GLSL_SRCDIR)/ir_builder.cpp \
 + $(GLSL_SRCDIR)/ir_clone.cpp \
 + $(GLSL_SRCDIR)/ir_constant_expression.cpp \
 + $(GLSL_SRCDIR)/ir.cpp \
 + $(GLSL_SRCDIR)/ir_expression_flattening.cpp \
 + $(GLSL_SRCDIR)/ir_function_can_inline.cpp \
 + 

Re: [Mesa-dev] Mesa (master): automake: Add a prefix variable for libglsl sources.

2012-06-11 Thread Jose Fonseca
- Original Message -
 This breaks the SCons build, which parses src/glsl/Makefile.sources,
 and can't understand $(GLSL_SRCDIR)/ as it only supports a simple
 subset of Make syntax.
 
 Is there some other way to achieve this effect, without changing
 src/glsl/Makefile.sources?

Actually, the scons' makefile parser handles $(GLSL_SRCDIR)/ just fine. The 
problem is merely that GLSL_SRCDIR is not defined.

The patch below would fix it, and should (hopefully) not affect automake, but 
I'm not sure.

Would this be ok?


Jose


diff --git a/scons/source_list.py b/scons/source_list.py
index 1d5166b..8111f43 100644
--- a/scons/source_list.py
+++ b/scons/source_list.py
@@ -63,7 +63,7 @@ class SourceListParser(object):
 self._error('not a variable definition')
 
 if op_pos  0:
-if line[op_pos - 1] in [':', '+']:
+if line[op_pos - 1] in [':', '+', '?']:
 op_pos -= 1
 else:
 self._error('only =, :=, and += are supported')
@@ -77,6 +77,9 @@ class SourceListParser(object):
 self.symbol_table[sym] = val
 elif op == '+=':
 self.symbol_table[sym] += ' ' + val
+elif op == '?=':
+if sym not in self.symbol_table:
+self.symbol_table[sym] = val
 
 def _parse_line(self, line):
 Parse a source list line.
diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources
index b58de17..0425fa3 100644
--- a/src/glsl/Makefile.sources
+++ b/src/glsl/Makefile.sources
@@ -1,5 +1,7 @@
 # shared source lists for Makefile, SConscript, and Android.mk
 
+GLSL_SRCDIR ?= .
+
 # libglcpp
 
 LIBGLCPP_FILES = \
diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak
index 63fbf58..608aa79 100644
--- a/src/mesa/sources.mak
+++ b/src/mesa/sources.mak
@@ -1,5 +1,7 @@
 ### Lists of source files, included by Makefiles
 
+SRCDIR ?= .
+
 # this is part of MAIN_FILES
 MAIN_ES_FILES = \
$(SRCDIR)/main/api_exec_es1.c \
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Mesa (master): automake: Add a prefix variable for libglsl sources.

2012-06-11 Thread Jose Fonseca
- Original Message -
 - Original Message -
  This breaks the SCons build, which parses
  src/glsl/Makefile.sources,
  and can't understand $(GLSL_SRCDIR)/ as it only supports a simple
  subset of Make syntax.
  
  Is there some other way to achieve this effect, without changing
  src/glsl/Makefile.sources?
 
 Actually, the scons' makefile parser handles $(GLSL_SRCDIR)/ just
 fine. The problem is merely that GLSL_SRCDIR is not defined.
 
 The patch below would fix it, and should (hopefully) not affect
 automake, but I'm not sure.
 
 Would this be ok?

I tried to build with automake and my change and it seems to work fine, so I'll 
go ahead and commit it, as all scons builds are totally busted without it.

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


Re: [Mesa-dev] Mesa (master): automake: Add a prefix variable for libglsl sources.

2012-06-11 Thread Eric Anholt
On Mon, 11 Jun 2012 10:02:34 -0700 (PDT), Jose Fonseca jfons...@vmware.com 
wrote:
 This breaks the SCons build, which parses src/glsl/Makefile.sources,
 and can't understand $(GLSL_SRCDIR)/ as it only supports a simple
 subset of Make syntax.
 
 Is there some other way to achieve this effect, without changing
 src/glsl/Makefile.sources?

Thanks for pushing the fix -- looks fine.

It turns out that while working on my next series of automaking, I've
found that there's a knob to tell automake to stfu about use of gmake
features, so this dance may not actually be required.


pgpN2wTQzO24X.pgp
Description: PGP signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] Mesa (master): automake: Add a prefix variable for libglsl sources.

2012-06-11 Thread Kenneth Graunke
On 06/11/2012 01:14 PM, Eric Anholt wrote:
 On Mon, 11 Jun 2012 10:02:34 -0700 (PDT), Jose Fonseca jfons...@vmware.com 
 wrote:
 This breaks the SCons build, which parses src/glsl/Makefile.sources,
 and can't understand $(GLSL_SRCDIR)/ as it only supports a simple
 subset of Make syntax.

 Is there some other way to achieve this effect, without changing
 src/glsl/Makefile.sources?
 
 Thanks for pushing the fix -- looks fine.

Thanks for fixing this, Jose.

 It turns out that while working on my next series of automaking, I've
 found that there's a knob to tell automake to stfu about use of gmake
 features, so this dance may not actually be required.

That sounds like a good plan to me, Eric.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev