[Mesa-dev] [PATCH 5/7] glsl/build: Don't build builtin_compiler separately if not cross compiling

Matt Turner mattst88 at gmail.com
Wed Jan 16 15:14:14 PST 2013


Reduces the number of times that src/glsl/ is compiled when not cross
compiling.

Cc: Thierry Reding <thierry.reding at avionic-design.de>
---
 configure.ac         |    2 ++
 src/glsl/.gitignore  |    1 +
 src/glsl/Makefile.am |   29 +++++++++++++++++++++++++++--
 3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 99a08fd..5dd9a80 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1970,6 +1970,8 @@ AM_CONDITIONAL(HAVE_X86_ASM, echo "$DEFINES" | grep 'X86_ASM' >/dev/null 2>&1)
 AM_CONDITIONAL(HAVE_X86_64_ASM, echo "$DEFINES" | grep 'X86_64_ASM' >/dev/null 2>&1)
 AM_CONDITIONAL(HAVE_SPARC_ASM, echo "$DEFINES" | grep 'SPARC_ASM' >/dev/null 2>&1)
 
+AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
+
 AC_SUBST([VDPAU_MAJOR], 1)
 AC_SUBST([VDPAU_MINOR], 0)
 
diff --git a/src/glsl/.gitignore b/src/glsl/.gitignore
index 4eb4fef..a04df27 100644
--- a/src/glsl/.gitignore
+++ b/src/glsl/.gitignore
@@ -4,4 +4,5 @@ glsl_parser.cc
 glsl_parser.h
 glsl_parser.output
 builtin_function.cpp
+builtincompiler
 glsl_test
diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
index fa09c5e..07fcf96 100644
--- a/src/glsl/Makefile.am
+++ b/src/glsl/Makefile.am
@@ -19,7 +19,11 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
+if CROSS_COMPILING
 SUBDIRS = builtin_compiler glcpp
+else
+SUBDIRS = glcpp
+endif
 
 AM_CPPFLAGS = \
 	-I$(top_srcdir)/include \
@@ -56,6 +60,27 @@ glsl_test_SOURCES = \
 
 glsl_test_LDADD = libglsl.la
 
+if CROSS_COMPILING
+BUILTIN_COMPILER = builtin_compiler/builtin_compiler$(BUILD_EXEEXT)
+else
+BUILTIN_COMPILER = builtincompiler$(BUILD_EXEEXT)
+
+noinst_PROGRAMS = builtincompiler
+noinst_LTLIBRARIES += libglslcore.la
+
+libglslcore_la_SOURCES =				\
+	glsl_lexer.ll					\
+	glsl_parser.cc					\
+	$(LIBGLSL_FILES)
+builtincompiler_SOURCES = \
+	$(top_srcdir)/src/mesa/main/hash_table.c	\
+	$(top_srcdir)/src/mesa/program/prog_hash_table.c\
+	$(top_srcdir)/src/mesa/program/symbol_table.c	\
+	$(top_srcdir)/src/glsl/builtin_compiler/builtin_stubs.cpp \
+	$(GLSL_COMPILER_CXX_FILES)
+builtincompiler_LDADD = libglslcore.la glcpp/libglcpp.la
+endif
+
 # automake <=1.11 and automake >=1.12 have different conventions for naming C++ header files
 # made by yacc.  To work with both, we write our own rule rather than using automake's.
 # When (if) we require automake >=1.12 in configure.ac, this can be removed, and we can use
@@ -66,5 +91,5 @@ glsl_parser.cc glsl_parser.h: glsl_parser.yy
 BUILT_SOURCES = glsl_parser.h
 CLEANFILES = glsl_lexer.cc glsl_parser.cc $(BUILT_SOURCES) builtin_function.cpp
 
-builtin_function.cpp: $(srcdir)/builtins/profiles/* $(srcdir)/builtins/ir/* $(srcdir)/builtins/glsl/* $(srcdir)/builtins/tools/generate_builtins.py $(srcdir)/builtins/tools/texture_builtins.py builtin_compiler/builtin_compiler$(BUILD_EXEEXT)
-	$(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/builtins/tools/generate_builtins.py builtin_compiler/builtin_compiler$(BUILD_EXEEXT) > builtin_function.cpp || rm -f builtin_function.cpp
+builtin_function.cpp: $(srcdir)/builtins/profiles/* $(srcdir)/builtins/ir/* $(srcdir)/builtins/glsl/* $(srcdir)/builtins/tools/generate_builtins.py $(srcdir)/builtins/tools/texture_builtins.py $(BUILTIN_COMPILER)
+	$(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/builtins/tools/generate_builtins.py $(builddir)/$(BUILTIN_COMPILER) > builtin_function.cpp || rm -f builtin_function.cpp
-- 
1.7.8.6



More information about the mesa-dev mailing list