mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2025-02-22 11:12:07 +00:00
Fix building glsl when using automake-1.12 after 68e04cc6
Commit 68e04cc6 was tested using automake-1.11. Unfortunately, automake-1.12 made a "slightly backward-incompatible change" in the use of yacc with C++, and for a .yy file, the generated header file is now named .hh, not .h To work with both, write our own rule for running yacc, which generates a header file named .h, rather than using automake's rule. Also, remove things from BUILD_SOURCES which don't need to be there Also, update EXCLUDE rules in doxygen/glsl.doxy, for change of generated files from .cpp -> .cc, and glsl_lexer.h has never existed. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
This commit is contained in:
parent
bc6bff7947
commit
81de0431d6
@ -11,9 +11,8 @@ PROJECT_NAME = "Mesa GLSL module"
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ../src/glsl/
|
||||
RECURSIVE = NO
|
||||
EXCLUDE = ../src/glsl/glsl_lexer.cpp \
|
||||
../src/glsl/glsl_lexer.h \
|
||||
../src/glsl/glsl_parser.cpp \
|
||||
EXCLUDE = ../src/glsl/glsl_lexer.cc \
|
||||
../src/glsl/glsl_parser.cc \
|
||||
../src/glsl/glsl_parser.h
|
||||
EXCLUDE_PATTERNS =
|
||||
#---------------------------------------------------------------------------
|
||||
|
@ -37,7 +37,6 @@ AM_CFLAGS = \
|
||||
|
||||
AM_CXXFLAGS = $(AM_CFLAGS)
|
||||
|
||||
AM_YFLAGS = -v -d -p "_mesa_glsl_"
|
||||
AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c
|
||||
|
||||
GLSL_SRCDIR=$(top_srcdir)/src/glsl
|
||||
@ -49,7 +48,7 @@ noinst_PROGRAMS = glsl_compiler glsl_test builtin_compiler
|
||||
# common sources for builtin_compiler and libglsl
|
||||
libglslcommon_la_SOURCES = \
|
||||
glsl_lexer.ll \
|
||||
glsl_parser.yy \
|
||||
glsl_parser.cc \
|
||||
$(LIBGLSL_FILES) \
|
||||
$(LIBGLSL_CXX_FILES)
|
||||
|
||||
@ -87,8 +86,15 @@ builtin_compiler_SOURCES = \
|
||||
|
||||
builtin_compiler_LDADD = libglslcommon.la
|
||||
|
||||
BUILT_SOURCES = glsl_lexer.cc glsl_parser.cc glsl_parser.h builtin_function.cpp
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
# 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
|
||||
# the automake rule.
|
||||
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: builtins/profiles/* builtins/ir/* builtins/glsl/* builtins/tools/generate_builtins.py builtins/tools/texture_builtins.py builtin_compiler$(EXEEXT)
|
||||
$(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) builtins/tools/generate_builtins.py ./builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp
|
||||
|
Loading…
x
Reference in New Issue
Block a user