summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorbin Simpson <MostAwesomeDude@gmail.com>2010-04-26 11:03:23 -0700
committerCorbin Simpson <MostAwesomeDude@gmail.com>2010-04-26 11:03:23 -0700
commit453525ad48cd6c306441ffb8d43e07a3d64643f2 (patch)
tree669dfd362902ccfd06abd61aac77476a00759f9d
parentb02f1c86f5bf8b1169776975491c7df929e94e2c (diff)
Add raw-radeon target.raw-targets
-rw-r--r--configure.ac1
-rw-r--r--src/gallium/targets/raw-radeon/Makefile37
-rw-r--r--src/gallium/targets/raw-radeon/dummy.c4
3 files changed, 42 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index a4d9d94ff9..f633727027 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1416,6 +1416,7 @@ AC_ARG_ENABLE([gallium-radeon],
if test "x$enable_gallium_radeon" = xyes; then
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
gallium_check_st "radeon/drm" "dri-radeong" "egl-radeon" "xorg-radeon"
+ GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS raw-radeon"
elif test "x$enable_gallium_radeon" = xauto; then
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
fi
diff --git a/src/gallium/targets/raw-radeon/Makefile b/src/gallium/targets/raw-radeon/Makefile
new file mode 100644
index 0000000000..285636fd3a
--- /dev/null
+++ b/src/gallium/targets/raw-radeon/Makefile
@@ -0,0 +1,37 @@
+TOP = ../../../..
+include $(TOP)/configs/current
+
+TARGET = radeon_raw.so
+CFILES = $(wildcard ./*.c)
+OBJECTS = $(patsubst ./%.c,./%.o,$(CFILES))
+
+CFLAGS = -DHAVE_CONFIG_H \
+ -I$(TOP)/src/gallium/include \
+ -g -Wall -fPIC
+
+LIBS = \
+ $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \
+ $(TOP)/src/gallium/drivers/r300/libr300.a \
+ $(TOP)/src/gallium/drivers/trace/libtrace.a \
+ $(TOP)/src/gallium/drivers/softpipe/libsoftpipe.a \
+ $(GALLIUM_AUXILIARIES)
+
+TARGET_STAGING = $(TOP)/$(LIB_DIR)/gallium/$(TARGET)
+#############################################
+
+all default: $(TARGET) $(TARGET_STAGING)
+
+$(TARGET): $(OBJECTS) Makefile $(LIBS)
+ $(TOP)/bin/mklib -noprefix -o $@ \
+ $(OBJECTS) $(LIBS) $(shell pkg-config --libs libdrm) -ldrm_radeon
+
+$(TOP)/$(LIB_DIR)/gallium:
+ mkdir -p $@
+
+$(TARGET_STAGING): $(TARGET) $(TOP)/$(LIB_DIR)/gallium
+ $(INSTALL) $(TARGET) $(TOP)/$(LIB_DIR)/gallium
+
+clean:
+ rm -rf $(OBJECTS) $(TARGET)
+
+.PHONY = all clean
diff --git a/src/gallium/targets/raw-radeon/dummy.c b/src/gallium/targets/raw-radeon/dummy.c
new file mode 100644
index 0000000000..676e0f0534
--- /dev/null
+++ b/src/gallium/targets/raw-radeon/dummy.c
@@ -0,0 +1,4 @@
+/* -Wl,--whole-archive doesn't work. Hilarious. */
+#include "state_tracker/drm_api.h"
+
+void *_rawDrmApiCreate = (void *) drm_api_create;