summaryrefslogtreecommitdiffstats
path: root/graphics/dri-devel/files
diff options
context:
space:
mode:
authoranholt <anholt@FreeBSD.org>2002-08-21 21:53:59 +0000
committeranholt <anholt@FreeBSD.org>2002-08-21 21:53:59 +0000
commit8b6ecd345c7d2f44aa0fec1962c4f05147b8eeb9 (patch)
tree818c6ba6e879b5fb81c0d2437d23f6dbeae7da63 /graphics/dri-devel/files
parent63c346afeb099c85a4388b9ddf9d912e4a1fc33e (diff)
downloadFreeBSD-ports-8b6ecd345c7d2f44aa0fec1962c4f05147b8eeb9.zip
FreeBSD-ports-8b6ecd345c7d2f44aa0fec1962c4f05147b8eeb9.tar.gz
dri-devel port provides development DRI libraries and X Server.
Reviewed by: lioux
Diffstat (limited to 'graphics/dri-devel/files')
-rw-r--r--graphics/dri-devel/files/patch-bsdLib.rules37
-rw-r--r--graphics/dri-devel/files/patch-drv-Imakefile11
-rw-r--r--graphics/dri-devel/files/patch-host.def53
-rw-r--r--graphics/dri-devel/files/patch-linuxcompat141
4 files changed, 242 insertions, 0 deletions
diff --git a/graphics/dri-devel/files/patch-bsdLib.rules b/graphics/dri-devel/files/patch-bsdLib.rules
new file mode 100644
index 0000000..6feea25
--- /dev/null
+++ b/graphics/dri-devel/files/patch-bsdLib.rules
@@ -0,0 +1,37 @@
+--- config/cf/bsdLib.rules.orig Wed Jul 10 17:25:29 2002
++++ config/cf/bsdLib.rules Wed Jul 10 17:25:32 2002
+@@ -306,6 +306,34 @@
+
+ #endif /* SharedDepLibraryTarget */
+
++/*
++ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
++ */
++#ifndef SharedDepCplusplusLibraryTarget
++#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
++AllTarget(Concat(lib,libname.so.rev)) @@\
++ @@\
++Concat(lib,libname.so.rev): deplist @@\
++ $(RM) $@~ @@\
++ @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \ @@\
++ (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
++ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
++ LinkBuildSonameLibrary($$SONAME) @@\
++ $(RM) $@ @@\
++ $(MV) $@~ $@ @@\
++ $(RM) Concat(lib,libname.so) @@\
++ $(LN) $@ Concat(lib,libname.so) @@\
++ LinkBuildLibrary($@) @@\
++ LinkBuildLibrary(Concat(lib,libname.so)) @@\
++ @@\
++clean:: @@\
++ @SONAME=`echo Concat(lib,libname.so.rev) | sed 's/\.[^\.]*$$//'`; \ @@\
++ set -x; $(RM) $$SONAME @@\
++ $(RM) Concat(lib,libname.so) @@\
++ $(RM) Concat(lib,libname.so.rev)
++
++#endif /* SharedDepLibraryTarget */
++
+ #ifndef SharedDepModuleTarget
+ #define SharedDepModuleTarget(name,deps,solist) @@\
+ AllTarget(name) @@\
diff --git a/graphics/dri-devel/files/patch-drv-Imakefile b/graphics/dri-devel/files/patch-drv-Imakefile
new file mode 100644
index 0000000..9aa4b44
--- /dev/null
+++ b/graphics/dri-devel/files/patch-drv-Imakefile
@@ -0,0 +1,11 @@
+--- lib/GL/mesa/src/drv/Imakefile.orig Sun Aug 18 16:59:00 2002
++++ lib/GL/mesa/src/drv/Imakefile Sun Aug 18 16:59:14 2002
+@@ -5,7 +5,7 @@
+ #define IHaveSubdirs
+ #define PassCDebugFlags
+
+-SUBDIRS = common r200 radeon
++SUBDIRS = common DriDrivers
+
+ MakeSubdirs($(SUBDIRS))
+ DependSubdirs($(SUBDIRS))
diff --git a/graphics/dri-devel/files/patch-host.def b/graphics/dri-devel/files/patch-host.def
new file mode 100644
index 0000000..75a729b
--- /dev/null
+++ b/graphics/dri-devel/files/patch-host.def
@@ -0,0 +1,53 @@
+--- config/cf/host.def.orig Thu Jul 18 12:23:07 2002
++++ config/cf/host.def Wed Aug 21 10:21:01 2002
+@@ -2,17 +2,17 @@
+ * Set this for each DRI branch. It will be appended to the XFree86 version
+ * information.
+ */
+-#define XFree86CustomVersion "DRI trunk"
++#define XFree86CustomVersion "DRI trunk: dri-devel-20020820"
+
+-#define DefaultGcc2AxpOpt -O2 -mcpu=ev6
+-#define DefaultGcc2PpcOpt -O2 -mcpu=750
+-#define DefaultGcc2i386Opt -O2
++#define DefaultGcc2AxpOpt ${FBSDCFLAGS}
++#define DefaultGcc2PpcOpt ${FBSDCFLAGS}
++#define DefaultGcc2i386Opt ${FBSDCFLAGS}
+ #if defined(AlphaArchitecture)
+-# define LibraryCDebugFlags -O2 -mcpu=ev6
++# define LibraryCDebugFlags ${FBSDCFLAGS}
+ #elif defined(PpcArchitecture)
+-# define LibraryCDebugFlags -O2 -mcpu=750
++# define LibraryCDebugFlags ${FBSDCFLAGS}
+ #else
+-# define LibraryCDebugFlags -O2
++# define LibraryCDebugFlags ${FBSDCFLAGS}
+ #endif
+
+ #define BuildXFree86ConfigTools YES
+@@ -25,14 +25,11 @@
+ #else
+
+ #define XF86CardDrivers tdfx i810 mga ati glint vga
+-#define DriDrivers tdfx mga i810 r128 radeon gamma i830 /* sis ffb */
++#define DriDrivers i810 i830 r128 radeon r200 /* sis ffb */
+
+ #endif
+
+-#define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+- -Wmissing-prototypes -Wmissing-declarations \
+- -Wnested-externs
+-#define DefaultCCOptions -ansi GccWarningOptions -pipe -g
++#define DefaultCCOptions -g
+
+ #define NormalLibGlx NO
+
+@@ -63,7 +60,7 @@
+ /* #define ProjectRoot /usr/X11R6-DRI */
+
+ /* Optionally turn this on to force the kernel modules to build */
+-#define BuildXF86DRM YES
++#define BuildXF86DRM NO
+
+ #define XF86AFB NO
+
diff --git a/graphics/dri-devel/files/patch-linuxcompat b/graphics/dri-devel/files/patch-linuxcompat
new file mode 100644
index 0000000..3b6af5b
--- /dev/null
+++ b/graphics/dri-devel/files/patch-linuxcompat
@@ -0,0 +1,141 @@
+Index: drm_drv.h
+===================================================================
+RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_drv.h,v
+retrieving revision 1.3
+diff -u -r1.3 programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_drv.h
+--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_drv.h 5 Jul 2002 08:31:07 -0000 1.3
++++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_drv.h 21 Aug 2002 07:13:26 -0000
+@@ -1221,27 +1221,83 @@
+ }
+
+ #if DRM_LINUX
++#define LINUX_IOCTL_DRM_MIN 0x6400
++#define LINUX_IOCTL_DRM_MAX 0x64ff
++
+ static linux_ioctl_function_t DRM( linux_ioctl);
+ static struct linux_ioctl_handler DRM( handler) = {DRM( linux_ioctl), LINUX_IOCTL_DRM_MIN, LINUX_IOCTL_DRM_MAX};
+ SYSINIT (DRM( register), SI_SUB_KLD, SI_ORDER_MIDDLE, linux_ioctl_register_handler, &DRM( handler));
+ SYSUNINIT(DRM( unregister), SI_SUB_KLD, SI_ORDER_MIDDLE, linux_ioctl_unregister_handler, &DRM( handler));
+
++#define LINUX_IOC_VOID IOC_VOID
++#define LINUX_IOC_IN IOC_OUT /* Linux has the values the other way around */
++#define LINUX_IOC_OUT IOC_IN
++
+ /*
+ * Linux emulation IOCTL
+ */
+ static int
+ DRM(linux_ioctl)(DRM_STRUCTPROC *p, struct linux_ioctl_args* args)
+ {
++ u_long cmd = args->cmd;
++#define STK_PARAMS 128
++ union {
++ char stkbuf[STK_PARAMS];
++ long align;
++ } ubuf;
++ caddr_t data=NULL, memp=NULL;
++ u_int size = IOCPARM_LEN(cmd);
++ int error;
++#if (__FreeBSD_version >= 500000)
++ struct file *fp;
++#else
++ struct file *fp = p->p_fd->fd_ofiles[args->fd];
++#endif
++ if ( size > STK_PARAMS ) {
++ if ( size > IOCPARM_MAX )
++ return EINVAL;
++ memp = malloc( (u_long)size, DRM(M_DRM), M_WAITOK );
++ data = memp;
++ } else {
++ data = ubuf.stkbuf;
++ }
++
++ if ( cmd & LINUX_IOC_IN ) {
++ if ( size ) {
++ error = copyin( (caddr_t)args->arg, data, (u_int)size );
++ if (error) {
++ if ( memp )
++ free( data, DRM(M_DRM) );
++ return error;
++ }
++ } else {
++ data = (caddr_t)args->arg;
++ }
++ } else if ( (cmd & LINUX_IOC_OUT) && size ) {
++ /*
++ * Zero the buffer so the user always
++ * gets back something deterministic.
++ */
++ bzero( data, size );
++ } else if ( cmd & LINUX_IOC_VOID ) {
++ *(caddr_t *)data = (caddr_t)args->arg;
++ }
++
+ #if (__FreeBSD_version >= 500000)
+- struct file *fp = p->td_proc->p_fd->fd_ofiles[args->fd];
++ if ( (error = fget( p, args->fd, &fp )) != 0 ) {
++ if ( memp )
++ free( memp, DRM(M_DRM) );
++ return (error);
++ }
++ error = fo_ioctl( fp, cmd, data, p->td_ucred, p );
++ fdrop( fp, p );
+ #else
+- struct file *fp = p->p_fd->fd_ofiles[args->fd];
++ error = fo_ioctl( fp, cmd, data, p );
+ #endif
+- u_long cmd = args->cmd;
+- caddr_t data = (caddr_t) args->arg;
+- /*
+- * Pass the ioctl off to our standard handler.
+- */
+- return(fo_ioctl(fp, cmd, data, p));
++ if ( error == 0 && (cmd & LINUX_IOC_OUT) && size )
++ error = copyout( data, (caddr_t)args->arg, (u_int)size );
++ if ( memp )
++ free( memp, DRM(M_DRM) );
++ return error;
+ }
+ #endif /* DRM_LINUX */
+Index: drm_os_freebsd.h
+===================================================================
+RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_freebsd.h,v
+retrieving revision 1.3
+diff -u -r1.3 programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_freebsd.h
+--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_freebsd.h 5 Jul 2002 08:31:07 -0000 1.3
++++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_freebsd.h 21 Aug 2002 07:13:27 -0000
+@@ -65,7 +65,6 @@
+ #include <sys/proc.h>
+ #include <machine/../linux/linux.h>
+ #include <machine/../linux/linux_proto.h>
+-#include "drm_linux.h"
+ #endif
+
+ #define DRM_TIME_SLICE (hz/20) /* Time slice for GLXContexts */
+@@ -140,14 +139,18 @@
+ } \
+ } while (0)
+
+-#define DRM_COPY_TO_USER_IOCTL(arg1, arg2, arg3) \
+- *arg1 = arg2
+-#define DRM_COPY_FROM_USER_IOCTL(arg1, arg2, arg3) \
+- arg1 = *arg2
+-#define DRM_COPY_TO_USER(arg1, arg2, arg3) \
+- copyout(arg2, arg1, arg3)
+-#define DRM_COPY_FROM_USER(arg1, arg2, arg3) \
+- copyin(arg2, arg1, arg3)
++#define DRM_COPY_TO_USER_IOCTL(user, kern, size) \
++ if ( IOCPARM_LEN(cmd) != size) \
++ return EINVAL; \
++ *user = kern;
++#define DRM_COPY_FROM_USER_IOCTL(kern, user, size) \
++ if ( IOCPARM_LEN(cmd) != size) \
++ return EINVAL; \
++ kern = *user;
++#define DRM_COPY_TO_USER(user, kern, size) \
++ copyout(kern, user, size)
++#define DRM_COPY_FROM_USER(kern, user, size) \
++ copyin(user, kern, size)
+ /* Macros for userspace access with checking readability once */
+ /* FIXME: can't find equivalent functionality for nocheck yet.
+ * It's be slower than linux, but should be correct.
OpenPOWER on IntegriCloud