automake: src/glsl and src/glsl/glcpp
authorMatt Turner <mattst88@gmail.com>
Fri, 27 Jan 2012 05:02:47 +0000 (00:02 -0500)
committerMatt Turner <mattst88@gmail.com>
Tue, 31 Jan 2012 02:09:38 +0000 (21:09 -0500)
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Matt Turner <mattst88@gmail.com>
configure.ac
src/glsl/.gitignore
src/glsl/Makefile [deleted file]
src/glsl/Makefile.am [new file with mode: 0644]
src/glsl/glcpp/.gitignore
src/glsl/glcpp/Makefile.am [new file with mode: 0644]
src/mesa/drivers/osmesa/Makefile.am
src/mesa/sources.mak

index 1700058..8af2456 100644 (file)
@@ -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
index d26839a..c692f49 100644 (file)
@@ -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 (file)
index f6c7229..0000000
+++ /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 (file)
index 0000000..955556b
--- /dev/null
@@ -0,0 +1,81 @@
+
+
+# Copyright © 2012 Matt Turner <mattst88@gmail.com>
+#
+# 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
index fb0be20..4a14d48 100644 (file)
@@ -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 (file)
index 0000000..198908c
--- /dev/null
@@ -0,0 +1,44 @@
+
+
+# Copyright © 2012 Matt Turner <mattst88@gmail.com>
+#
+# 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
index 514e95d..e765d02 100644 (file)
@@ -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
index b57a10e..0768890 100644 (file)
@@ -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