Hi,

Alle giovedì 24 giugno 2010, Corbin Simpson ha scritto:
> On Thu, Jun 24, 2010 at 2:51 AM, Julien Cristau <jcris...@debian.org> 
wrote:
> > On Thu, Jun 24, 2010 at 01:08:03 -0700, Corbin Simpson wrote:
> >> This is only defined on HURD, right? It's not part of the
> >> GCC-specific defines?
> > 
> > Correct.
> 
> Committed as fd7de146f6c5989ab3a8459d600ca3386571b31f. If somebody
> has tested the other patch, I'll commit it, too.

Yep, I have the other bits needed for building mesa 7.8.2 on Hurd.

On the mesa/sources side (patch 10_hurd.diff), PIPE_OS_HURD is defined 
as also done in current master (I started this patch a couple of months 
ago, so it still carries that), and used in 
src/gallium/auxiliary/os/os_time.c.

On the Debian packaging side (mesa_hurd_debian.diff):
- use the variable GALLIUM_STATE_TRACKERS to define which state tracker
  to compile on Hurd and elsewhere
- add a custom libegl1-mesa.install.hurd to avoid bailing out because
  egl_dri2.so is not complied
- make libegl1-mesa-drivers-x11(-dbg) linux- and kfreebsd-any, as on
  Hurd no egl_x11_*.so are compiled [maybe it would be preferable to
  still have the packages available, but empty?]

Cheers,
-- 
Pino Toscano
--- a/src/gallium/auxiliary/os/os_time.c
+++ b/src/gallium/auxiliary/os/os_time.c
@@ -37,7 +37,7 @@
 
 #if !defined(PIPE_OS_EMBEDDED)
 
-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU)
+#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_HURD)
 #  include <sys/time.h> /* timeval */
 #elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY)
 #  include <windows.h>
--- a/src/gallium/include/pipe/p_config.h
+++ b/src/gallium/include/pipe/p_config.h
@@ -165,6 +165,11 @@
 #define PIPE_OS_UNIX
 #endif
 
+#if defined(__GNU__)
+#define PIPE_OS_HURD
+#define PIPE_OS_UNIX
+#endif
+
 /*
  * Try to auto-detect the subsystem.
  * 
--- a/debian/rules
+++ b/debian/rules
@@ -62,8 +62,10 @@
 # hurd doesn't do direct rendering
 ifeq ($(DEB_HOST_ARCH_OS), hurd)
 	DIRECT_RENDERING = --disable-driglx-direct
+	GALLIUM_STATE_TRACKERS = es,glx,vega
 else
 	DIRECT_RENDERING = --enable-driglx-direct
+	GALLIUM_STATE_TRACKERS = egl,es,glx,dri,vega
 
   ifeq ($(DEB_HOST_ARCH_OS), linux)
 # Gallium drivers require libdrm-{nouveau,radeon}, only available on Linux
@@ -100,7 +102,7 @@
 	--with-egl-displays="$(EGL_DISPLAYS)" \
 	--enable-glx-tls \
 	$(addprefix --enable-gallium-,$(GALLIUM_DRIVERS)) \
-	--with-state-trackers=egl,es,glx,dri,vega \
+	--with-state-trackers=$(GALLIUM_STATE_TRACKERS) \
 	$(DIRECT_RENDERING) \
 	$(confflags-common)
 
--- /dev/null
+++ b/debian/libegl1-mesa.install.hurd
@@ -0,0 +1,2 @@
+dri/usr/lib/libEGL.so.1* usr/lib
+dri/usr/lib/egl/egl_glx.so usr/lib/egl
--- a/debian/control
+++ b/debian/control
@@ -171,7 +171,7 @@
 
 Package: libegl1-mesa-drivers-x11
 Section: libs
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  ${shlibs:Depends},
  ${misc:Depends},
@@ -187,7 +187,7 @@
 Package: libegl1-mesa-drivers-x11-dbg
 Section: debug
 Priority: extra
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libegl1-mesa-drivers-x11 (= ${binary:Version}),
  ${misc:Depends},

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to