summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configs/freebsd-dri2
-rw-r--r--configs/linux-dri2
-rw-r--r--configs/linux-dri-debug2
-rw-r--r--configs/linux-dri-ppc2
-rw-r--r--configs/linux-dri-x86-642
-rw-r--r--configs/linux-dri-xcb2
-rw-r--r--configure.ac19
-rw-r--r--src/mesa/drivers/dri/radeon/.gitignore5
-rw-r--r--src/mesa/drivers/dri/radeon/Makefile54
-rw-r--r--src/mesa/drivers/dri/radeon/Makefile.am61
-rw-r--r--src/mesa/drivers/dri/radeon/Makefile.sources33
11 files changed, 123 insertions, 61 deletions
diff --git a/configs/freebsd-dri b/configs/freebsd-dri
index b18ac51e395..17ae06b0078 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 0771f574646..8d60063c228 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 a1a4465d8eb..7df03df8c6a 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 5dd3615fff5..507e0c602af 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 c1dff630ff8..ebd6351c506 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 85665207be1..905a33310b7 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 a0ea317cb36..c0bdacbd612 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1271,8 +1271,24 @@ case $DRI_DIRS in
;;
esac
+case $DRI_DIRS in
+*radeon*)
+ PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
+
+ for d in $(echo $DRI_DIRS | sed 's/,/ /g'); do
+ case $d in
+ radeon)
+ HAVE_RADEON_DRI=yes;
+ ;;
+ esac
+ done
+
+ ;;
+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*)
@@ -1281,7 +1297,7 @@ case $DRI_DIRS in
esac
case $DRI_DIRS in
-*radeon*|*r200*)
+*r200*)
PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
;;
esac
@@ -1912,6 +1928,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/.gitignore b/src/mesa/drivers/dri/radeon/.gitignore
new file mode 100644
index 00000000000..2592dc3b57c
--- /dev/null
+++ b/src/mesa/drivers/dri/radeon/.gitignore
@@ -0,0 +1,5 @@
+.deps
+.libs
+Makefile
+Makefile.in
+radeon_dri.la
diff --git a/src/mesa/drivers/dri/radeon/Makefile b/src/mesa/drivers/dri/radeon/Makefile
deleted file mode 100644
index 87af26ec220..00000000000
--- a/src/mesa/drivers/dri/radeon/Makefile
+++ /dev/null
@@ -1,54 +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 \
- radeon_fog.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 00000000000..27e6ea58d69
--- /dev/null
+++ b/src/mesa/drivers/dri/radeon/Makefile.am
@@ -0,0 +1,61 @@
+
+
+# Copyright © 2012 Matt Turner <[email protected]>
+#
+# 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_CFLAGS = \
+ -DRADEON_R100 \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/src/ \
+ -I$(top_srcdir)/src/mapi \
+ -I$(top_srcdir)/src/mesa/ \
+ -I$(top_srcdir)/src/mesa/drivers/dri/common \
+ -I$(top_srcdir)/src/mesa/drivers/dri/radeon/server \
+ $(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 00000000000..ee146aa01bf
--- /dev/null
+++ b/src/mesa/drivers/dri/radeon/Makefile.sources
@@ -0,0 +1,33 @@
+RADEON_COMMON_FILES = \
+ radeon_buffer_objects.c \
+ radeon_common_context.c \
+ radeon_common.c \
+ radeon_dma.c \
+ radeon_debug.c \
+ radeon_fbo.c \
+ radeon_fog.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)