[Mesa-dev] [PATCH 3/7] automake: src/mesa/drivers/dri/radeon
Matt Turner
mattst88 at gmail.com
Tue Jan 17 12:58:13 PST 2012
---
configs/freebsd-dri | 2 +-
configs/linux-dri | 2 +-
configs/linux-dri-debug | 2 +-
configs/linux-dri-ppc | 2 +-
configs/linux-dri-x86-64 | 2 +-
configs/linux-dri-xcb | 2 +-
configure.ac | 17 +++++++-
src/mesa/drivers/dri/radeon/Makefile | 53 ----------------------
src/mesa/drivers/dri/radeon/Makefile.am | 61 ++++++++++++++++++++++++++
src/mesa/drivers/dri/radeon/Makefile.sources | 32 +++++++++++++
10 files changed, 115 insertions(+), 60 deletions(-)
delete mode 100644 src/mesa/drivers/dri/radeon/Makefile
create mode 100644 src/mesa/drivers/dri/radeon/Makefile.am
create mode 100644 src/mesa/drivers/dri/radeon/Makefile.sources
diff --git a/configs/freebsd-dri b/configs/freebsd-dri
index b18ac51..17ae06b 100644
--- a/configs/freebsd-dri
+++ b/configs/freebsd-dri
@@ -47,5 +47,5 @@ DRIVER_DIRS = dri
DRM_SOURCE_PATH=$(TOP)/../drm
-DRI_DIRS = i915 i965 r200 radeon
+DRI_DIRS = i915 i965 r200
diff --git a/configs/linux-dri b/configs/linux-dri
index 0771f57..8d60063 100644
--- a/configs/linux-dri
+++ b/configs/linux-dri
@@ -62,7 +62,7 @@ GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel svga/drm
GALLIUM_TARGET_DIRS = dri-vmwgfx
GALLIUM_STATE_TRACKERS_DIRS = egl dri
-DRI_DIRS = nouveau r200 radeon swrast
+DRI_DIRS = nouveau r200 swrast
INTEL_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_intel)
INTEL_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_intel)
diff --git a/configs/linux-dri-debug b/configs/linux-dri-debug
index a1a4465..7df03df 100644
--- a/configs/linux-dri-debug
+++ b/configs/linux-dri-debug
@@ -10,5 +10,5 @@ ARCH_FLAGS = -DDEBUG
# Helpful to reduce the amount of stuff that gets built sometimes:
#DRI_DIRS = i915tex i915
#DRI_DIRS = i965
-#DRI_DIRS = radeon r200
+#DRI_DIRS = r200
diff --git a/configs/linux-dri-ppc b/configs/linux-dri-ppc
index 5dd3615..507e0c6 100644
--- a/configs/linux-dri-ppc
+++ b/configs/linux-dri-ppc
@@ -13,5 +13,5 @@ MESA_ASM_SOURCES = $(PPC_SOURCES)
# Build only the drivers for cards that exist on PowerPC. At some point MGA
# will be added, but not yet.
-DRI_DIRS = r200 radeon
+DRI_DIRS = r200
diff --git a/configs/linux-dri-x86-64 b/configs/linux-dri-x86-64
index c1dff63..ebd6351 100644
--- a/configs/linux-dri-x86-64
+++ b/configs/linux-dri-x86-64
@@ -16,5 +16,5 @@ LIB_DIR = lib64
# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/X11R6/lib64
-DRI_DIRS = i915 i965 r200 radeon
+DRI_DIRS = i915 i965 r200
diff --git a/configs/linux-dri-xcb b/configs/linux-dri-xcb
index 8566520..905a333 100644
--- a/configs/linux-dri-xcb
+++ b/configs/linux-dri-xcb
@@ -52,4 +52,4 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
SRC_DIRS = glx gallium mesa glu
DRIVER_DIRS = dri
-DRI_DIRS = i915 r200 radeon
+DRI_DIRS = i915 r200
diff --git a/configure.ac b/configure.ac
index 1b6a047..0afa414 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1305,8 +1305,22 @@ case $DRI_DIRS in
;;
esac
+case $DRI_DIRS in
+*radeon*)
+ PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
+
+ case $DRI_DIRS in
+ *radeon*)
+ HAVE_RADEON_DRI=yes;
+ ;;
+ esac
+
+ ;;
+esac
+
AM_CONDITIONAL(HAVE_I915_DRI, test x$HAVE_I915_DRI = xyes)
AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
+AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
case $DRI_DIRS in
*nouveau*)
@@ -1315,7 +1329,7 @@ case $DRI_DIRS in
esac
case $DRI_DIRS in
-*radeon*|*r200*)
+*r200*)
PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
;;
esac
@@ -1949,6 +1963,7 @@ dnl Substitute the config
AC_CONFIG_FILES([configs/autoconf
src/mesa/drivers/dri/i915/Makefile
src/mesa/drivers/dri/i965/Makefile
+ src/mesa/drivers/dri/radeon/Makefile
tests/Makefile
tests/glx/Makefile])
diff --git a/src/mesa/drivers/dri/radeon/Makefile b/src/mesa/drivers/dri/radeon/Makefile
deleted file mode 100644
index 3cb1dc5..0000000
--- a/src/mesa/drivers/dri/radeon/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# src/mesa/drivers/dri/radeon/Makefile
-# Note, this Makefile requires GNU make
-
-TOP = ../../../../..
-include $(TOP)/configs/current
-
-LIBNAME = radeon_dri.so
-
-include ../Makefile.defines
-
-RADEON_COMMON_SOURCES = \
- radeon_buffer_objects.c \
- radeon_common_context.c \
- radeon_common.c \
- radeon_dma.c \
- radeon_debug.c \
- radeon_fbo.c \
- radeon_mipmap_tree.c \
- radeon_pixel_read.c \
- radeon_queryobj.c \
- radeon_span.c \
- radeon_texture.c \
- radeon_tex_copy.c \
- radeon_tile.c
-
-DRIVER_SOURCES = \
- radeon_context.c \
- radeon_ioctl.c \
- radeon_screen.c \
- radeon_state.c \
- radeon_state_init.c \
- radeon_tex.c \
- radeon_texstate.c \
- radeon_tcl.c \
- radeon_swtcl.c \
- radeon_maos.c \
- radeon_sanity.c \
- radeon_blit.c \
- $(RADEON_COMMON_SOURCES)
-
-C_SOURCES = \
- $(COMMON_SOURCES) \
- $(DRIVER_SOURCES)
-
-DRIVER_DEFINES = -DRADEON_R100
-
-INCLUDES += $(RADEON_CFLAGS)
-DRI_LIB_DEPS += $(RADEON_LIBS)
-
-X86_SOURCES =
-
-include ../Makefile.targets
-
diff --git a/src/mesa/drivers/dri/radeon/Makefile.am b/src/mesa/drivers/dri/radeon/Makefile.am
new file mode 100644
index 0000000..51aabde
--- /dev/null
+++ b/src/mesa/drivers/dri/radeon/Makefile.am
@@ -0,0 +1,61 @@
+
+
+# Copyright © 2011 Matt Turner <mattst88 at 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
+
+# Hack to make some of the non-automake variables work.
+TOP=$(top_builddir)
+
+AM_CPPFLAGS = \
+ -DRADEON_R100 \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/src/ \
+ -I$(top_srcdir)/src/mapi \
+ -I$(top_srcdir)/src/mesa/ \
+ -I../common \
+ -Iserver \
+ $(DEFINES) \
+ $(ASM_FLAGS) \
+ $(API_DEFINES) \
+ $(RADEON_CFLAGS)
+
+dridir = $(DRI_DRIVER_INSTALL_DIR)
+
+if HAVE_RADEON_DRI
+dri_LTLIBRARIES = radeon_dri.la
+endif
+
+radeon_dri_la_SOURCES = \
+ $(RADEON_C_FILES)
+
+radeon_dri_la_LDFLAGS = -module -avoid-version -shared
+radeon_dri_la_LIBADD = \
+ $(DRI_LIB_DEPS) \
+ $(DRICORE_LIB_DEPS) \
+ $(RADEON_LIBS)
+
+# Provide compatibility with scripts for the old Mesa build system for
+# a while by putting a link to the driver into /lib of the build tree.
+all-local: radeon_dri.la
+ $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
+ ln -f .libs/radeon_dri.so $(top_builddir)/$(LIB_DIR)/radeon_dri.so;
diff --git a/src/mesa/drivers/dri/radeon/Makefile.sources b/src/mesa/drivers/dri/radeon/Makefile.sources
new file mode 100644
index 0000000..bea95e0
--- /dev/null
+++ b/src/mesa/drivers/dri/radeon/Makefile.sources
@@ -0,0 +1,32 @@
+RADEON_COMMON_FILES = \
+ radeon_buffer_objects.c \
+ radeon_common_context.c \
+ radeon_common.c \
+ radeon_dma.c \
+ radeon_debug.c \
+ radeon_fbo.c \
+ radeon_mipmap_tree.c \
+ radeon_pixel_read.c \
+ radeon_queryobj.c \
+ radeon_span.c \
+ radeon_texture.c \
+ radeon_tex_copy.c \
+ radeon_tile.c
+
+DRIVER_FILES = \
+ radeon_context.c \
+ radeon_ioctl.c \
+ radeon_screen.c \
+ radeon_state.c \
+ radeon_state_init.c \
+ radeon_tex.c \
+ radeon_texstate.c \
+ radeon_tcl.c \
+ radeon_swtcl.c \
+ radeon_maos.c \
+ radeon_sanity.c \
+ radeon_blit.c
+
+RADEON_C_FILES = \
+ $(RADEON_COMMON_FILES) \
+ $(DRIVER_FILES)
--
1.7.3.4
More information about the mesa-dev
mailing list