summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--src/glsl/.gitignore1
-rw-r--r--src/glsl/Makefile.am29
3 files changed, 30 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index e7c234016db..264e9c7cbd1 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 4eb4fef9bb8..a04df27f50b 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 fa09c5e508f..07fcf964883 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