From 279efce8bb7b6c802eb6c1de46971153ff6fdedb Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 29 May 2012 14:55:40 -0700 Subject: [PATCH] automake: Merge the dricore libglsl build into libdricore. Now we have just one library of "all of Mesa core" instead of both libdricore and libglsl that drivers link against. I did this change in a sort of nonrecursive make fashion: the generated files are still produced in the non-automake build, like the rest of dricore, but the GLSL files are stuffed into libdricore without building a convenience library in src/glsl (even though we could now). This would make a bit more sense if glsl was just another dir under src/mesa, because right now I had to contort the prefix variable name to look another ../ level up. --- configs/autoconf.in | 1 - configure.ac | 8 +++----- src/glsl/Makefile | 35 +++------------------------------ src/mesa/libdricore/Makefile.am | 10 +++++++++- 4 files changed, 15 insertions(+), 39 deletions(-) diff --git a/configs/autoconf.in b/configs/autoconf.in index ce02ae6ebc1..48f4504a234 100644 --- a/configs/autoconf.in +++ b/configs/autoconf.in @@ -125,7 +125,6 @@ GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drive # Driver specific build vars DRI_DIRS = @DRI_DIRS@ -DRICORE_GLSL_LIBS = @DRICORE_GLSL_LIBS@ DRICORE_LIBS = @DRICORE_LIBS@ DRICORE_LIB_DEPS = @DRICORE_LIB_DEPS@ EGL_PLATFORMS = @EGL_PLATFORMS@ diff --git a/configure.ac b/configure.ac index 2e614d544ea..4f346ef5ad4 100644 --- a/configure.ac +++ b/configure.ac @@ -1081,18 +1081,16 @@ DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.a' MESA_MODULES='$(TOP)/src/mesa/libmesa.a' if test "x$enable_dri" = xyes && test "x$driglx_direct" = xyes ; then - DRICORE_GLSL_LIBS='$(TOP)/$(LIB_DIR)/libglsl.so' DRICORE_LIBS='$(TOP)/$(LIB_DIR)/libdricore.so' - DRICORE_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -lglsl' - DRI_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore -lglsl' + DRICORE_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR)' + DRI_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore' DRI_CFLAGS='$(CFLAGS_NOVISIBILITY) -DUSE_DRICORE' DRI_CXXFLAGS='$(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE' - MESA_MODULES='$(DRICORE_LIBS) $(DRICORE_GLSL_LIBS)' + MESA_MODULES='$(DRICORE_LIBS)' HAVE_DRICORE=yes fi AM_CONDITIONAL(HAVE_DRICORE, test x$HAVE_DRICORE = xyes) AC_SUBST([DRICORE_LIBS]) -AC_SUBST([DRICORE_GLSL_LIBS]) AC_SUBST([DRICORE_LIB_DEPS]) AC_SUBST([DRI_CXXFLAGS]) AC_SUBST([DRI_CFLAGS]) diff --git a/src/glsl/Makefile b/src/glsl/Makefile index 2ae46d1f7c9..3cf9fc962e2 100644 --- a/src/glsl/Makefile +++ b/src/glsl/Makefile @@ -68,9 +68,6 @@ 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 \ @@ -88,13 +85,7 @@ ALL_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 +default: depend lib$(LIBNAME).a $(APPS) lib$(LIBNAME).a: $(OBJECTS) builtin_function.o Makefile $(TOP)/src/glsl/Makefile.template $(MKLIB) -cplusplus -o $(LIBNAME) -static $(OBJECTS) builtin_function.o @@ -103,28 +94,16 @@ 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 +clean: 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) +install: @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 @@ -143,14 +122,6 @@ glcpp/glcpp: $(GLCPP_OBJECTS) .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$@ $< diff --git a/src/mesa/libdricore/Makefile.am b/src/mesa/libdricore/Makefile.am index 6fc4bbe80f7..729ddd7c33b 100644 --- a/src/mesa/libdricore/Makefile.am +++ b/src/mesa/libdricore/Makefile.am @@ -22,6 +22,8 @@ TOP=$(top_srcdir) SRCDIR = $(srcdir)/.. include ../sources.mak +GLSL_SRCDIR = $(srcdir)/../../glsl +include ../../glsl/Makefile.sources noinst_PROGRAMS = @@ -38,7 +40,13 @@ AM_CCASFLAGS = $(CFLAGS_NOVISIBILITY) $(ASM_FLAGS) -DUSE_DRICORE libdricore_la_SOURCES = \ $(MESA_FILES) \ - $(MESA_CXX_FILES) + $(MESA_CXX_FILES) \ + $(LIBGLCPP_GENERATED_FILES) \ + $(LIBGLCPP_FILES) \ + $(LIBGLSL_FILES) \ + $(LIBGLSL_CXX_FILES) \ + $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \ + $(top_srcdir)/src/glsl/builtin_function.cpp libdricore_la_LDFLAGS = -module -avoid-version -shared libdricore_la_LIBADD = libdricore-asm.la -- 2.30.2