Module: Mesa
Branch: opengl-es-v2
Commit: 4b9cc50345b5b10bb998ce5ce6f7cb37b72f354f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b9cc50345b5b10bb998ce5ce6f7cb37b72f354f

Author: Chia-I Wu <[email protected]>
Date:   Mon Nov  9 10:54:19 2009 +0800

st/egl: Allow APIs other than OpenGL.

This is done by stopping linking to libmesagallium.a and removing DRI
related stuff.  The state tracker an application links to decides the
API supported.

Signed-off-by: Chia-I Wu <[email protected]>

---

 src/gallium/state_trackers/egl/egl_tracker.c |    2 -
 src/gallium/winsys/drm/intel/egl/Makefile    |   29 +++++++++++++++++---------
 src/gallium/winsys/drm/intel/egl/dummy.c     |    1 +
 src/gallium/winsys/drm/radeon/egl/Makefile   |   28 +++++++++++++++++-------
 src/gallium/winsys/drm/radeon/egl/dummy.c    |    1 +
 5 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/src/gallium/state_trackers/egl/egl_tracker.c 
b/src/gallium/state_trackers/egl/egl_tracker.c
index 8d29bf4..1ad0097 100644
--- a/src/gallium/state_trackers/egl/egl_tracker.c
+++ b/src/gallium/state_trackers/egl/egl_tracker.c
@@ -167,8 +167,6 @@ drm_initialize(_EGLDriver *drv, _EGLDisplay *disp, EGLint 
*major, EGLint *minor)
                goto err_screen;
        dev->winsys = dev->screen->winsys;
 
-       driInitExtensions(NULL, NULL, GL_FALSE);
-
        drm_update_res(dev);
        res = dev->res;
        if (res)
diff --git a/src/gallium/winsys/drm/intel/egl/Makefile 
b/src/gallium/winsys/drm/intel/egl/Makefile
index 1397e9f..c9c92b6 100644
--- a/src/gallium/winsys/drm/intel/egl/Makefile
+++ b/src/gallium/winsys/drm/intel/egl/Makefile
@@ -2,7 +2,7 @@ TOP = ../../../../../..
 GALLIUMDIR = ../../../..
 include $(TOP)/configs/current
 
-LIBNAME = EGL_i915.so
+LIBNAME = egl_i915.so
 
 PIPE_DRIVERS = \
        $(TOP)/src/gallium/state_trackers/egl/libegldrm.a \
@@ -11,19 +11,28 @@ PIPE_DRIVERS = \
        $(TOP)/src/gallium/drivers/trace/libtrace.a \
        $(TOP)/src/gallium/drivers/i915/libi915.a
 
-DRIVER_SOURCES =
+DRIVER_EXTRAS = -lm -lpthread -ldrm_intel
 
-C_SOURCES = \
-       $(COMMON_GALLIUM_SOURCES) \
-       $(DRIVER_SOURCES)
+OBJECTS = dummy.o
 
-DRIVER_EXTRAS = -ldrm_intel
+default: $(TOP)/$(LIB_DIR)/$(LIBNAME)
 
-ASM_SOURCES = 
+$(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
+       @mkdir -p $(TOP)/$(LIB_DIR)
+       $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR)
 
-DRIVER_DEFINES = -I../gem $(shell pkg-config libdrm --atleast-version=2.3.1 \
-                               && echo "-DDRM_VBLANK_FLIP=DRM_VBLANK_FLIP")
+$(LIBNAME): $(OBJECTS) $(GALLIUM_AUXILIARIES) $(PIPE_DRIVERS) Makefile
+       $(MKLIB) -noprefix -o $@ $(OBJECTS) \
+               -Wl,--whole-archive $(PIPE_DRIVERS) -Wl,--no-whole-archive \
+               -Wl,--start-group $(GALLIUM_AUXILIARIES) -Wl,--end-group \
+                 $(DRI_LIB_DEPS) $(DRIVER_EXTRAS)
 
-include ../../Makefile.template
+clean:
+       -rm -f *.o *.so *~
+
+depend:
 
 symlinks:
+
+install: $(LIBNAME)
+       $(MINSTALL) -m 755 $(LIBNAME) $(INSTALL_DIR)/$(LIB_DIR)
diff --git a/src/gallium/winsys/drm/intel/egl/dummy.c 
b/src/gallium/winsys/drm/intel/egl/dummy.c
new file mode 100644
index 0000000..58c7af8
--- /dev/null
+++ b/src/gallium/winsys/drm/intel/egl/dummy.c
@@ -0,0 +1 @@
+/* mklib expects at least one .o is given */
diff --git a/src/gallium/winsys/drm/radeon/egl/Makefile 
b/src/gallium/winsys/drm/radeon/egl/Makefile
index 6a1448d..2bd05a8 100644
--- a/src/gallium/winsys/drm/radeon/egl/Makefile
+++ b/src/gallium/winsys/drm/radeon/egl/Makefile
@@ -2,7 +2,7 @@ TOP = ../../../../../..
 GALLIUMDIR = ../../../..
 include $(TOP)/configs/current
 
-LIBNAME = EGL_r300.so
+LIBNAME = egl_r300.so
 
 PIPE_DRIVERS = \
        $(TOP)/src/gallium/state_trackers/egl/libegldrm.a \
@@ -11,16 +11,28 @@ PIPE_DRIVERS = \
        $(TOP)/src/gallium/drivers/trace/libtrace.a \
        $(TOP)/src/gallium/drivers/r300/libr300.a
 
-DRIVER_SOURCES =
+DRIVER_EXTRAS = -lm -lpthread -ldrm_radeon
 
-C_SOURCES = \
-       $(COMMON_GALLIUM_SOURCES) \
-       $(DRIVER_SOURCES)
+OBJECTS = dummy.o
 
-DRIVER_EXTRAS = -ldrm_radeon
+default: $(TOP)/$(LIB_DIR)/$(LIBNAME)
 
-ASM_SOURCES = 
+$(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
+       @mkdir -p $(TOP)/$(LIB_DIR)
+       $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR)
 
-include ../../Makefile.template
+$(LIBNAME): $(OBJECTS) $(GALLIUM_AUXILIARIES) $(PIPE_DRIVERS) Makefile
+       $(MKLIB) -noprefix -o $@ $(OBJECTS) \
+               -Wl,--whole-archive $(PIPE_DRIVERS) -Wl,--no-whole-archive \
+               -Wl,--start-group $(GALLIUM_AUXILIARIES) -Wl,--end-group \
+                 $(DRI_LIB_DEPS) $(DRIVER_EXTRAS)
+
+clean:
+       -rm -f *.o *.so *~
+
+depend:
 
 symlinks:
+
+install: $(LIBNAME)
+       $(MINSTALL) -m 755 $(LIBNAME) $(INSTALL_DIR)/$(LIB_DIR)
diff --git a/src/gallium/winsys/drm/radeon/egl/dummy.c 
b/src/gallium/winsys/drm/radeon/egl/dummy.c
new file mode 100644
index 0000000..58c7af8
--- /dev/null
+++ b/src/gallium/winsys/drm/radeon/egl/dummy.c
@@ -0,0 +1 @@
+/* mklib expects at least one .o is given */

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to