From: Matt Turner Date: Fri, 27 Jan 2012 05:02:47 +0000 (-0500) Subject: automake: src/glsl and src/glsl/glcpp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=99476561;p=mesa.git automake: src/glsl and src/glsl/glcpp Reviewed-by: Eric Anholt Tested-by: Eric Anholt Signed-off-by: Matt Turner --- diff --git a/configure.ac b/configure.ac index 1700058338d..8af24562646 100644 --- a/configure.ac +++ b/configure.ac @@ -1921,6 +1921,8 @@ dnl Substitute the config AC_CONFIG_FILES([configs/autoconf src/gbm/Makefile src/gbm/main/gbm.pc + src/glsl/Makefile + src/glsl/glcpp/Makefile src/egl/wayland/Makefile src/egl/wayland/wayland-egl/Makefile src/egl/wayland/wayland-egl/wayland-egl.pc diff --git a/src/glsl/.gitignore b/src/glsl/.gitignore index d26839a3e3e..c692f491de6 100644 --- a/src/glsl/.gitignore +++ b/src/glsl/.gitignore @@ -1,5 +1,13 @@ +.deps +.libs +Makefile +Makefile.in +libglsl.la +libglslcore.la glsl_compiler +glsl_lexer.cc glsl_lexer.cpp +glsl_parser.cc glsl_parser.cpp glsl_parser.h glsl_parser.output diff --git a/src/glsl/Makefile b/src/glsl/Makefile deleted file mode 100644 index f6c722997e3..00000000000 --- a/src/glsl/Makefile +++ /dev/null @@ -1,172 +0,0 @@ - -#src/glsl/pp/Makefile - -TOP = ../.. - -include $(TOP)/configs/current - -LIBNAME = glsl - -include Makefile.sources - -GLCPP_SOURCES = \ - $(LIBGLCPP_GENERATED_FILES) \ - $(LIBGLCPP_FILES) \ - ralloc.c \ - glcpp/glcpp.c - -C_SOURCES = \ - $(LIBGLCPP_GENERATED_FILES) \ - $(LIBGLCPP_FILES) \ - $(LIBGLSL_FILES) - -# common sources for builtin_compiler and libglsl -CXX_SOURCES = \ - $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \ - $(LIBGLSL_CXX_FILES) - -LIBS = \ - $(TOP)/src/glsl/libglsl.a - -APPS = glsl_compiler glsl_test glcpp/glcpp - -GLSL2_C_SOURCES = \ - ../mesa/program/hash_table.c \ - ../mesa/program/symbol_table.c -GLSL2_CXX_SOURCES = \ - $(GLSL_COMPILER_CXX_FILES) - -GLSL2_OBJECTS = \ - $(GLSL2_C_SOURCES:.c=.o) \ - $(GLSL2_CXX_SOURCES:.cpp=.o) - -TEST_C_SOURCES = \ - ../mesa/program/hash_table.c \ - ../mesa/program/symbol_table.c - -TEST_CXX_SOURCES = \ - standalone_scaffolding.cpp \ - test.cpp \ - test_optpass.cpp - -TEST_OBJECTS = \ - $(TEST_C_SOURCES:.c=.o) \ - $(TEST_CXX_SOURCES:.cpp=.o) - -### Basic defines ### - -DEFINES += \ - $(LIBRARY_DEFINES) \ - $(API_DEFINES) - -GLCPP_OBJECTS = \ - $(GLCPP_SOURCES:.c=.o) \ - ../mesa/program/hash_table.o - -OBJECTS = \ - $(C_SOURCES:.c=.o) \ - $(CXX_SOURCES:.cpp=.o) - -DRICORE_OBJ_DIR = obj-visible -OBJECTS_DRICORE = $(addprefix $(DRICORE_OBJ_DIR)/,$(OBJECTS)) - -INCLUDES = \ - -I. \ - -I../mesa \ - -I../mapi \ - -I../../include \ - $(LIBRARY_INCLUDES) - -ALL_SOURCES = \ - $(C_SOURCES) \ - $(CXX_SOURCES) \ - $(GLSL2_CXX_SOURCES) \ - $(GLSL2_C_SOURCES) \ - $(TEST_CXX_SOURCES) \ - $(TEST_C_SOURCES) - -##### TARGETS ##### - -default: depend lib$(LIBNAME).a $(APPS) $(DRICORE_GLSL_LIBS) - -$(TOP)/$(LIB_DIR)/libglsl.so: $(OBJECTS_DRICORE) builtin_function.o Makefile $(TOP)/src/glsl/Makefile.template - $(MKLIB) -o $@ -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ - -cplusplus -noprefix \ - -install $(TOP)/$(LIB_DIR) -id $(INSTALL_LIB_DIR)/$@.dylib \ - $(OBJECTS_DRICORE) builtin_function.o - -lib$(LIBNAME).a: $(OBJECTS) builtin_function.o Makefile $(TOP)/src/glsl/Makefile.template - $(MKLIB) -cplusplus -o $(LIBNAME) -static $(OBJECTS) builtin_function.o - -depend: $(ALL_SOURCES) Makefile - rm -f depend - touch depend - $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(ALL_SOURCES) 2> /dev/null - $(MKDEP) $(MKDEP_OPTIONS) -a -p $(DRICORE_OBJ_DIR)/ $(INCLUDES) $(ALL_SOURCES) 2> /dev/null - -# Remove .o and backup files -clean: clean-dricore - rm -f $(GLCPP_OBJECTS) $(GLSL2_OBJECTS) $(TEST_OBJECTS) $(OBJECTS) lib$(LIBNAME).a depend depend.bak builtin_function.cpp builtin_function.o builtin_stubs.o builtin_compiler - -rm -f $(APPS) - -clean-dricore: - -rm -f $(OBJECTS_DRICORE) $(TOP)/$(LIB_DIR)/libglsl.so libglsl.so - -ifneq (,$(DRICORE_GLSL_LIBS)) -DRICORE_INSTALL_TARGET = install-dricore -endif - -# Dummy target -install: $(DRICORE_INSTALL_TARGET) - @echo -n "" - -install-dricore: default - $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) - $(INSTALL) -m 755 $(DRICORE_GLSL_LIBS) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) - -##### RULES ##### - -glsl_compiler: $(GLSL2_OBJECTS) libglsl.a - $(APP_CXX) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(GLSL2_OBJECTS) $(LIBS) -o $@ - -glsl_test: $(TEST_OBJECTS) libglsl.a - $(APP_CXX) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(TEST_OBJECTS) $(LIBS) -o $@ - -glcpp: glcpp/glcpp -glcpp/glcpp: $(GLCPP_OBJECTS) - $(APP_CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(GLCPP_OBJECTS) -o $@ - -.cpp.o: - $(CXX) -c $(INCLUDES) $(CXXFLAGS) $(DEFINES) $< -o $@ - -.c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@ - -$(DRICORE_OBJ_DIR)/%.o : %.cpp - @mkdir -p $(dir $@) - $(CXX) -c $(INCLUDES) $(DRI_CXXFLAGS) $(DEFINES) $< -o $@ - -$(DRICORE_OBJ_DIR)/%.o : %.c - @mkdir -p $(dir $@) - $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DEFINES) $< -o $@ - -glsl_lexer.cpp: glsl_lexer.ll - $(FLEX) --nounistd -o$@ $< - -glsl_parser.cpp: glsl_parser.yy - $(BISON) -v -o "$@" -p "_mesa_glsl_" --defines=glsl_parser.h $< - -glcpp/glcpp-lex.c: glcpp/glcpp-lex.l - $(FLEX) --nounistd -o$@ $< - -glcpp/glcpp-parse.c: glcpp/glcpp-parse.y - $(BISON) -v -o "$@" --defines=glcpp/glcpp-parse.h $< - -builtin_compiler: $(GLSL2_OBJECTS) $(OBJECTS) builtin_stubs.o - $(APP_CXX) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(GLSL2_OBJECTS) builtin_stubs.o -o $@ - -builtin_function.cpp: builtins/profiles/* builtins/ir/* builtins/tools/generate_builtins.py builtins/tools/texture_builtins.py builtin_compiler - @echo Regenerating builtin_function.cpp... - $(PYTHON2) $(PYTHON_FLAGS) builtins/tools/generate_builtins.py ./builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp - --include depend diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am new file mode 100644 index 00000000000..955556b64a3 --- /dev/null +++ b/src/glsl/Makefile.am @@ -0,0 +1,81 @@ + + +# Copyright © 2012 Matt Turner +# +# 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. + +include Makefile.sources + +SUBDIRS = glcpp + +noinst_LTLIBRARIES = libglslcore.la +lib_LTLIBRARIES = libglsl.la +check_PROGRAMS = glsl_test +noinst_PROGRAMS = builtin_compiler +bin_PROGRAMS = glsl_compiler + +AM_CPPFLAGS = \ + $(DEFINES) \ + -I$(top_srcdir)/src/mesa \ + -I$(top_srcdir)/src/mapi \ + -I$(top_srcdir)/include + +BUILT_SOURCES = glsl_parser.h +AM_YFLAGS = -d -p "_mesa_glsl_" +AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c + +libglslcore_la_SOURCES = \ + strtod.c \ + glsl_lexer.ll \ + glsl_parser.yy \ + $(LIBGLSL_CXX_FILES) +libglslcore_la_LIBADD = glcpp/libglcpp.la + +builtin_compiler_SOURCES = \ + builtin_stubs.cpp \ + main.cpp \ + standalone_scaffolding.cpp \ + ../mesa/program/symbol_table.c +builtin_compiler_LDADD = libglslcore.la + +libglsl_la_SOURCES = builtin_function.cpp +libglsl_la_LIBADD = libglslcore.la +libglsl_la_LDFLAGS = -avoid-version + +glsl_compiler_SOURCES = \ + main.cpp \ + standalone_scaffolding.cpp \ + ../mesa/program/symbol_table.c +glsl_compiler_LDADD = libglsl.la + +glsl_test_SOURCES = \ + test.cpp \ + test_optpass.cpp \ + standalone_scaffolding.cpp \ + ../mesa/program/symbol_table.c +glsl_test_LDADD = libglsl.la + +builtin_function.cpp: builtin_compiler + $(PYTHON2) $(PYTHON_FLAGS) $(top_srcdir)/src/glsl/builtins/tools/generate_builtins.py ./builtin_compiler > builtin_function.cpp || rm -f builtin_function.cpp + +if BUILD_SHARED +all-local: libglsl.la + ln -f .libs/libglsl.so $(top_builddir)/$(LIB_DIR)/libglsl.so; +endif diff --git a/src/glsl/glcpp/.gitignore b/src/glsl/glcpp/.gitignore index fb0be2065b4..4a14d48cde4 100644 --- a/src/glsl/glcpp/.gitignore +++ b/src/glsl/glcpp/.gitignore @@ -1,3 +1,5 @@ +Makefile +Makefile.in glcpp glcpp-lex.c glcpp-parse.output @@ -6,6 +8,7 @@ glcpp-parse.h *.o *.lo *.la +.deps .libs *~ tests/*.out diff --git a/src/glsl/glcpp/Makefile.am b/src/glsl/glcpp/Makefile.am new file mode 100644 index 00000000000..198908c6f2a --- /dev/null +++ b/src/glsl/glcpp/Makefile.am @@ -0,0 +1,44 @@ + + +# Copyright © 2012 Matt Turner +# +# 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. + +noinst_LTLIBRARIES = libglcpp.la +check_PROGRAMS = glcpp + +AM_CPPFLAGS = \ + -I$(top_srcdir)/src/mesa \ + -I$(top_srcdir)/src/mapi \ + -I$(top_srcdir)/include + +BUILT_SOURCES = glcpp-parse.h +AM_YFLAGS = -d +AM_LFLAGS = --nounistd -o$(LEX_OUTPUT_ROOT).c + +libglcpp_la_SOURCES = \ + glcpp-lex.l \ + glcpp-parse.y \ + pp.c \ + ../../mesa/program/hash_table.c \ + ../ralloc.c + +glcpp_SOURCES = glcpp.c +glcpp_LDADD = libglcpp.la diff --git a/src/mesa/drivers/osmesa/Makefile.am b/src/mesa/drivers/osmesa/Makefile.am index 514e95d0013..e765d02e7c6 100644 --- a/src/mesa/drivers/osmesa/Makefile.am +++ b/src/mesa/drivers/osmesa/Makefile.am @@ -36,7 +36,7 @@ AM_CPPFLAGS = \ LIBADD = \ $(top_srcdir)/src/mesa/libmesa.a \ $(top_srcdir)/src/mapi/glapi/libglapi.a \ - $(top_srcdir)/src/glsl/libglsl.a \ + $(top_srcdir)/src/glsl/libglsl.la \ $(OSMESA_LIB_DEPS) if BUILD_SHARED diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak index b57a10e4d1c..07688906faa 100644 --- a/src/mesa/sources.mak +++ b/src/mesa/sources.mak @@ -368,7 +368,7 @@ COMMON_DRIVER_OBJECTS = $(COMMON_DRIVER_SOURCES:.c=.o) ### Other archives/libraries GLSL_LIBS = \ - $(TOP)/src/glsl/libglsl.a + $(TOP)/src/glsl/libglsl.la ### Include directories