--- a/configs/autoconf.in 2011-03-30 10:41:24.263737048 +0300 +++ b/configs/autoconf.in 2011-03-30 11:29:07.205788694 +0300 @@ -26,6 +26,8 @@ EXTRA_LIB_PATH = @EXTRA_LIB_PATH@ RADEON_CFLAGS = @RADEON_CFLAGS@ RADEON_LDFLAGS = @RADEON_LDFLAGS@ +NOUVEAU_CFLAGS = @NOUVEAU_CFLAGS@ +NOUVEAU_LIBS = @NOUVEAU_LIBS@ INTEL_LIBS = @INTEL_LIBS@ INTEL_CFLAGS = @INTEL_CFLAGS@ X11_LIBS = @X11_LIBS@ --- a/configs/linux-dri 2011-03-30 10:41:24.528743905 +0300 +++ b/configs/linux-dri 2011-03-30 11:29:07.210788778 +0300 @@ -63,11 +63,16 @@ GALLIUM_TARGET_DIRS = GALLIUM_STATE_TRACKERS_DIRS = egl -DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon \ +DRI_DIRS = i810 i915 i965 mach64 mga nouveau r128 r200 r300 radeon \ savage sis tdfx unichrome swrast -INTEL_LIBS = `pkg-config --libs libdrm_intel` -INTEL_CFLAGS = `pkg-config --cflags libdrm_intel` +INTEL_LIBS = $(shell pkg-config --libs libdrm_intel) +INTEL_CFLAGS = $(shell pkg-config --cflags libdrm_intel) -RADEON_LIBS = `pkg-config --libs libdrm_radeon` -RADEON_CFLAGS = `pkg-config --cflags libdrm_radeon` +NOUVEAU_LIBS = $(shell shell pkg-config libdrm_nouveau --libs) +NOUVEAU_CFLAGS = $(shell shell pkg-config libdrm_nouveau --cflags) + +LIBDRM_RADEON_LIBS = $(shell pkg-config --libs libdrm_radeon) +LIBDRM_RADEON_CFLAGS = $(shell pkg-config --cflags libdrm_radeon) +RADEON_CFLAGS = -DHAVE_LIBDRM_RADEON=1 $(LIBDRM_RADEON_CFLAGS) +RADEON_LDFLAGS = $(LIBDRM_RADEON_LIBS) --- a/configure.ac 2011-03-30 10:41:24.891753298 +0300 +++ b/configure.ac 2011-03-30 11:29:07.227789057 +0300 @@ -20,6 +20,7 @@ dnl Versions for external dependencies LIBDRM_REQUIRED=2.4.24 LIBDRM_RADEON_REQUIRED=2.4.24 +LIBDRM_NOUVEAU_REQUIRED=0.6 LIBDRM_INTEL_REQUIRED=2.4.24 DRI2PROTO_REQUIRED=2.1 GLPROTO_REQUIRED=1.4.11 @@ -963,7 +964,7 @@ # the new interface. i810 are missing because there is no # x86-64 system where they could *ever* be used. if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 r600 radeon \ + DRI_DIRS="i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \ savage tdfx unichrome swrast" fi ;; @@ -991,8 +992,8 @@ fi if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon tdfx \ - unichrome savage sis swrast" + DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \ + tdfx unichrome savage sis swrast" fi ;; gnu*) @@ -1010,7 +1011,7 @@ # default drivers if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \ + DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \ savage sis tdfx unichrome swrast" fi @@ -1046,6 +1047,12 @@ ;; esac +case $DRI_DIRS in +*nouveau*) + PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED]) + ;; +esac + case $DRI_DIRS in *radeon*|*r200*|*r300*|*r600*) if test "x$HAVE_LIBDRM_RADEON" = xyes; then --- a/src/mesa/drivers/dri/i810/Makefile 2011-03-30 10:41:44.451258885 +0300 +++ b/src/mesa/drivers/dri/i810/Makefile 2011-03-30 11:05:59.671795827 +0300 @@ -5,6 +5,8 @@ LIBNAME = i810_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ i810context.c \ i810ioctl.c \ @@ -24,5 +26,5 @@ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/i915/Makefile 2011-03-30 10:41:44.546261339 +0300 +++ b/src/mesa/drivers/dri/i915/Makefile 2011-03-30 11:06:49.321625458 +0300 @@ -4,6 +4,8 @@ LIBNAME = i915_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ i830_context.c \ i830_state.c \ @@ -60,10 +62,10 @@ $(shell pkg-config libdrm --atleast-version=2.3.1 \ && echo "-DDRM_VBLANK_FLIP=DRM_VBLANK_FLIP") -INCLUDES += $(INTEL_CFLAGS) +INCLUDES += $(INTEL_CFLAGS) DRI_LIB_DEPS += $(INTEL_LIBS) -include ../Makefile.template +include ../Makefile.targets intel_decode.o: ../intel/intel_decode.c --- a/src/mesa/drivers/dri/i965/Makefile 2011-03-30 10:41:44.748266556 +0300 +++ b/src/mesa/drivers/dri/i965/Makefile 2011-03-30 11:07:23.056188825 +0300 @@ -4,6 +4,8 @@ LIBNAME = i965_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ intel_batchbuffer.c \ intel_blit.c \ @@ -115,10 +117,10 @@ DRIVER_DEFINES = -I../intel -INCLUDES += $(INTEL_CFLAGS) +INCLUDES += $(INTEL_CFLAGS) DRI_LIB_DEPS += $(INTEL_LIBS) -include ../Makefile.template +include ../Makefile.targets intel_decode.o: ../intel/intel_decode.c intel_tex_layout.o: ../intel/intel_tex_layout.c --- a/src/mesa/drivers/dri/mach64/Makefile 2011-03-30 10:41:46.150302759 +0300 +++ b/src/mesa/drivers/dri/mach64/Makefile 2011-03-30 11:07:54.529714200 +0300 @@ -5,6 +5,8 @@ LIBNAME = mach64_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ mach64_context.c \ mach64_ioctl.c \ @@ -25,5 +27,5 @@ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets --- +++ b/src/mesa/drivers/dri/Makefile.defines 2011-03-30 10:57:52.000000000 +0300 @@ -0,0 +1,34 @@ +# -*-makefile-*- + +COMMON_GALLIUM_SOURCES = \ + ../common/utils.c \ + ../common/vblank.c \ + ../common/dri_util.c \ + ../common/xmlconfig.c + +COMMON_SOURCES = $(COMMON_GALLIUM_SOURCES) \ + ../../common/driverfuncs.c \ + ../common/texmem.c \ + ../common/drirenderbuffer.c + +INCLUDES = $(SHARED_INCLUDES) $(EXPAT_INCLUDES) + +OBJECTS = $(C_SOURCES:.c=.o) \ + $(CXX_SOURCES:.cpp=.o) \ + $(ASM_SOURCES:.S=.o) + + +### Include directories +SHARED_INCLUDES = \ + -I. \ + -I$(TOP)/src/mesa/drivers/dri/common \ + -Iserver \ + -I$(TOP)/include \ + -I$(TOP)/src/mapi \ + -I$(TOP)/src/mesa \ + -I$(TOP)/src/egl/main \ + -I$(TOP)/src/egl/drivers/dri \ + $(LIBDRM_CFLAGS) + +INCLUDES += $(API_DEFINES) +CXXFLAGS += $(API_DEFINES) --- +++ b/src/mesa/drivers/dri/Makefile.targets 2011-03-30 10:58:05.000000000 +0300 @@ -0,0 +1,78 @@ +# -*-makefile-*- + +##### RULES ##### + +.c.o: + $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DRIVER_DEFINES) $< -o $@ + +.cpp.o: + $(CC) -c $(INCLUDES) $(DRI_CXXFLAGS) $(DRIVER_DEFINES) $< -o $@ + +.S.o: + $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DRIVER_DEFINES) $< -o $@ + + +##### TARGETS ##### + +default: subdirs lib + + +.PHONY: lib +lib: symlinks subdirs depend + @$(MAKE) $(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME) + +$(LIBNAME): $(OBJECTS) $(EXTRA_MODULES) $(MESA_MODULES) Makefile \ + $(TOP)/src/mesa/drivers/dri/Makefile.template $(TOP)/src/mesa/drivers/dri/common/dri_test.o + $(MKLIB) -o $@.tmp -noprefix -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ + $(OBJECTS) $(EXTRA_MODULES) $(DRI_LIB_DEPS) + $(CXX) $(CFLAGS) -o $@.test $(TOP)/src/mesa/drivers/dri/common/dri_test.o $@.tmp $(DRI_LIB_DEPS) + @rm -f $@.test + mv -f $@.tmp $@ + + +$(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME) + $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR) + + +# If the Makefile defined SUBDIRS, run make in each +.PHONY: subdirs +subdirs: + @if test -n "$(SUBDIRS)" ; then \ + for dir in $(SUBDIRS) ; do \ + if [ -d $$dir ] ; then \ + (cd $$dir && $(MAKE)) || exit 1; \ + fi \ + done \ + fi + + +.PHONY: symlinks +symlinks: + + +depend: $(C_SOURCES) $(CXX_SOURCES) $(ASM_SOURCES) $(SYMLINKS) + @ echo "running $(MKDEP)" + @ rm -f depend + @ touch depend + @ $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) \ + $(C_SOURCES) $(CXX_SOURCES) \ + $(ASM_SOURCES) > /dev/null 2>/dev/null + + +# Emacs tags +tags: + etags `find . -name \*.[ch]` `find ../include` + + +# Remove .o and backup files +clean: + -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS) + -rm -f depend depend.bak + + +install: $(LIBNAME) + $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) + $(MINSTALL) -m 755 $(LIBNAME) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) + + +-include depend --- a/src/mesa/drivers/dri/Makefile.template 2011-03-30 10:41:44.380257052 +0300 +++ @@ -1,111 +0,0 @@ -# -*-makefile-*- - -COMMON_GALLIUM_SOURCES = \ - ../common/utils.c \ - ../common/vblank.c \ - ../common/dri_util.c \ - ../common/xmlconfig.c - -COMMON_SOURCES = $(COMMON_GALLIUM_SOURCES) \ - ../../common/driverfuncs.c \ - ../common/texmem.c \ - ../common/drirenderbuffer.c - -INCLUDES = $(SHARED_INCLUDES) $(EXPAT_INCLUDES) - -OBJECTS = $(C_SOURCES:.c=.o) \ - $(CXX_SOURCES:.cpp=.o) \ - $(ASM_SOURCES:.S=.o) - - -### Include directories -SHARED_INCLUDES = \ - -I. \ - -I$(TOP)/src/mesa/drivers/dri/common \ - -Iserver \ - -I$(TOP)/include \ - -I$(TOP)/src/mapi \ - -I$(TOP)/src/mesa \ - -I$(TOP)/src/egl/main \ - -I$(TOP)/src/egl/drivers/dri \ - $(LIBDRM_CFLAGS) - -CFLAGS += $(API_DEFINES) -CXXFLAGS += $(API_DEFINES) - -##### RULES ##### - -.c.o: - $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DRIVER_DEFINES) $< -o $@ - -.cpp.o: - $(CC) -c $(INCLUDES) $(DRI_CXXFLAGS) $(DRIVER_DEFINES) $< -o $@ - -.S.o: - $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DRIVER_DEFINES) $< -o $@ - - -##### TARGETS ##### - -default: subdirs lib - - -.PHONY: lib -lib: symlinks subdirs depend - @$(MAKE) $(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME) - -$(LIBNAME): $(OBJECTS) $(EXTRA_MODULES) $(MESA_MODULES) Makefile \ - $(TOP)/src/mesa/drivers/dri/Makefile.template $(TOP)/src/mesa/drivers/dri/common/dri_test.o - $(MKLIB) -o $@.tmp -noprefix -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ - $(OBJECTS) $(EXTRA_MODULES) $(DRI_LIB_DEPS) - $(CXX) $(CFLAGS) -o $@.test $(TOP)/src/mesa/drivers/dri/common/dri_test.o $@.tmp $(DRI_LIB_DEPS) - @rm -f $@.test - mv -f $@.tmp $@ - - -$(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME) - $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR) - - -# If the Makefile defined SUBDIRS, run make in each -.PHONY: subdirs -subdirs: - @if test -n "$(SUBDIRS)" ; then \ - for dir in $(SUBDIRS) ; do \ - if [ -d $$dir ] ; then \ - (cd $$dir && $(MAKE)) || exit 1; \ - fi \ - done \ - fi - - -.PHONY: symlinks -symlinks: - - -depend: $(C_SOURCES) $(CXX_SOURCES) $(ASM_SOURCES) $(SYMLINKS) - @ echo "running $(MKDEP)" - @ rm -f depend - @ touch depend - @ $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) \ - $(C_SOURCES) $(CXX_SOURCES) \ - $(ASM_SOURCES) > /dev/null 2>/dev/null - - -# Emacs tags -tags: - etags `find . -name \*.[ch]` `find ../include` - - -# Remove .o and backup files -clean: - -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS) - -rm -f depend depend.bak - - -install: $(LIBNAME) - $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) - $(MINSTALL) -m 755 $(LIBNAME) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) - - --include depend --- a/src/mesa/drivers/dri/mga/Makefile 2011-03-30 10:41:46.199304025 +0300 +++ b/src/mesa/drivers/dri/mga/Makefile 2011-03-30 11:08:37.025423210 +0300 @@ -5,6 +5,8 @@ LIBNAME = mga_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ mgadd.c \ mgaioctl.c \ @@ -27,5 +29,5 @@ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/nouveau/Makefile 2011-03-30 10:41:46.235304954 +0300 +++ b/src/mesa/drivers/dri/nouveau/Makefile 2011-03-30 11:10:21.468164056 +0300 @@ -3,11 +3,10 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(shell pkg-config libdrm libdrm_nouveau --cflags) -DRI_LIB_DEPS += $(shell pkg-config libdrm_nouveau --libs) - LIBNAME = nouveau_vieux_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ nouveau_screen.c \ nouveau_context.c \ @@ -51,7 +50,9 @@ ASM_SOURCES = +INCLUDES += $(NOUVEAU_CFLAGS) +DRI_LIB_DEPS += $(NOUVEAU_LIBS) -include ../Makefile.template +include ../Makefile.targets symlinks: --- a/src/mesa/drivers/dri/r128/Makefile 2011-03-30 10:41:46.683316521 +0300 +++ b/src/mesa/drivers/dri/r128/Makefile 2011-03-30 11:11:08.724950945 +0300 @@ -5,6 +5,8 @@ LIBNAME = r128_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ r128_context.c \ r128_lock.c \ @@ -25,5 +27,5 @@ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/r200/Makefile 2011-03-30 10:41:46.796319439 +0300 +++ b/src/mesa/drivers/dri/r200/Makefile 2011-03-30 11:13:33.239354345 +0300 @@ -3,10 +3,10 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(RADEON_CFLAGS) - LIBNAME = r200_dri.so +include ../Makefile.defines + ifeq ($(RADEON_LDFLAGS),) CS_SOURCES = radeon_cs_space_drm.c radeon_bo.c radeon_cs.c endif @@ -55,12 +55,13 @@ DRIVER_DEFINES = -DRADEON_R200 +INCLUDES += $(RADEON_CFLAGS) DRI_LIB_DEPS += $(RADEON_LDFLAGS) ##### TARGETS ##### -include ../Makefile.template +include ../Makefile.targets #INCLUDES += -I../radeon/server --- a/src/mesa/drivers/dri/r300/Makefile 2011-03-30 10:41:47.149328553 +0300 +++ b/src/mesa/drivers/dri/r300/Makefile 2011-03-30 11:14:14.029031920 +0300 @@ -3,10 +3,10 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(RADEON_CFLAGS) - LIBNAME = r300_dri.so +include ../Makefile.defines + ifeq ($(RADEON_LDFLAGS),) CS_SOURCES = radeon_cs_space_drm.c radeon_bo.c radeon_cs.c endif @@ -64,6 +64,7 @@ DRIVER_DEFINES = -DRADEON_R300 # -DRADEON_BO_TRACK \ +INCLUDES += $(RADEON_CFLAGS) DRI_LIB_DEPS += $(RADEON_LDFLAGS) SUBDIRS = compiler @@ -73,5 +74,5 @@ ##### TARGETS ##### -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/r600/Makefile 2011-03-30 10:41:47.832346187 +0300 +++ b/src/mesa/drivers/dri/r600/Makefile 2011-03-30 11:14:51.875660301 +0300 @@ -3,10 +3,10 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(RADEON_CFLAGS) - LIBNAME = r600_dri.so +include ../Makefile.defines + ifeq ($(RADEON_LDFLAGS),) CS_SOURCES = radeon_cs_space_drm.c radeon_bo.c radeon_cs.c endif @@ -78,9 +78,10 @@ DRIVER_DEFINES = -DRADEON_R600 # -DRADEON_BO_TRACK \ +INCLUDES += $(RADEON_CFLAGS) DRI_LIB_DEPS += $(RADEON_LDFLAGS) ##### TARGETS ##### -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/radeon/Makefile 2011-03-30 10:41:48.264357340 +0300 +++ b/src/mesa/drivers/dri/radeon/Makefile 2011-03-30 11:15:35.090377453 +0300 @@ -4,7 +4,7 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(RADEON_CFLAGS) +include ../Makefile.defines LIBNAME = radeon_dri.so @@ -53,9 +53,10 @@ DRIVER_DEFINES = -DRADEON_R100 +INCLUDES += $(RADEON_CFLAGS) DRI_LIB_DEPS += $(RADEON_LDFLAGS) X86_SOURCES = -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/savage/Makefile 2011-03-30 10:41:48.712368905 +0300 +++ b/src/mesa/drivers/dri/savage/Makefile 2011-03-30 11:16:02.847837892 +0300 @@ -5,6 +5,8 @@ LIBNAME = savage_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ savage_xmesa.c \ savagedd.c \ @@ -22,5 +24,5 @@ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/sis/Makefile 2011-03-30 10:41:48.849372441 +0300 +++ b/src/mesa/drivers/dri/sis/Makefile 2011-03-30 11:16:24.784201661 +0300 @@ -5,6 +5,8 @@ LIBNAME = sis_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ sis6326_state.c \ sis6326_clear.c \ @@ -28,5 +30,5 @@ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/swrast/Makefile 2011-03-30 10:41:48.941374817 +0300 +++ b/src/mesa/drivers/dri/swrast/Makefile 2011-03-30 11:16:47.353575829 +0300 @@ -5,6 +5,8 @@ LIBNAME = swrast_dri.so +include ../Makefile.defines + DRIVER_DEFINES = -D__NOT_HAVE_DRM_H DRIVER_SOURCES = \ @@ -22,5 +24,5 @@ ../common/utils.c \ ../common/drisw_util.c -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/tdfx/Makefile 2011-03-30 10:41:49.163380547 +0300 +++ b/src/mesa/drivers/dri/tdfx/Makefile 2011-03-30 11:17:10.224954898 +0300 @@ -5,6 +5,8 @@ LIBNAME = tdfx_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ tdfx_context.c \ tdfx_dd.c \ @@ -27,6 +29,6 @@ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets --- a/src/mesa/drivers/dri/unichrome/Makefile 2011-03-30 10:41:49.538390226 +0300 +++ b/src/mesa/drivers/dri/unichrome/Makefile 2011-03-30 11:17:38.257419367 +0300 @@ -5,6 +5,8 @@ LIBNAME = unichrome_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ via_context.c \ via_fb.c \ @@ -25,5 +27,5 @@ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets