Module: Mesa
Branch: master
Commit: cc9f609cb9175e727b91f8dffa5800818be582da
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc9f609cb9175e727b91f8dffa5800818be582da

Author: Matt Turner <[email protected]>
Date:   Mon Jan 14 16:16:00 2013 -0800

glsl/build: Don't build builtin_compiler separately if not cross compiling

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

Tested-by: Andreas Boll <[email protected]>

---

 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 e7c2340..264e9c7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1967,6 +1967,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

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to