Re: [Mesa-dev] Mesa (master): automake: Add a prefix variable for libglsl sources.
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.
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.
- 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.
- 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.
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.
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