automake: Merge the dricore libglsl build into libdricore.
authorEric Anholt <eric@anholt.net>
Tue, 29 May 2012 21:55:40 +0000 (14:55 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 11 Jun 2012 16:28:00 +0000 (09:28 -0700)
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
configure.ac
src/glsl/Makefile
src/mesa/libdricore/Makefile.am

index ce02ae6ebc189c65bb48ae9532c6b04d21555a3f..48f4504a2349ee21b3f5493e6e97e3ba7fb79365 100644 (file)
@@ -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@
index 2e614d544eac524bcc59b000e3957dd738569272..4f346ef5ad42a9c2adce054c24e9c77a45083456 100644 (file)
@@ -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])
index 2ae46d1f7c99b75d74d3e949122e14304bfc8621..3cf9fc962e2630551eb3c1a8c92e41e62d8a7433 100644 (file)
@@ -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$@  $<
 
index 6fc4bbe80f7808f9d71e3043733e2782fd45d9bc..729ddd7c33b423d6029a0a7a6cdc3552c19cb506 100644 (file)
@@ -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