diff options
Diffstat (limited to 'mesalib/src/glsl')
-rw-r--r-- | mesalib/src/glsl/.gitignore | 1 | ||||
-rw-r--r-- | mesalib/src/glsl/Android.mk | 2 | ||||
-rw-r--r-- | mesalib/src/glsl/Makefile.am | 48 | ||||
-rw-r--r-- | mesalib/src/glsl/SConscript | 7 | ||||
-rw-r--r-- | mesalib/src/glsl/builtin_compiler/.gitignore | 6 | ||||
-rw-r--r-- | mesalib/src/glsl/builtin_compiler/Makefile.am | 68 | ||||
-rw-r--r-- | mesalib/src/glsl/builtin_compiler/builtin_stubs.cpp (renamed from mesalib/src/glsl/builtin_stubs.cpp) | 0 |
7 files changed, 92 insertions, 40 deletions
diff --git a/mesalib/src/glsl/.gitignore b/mesalib/src/glsl/.gitignore index 5b4fc6c9c..9f6fbd69e 100644 --- a/mesalib/src/glsl/.gitignore +++ b/mesalib/src/glsl/.gitignore @@ -4,6 +4,5 @@ glsl_parser.cc glsl_parser.h
glsl_parser.output
builtin_function.cpp
-builtin_compiler
glsl_test
/Makefile
diff --git a/mesalib/src/glsl/Android.mk b/mesalib/src/glsl/Android.mk index 87a02f51b..f975d03d1 100644 --- a/mesalib/src/glsl/Android.mk +++ b/mesalib/src/glsl/Android.mk @@ -60,7 +60,7 @@ LOCAL_SRC_FILES := \ $(LIBGLCPP_FILES) \ $(LIBGLSL_FILES) \ $(LIBGLSL_CXX_FILES) \ - $(BUILTIN_COMPILER_CXX_FILES) \ + $(GLSL_SRCDIR)/builtin_compiler/builtin_stubs.cpp \ $(GLSL_COMPILER_CXX_FILES) LOCAL_C_INCLUDES := \ diff --git a/mesalib/src/glsl/Makefile.am b/mesalib/src/glsl/Makefile.am index 1ecc0036c..6fb3d2d9d 100644 --- a/mesalib/src/glsl/Makefile.am +++ b/mesalib/src/glsl/Makefile.am @@ -19,9 +19,7 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. - -# builtin_compiler is built before libglsl to generate builtin_function.cpp for libglsl. -# For this to work, a dummy version of builtin_function.cpp, builtin_stubs.cpp, is used. +SUBDIRS = builtin_compiler glcpp AM_CPPFLAGS = \ -I$(top_srcdir)/include \ @@ -38,32 +36,23 @@ AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c include Makefile.sources -noinst_LTLIBRARIES = libglslcommon.la libglsl.la -noinst_PROGRAMS = glsl_compiler glsl_test builtin_compiler +noinst_LTLIBRARIES = libglsl.la +noinst_PROGRAMS = glsl_compiler glsl_test -# common sources for builtin_compiler and libglsl -libglslcommon_la_SOURCES = \ +libglsl_la_SOURCES = \ glsl_lexer.ll \ glsl_parser.cc \ $(LIBGLSL_FILES) \ - $(LIBGLSL_CXX_FILES) - -libglslcommon_la_LIBADD = glcpp/libglcpp.la - -# common sources for builtin_compiler and glsl_compiler -GLSL2_SOURCES = \ - $(top_srcdir)/src/mesa/program/hash_table.c \ - $(top_srcdir)/src/mesa/program/symbol_table.c \ - $(GLSL_COMPILER_CXX_FILES) - -libglsl_la_SOURCES = \ + $(LIBGLSL_CXX_FILES) \ builtin_function.cpp -libglsl_la_LIBADD = libglslcommon.la +libglsl_la_LIBADD = glcpp/libglcpp.la libglsl_la_LDFLAGS = glsl_compiler_SOURCES = \ - $(GLSL2_SOURCES) + $(top_srcdir)/src/mesa/program/hash_table.c \ + $(top_srcdir)/src/mesa/program/symbol_table.c \ + $(GLSL_COMPILER_CXX_FILES) glsl_compiler_LDADD = libglsl.la @@ -76,12 +65,6 @@ glsl_test_SOURCES = \ glsl_test_LDADD = libglsl.la -builtin_compiler_SOURCES = \ - $(GLSL2_SOURCES) \ - builtin_stubs.cpp - -builtin_compiler_LDADD = libglslcommon.la - # 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 @@ -89,16 +72,11 @@ builtin_compiler_LDADD = libglslcommon.la glsl_parser.cc glsl_parser.h: glsl_parser.yy $(AM_V_GEN) $(YACC) -v -o glsl_parser.cc -p "_mesa_glsl_" --defines=glsl_parser.h $< -BUILT_SOURCES = glsl_parser.h builtin_function.cpp -CLEANFILES = glsl_lexer.cc glsl_parser.cc $(BUILT_SOURCES) - -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$(EXEEXT) - $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/builtins/tools/generate_builtins.py ./builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp - -glcpp/libglcpp.la: - cd glcpp ; $(MAKE) $(AM_MAKEFLAGS) +BUILT_SOURCES = glsl_parser.h +CLEANFILES = glsl_lexer.cc glsl_parser.cc $(BUILT_SOURCES) builtin_function.cpp -SUBDIRS = glcpp +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 # Provide compatibility with scripts for the old Mesa build system for # a while by putting a link to the library in the current directory. diff --git a/mesalib/src/glsl/SConscript b/mesalib/src/glsl/SConscript index 6314c7551..89014ee3c 100644 --- a/mesalib/src/glsl/SConscript +++ b/mesalib/src/glsl/SConscript @@ -71,9 +71,10 @@ else: compiler_objs += mesa_objs builtin_compiler = env.Program( - target = 'builtin_compiler', - source = compiler_objs + glsl_sources + \ - source_lists['BUILTIN_COMPILER_CXX_FILES'], + target = 'builtin_compiler/builtin_compiler', + source = compiler_objs + glsl_sources + [ + 'builtin_compiler/builtin_stubs.cpp', + ] ) # SCons builtin dependency scanner doesn't detect that glsl_lexer.ll diff --git a/mesalib/src/glsl/builtin_compiler/.gitignore b/mesalib/src/glsl/builtin_compiler/.gitignore new file mode 100644 index 000000000..40c551baa --- /dev/null +++ b/mesalib/src/glsl/builtin_compiler/.gitignore @@ -0,0 +1,6 @@ +builtin_compiler +glcpp-lex.c +glcpp-parse.c +glcpp-parse.h +glcpp-parse.output +/Makefile diff --git a/mesalib/src/glsl/builtin_compiler/Makefile.am b/mesalib/src/glsl/builtin_compiler/Makefile.am new file mode 100644 index 000000000..72032b524 --- /dev/null +++ b/mesalib/src/glsl/builtin_compiler/Makefile.am @@ -0,0 +1,68 @@ +# Copyright © 2012 Jon TURNEY +# Copyright © 2012 Thierry Reding +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +CC = @CC_FOR_BUILD@ +CFLAGS = @CFLAGS_FOR_BUILD@ +CPP = @CPP_FOR_BUILD@ +CPPFLAGS = @CPPFLAGS_FOR_BUILD@ +CXX = @CXX_FOR_BUILD@ +CXXFLAGS = @CXXFLAGS_FOR_BUILD@ +LD = @LD_FOR_BUILD@ +LDFLAGS = @LDFLAGS_FOR_BUILD@ + +AM_CFLAGS = \ + -I $(top_srcdir)/include \ + -I $(top_srcdir)/src/mapi \ + -I $(top_srcdir)/src/mesa \ + -I $(GLSL_SRCDIR) \ + -I $(GLSL_SRCDIR)/glcpp \ + $(DEFINES_FOR_BUILD) + +AM_CXXFLAGS = $(AM_CFLAGS) + +AM_YFLAGS = -v -d -p "glcpp_parser_" +AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c + +include ../Makefile.sources + +noinst_PROGRAMS = builtin_compiler + +builtin_compiler_SOURCES = \ + $(GLSL_SRCDIR)/glcpp/glcpp-lex.l \ + $(GLSL_SRCDIR)/glcpp/glcpp-parse.y \ + $(LIBGLCPP_FILES) \ + $(GLSL_SRCDIR)/glsl_lexer.ll \ + $(GLSL_SRCDIR)/glsl_parser.cc \ + $(LIBGLSL_FILES) \ + $(LIBGLSL_CXX_FILES) \ + $(top_srcdir)/src/mesa/program/hash_table.c \ + $(top_srcdir)/src/mesa/program/symbol_table.c \ + $(GLSL_COMPILER_CXX_FILES) \ + builtin_stubs.cpp + +BUILT_SOURCES = \ + glcpp-lex.c \ + glcpp-parse.c \ + glcpp-parse.h \ + glsl_lexer.cc + +CLEANFILES = $(BUILT_SOURCES) diff --git a/mesalib/src/glsl/builtin_stubs.cpp b/mesalib/src/glsl/builtin_compiler/builtin_stubs.cpp index dfa5d324e..dfa5d324e 100644 --- a/mesalib/src/glsl/builtin_stubs.cpp +++ b/mesalib/src/glsl/builtin_compiler/builtin_stubs.cpp |