summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordawes <dawes>2000-12-05 19:51:28 +0000
committerdawes <dawes>2000-12-05 19:51:28 +0000
commit0286e73acf3f1d06a5a5e6881718b050d69d65f7 (patch)
tree28b8810ef9443ecde795b35b5f68f820027d4ec1
parented6396cf921b6df825b582dab9df4a3f67418ed0 (diff)
XFree86 4.0.1h merge
-rw-r--r--xc/config/cf/FreeBSD.cf16
-rw-r--r--xc/config/cf/Imake.tmpl18
-rw-r--r--xc/config/cf/X11.tmpl16
-rw-r--r--xc/config/cf/cygwin.cf3
-rw-r--r--xc/config/cf/cygwin.tmpl7
-rw-r--r--xc/config/cf/linux.cf26
-rw-r--r--xc/config/cf/xfree86.cf23
-rw-r--r--xc/extras/Mesa/Makefile660
-rw-r--r--xc/extras/Mesa/Makefile.X115
-rw-r--r--xc/extras/Mesa/Makefile.in406
-rw-r--r--xc/extras/Mesa/WIN32/RULES/lib.glut322
-rw-r--r--xc/extras/Mesa/WIN32/RULES/progs.demos7
-rw-r--r--xc/extras/Mesa/aclocal.m4801
-rw-r--r--xc/extras/Mesa/conf.h.in50
-rwxr-xr-xxc/extras/Mesa/configure5245
-rw-r--r--xc/extras/Mesa/docs/VERSIONS16
-rw-r--r--xc/extras/Mesa/include/GL/Makefile.in264
-rw-r--r--xc/extras/Mesa/include/GL/mesa_wgl.h3
-rw-r--r--xc/extras/Mesa/include/Makefile.in304
-rwxr-xr-xxc/extras/Mesa/install-sh251
-rwxr-xr-xxc/extras/Mesa/mkinstalldirs40
-rw-r--r--xc/extras/Mesa/src/FX/Makefile.am2
-rw-r--r--xc/extras/Mesa/src/FX/Makefile.in405
-rw-r--r--xc/extras/Mesa/src/FX/X86/Makefile.am2
-rw-r--r--xc/extras/Mesa/src/FX/X86/Makefile.in327
-rw-r--r--xc/extras/Mesa/src/FX/fxcva.c4
-rw-r--r--xc/extras/Mesa/src/FX/fxdrv.h2
-rw-r--r--xc/extras/Mesa/src/FX/fxpipeline.c14
-rw-r--r--xc/extras/Mesa/src/FX/fxrender.c12
-rw-r--r--xc/extras/Mesa/src/FX/fxvsetup.c26
-rw-r--r--xc/extras/Mesa/src/Makefile805
-rwxr-xr-xxc/extras/Mesa/src/Makefile.BeOS-R48
-rw-r--r--xc/extras/Mesa/src/Makefile.am2
-rw-r--r--xc/extras/Mesa/src/Makefile.in753
-rw-r--r--xc/extras/Mesa/src/OSmesa/Makefile.am2
-rw-r--r--xc/extras/Mesa/src/OSmesa/Makefile.in320
-rw-r--r--xc/extras/Mesa/src/OSmesa/osmesa.c2
-rw-r--r--xc/extras/Mesa/src/X/Makefile.am2
-rw-r--r--xc/extras/Mesa/src/X/Makefile.in324
-rw-r--r--xc/extras/Mesa/src/X/fakeglx.c2
-rw-r--r--xc/extras/Mesa/src/X/xfonts.c2
-rw-r--r--xc/extras/Mesa/src/X86/3dnow.c13
-rw-r--r--xc/extras/Mesa/src/X86/3dnow.h3
-rw-r--r--xc/extras/Mesa/src/X86/Makefile.am2
-rw-r--r--xc/extras/Mesa/src/X86/Makefile.in472
-rw-r--r--xc/extras/Mesa/src/X86/common_x86.c15
-rw-r--r--xc/extras/Mesa/src/X86/common_x86_asm.h1
-rw-r--r--xc/extras/Mesa/src/X86/katmai.h2
-rw-r--r--xc/extras/Mesa/src/aamask.c39
-rw-r--r--xc/extras/Mesa/src/context.c13
-rw-r--r--xc/extras/Mesa/src/cva.c109
-rw-r--r--xc/extras/Mesa/src/depend429
-rw-r--r--xc/extras/Mesa/src/drawpix2.c407
-rw-r--r--xc/extras/Mesa/src/enable.c72
-rw-r--r--xc/extras/Mesa/src/get.c376
-rw-r--r--xc/extras/Mesa/src/hash.c3
-rw-r--r--xc/extras/Mesa/src/pipeline.c33
-rw-r--r--xc/extras/Mesa/src/shade.c8
-rw-r--r--xc/extras/Mesa/src/shade.h15
-rw-r--r--xc/extras/Mesa/src/stages.c32
-rw-r--r--xc/extras/Mesa/src/texobj.c4
-rw-r--r--xc/extras/Mesa/src/types.h47
-rw-r--r--xc/extras/Mesa/src/varray.c636
-rw-r--r--xc/extras/Mesa/src/vbxform.c5
-rw-r--r--xc/extras/Mesa/stamp-h.in0
-rw-r--r--xc/extras/Mesa/util/Makefile.am2
-rw-r--r--xc/extras/Mesa/util/Makefile.in311
-rw-r--r--xc/extras/rman/rman.c18
-rw-r--r--xc/lib/GL/mesa/src/drv/Imakefile2
-rw-r--r--xc/lib/GL/mesa/src/drv/common/depthtmp.h10
-rw-r--r--xc/lib/GL/mesa/src/drv/i810/i810tris.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/Imakefile2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_context.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_context.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_dd.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_dd.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_lock.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_screen.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_screen.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_span.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_span.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_state.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_state.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tex.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tex.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_texobj.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tris.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tris.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_vb.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_vb.h2
-rw-r--r--xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c2
-rw-r--r--xc/lib/GL/mesa/src/drv/tdfx/fxddspan.c15
-rw-r--r--xc/lib/X11/lcUniConv/microsoft_cp1251.h112
-rw-r--r--xc/lib/X11/lcUniConv/microsoft_cp1255.h118
-rw-r--r--xc/lib/X11/lcUniConv/microsoft_cp1256.h136
-rw-r--r--xc/lib/X11/lcUniConv/tatar_cyr.h6
-rw-r--r--xc/lib/Xft/Imakefile31
-rw-r--r--xc/lib/Xft/Xft.h182
-rw-r--r--xc/lib/Xft/Xft.man201
-rw-r--r--xc/lib/Xft/XftFreetype.h26
-rw-r--r--xc/lib/Xft/xftcfg.c103
-rw-r--r--xc/lib/Xft/xftcore.c26
-rw-r--r--xc/lib/Xft/xftdraw.c162
-rw-r--r--xc/lib/Xft/xftextent.c4
-rw-r--r--xc/lib/Xft/xftfont.c34
-rw-r--r--xc/lib/Xft/xftfreetype.c48
-rw-r--r--xc/lib/Xft/xftglyphs.c56
-rw-r--r--xc/lib/Xft/xftgram.y3
-rw-r--r--xc/lib/Xft/xftint.h132
-rw-r--r--xc/lib/Xft/xftlex.l53
-rw-r--r--xc/lib/Xft/xftname.c143
-rw-r--r--xc/lib/Xft/xftpat.c14
-rw-r--r--xc/lib/Xft/xftrender.c14
-rw-r--r--xc/lib/Xft/xftxlfd.c93
-rw-r--r--xc/nls/XLC_LOCALE/iscii-dev30
-rw-r--r--xc/nls/XLC_LOCALE/isiri-334230
-rw-r--r--xc/nls/XLC_LOCALE/iso8859-9e14
-rw-r--r--xc/nls/XLC_LOCALE/koi8-c30
-rw-r--r--xc/nls/XLC_LOCALE/microsoft-cp125115
-rw-r--r--xc/nls/XLC_LOCALE/microsoft-cp125515
-rw-r--r--xc/nls/XLC_LOCALE/microsoft-cp125615
-rw-r--r--xc/nls/XLC_LOCALE/nokhchi-130
-rw-r--r--xc/nls/XLC_LOCALE/tatar-cyr15
-rw-r--r--xc/nls/XLC_LOCALE/tscii-030
-rw-r--r--xc/programs/Xserver/Imakefile14
-rw-r--r--xc/programs/Xserver/hw/darwin/Imakefile9
-rw-r--r--xc/programs/Xserver/hw/darwin/Xdarwin.man8
-rw-r--r--xc/programs/Xserver/hw/darwin/darwin.c114
-rw-r--r--xc/programs/Xserver/hw/darwin/utils/Imakefile5
-rw-r--r--xc/programs/Xserver/hw/darwin/utils/dumpkeymap.c1121
-rw-r--r--xc/programs/Xserver/hw/kdrive/vesa/Xvesa.man51
-rw-r--r--xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h34
-rw-r--r--xc/programs/Xserver/hw/xfree86/common/xf86sbusBus.c4
-rw-r--r--xc/programs/Xserver/hw/xfree86/doc/Install20
-rw-r--r--xc/programs/Xserver/hw/xfree86/doc/README.DRIcomp143
-rw-r--r--xc/programs/Xserver/hw/xfree86/doc/README.i8102
-rw-r--r--xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml2
-rw-r--r--xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ark/ark_driver.c7
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/r128.h8
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.h2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c51
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c6
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/r128_sarea.h2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c882
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h4
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c6
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c10
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c9
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/i810/i810.h4
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c7
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c84
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c28
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c8
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h6
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c12
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c12
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sis/init300.c77
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sis/init300.h6
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c1030
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sis/init301.h97
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sis/initdef.h185
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c25
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.c38
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.h4
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunbw2/bw2_driver.c9
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c9
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/suncg3/cg3_driver.c9
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/suncg6/cg6_driver.c13
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb.h3
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c19
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c18
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_gc.c10
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_wid.c5
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo.h3
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_accel.c8
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_driver.c16
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_gc.c10
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/suntcx/tcx_driver.c12
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/Imakefile2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.cpp2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c7
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.c2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.h2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_sli.c2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfxdefs.h2
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.c144
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h12
-rw-r--r--xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list4
-rw-r--r--xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/set-list5
-rw-r--r--xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def8
-rw-r--r--xc/programs/Xserver/hw/xfree86/input/wacom/wacom.cpp4
-rw-r--r--xc/programs/Xserver/hw/xfree86/loader/xf86sym.c4
-rw-r--r--xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmR128.c2
-rw-r--r--xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile3
-rw-r--r--xc/programs/Xserver/hw/xfree86/os-support/xf86drmR128.h2
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile8
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad444
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/card-cfg.c26
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/config.h6
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c65
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/loader.c10
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c10
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.h6
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/options.c28
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/screen-cfg.c7
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/screen.c18
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/screen.h3
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/startx.c12
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.c421
-rw-r--r--xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.h46
-rw-r--r--xc/programs/Xserver/os/Imakefile7
224 files changed, 6715 insertions, 15152 deletions
diff --git a/xc/config/cf/FreeBSD.cf b/xc/config/cf/FreeBSD.cf
index 61d610782..ecccbc65d 100644
--- a/xc/config/cf/FreeBSD.cf
+++ b/xc/config/cf/FreeBSD.cf
@@ -2,7 +2,7 @@ XCOMM platform: $TOG: FreeBSD.cf /main/21 1997/10/05 20:42:34 kaleb $
XCOMM
XCOMM
XCOMM
-XCOMM platform: $XFree86: xc/config/cf/FreeBSD.cf,v 3.99 2000/11/14 23:58:30 dawes Exp $
+XCOMM platform: $XFree86: xc/config/cf/FreeBSD.cf,v 3.101 2000/12/04 18:49:09 dawes Exp $
#ifndef UseElfFormat
#define UseElfFormat DefaultToElfFormat
@@ -78,6 +78,9 @@ XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVe
#ifndef LexCmd
#define LexCmd flex -l
#endif
+#ifndef HasFlex
+#define HasFlex YES
+#endif
#define CcCmd cc
#define CppCmd /usr/bin/cpp
@@ -510,6 +513,17 @@ InstallManPageAliasesBase(file,destdir,aliases)
#define PamLibraries -lpam DlLibrary
#endif
+#ifndef HasCookieMaker
+/* Which versions have /dev/urandom? */
+#if OSMajorVersion >= 4
+#define HasCookieMaker YES
+#define MkCookieCmd \
+ 'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
+#else
+#define HasCookieMaker NO
+#endif
+#endif
+
/*
* A hack to work around an optimization problem with gcc 2.95.2
*/
diff --git a/xc/config/cf/Imake.tmpl b/xc/config/cf/Imake.tmpl
index 8533f964a..0de4d0835 100644
--- a/xc/config/cf/Imake.tmpl
+++ b/xc/config/cf/Imake.tmpl
@@ -5,7 +5,7 @@ XCOMM
XCOMM
XCOMM
XCOMM
-XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.84 2000/11/28 16:10:21 dawes Exp $
+XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.87 2000/12/02 19:06:57 herrb Exp $
XCOMM ----------------------------------------------------------------------
/*
@@ -231,6 +231,10 @@ XCOMM the platform-specific parameters - edit site.def to change
#define BuildHtmlManPages NO
#endif
+#ifndef HasCookieMaker
+#define HasCookieMaker NO
+#endif
+
#include <Imake.rules>
#ifndef HasSharedLibraries
@@ -348,6 +352,12 @@ XCOMM the platform-specific parameters - edit site.def to change
#ifndef HasFchown
#define HasFchown YES
#endif
+#ifndef HasPam
+#define HasPam NO
+#endif
+#ifndef HasPamMisc
+#define HasPamMisc NO
+#endif
/* byte-order defaults */
#ifndef ByteOrder
#if defined(VaxArchitecture)
@@ -935,6 +945,9 @@ TCLIBDIR = TclLibDir
#ifndef AsCmd
#define AsCmd as
#endif
+#ifndef AsmDefines
+#define AsmDefines /**/
+#endif
#ifndef CompressCmd
#define CompressCmd compress
#endif
@@ -982,6 +995,9 @@ TCLIBDIR = TclLibDir
#ifndef LexLib
#define LexLib -ll
#endif
+#ifndef HasFlex
+#define HasFlex NO
+#endif
#ifndef YaccCmd
#define YaccCmd yacc
#endif
diff --git a/xc/config/cf/X11.tmpl b/xc/config/cf/X11.tmpl
index 987312072..bac8ddd43 100644
--- a/xc/config/cf/X11.tmpl
+++ b/xc/config/cf/X11.tmpl
@@ -5,7 +5,7 @@ XCOMM
XCOMM
XCOMM
XCOMM
-XCOMM $XFree86: xc/config/cf/X11.tmpl,v 1.82 2000/11/28 16:10:21 dawes Exp $
+XCOMM $XFree86: xc/config/cf/X11.tmpl,v 1.86 2000/12/04 18:49:11 dawes Exp $
/***************************************************************************
* *
@@ -308,7 +308,7 @@ XCOMM $XFree86: xc/config/cf/X11.tmpl,v 1.82 2000/11/28 16:10:21 dawes Exp $
#define BuildRenderLibrary BuildRender
#endif
#ifndef BuildXftLibrary
-#define BuildXftLibrary BuildRenderLibrary && defined(Freetype2Dir)
+#define BuildXftLibrary BuildRenderLibrary
#endif
#ifndef BuildMiscDocs
@@ -321,6 +321,10 @@ XCOMM $XFree86: xc/config/cf/X11.tmpl,v 1.82 2000/11/28 16:10:21 dawes Exp $
#define BuildAllSpecsDocs NO
#endif
+#ifndef FSUseSyslog
+#define FSUseSyslog NO
+#endif
+
#ifndef InstallLibManPages
#define InstallLibManPages YES
#endif
@@ -1249,7 +1253,7 @@ XCOMM X Window System make variables; these need to be coordinated with rules
XLIBSRC = $(LIBSRC)/X11
#if SharedLibX11
#ifndef SharedX11Rev
-#define SharedX11Rev 6.1
+#define SharedX11Rev 6.2
#endif
SharedLibReferences(XONLY,X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev)
#else
@@ -1770,7 +1774,7 @@ ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),XBuildLibDir)
XMUSRC = $(LIBSRC)/Xmu
#if SharedLibXmu
#ifndef SharedXmuRev
-#define SharedXmuRev 6.1
+#define SharedXmuRev 6.2
#endif
SharedDSLibReferences(XMU,Xmu,$(XMUSRC),SOXMUREV,SharedXmuRev)
#else
@@ -2205,10 +2209,10 @@ FREETYPE2DEFINES = -DFREETYPE2
#endif
#ifndef XftClientDepLibs
-#define XftClientDepLibs $(DEPXFTLIB)
+#define XftClientDepLibs $(DEPXFTLIB) $(DEPXRENDERLIB)
#endif
#ifndef XftClientLibs
-#define XftClientLibs $(XFTLIB) $(FREETYPE2LIB)
+#define XftClientLibs $(XFTLIB) $(FREETYPE2LIB) $(XRENDERLIB)
#endif
#ifndef LdLibraryPath
diff --git a/xc/config/cf/cygwin.cf b/xc/config/cf/cygwin.cf
index b4feccd3e..8ba0a8ccb 100644
--- a/xc/config/cf/cygwin.cf
+++ b/xc/config/cf/cygwin.cf
@@ -1,4 +1,4 @@
-XCOMM platform: $XFree86: xc/config/cf/cygwin.cf,v 3.1 2000/08/09 23:40:09 dawes Exp $
+XCOMM platform: $XFree86: xc/config/cf/cygwin.cf,v 3.2 2000/11/30 23:29:55 dawes Exp $
XCOMM
XCOMM - changes since B20 Cygwin32 release
XCOMM - avoided tons of "not in XXX directory" messages;
@@ -97,6 +97,7 @@ XCOMM #define AsCmd gcc -S
#define YaccCmd byacc
#define LexCmd flex -l
#define LexLib -lfl
+#define HasFlex YES
#define PreProcessCmd CcCmd -E
XCOMM #define StdIncDir `CcCmd --print-libgcc-file-name | sed ':libgcc.a:../../../../i586-cygwin32/include:'|sed 's,\\\\,/,g'`
XCOMM #define PostIncDir `CcCmd --print-libgcc-file-name | sed ':libgcc.a:/include:'|sed 's,\\\\,/,g'`
diff --git a/xc/config/cf/cygwin.tmpl b/xc/config/cf/cygwin.tmpl
index 0b12f21b7..4de189090 100644
--- a/xc/config/cf/cygwin.tmpl
+++ b/xc/config/cf/cygwin.tmpl
@@ -1,5 +1,5 @@
XCOMM $XConsortium: WinLib.tmpl,v 1.1 94/01/08 18:32:51 rws Exp $
-XCOMM $XFree86: xc/config/cf/cygwin.tmpl,v 3.1 2000/08/09 23:40:09 dawes Exp $
+XCOMM $XFree86: xc/config/cf/cygwin.tmpl,v 3.2 2000/12/04 18:49:13 dawes Exp $
#define SharedOldXReqs $(LDPRELIB) $(XLIBONLY)
#define SharedXtReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XLIBONLY)
@@ -21,8 +21,9 @@ XCOMM #define SharedXfontReqs $(LDPRELIB) $(XLIB)
#define SharedXpmReqs $(LDPRELIB) $(XLIB)
#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
#define SharedXssReqs $(LDPRELIB) $(XLIB) $(EXTENSIONLIB) $(XTOOLLIB)
-#define SharedDpsReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
-#define SharedDpsTkReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(EXTENSIONLIB) $(XLIB)
#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
diff --git a/xc/config/cf/linux.cf b/xc/config/cf/linux.cf
index 89d41cac7..cdc67bc75 100644
--- a/xc/config/cf/linux.cf
+++ b/xc/config/cf/linux.cf
@@ -4,7 +4,7 @@ XCOMM platform: $TOG: linux.cf /main/47 1998/04/17 11:32:51 mgreess
-XCOMM platform: $XFree86: xc/config/cf/linux.cf,v 3.146 2000/11/29 17:40:19 dawes Exp $
+XCOMM platform: $XFree86: xc/config/cf/linux.cf,v 3.150 2000/12/02 19:06:57 herrb Exp $
#ifndef LinuxElfDefault
# define LinuxElfDefault YES
@@ -107,7 +107,9 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
#define InstallXinitConfig YES
#define InstallXdmConfig YES
#define InstallFSConfig YES
+#if 0
#define HasXdmAuth YES
+#endif
#define DebuggableLibraries YES
#define ForceNormalLib YES
#define BuildSpecsDocs YES
@@ -133,6 +135,11 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
#define NormalLibGlu YES
#define BuildRman NO
#define BuildHtmlManPages NO
+#define FSUseSyslog YES
+#endif
+
+#if LinuxDistribution == LinuxRedHat
+#define FSUseSyslog YES
#endif
/*
@@ -193,6 +200,13 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
# endif
#endif
+/* <linux/input.h> support mainly for USB support */
+#ifndef HasLinuxInput
+# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4)
+# define HasLinuxInput YES
+# endif
+#endif
+
/* On x86, determine whether to build with MTRR support */
#ifndef HasMTRRSupport
# ifdef i386Architecture
@@ -351,6 +365,11 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
#define UseStaticTermcapLib NO
#endif
+#ifndef HasCookieMaker
+#define HasCookieMaker YES
+#define MkCookieCmd mcookie
+#endif
+
#ifndef BourneShell
/*
* This will cause builds/installs to terminate on errors, as on other
@@ -482,6 +501,7 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
/* Some Linux distributions have yacc, some don't. All have bison. */
#define YaccCmd bison -y
#define LexCmd flex -l
+#define HasFlex YES
#define LexLib -lfl
#define PreProcessCmd CcCmd -E
#define PostIncDir DefaultGccIncludeDir
@@ -597,6 +617,10 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
#define PamLibraries -lpam DlLibrary
#endif
+#ifndef PamMiscLibraries
+#define PamMiscLibraries -lpam_misc
+#endif
+
#if HasDECnet
# define ConnectionFlags -DUNIXCONN -DTCPCONN -DDNETCONN
# define ExtraLibraries -ldnet
diff --git a/xc/config/cf/xfree86.cf b/xc/config/cf/xfree86.cf
index 8e4c2b5a8..395c1adab 100644
--- a/xc/config/cf/xfree86.cf
+++ b/xc/config/cf/xfree86.cf
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/config/cf/xfree86.cf,v 3.328 2000/11/29 15:51:18 dawes Exp $
+XCOMM $XFree86: xc/config/cf/xfree86.cf,v 3.332 2000/12/04 18:49:13 dawes Exp $
/*
* This configuration file contains all of the configuration
* information for the XFree86 based X Servers.
@@ -51,6 +51,11 @@ XCOMM $TOG: xfree86.cf /main/38 1997/10/22 13:01:59 kaleb $
#endif
#endif
+/* <linux/input.h> support mainly for USB support */
+#ifndef HasLinuxInput
+# define HasLinuxInput NO
+#endif
+
/* OS.cf files may set this for OS-specific drivers */
#ifndef XF86OSCardDrivers
#define XF86OSCardDrivers /**/
@@ -174,7 +179,7 @@ XCOMM $TOG: xfree86.cf /main/38 1997/10/22 13:01:59 kaleb $
/* Pure PCI drivers should go first */
# ifndef XF86CardDrivers
# define XF86CardDrivers mga glint nv tga s3virge sis rendition \
- neomagic i740 tdfx \
+ neomagic i740 tdfx savage \
cirrus tseng trident chips apm \
GlideDriver fbdev i128 \
ati AgpGartDrivers DevelDrivers ark cyrix \
@@ -261,6 +266,10 @@ XCOMM $TOG: xfree86.cf /main/38 1997/10/22 13:01:59 kaleb $
# ifndef XF86Server
# define XF86Server YES
# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
/* shadow fb module */
# ifndef XFShadowFB
# define XFShadowFB YES
@@ -283,7 +292,7 @@ XCOMM $TOG: xfree86.cf /main/38 1997/10/22 13:01:59 kaleb $
# endif
# ifndef XF86CardDrivers
-# define XF86CardDrivers XF86OSCardDrivers XF86ExtraCardDrivers
+# define XF86CardDrivers newport XF86OSCardDrivers XF86ExtraCardDrivers
# endif
#endif
@@ -364,7 +373,7 @@ XCOMM $TOG: xfree86.cf /main/38 1997/10/22 13:01:59 kaleb $
/* Pure PCI drivers should go first */
# ifndef XF86CardDrivers
# define XF86CardDrivers mga tdfx glint s3virge rendition tga \
- nv DevelDrivers siliconmotion vga \
+ savage nv DevelDrivers siliconmotion vga \
XF86OSCardDrivers XF86ExtraCardDrivers
# endif
#endif
@@ -448,7 +457,7 @@ XCOMM $TOG: xfree86.cf /main/38 1997/10/22 13:01:59 kaleb $
/* Pure PCI drivers should go first */
# ifndef XF86CardDrivers
-# define XF86CardDrivers mga glint s3virge sis \
+# define XF86CardDrivers mga glint s3virge sis savage\
trident chips fbdev \
DevelDrivers vga \
XF86OSCardDrivers XF86ExtraCardDrivers
@@ -1089,10 +1098,6 @@ XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese
* Other stuff used in the X Server source.
*/
-#ifndef AsmDefines
-# define AsmDefines /**/
-#endif
-
#ifndef OtherIConfigFiles
# define OtherIConfigFiles $(IRULESRC)/xfree86.cf $(IRULESRC)/xf86.rules
#endif
diff --git a/xc/extras/Mesa/Makefile b/xc/extras/Mesa/Makefile
deleted file mode 100644
index 9b2e5592f..000000000
--- a/xc/extras/Mesa/Makefile
+++ /dev/null
@@ -1,660 +0,0 @@
-# $Id: Makefile,v 1.1 2000/11/30 17:31:30 dawes Exp $
-
-# Mesa 3-D graphics library
-# Version: 3.4
-#
-# Copyright (C) 1999-2000 Brian Paul All Rights Reserved.
-#
-# 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 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
-# BRIAN PAUL 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.
-
-
-# Top-level makefile for Mesa
-# To add a new configuration for your system add it to the list below
-# then update the Make-config file.
-
-SHELL = /bin/sh
-
-
-
-default:
- @echo "Type one of the following:"
- @echo " make aix for IBM RS/6000 with AIX"
- @echo " make aix-sl for IBM RS/6000, make shared libs"
- @echo " make amiwin for Amiga with SAS/C and AmiWin"
- @echo " make amix for Amiga 3000 UX SVR4 v2.1 systems"
- @echo " make beos-r4 for BeOS R4"
- @echo " make bsdos for BSD/OS from BSDI using GCC"
- @echo " make bsdos4 for BSD/OS 4.x, dynamic libraries"
- @echo " make cygnus for Win95/NT using Cygnus-Win32"
- @echo " make cygnus-linux for Win95/NT using Cygnus-Win32 under Linux"
- @echo " make dgux for Data General"
- @echo " make freebsd for FreeBSD systems with GCC"
- @echo " make freebsd-386 for FreeBSD systems with GCC, w/ Intel assembly"
- @echo " make gcc for a generic system with GCC"
- @echo " make hpux9 for HP systems with HPUX 9.x"
- @echo " make hpux9-sl for HP systems with HPUX 9.x, make shared libs"
- @echo " make hpux9-gcc for HP systems with HPUX 9.x using GCC"
- @echo " make hpux9-gcc-sl for HP systems with HPUX 9.x, GCC, make shared libs"
- @echo " make hpux10 for HP systems with HPUX 10.x"
- @echo " make hpux10-sl for HP systems with HPUX 10.x, shared libs"
- @echo " make hpux10-gcc for HP systems with HPUX 10.x w/ GCC"
- @echo " make hpux10-gcc-sl for HP systems with HPUX 10.x w/ GCC, shared libs"
- @echo " make irix4 for SGI systems with IRIX 4.x"
- @echo " make irix5 for SGI systems with IRIX 5.x"
- @echo " make irix5-gcc for SGI systems with IRIX 5.x using GCC"
- @echo " make irix5-dso for SGI systems with IRIX 5.x, make DSOs"
- @echo " make irix6-o32 for SGI systems with IRIX 6.x, make o32-bit libs"
- @echo " make irix6-o32-dso for SGI systems with IRIX 6.x, make o32-bit DSOs"
- @echo " make irix6-n32 for SGI systems with IRIX 6.x, make n32-bit libs"
- @echo " make irix6-n32-dso for SGI systems with IRIX 6.x, make n32-bit DSOs"
- @echo " make irix6-gcc-n32-sl for SGI systems with IRIX 6.x, GCC, make n32 DSOs"
- @echo " make irix6-64 for SGI systems with IRIX 6.x, make 64-bit libs"
- @echo " make irix6-64-dso for SGI systems with IRIX 6.x, make 64-bit DSOs"
-
- @echo " make linux for Linux systems, make shared .so libs"
- @echo " make linux-static for Linux systems, make static .a libs"
- @echo " make linux-x86 for Linux on Intel, make shared .so libs"
- @echo " make linux-x86-static for Linux on Intel, make static .a libs"
- @echo " make linux-ggi for Linux systems with libggi"
- @echo " make linux-386-ggi for Linux systems with libggi w/ Intel assembly"
- @echo " make linux-glide for Linux w/ 3Dfx Glide driver"
- @echo " make linux-386-glide for Linux w/ 3Dfx Glide driver, Intel assembly"
- @echo " make linux-386-opt-glide for Linux with 3Dfx Voodoo1 for GLQuake"
- @echo " make linux-386-opt-V2-glide for Linux with 3Dfx Voodoo2 for GLQuake"
- @echo " make linux-x86-glide for Linux w/ all x86 asm for Glide"
- @echo " make linux-alpha for Linux on Alpha systems"
- @echo " make linux-alpha-static for Linux on Alpha systems, static libs"
- @echo " make linux-ppc for Linux on PowerPC systems"
- @echo " make linux-ppc-static for Linux on PowerPC systems, static libs"
- @echo " make linux-sparc for Linux on Sparc systems"
- @echo " make linux-sparc5-elf for Sparc5 systems, make ELF shared libs"
- @echo " make linux-sparc-ultra for UltraSparc systems, make ELF shared libs"
- @echo " make lynxos for LynxOS systems with GCC"
- @echo " make macintosh for Macintosh"
- @echo " make machten-2.2 for Macs w/ MachTen 2.2 (68k w/ FPU)"
- @echo " make machten-4.0 for Macs w/ MachTen 4.0.1 or newer with GNU make"
- @echo " make mklinux for Linux on Power Macintosh"
- @echo " make netbsd for NetBSD 1.0 systems with GCC"
- @echo " make next for NeXT systems with NEXTSTEP 3.3"
- @echo " make openbsd for OpenBSD systems"
- @echo " make openstep for OpenStep/MacOSX Server systems"
- @echo " make os2-x11 for OS/2 with XFree86"
- @echo " make osf1 for DEC Alpha systems with OSF/1"
- @echo " make osf1-sl for DEC Alpha systems with OSF/1, make shared libs"
- @echo " make pgi-cygnus for Cygnus with Portland Group, Inc. compiler"
- @echo " make pgi-mingw32 for mingW32 with Portland Group, Inc. compiler"
- @echo " make qnx for QNX V4 systems with Watcom compiler"
- @echo " make sco for SCO Unix systems with ODT"
- @echo " make sco5 for SCO 5.0.5 OpenServer Unix"
- @echo " make solaris-x86 for PCs with Solaris"
- @echo " make solaris-x86-gcc for PCs with Solaris using GCC"
- @echo " make sunos4 for Suns with SunOS 4.x"
- @echo " make sunos4-sl for Suns with SunOS 4.x, make shared libs"
- @echo " make sunos4-gcc for Suns with SunOS 4.x and GCC"
- @echo " make sunos4-gcc-sl for Suns with SunOS 4.x, GCC, make shared libs"
- @echo " make sunos5 for Suns with SunOS 5.x"
- @echo " make sunos5-sl for Suns with SunOS 5.x, make shared libs"
- @echo " make sunos5-ultra for Sun UltraSPARCs with SunOS 5.x"
- @echo " make sunos5-ultra-sl for Sun UltraSPARCs with SunOS 5.x, make shared libs"
- @echo " make sunos5-thread for Suns with SunOS 5.x, using Solaris threads"
- @echo " make sunos5-pthread for Suns with SunOS 5.[56] using POSIX threads"
- @echo " make sunos5-gcc-thread for Suns with SunOS 5.x and GCC, using Solaris threads"
- @echo " make sunos5-gcc-pthread for Suns with SunOS 5.[56] and GCC, using POSIX threads"
- @echo " make sunos5-gcc for Suns with SunOS 5.x and GCC"
- @echo " make sunos5-gcc-sl for Suns with SunOS 5.x, GCC, make shared libs"
- @echo " make sunos5-x11r6-gcc-sl for Suns with X11R6, GCC, make shared libs"
- @echo " make sunos5-gcc-thread for Suns with SunOS 5.x and GCC, using Solaris threads"
- @echo " make sunos5-gcc-pthread for Suns with SunOS 5.[56] and GCC, using POSIX threads"
- @echo " make sunSolaris-CC for Solaris using C++ compiler"
- @echo " make ultrix-gcc for DEC systems with Ultrix and GCC"
- @echo " make unicos for Cray C90 (and other?) systems"
- @echo " make unixware for PCs running UnixWare"
- @echo " make unixware-shared for PCs running UnixWare, shared libs"
- @echo " make uwin for Windows NT with AT&T/Wipro UWIN"
- @echo " make vistra for Stardent Vistra systems"
- @echo " make clean remove .o files"
- @echo " make realclean remove .o, library and executable files"
-
-
-
-aix aix-sl amix bsdos bsdos4 dgux freebsd freebsd-386 gcc \
-hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
-hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
-irix4 irix5 irix5-gcc irix5-dso irix6-o32 irix6-o32-dso \
-linux linux-static linux-debug linux-static-debug linux-prof \
-linux-x86 linux-x86-static linux-x86-debug \
-linux-glide linux-386-glide linux-386-opt-glide \
-linux-386-opt-V2-glide linux-x86-glide linux-glide-debug linux-glide-prof \
-linux-alpha-static linux-alpha \
-linux-ppc-static linux-ppc \
-linux-sparc \
-linux-sparc5-elf \
-linux-sparc-ultra \
-lynxos machten-2.2 machten-4.0 \
-mklinux netbsd osf1 osf1-sl openbsd qnx sco sco5 \
-solaris-x86 solaris-x86-gcc sunSolaris-CC \
-sunos4 sunos4-sl sunos4-gcc sunos4-gcc-sl sunos4-gcc-x11r6-sl \
-sunos5 sunos5-sl sunos5-ultra sunos5-ultra-sl sunos5-gcc sunos5-gcc-sl \
-sunos5-thread sunos5-pthread sunos5-gcc-thread sunos5-gcc-pthread \
-sunos5-x11r6-gcc-sl ultrix-gcc unicos unixware uwin vistra:
- -mkdir lib
- if [ -d src ] ; then touch src/depend ; fi
- if [ -d src-glu ] ; then touch src-glu/depend ; fi
- if [ -d src-glut ] ; then touch src-glut/depend ; fi
- if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
- if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d src-glu ] ; then cd src-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
-
-irix6-n32 irix6-n32-dso irix6-gcc-n32-sl irix-debug:
- -mkdir lib32
- if [ -d src ] ; then touch src/depend ; fi
- if [ -d src-glu ] ; then touch src-glu/depend ; fi
- if [ -d src-glut ] ; then touch src-glut/depend ; fi
- if [ -d src-glut ] ; then touch src-glut/depend ; fi
- if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
- if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d src-glu ] ; then cd src-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
-
-
-irix6-64 irix6-64-dso:
- -mkdir lib64
- touch src/depend
- touch src-glu/depend
- if [ -d src-glut ] ; then touch src-glut/depend ; fi
- if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
- if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d src-glu ] ; then cd src-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
-
-
-amiwin:
- bin/mklib.amiwin
-
-
-beos-r4:
- -mkdir lib
- -rm src/depend
- touch src/depend
- -rm src-glu/depend
- touch src-glu/depend
- if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
- if [ -d src-glu ] ; then cd src-glu ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
- if [ -d BeOS ] ; then cd BeOS ; $(MAKE) ; fi
- if [ -d src-glut.beos ] ; then cd src-glut.beos ; $(MAKE) ; fi
- if [ -d src-glut.beos ] ; then cp src-glut.beos/obj*/libglut.so lib ; fi
- if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
- if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
- if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
-
-pgi-cygnus pgi-mingw32 \
-cygnus cygnus-linux:
- -mkdir lib
- touch src/depend
- touch src-glu/depend
- if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
- if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d src-glu ] ; then cd src-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
-
-macintosh:
- @echo "See the README file for Macintosh intallation information"
-
-next:
- -mkdir lib
- cd src ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
- cd src-glu ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
-
-openstep:
- -mkdir lib
- cd src ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
- cd src-glu ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
-
-os2-x11:
- if not EXIST .\lib md lib
- touch src/depend
- touch src-glu/depend
- if exist src-glut touch src-glut/depend
- cd src & make -f Makefile.X11 $@
- cd src-glu & make -f Makefile.X11 $@
- if exist src-glut cd src-glut & make -f Makefile.X11 $@
- if exist demos cd demos & make -f Makefile.X11 $@
- if exist xdemos cd xdemos & make -f Makefile.X11 $@
- if exist samples cd samples & make -f Makefile.X11 $@
- if exist book cd book & make -f Makefile.X11 $@
-
-linux-ggi linux-386-ggi:
- -mkdir lib
- touch src/depend
- touch src-glu/depend
- if [ -d src-glut ] ; then touch src-glut/depend ; fi
- if [ -d widgets-sgi ] ; then touch widgets-sgi/depend ; fi
- if [ -d ggi ] ; then touch ggi/depend ; fi
- if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d src/GGI/default ] ; then cd src/GGI/default ; $(MAKE) ; fi
- if [ -d src/GGI/display ] ; then cd src/GGI/display ; $(MAKE) ; fi
- if [ -d src-glut ] ; then cd src-glu ; $(MAKE) -f Makefile.X11 $@ ; fi
-# if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d ggi ] ; then cd ggi ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d ggi ] ; then cd ggi/demos; $(MAKE) ; fi
- if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
- if [ -d widgets-sgi ] ; then cd widgets-sgi; $(MAKE) -f Makefile.X11 $@ ; fi
-
-# if you change GGI_DEST please change it in ggimesa.conf, too.
-DESTDIR=/usr/local
-GGI_DEST=lib/ggi/mesa
-
-linux-ggi-install linux-386-ggi-install:
- install -d $(DESTDIR)/$(GGI_DEST)/default $(DESTDIR)/$(GGI_DEST)/display $(DESTDIR)/etc/ggi
- install -m 0755 src/GGI/default/*.so $(DESTDIR)/$(GGI_DEST)/default
- install -m 0755 src/GGI/display/*.so $(DESTDIR)/$(GGI_DEST)/display
- install -m 0644 src/GGI/ggimesa.conf $(DESTDIR)/etc/ggi
-# if [ -z "`grep ggimesa $(DESTDIR)/etc/ggi/libggi.conf`" ]; then \
-# echo ".include $(DESTDIR)/etc/ggi/ggimesa.conf" >> $(DESTDIR)/etc/ggi/libggi.conf ; \
-# fi
-
-# Remove .o files, emacs backup files, etc.
-clean:
- -rm -f ggi/*~ *.o
- -rm -f src/GGI/default/*~ *.so
- -rm -f src/GGI/display/*~ *.so
- -rm -f include/*~
- -rm -f include/GL/*~
- -rm -f src/*.o src/*~ src/*.a src/*/*.o src/*/*~
- -rm -f src-glu/*.o src-glu/*~ src-glu/*.a
- -rm -f src-glut/*.o
- -rm -f demos/*.o
- -rm -f book/*.o book/*~
- -rm -f xdemos/*.o xdemos/*~
- -rm -f samples/*.o samples/*~
- -rm -f ggi/*.o ggi/demos/*.o ggi/*.a
- -rm -f widgets-sgi/*.o
- -rm -f widgets-mesa/*/*.o
-
-# Remove everything that can be remade
-realclean: clean
- -rm -f lib/*
- cd demos && $(MAKE) -f Makefile.X11 realclean || true
- cd xdemos && $(MAKE) -f Makefile.X11 realclean || true
- cd book && $(MAKE) -f Makefile.X11 realclean || true
- cd samples && $(MAKE) -f Makefile.X11 realclean || true
- cd ggi/demos && $(MAKE) -f Makefile.X11 realclean || true
- cd src/GGI/default && $(MAKE) -f Makefile.X11 realclean || true
-
-
-
-DIRECTORY = Mesa-3.4
-LIB_NAME = MesaLib-3.4
-DEMO_NAME = MesaDemos-3.4
-GLU_NAME = MesaGLU-3.4
-GLUT_NAME = GLUT-3.7
-
-
-LIB_FILES = \
- $(DIRECTORY)/Makefile* \
- $(DIRECTORY)/Make-config \
- $(DIRECTORY)/acconfig.h \
- $(DIRECTORY)/acinclude.m4 \
- $(DIRECTORY)/aclocal.m4 \
- $(DIRECTORY)/conf.h.in \
- $(DIRECTORY)/config.guess \
- $(DIRECTORY)/config.sub \
- $(DIRECTORY)/configure \
- $(DIRECTORY)/configure.in \
- $(DIRECTORY)/install-sh \
- $(DIRECTORY)/ltconfig \
- $(DIRECTORY)/ltmain.sh \
- $(DIRECTORY)/missing \
- $(DIRECTORY)/mkinstalldirs \
- $(DIRECTORY)/stamp-h.in \
- $(DIRECTORY)/docs/CONFIG \
- $(DIRECTORY)/docs/CONFORM \
- $(DIRECTORY)/docs/COPYING \
- $(DIRECTORY)/docs/COPYRIGHT \
- $(DIRECTORY)/docs/DEVINFO \
- $(DIRECTORY)/docs/IAFA-PACKAGE \
- $(DIRECTORY)/docs/INSTALL \
- $(DIRECTORY)/docs/INSTALL.GNU \
- $(DIRECTORY)/docs/README \
- $(DIRECTORY)/docs/README.* \
- $(DIRECTORY)/docs/RELNOTES* \
- $(DIRECTORY)/docs/VERSIONS \
- $(DIRECTORY)/docs/*.spec \
- $(DIRECTORY)/bin/README \
- $(DIRECTORY)/bin/mklib* \
- $(DIRECTORY)/*.BAT \
- $(DIRECTORY)/*.bat \
- $(DIRECTORY)/descrip.mms \
- $(DIRECTORY)/mms-config \
- $(DIRECTORY)/xlib.opt \
- $(DIRECTORY)/STARTUP.MK \
- $(DIRECTORY)/mesawin32.mak \
- $(DIRECTORY)/Names.win \
- $(DIRECTORY)/win32-openstep.sh \
- $(DIRECTORY)/common.dja \
- $(DIRECTORY)/include/GL/Makefile.in \
- $(DIRECTORY)/include/GL/Makefile.am \
- $(DIRECTORY)/include/GL/dosmesa.h \
- $(DIRECTORY)/include/GL/amesa.h \
- $(DIRECTORY)/include/GL/fxmesa.h \
- $(DIRECTORY)/include/GL/ggimesa.h \
- $(DIRECTORY)/include/GL/gl.h \
- $(DIRECTORY)/include/GL/glext.h \
- $(DIRECTORY)/include/GL/gl_mangle.h \
- $(DIRECTORY)/include/GL/glu.h \
- $(DIRECTORY)/include/GL/glu_mangle.h \
- $(DIRECTORY)/include/GL/glx.h \
- $(DIRECTORY)/include/GL/glx_mangle.h \
- $(DIRECTORY)/include/GL/mesa_wgl.h \
- $(DIRECTORY)/include/GL/mglmesa.h \
- $(DIRECTORY)/include/GL/osmesa.h \
- $(DIRECTORY)/include/GL/svgamesa.h \
- $(DIRECTORY)/include/GL/wmesa.h \
- $(DIRECTORY)/include/GL/xmesa.h \
- $(DIRECTORY)/include/GL/xmesa_x.h \
- $(DIRECTORY)/include/GL/xmesa_xf86.h \
- $(DIRECTORY)/include/GLView.h \
- $(DIRECTORY)/include/Makefile.in \
- $(DIRECTORY)/include/Makefile.am \
- $(DIRECTORY)/src/Makefile* \
- $(DIRECTORY)/src/descrip.mms \
- $(DIRECTORY)/src/mms_depend \
- $(DIRECTORY)/src/mesa.conf \
- $(DIRECTORY)/src/*.def \
- $(DIRECTORY)/src/depend \
- $(DIRECTORY)/src/*.[chS] \
- $(DIRECTORY)/src/Allegro/*.[ch] \
- $(DIRECTORY)/src/BeOS/*.cpp \
- $(DIRECTORY)/src/D3D/*.cpp \
- $(DIRECTORY)/src/D3D/*.CPP \
- $(DIRECTORY)/src/D3D/*.h \
- $(DIRECTORY)/src/D3D/*.H \
- $(DIRECTORY)/src/D3D/*.c \
- $(DIRECTORY)/src/D3D/*.C \
- $(DIRECTORY)/src/D3D/MAKEFILE \
- $(DIRECTORY)/src/D3D/*bat \
- $(DIRECTORY)/src/D3D/*DEF \
- $(DIRECTORY)/src/DOS/DEPEND.DOS \
- $(DIRECTORY)/src/DOS/*.c \
- $(DIRECTORY)/src/FX/Makefile.am \
- $(DIRECTORY)/src/FX/Makefile.in \
- $(DIRECTORY)/src/FX/*.[ch] \
- $(DIRECTORY)/src/FX/*.def \
- $(DIRECTORY)/src/FX/X86/Makefile.am \
- $(DIRECTORY)/src/FX/X86/Makefile.in \
- $(DIRECTORY)/src/FX/X86/*.[Shc] \
- $(DIRECTORY)/src/GGI/Makefile.am \
- $(DIRECTORY)/src/GGI/Makefile.in \
- $(DIRECTORY)/src/GGI/*.[ch] \
- $(DIRECTORY)/src/GGI/ggimesa.conf.in \
- $(DIRECTORY)/src/GGI/default/*.c \
- $(DIRECTORY)/src/GGI/default/Makefile.am \
- $(DIRECTORY)/src/GGI/default/Makefile.in \
- $(DIRECTORY)/src/GGI/default/genkgi.conf.in \
- $(DIRECTORY)/src/GGI/display/*.c \
- $(DIRECTORY)/src/GGI/display/Makefile.am \
- $(DIRECTORY)/src/GGI/display/Makefile.in \
- $(DIRECTORY)/src/GGI/display/fbdev.conf.in \
- $(DIRECTORY)/src/GGI/include/Makefile.am \
- $(DIRECTORY)/src/GGI/include/Makefile.in \
- $(DIRECTORY)/src/GGI/include/ggi/Makefile.am \
- $(DIRECTORY)/src/GGI/include/ggi/Makefile.in \
- $(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.am \
- $(DIRECTORY)/src/GGI/include/ggi/mesa/Makefile.in \
- $(DIRECTORY)/src/GGI/include/ggi/mesa/*.h \
- $(DIRECTORY)/src/KNOWN_BUGS \
- $(DIRECTORY)/src/OSmesa/Makefile.am \
- $(DIRECTORY)/src/OSmesa/Makefile.in \
- $(DIRECTORY)/src/OSmesa/*.[ch] \
- $(DIRECTORY)/src/S3/*.[ch] \
- $(DIRECTORY)/src/S3/*.def \
- $(DIRECTORY)/src/S3/*.mak \
- $(DIRECTORY)/src/S3/*.rc \
- $(DIRECTORY)/src/SVGA/Makefile.am \
- $(DIRECTORY)/src/SVGA/Makefile.in \
- $(DIRECTORY)/src/SVGA/*.[ch] \
- $(DIRECTORY)/src/Windows/*.[ch] \
- $(DIRECTORY)/src/Windows/*.def \
- $(DIRECTORY)/src/X/Makefile.am \
- $(DIRECTORY)/src/X/Makefile.in \
- $(DIRECTORY)/src/X/*.[ch] \
- $(DIRECTORY)/src/X86/*.[ch] \
- $(DIRECTORY)/src/X86/Makefile.am \
- $(DIRECTORY)/src/X86/Makefile.in \
- $(DIRECTORY)/src/X86/*.S \
- $(DIRECTORY)/src-glu/README[12] \
- $(DIRECTORY)/src-glu/Makefile* \
- $(DIRECTORY)/src-glu/descrip.mms \
- $(DIRECTORY)/src-glu/mms_depend \
- $(DIRECTORY)/src-glu/*.def \
- $(DIRECTORY)/src-glu/depend \
- $(DIRECTORY)/src-glu/*.[ch] \
- $(DIRECTORY)/widgets-mesa/ChangeLog \
- $(DIRECTORY)/widgets-mesa/INSTALL \
- $(DIRECTORY)/widgets-mesa/Makefile.in \
- $(DIRECTORY)/widgets-mesa/README \
- $(DIRECTORY)/widgets-mesa/TODO \
- $(DIRECTORY)/widgets-mesa/configure \
- $(DIRECTORY)/widgets-mesa/demos/ChangeLog \
- $(DIRECTORY)/widgets-mesa/demos/Cube \
- $(DIRECTORY)/widgets-mesa/demos/Ed \
- $(DIRECTORY)/widgets-mesa/demos/Makefile.in \
- $(DIRECTORY)/widgets-mesa/demos/Mcube \
- $(DIRECTORY)/widgets-mesa/demos/Tea \
- $(DIRECTORY)/widgets-mesa/demos/*.[ch] \
- $(DIRECTORY)/widgets-mesa/demos/events \
- $(DIRECTORY)/widgets-mesa/include/GL/ChangeLog \
- $(DIRECTORY)/widgets-mesa/include/GL/*.h \
- $(DIRECTORY)/widgets-mesa/include/GL/Makefile.in \
- $(DIRECTORY)/widgets-mesa/man/ChangeLog \
- $(DIRECTORY)/widgets-mesa/man/GL* \
- $(DIRECTORY)/widgets-mesa/man/Makefile.in \
- $(DIRECTORY)/widgets-mesa/man/Mesa* \
- $(DIRECTORY)/widgets-mesa/src/ChangeLog \
- $(DIRECTORY)/widgets-mesa/src/*.c \
- $(DIRECTORY)/widgets-mesa/src/Makefile.in \
- $(DIRECTORY)/widgets-sgi/*.[ch] \
- $(DIRECTORY)/widgets-sgi/Makefile* \
- $(DIRECTORY)/widgets-sgi/README \
- $(DIRECTORY)/util/README \
- $(DIRECTORY)/util/Makefile.am \
- $(DIRECTORY)/util/Makefile.in \
- $(DIRECTORY)/util/*.[ch] \
- $(DIRECTORY)/util/sampleMakefile \
- $(DIRECTORY)/vms/analyze_map.com \
- $(DIRECTORY)/vms/xlib.opt \
- $(DIRECTORY)/vms/xlib_share.opt \
- $(DIRECTORY)/BeOS/Makefile \
- $(DIRECTORY)/BeOS/*.cpp \
- $(DIRECTORY)/WIN32/NMAKE.MAK \
- $(DIRECTORY)/WIN32/NMAKE.MIF \
- $(DIRECTORY)/WIN32/RES/*rc \
- $(DIRECTORY)/WIN32/RES/*def \
- $(DIRECTORY)/WIN32/RULES/lib.* \
- $(DIRECTORY)/WIN32/RULES/progs.* \
- $(DIRECTORY)/macos/README \
- $(DIRECTORY)/macos/gli_api/*.h \
- $(DIRECTORY)/macos/cglpane/CGLPane.* \
- $(DIRECTORY)/macos/include-mac/*.h \
- $(DIRECTORY)/macos/libraries/*.stub \
- $(DIRECTORY)/macos/libraries/*Stub \
- $(DIRECTORY)/macos/projects/*.mcp \
- $(DIRECTORY)/macos/projects/*.exp \
- $(DIRECTORY)/macos/projects/*.h \
- $(DIRECTORY)/macos/resources/*.c \
- $(DIRECTORY)/macos/resources/*.r \
- $(DIRECTORY)/macos/resources/*.rsrc \
- $(DIRECTORY)/macos/src-agl/*.exp \
- $(DIRECTORY)/macos/src-agl/*.[ch] \
- $(DIRECTORY)/macos/src-gli/*.[ch] \
- $(DIRECTORY)/OpenStep
-
-DEMO_FILES = \
- $(DIRECTORY)/include/GL/glut.h \
- $(DIRECTORY)/include/GL/glutf90.h \
- $(DIRECTORY)/include/GL/glut_h.dja \
- $(DIRECTORY)/src-glut/Makefile* \
- $(DIRECTORY)/src-glut/depend \
- $(DIRECTORY)/src-glut/*def \
- $(DIRECTORY)/src-glut/descrip.mms \
- $(DIRECTORY)/src-glut/mms_depend \
- $(DIRECTORY)/src-glut/*.[ch] \
- $(DIRECTORY)/src-glut.dja/* \
- $(DIRECTORY)/src-glut.beos/Makefile \
- $(DIRECTORY)/src-glut.beos/*.cpp \
- $(DIRECTORY)/src-glut.beos/*.h \
- $(DIRECTORY)/images/* \
- $(DIRECTORY)/demos/Makefile* \
- $(DIRECTORY)/demos/descrip.mms \
- $(DIRECTORY)/demos/*.[ch] \
- $(DIRECTORY)/demos/*.cxx \
- $(DIRECTORY)/demos/*.dat \
- $(DIRECTORY)/demos/README \
- $(DIRECTORY)/xdemos/Makefile* \
- $(DIRECTORY)/xdemos/descrip.mms \
- $(DIRECTORY)/xdemos/*.[cf] \
- $(DIRECTORY)/book/Makefile* \
- $(DIRECTORY)/book/README \
- $(DIRECTORY)/book/*.[ch] \
- $(DIRECTORY)/samples/Makefile* \
- $(DIRECTORY)/samples/README \
- $(DIRECTORY)/samples/*.c \
- $(DIRECTORY)/mtdemos \
- $(DIRECTORY)/ggi
-
-GLU_FILES = \
- $(DIRECTORY)/Makefile* \
- $(DIRECTORY)/Make-config \
- $(DIRECTORY)/bin/mklib* \
- $(DIRECTORY)/include/GL/gl.h \
- $(DIRECTORY)/include/GL/gl_mangle.h \
- $(DIRECTORY)/include/GL/glext.h \
- $(DIRECTORY)/include/GL/glu.h \
- $(DIRECTORY)/include/GL/glu_mangle.h \
- $(DIRECTORY)/src-glu/README[12] \
- $(DIRECTORY)/src-glu/Makefile* \
- $(DIRECTORY)/src-glu/descrip.mms \
- $(DIRECTORY)/src-glu/mms_depend \
- $(DIRECTORY)/src-glu/*.def \
- $(DIRECTORY)/src-glu/depend \
- $(DIRECTORY)/src-glu/*.[ch]
-
-GLUT_FILES = \
- $(DIRECTORY)/Makefile* \
- $(DIRECTORY)/Make-config \
- $(DIRECTORY)/bin/mklib* \
- $(DIRECTORY)/include/GL/gl.h \
- $(DIRECTORY)/include/GL/gl_mangle.h \
- $(DIRECTORY)/include/GL/glext.h \
- $(DIRECTORY)/include/GL/glu.h \
- $(DIRECTORY)/include/GL/glu_mangle.h \
- $(DIRECTORY)/include/GL/glut.h \
- $(DIRECTORY)/include/GL/glutf90.h \
- $(DIRECTORY)/include/GL/glut_h.dja \
- $(DIRECTORY)/src-glut/Makefile* \
- $(DIRECTORY)/src-glut/depend \
- $(DIRECTORY)/src-glut/*def \
- $(DIRECTORY)/src-glut/descrip.mms \
- $(DIRECTORY)/src-glut/mms_depend \
- $(DIRECTORY)/src-glut/*.[ch] \
- $(DIRECTORY)/src-glut.dja/* \
- $(DIRECTORY)/src-glut.beos/Makefile \
- $(DIRECTORY)/src-glut.beos/*.cpp \
- $(DIRECTORY)/src-glut.beos/*.h
-
-
-lib_tar:
- cp Makefile.X11 Makefile ; \
- cd .. ; \
- tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
- gzip $(LIB_NAME).tar ; \
- mv $(LIB_NAME).tar.gz $(DIRECTORY)
-
-demo_tar:
- cd .. ; \
- tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
- gzip $(DEMO_NAME).tar ; \
- mv $(DEMO_NAME).tar.gz $(DIRECTORY)
-
-glu_tar:
- cp Makefile.X11 Makefile ; \
- cd .. ; \
- tar -cvf $(GLU_NAME).tar $(GLU_FILES) ; \
- gzip $(GLU_NAME).tar ; \
- mv $(GLU_NAME).tar.gz $(DIRECTORY)
-
-glut_tar:
- cp Makefile.X11 Makefile ; \
- cd .. ; \
- tar -cvf $(GLUT_NAME).tar $(GLUT_FILES) ; \
- gzip $(GLUT_NAME).tar ; \
- mv $(GLUT_NAME).tar.gz $(DIRECTORY)
-
-
-lib_zip:
- -rm $(LIB_NAME).zip ; \
- cp Makefile.X11 Makefile ; \
- cd .. ; \
- zip -r $(LIB_NAME).zip $(LIB_FILES) ; \
- mv $(LIB_NAME).zip $(DIRECTORY)
-
-demo_zip:
- -rm $(DEMO_NAME).zip ; \
- cd .. ; \
- zip -r $(DEMO_NAME).zip $(DEMO_FILES) ; \
- mv $(DEMO_NAME).zip $(DIRECTORY)
-
-
-
-SRC_FILES = \
- RELNOTES \
- src/Makefile* \
- src/depend \
- src/*.[chS] \
- src/*/*.[ch] \
- include/GL/*.h
-
-srctar:
- tar -cvf src.tar $(SRC_FILES) ; \
- gzip src.tar
-
-srctar.zip:
- -rm src.zip
- zip -r src.zip $(SRC_FILES) ; \
diff --git a/xc/extras/Mesa/Makefile.X11 b/xc/extras/Mesa/Makefile.X11
index 82eb4cbf0..eee86453d 100644
--- a/xc/extras/Mesa/Makefile.X11
+++ b/xc/extras/Mesa/Makefile.X11
@@ -1,7 +1,7 @@
-# $Id: Makefile.X11,v 1.1 2000/11/30 17:31:30 dawes Exp $
+# $Id: Makefile.X11,v 1.2 2000/12/05 19:51:29 dawes Exp $
# Mesa 3-D graphics library
-# Version: 3.4
+# Version: 3.4.1
#
# Copyright (C) 1999-2000 Brian Paul All Rights Reserved.
#
@@ -472,6 +472,7 @@ LIB_FILES = \
$(DIRECTORY)/widgets-mesa/README \
$(DIRECTORY)/widgets-mesa/TODO \
$(DIRECTORY)/widgets-mesa/configure \
+ $(DIRECTORY)/widgets-mesa/configure.in \
$(DIRECTORY)/widgets-mesa/demos/ChangeLog \
$(DIRECTORY)/widgets-mesa/demos/Cube \
$(DIRECTORY)/widgets-mesa/demos/Ed \
diff --git a/xc/extras/Mesa/Makefile.in b/xc/extras/Mesa/Makefile.in
deleted file mode 100644
index 3281df441..000000000
--- a/xc/extras/Mesa/Makefile.in
+++ /dev/null
@@ -1,406 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = .
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-AUTOMAKE_OPTIONS = 1.4 foreign
-
-@HAVE_DEMOS_TRUE@DEMO_DIRS = book demos samples xdemos
-
-@NEED_GLUT_TRUE@SUB_GLUT = src-glut
-
-SUBDIRS = include src src-glu $(SUB_GLUT) $(DEMO_DIRS) util
-
-EXTRA_DIST = docs/INSTALL docs/INSTALL.GNU docs/CONFIG docs/IAFA-PACKAGE docs/RELNOTES docs/VERSIONS docs/CONFORM docs/COPYING docs/COPYRIGHT docs/README docs/README.3DFX docs/README.BEOS docs/README.GGI docs/README.MINGW32 docs/README.MITS docs/README.QUAKE docs/README.THREADS docs/README.X11 images/girl.rgb images/reflect.rgb images/tile.rgb
-
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = conf.h
-CONFIG_CLEAN_FILES =
-DIST_COMMON = README ./stamp-h.in ChangeLog Makefile.am Makefile.in \
-acconfig.h acinclude.m4 aclocal.m4 conf.h.in config.guess config.sub \
-configure configure.in install-sh ltconfig ltmain.sh missing \
-mkinstalldirs
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-DIST_SUBDIRS = include src src-glu src-glut book demos samples xdemos \
-util
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
- cd $(top_builddir) \
- && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-$(ACLOCAL_M4): configure.in acinclude.m4
- cd $(srcdir) && $(ACLOCAL)
-
-config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
- cd $(srcdir) && $(AUTOCONF)
-
-conf.h: stamp-h
- @if test ! -f $@; then \
- rm -f stamp-h; \
- $(MAKE) stamp-h; \
- else :; fi
-stamp-h: $(srcdir)/conf.h.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES= CONFIG_HEADERS=conf.h \
- $(SHELL) ./config.status
- @echo timestamp > stamp-h 2> /dev/null
-$(srcdir)/conf.h.in: $(srcdir)/stamp-h.in
- @if test ! -f $@; then \
- rm -f $(srcdir)/stamp-h.in; \
- $(MAKE) $(srcdir)/stamp-h.in; \
- else :; fi
-$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
- cd $(top_srcdir) && $(AUTOHEADER)
- @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
-
-mostlyclean-hdr:
-
-clean-hdr:
-
-distclean-hdr:
- -rm -f conf.h
-
-maintainer-clean-hdr:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
- rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
- done; \
- test "$$dot_seen" = "no" && rev=". $$rev"; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) conf.h.in $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)conf.h.in$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags conf.h.in $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- -rm -rf $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
- mkdir $(distdir)/=build
- mkdir $(distdir)/=inst
- dc_install_base=`cd $(distdir)/=inst && pwd`; \
- cd $(distdir)/=build \
- && ../configure --srcdir=.. --prefix=$$dc_install_base \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) dist
- -rm -rf $(distdir)
- @banner="$(distdir).tar.gz is ready for distribution"; \
- dashes=`echo "$$banner" | sed s/./=/g`; \
- echo "$$dashes"; \
- echo "$$banner"; \
- echo "$$dashes"
-dist: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-dist-all: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
- -rm -rf $(distdir)
-distdir: $(DISTFILES)
- -rm -rf $(distdir)
- mkdir $(distdir)
- -chmod 777 $(distdir)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile
- $(mkinstalldirs) $(distdir)/docs $(distdir)/images
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
- for subdir in $(DIST_SUBDIRS); do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- chmod 777 $(distdir)/$$subdir; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
- || exit 1; \
- fi; \
- done
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-all-recursive-am: conf.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-install-exec-am:
-install-exec: install-exec-recursive
-
-install-data-am:
-install-data: install-data-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am:
-uninstall: uninstall-recursive
-all-am: Makefile conf.h
-all-redirect: all-recursive-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-recursive
- -rm -f config.status
-
-maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
- maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f config.status
-
-.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
-install-data-recursive uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-@HAVE_DEMOS_TRUE@exec:
-@HAVE_DEMOS_TRUE@ @for subdir in $(DEMO_DIRS); do \
-@HAVE_DEMOS_TRUE@ echo "Making exec in $$subdir"; \
-@HAVE_DEMOS_TRUE@ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) exec); \
-@HAVE_DEMOS_TRUE@ done;
-@HAVE_DEMOS_FALSE@exec:
-
-strip:
- @for subdir in src src-glu $(SUB_GLUT); do \
- echo "Making strip in $$subdir"; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) strip); \
- done;
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/WIN32/RULES/lib.glut32 b/xc/extras/Mesa/WIN32/RULES/lib.glut32
index bf0edbdf7..cd8811cee 100644
--- a/xc/extras/Mesa/WIN32/RULES/lib.glut32
+++ b/xc/extras/Mesa/WIN32/RULES/lib.glut32
@@ -16,5 +16,5 @@ DLLLIBS = GLU32d.lib OpenGL32d.lib winmm.lib
DLLLIBS = GLU32.lib OpenGL32.lib winmm.lib
!ENDIF
-CPPOPTS = $(CPPOPTS) /DBUILD_GLUT32
+CPPOPTS = $(CPPOPTS) /DBUILD_GLUT32 /DMESA
DLLBASE = GLUT32
diff --git a/xc/extras/Mesa/WIN32/RULES/progs.demos b/xc/extras/Mesa/WIN32/RULES/progs.demos
index 2796c461f..6d2580a54 100644
--- a/xc/extras/Mesa/WIN32/RULES/progs.demos
+++ b/xc/extras/Mesa/WIN32/RULES/progs.demos
@@ -13,13 +13,6 @@ EXELIBS = glut32$(LIBSFX).lib glu32$(LIBSFX).lib opengl32$(LIBSFX).lib
RUNTIMELIBS = glut32$(LIBSFX).dll glu32$(LIBSFX).dll opengl32$(LIBSFX).dll
!ENDIF
-!IF ("$(USE_SYSGL)" == "0") && ("$(DEBUG)" == "1")
-EXELIBS=$(EXELIBS:.lib=d.lib)
-!IF "$(RUNTIMELIBS)" != ""
-RUNTIMELIBS=$(RUNTIMELIBS:.dll=d.dll)
-!ENDIF
-!ENDIF
-
!IF "$(STATIC_MESA)" == "1"
EXELIBS=$(EXELIBS) winmm.lib
!ENDIF
diff --git a/xc/extras/Mesa/aclocal.m4 b/xc/extras/Mesa/aclocal.m4
deleted file mode 100644
index 5e2e88ce9..000000000
--- a/xc/extras/Mesa/aclocal.m4
+++ /dev/null
@@ -1,801 +0,0 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4
-
-dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-dnl PARTICULAR PURPOSE.
-
-
-# serial 42 AC_PROG_LIBTOOL
-AC_DEFUN(AC_PROG_LIBTOOL,
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-
-# Save cache, so that ltconfig can load it
-AC_CACHE_SAVE
-
-# Actually configure libtool. ac_aux_dir is where install-sh is found.
-AR="$AR" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-FILE="$FILE" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
-LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
-AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
-objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
-deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $lt_target \
-|| AC_MSG_ERROR([libtool configure failed])
-
-# Reload cache, that may have been modified by ltconfig
-AC_CACHE_LOAD
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-])
-
-AC_DEFUN(AC_LIBTOOL_SETUP,
-[AC_PREREQ(2.13)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-
-# Only perform the check for file, if the check method requires it
-case "$deplibs_check_method" in
-file_magic*)
- if test "$file_magic_cmd" = '$FILE'; then
- AC_PATH_FILE
- fi
- ;;
-esac
-
-case "$target" in
-NONE) lt_target="$host" ;;
-*) lt_target="$target" ;;
-esac
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
-[libtool_flags="$libtool_flags --enable-dlopen"])
-ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
-[libtool_flags="$libtool_flags --enable-win32-dll"])
-AC_ARG_ENABLE(libtool-lock,
- [ --disable-libtool-lock avoid locking (might break parallel builds)])
-test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
-test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
-
-AC_ARG_WITH(pic,
- [ --with-pic try to use only PIC/non-PIC objects [default=use both]],
- pic_mode="$withval", pic_mode=default)
-test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
-test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$lt_target" in
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-
-ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw*)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
-
- # recent cygwin and mingw systems supply a stub DllMain which the user
- # can override, but on older systems we have to supply one
- AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
- [AC_TRY_LINK([],
- [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
- DllMain (0, 0, 0);],
- [lt_cv_need_dllmain=yes],[lt_cv_need_dllmain=no])])
-
- case "$lt_target/$CC" in
- *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
- # old mingw systems require "-dll" to link a DLL, while more recent ones
- # require "-mdll"
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -mdll"
- AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
- [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
- CFLAGS="$SAVE_CFLAGS" ;;
- *-*-cygwin*)
- # cygwin systems need to pass --dll to the linker, and not link
- # crt.o which will require a WinMain@16 definition.
- lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
- esac
- ;;
- ])
-esac
-])
-
-# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
-AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
-
-# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
-AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
-
-# AC_ENABLE_SHARED - implement the --enable-shared flag
-# Usage: AC_ENABLE_SHARED[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AC_ENABLE_SHARED, [dnl
-define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(shared,
-changequote(<<, >>)dnl
-<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
-])
-
-# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
-AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)])
-
-# AC_ENABLE_STATIC - implement the --enable-static flag
-# Usage: AC_ENABLE_STATIC[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AC_ENABLE_STATIC, [dnl
-define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(static,
-changequote(<<, >>)dnl
-<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
-])
-
-# AC_DISABLE_STATIC - set the default static flag to --disable-static
-AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)])
-
-
-# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
-# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
-# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
-# `yes'.
-AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
-define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE(fast-install,
-changequote(<<, >>)dnl
-<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
-changequote([, ])dnl
-[p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac],
-enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
-])
-
-# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
-AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)])
-
-
-# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
-AC_DEFUN(AC_PATH_TOOL_PREFIX,
-[AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_FILE,
-[case "$FILE" in
- /*)
- lt_cv_path_FILE="$FILE" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_FILE="$FILE" # Let the user override the test with a dos path.
- ;;
- *)
- ac_save_file="$FILE"
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="ifelse([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_FILE="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case "$deplibs_check_method" in
- "file_magic "*)
- file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
- FILE="$lt_cv_path_FILE"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- egrep "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$ac_save_ifs"
- FILE="$ac_save_file"
- ;;
-esac])
-FILE="$lt_cv_path_FILE"
-if test -n "$FILE"; then
- AC_MSG_RESULT($FILE)
-else
- AC_MSG_RESULT(no)
-fi
-])
-
-
-# AC_PATH_FILE - find a file program which can recognise a shared library
-AC_DEFUN(AC_PATH_FILE,
-[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
-AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
-if test -z "$lt_cv_path_FILE"; then
- if test -n "$ac_tool_prefix"; then
- AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
- else
- FILE=:
- fi
-fi
-])
-
-
-# AC_PROG_LD - find the path to the GNU or non-GNU linker
-AC_DEFUN(AC_PROG_LD,
-[AC_ARG_WITH(gnu-ld,
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by GCC])
- case $lt_target in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case "$ac_prog" in
- # Accept absolute paths.
-changequote(,)dnl
- [\\/]* | [A-Za-z]:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
-changequote([,])dnl
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(ac_cv_path_LD,
-[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- ac_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])
-
-AC_DEFUN(AC_PROG_LD_GNU,
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- ac_cv_prog_gnu_ld=yes
-else
- ac_cv_prog_gnu_ld=no
-fi])
-with_gnu_ld=$ac_cv_prog_gnu_ld
-])
-
-# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN(AC_PROG_LD_RELOAD_FLAG,
-[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
-[lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-test -n "$reload_flag" && reload_flag=" $reload_flag"
-])
-
-# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN(AC_DEPLIBS_CHECK_METHOD,
-[AC_CACHE_CHECK([how to recognise dependant libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$FILE'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [regex]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given egrep regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case "$host_os" in
-aix4* | beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi4*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin* | mingw*)
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='${OBJDUMP} -f'
- ;;
-
-freebsd*)
- case "$version_type" in
- freebsd-elf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-irix5* | irix6*)
- case "$host_os" in
- irix5*)
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
- ;;
- *)
- case "$LD" in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
- ;;
- esac
- lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux-gnu*)
- case "$host_cpu" in
- alpha* | i*86 | sparc* )
- lt_cv_deplibs_check_method=pass_all ;;
- *)
- # glibc up to 2.1.1 does not perform some relocations on ARM
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
- esac
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-osf3* | osf4* | osf5*)
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
- lt_cv_file_magic_test_file=/shlib/libc.so
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sco3.2v5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- case "$host_vendor" in
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- esac
- ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-])
-
-
-# AC_PROG_NM - find the path to a BSD-compatible name lister
-AC_DEFUN(AC_PROG_NM,
-[AC_MSG_CHECKING([for BSD-compatible nm])
-AC_CACHE_VAL(ac_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- ac_cv_path_NM="$NM"
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -B"
- break
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -p"
- break
- else
- ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi])
-NM="$ac_cv_path_NM"
-AC_MSG_RESULT([$NM])
-])
-
-# AC_CHECK_LIBM - check for math library
-AC_DEFUN(AC_CHECK_LIBM,
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case "$lt_target" in
-*-*-beos* | *-*-cygwin*)
- # These system don't have libm
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, main, LIBM="-lm")
- ;;
-esac
-])
-
-# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl convenience library, adds --enable-ltdl-convenience to
-# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
-# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
-# to be `${top_builddir}/libltdl'. Make sure you start DIR with
-# '${top_builddir}/' (note the single quotes!) if your package is not
-# flat, and, if you're not using automake, define top_builddir as
-# appropriate in the Makefiles.
-AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- case "$enable_ltdl_convenience" in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
- INCLTDL=ifelse($#,1,-I$1,['-I${top_srcdir}/libltdl'])
-])
-
-# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl installable library, and adds --enable-ltdl-install to
-# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
-# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
-# to be `${top_builddir}/libltdl'. Make sure you start DIR with
-# '${top_builddir}/' (note the single quotes!) if your package is not
-# flat, and, if you're not using automake, define top_builddir as
-# appropriate in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- AC_CHECK_LIB(ltdl, main,
- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
- [if test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- else
- enable_ltdl_install=yes
- fi
- ])
- if test x"$enable_ltdl_install" = x"yes"; then
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
- INCLTDL=ifelse($#,1,-I$1,['-I${top_srcdir}/libltdl'])
- else
- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- INCLTDL=
- fi
-])
-
-dnl old names
-AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
-AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
-AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
-AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
-AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
-AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
-AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
-
-dnl This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])dnl
-
-# Do all the work for Automake. This macro actually does too much --
-# some checks are only needed if your package does certain things.
-# But this isn't really a big deal.
-
-# serial 1
-
-dnl Usage:
-dnl AM_INIT_AUTOMAKE(package,version, [no-define])
-
-AC_DEFUN(AM_INIT_AUTOMAKE,
-[AC_REQUIRE([AC_PROG_INSTALL])
-PACKAGE=[$1]
-AC_SUBST(PACKAGE)
-VERSION=[$2]
-AC_SUBST(VERSION)
-dnl test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-ifelse([$3],,
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
-AC_REQUIRE([AM_SANITY_CHECK])
-AC_REQUIRE([AC_ARG_PROGRAM])
-dnl FIXME This is truly gross.
-missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
-AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
-AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
-AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
-AC_REQUIRE([AC_PROG_MAKE_SET])])
-
-#
-# Check to make sure that the build environment is sane.
-#
-
-AC_DEFUN(AM_SANITY_CHECK,
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
- if test "[$]*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftestfile`
- fi
- if test "[$]*" != "X $srcdir/configure conftestfile" \
- && test "[$]*" != "X conftestfile $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "[$]2" = conftestfile
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-rm -f conftest*
-AC_MSG_RESULT(yes)])
-
-dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
-dnl The program must properly implement --version.
-AC_DEFUN(AM_MISSING_PROG,
-[AC_MSG_CHECKING(for working $2)
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if ($2 --version) < /dev/null > /dev/null 2>&1; then
- $1=$2
- AC_MSG_RESULT(found)
-else
- $1="$3/missing $2"
- AC_MSG_RESULT(missing)
-fi
-AC_SUBST($1)])
-
-# Like AC_CONFIG_HEADER, but automatically create stamp file.
-
-AC_DEFUN(AM_CONFIG_HEADER,
-[AC_PREREQ([2.12])
-AC_CONFIG_HEADER([$1])
-dnl When config.status generates a header, we must update the stamp-h file.
-dnl This file resides in the same directory as the config header
-dnl that is generated. We must strip everything past the first ":",
-dnl and everything past the last "/".
-AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
-ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
-<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
-<<am_indx=1
-for am_file in <<$1>>; do
- case " <<$>>CONFIG_HEADERS " in
- *" <<$>>am_file "*<<)>>
- echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
- ;;
- esac
- am_indx=`expr "<<$>>am_indx" + 1`
-done<<>>dnl>>)
-changequote([,]))])
-
-# Define a conditional.
-
-AC_DEFUN(AM_CONDITIONAL,
-[AC_SUBST($1_TRUE)
-AC_SUBST($1_FALSE)
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi])
-
diff --git a/xc/extras/Mesa/conf.h.in b/xc/extras/Mesa/conf.h.in
deleted file mode 100644
index 0cb39f4bc..000000000
--- a/xc/extras/Mesa/conf.h.in
+++ /dev/null
@@ -1,50 +0,0 @@
-/* conf.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define as __inline if that's what the C compiler calls it. */
-#undef inline
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if the X Window System is missing or not being used. */
-#undef X_DISPLAY_MISSING
-
-#undef HAVE_XMU
-#undef USE_X86_ASM
-#undef USE_3DNOW_ASM
-#undef USE_KATMAI_ASM
-#undef USE_MMX_ASM
-#undef MESA_DEBUG
-#undef FX
-#undef FX_GLIDE3
-#undef GGI
-#undef SVGA
-#undef USE_XSHM
-
-/* Define if you have the memcpy function. */
-#undef HAVE_MEMCPY
-
-/* Define if you have the memmove function. */
-#undef HAVE_MEMMOVE
-
-/* Define if you have the strchr function. */
-#undef HAVE_STRCHR
-
-/* Define if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
-/* Define if you have the <math.h> header file. */
-#undef HAVE_MATH_H
-
-/* Define if you have the <pthread.h> header file. */
-#undef HAVE_PTHREAD_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Version number of package */
-#undef VERSION
-
diff --git a/xc/extras/Mesa/configure b/xc/extras/Mesa/configure
deleted file mode 100755
index 4746a9e1b..000000000
--- a/xc/extras/Mesa/configure
+++ /dev/null
@@ -1,5245 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
- --enable-static[=PKGS] build static libraries [default=no]"
-ac_help="$ac_help
- --enable-fast-install[=PKGS] optimize for fast installation [default=no]"
-ac_help="$ac_help
- --enable-shared[=PKGS] build shared libraries [default=yes]"
-ac_help="$ac_help
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]"
-ac_help="$ac_help
- --disable-libtool-lock avoid locking (might break parallel builds)"
-ac_help="$ac_help
- --with-pic try to use only PIC/non-PIC objects [default=use both]"
-ac_help="$ac_help
- --enable-debug enable full Mesa debugging [default=off]"
-ac_help="$ac_help
- --enable-profile enable profiling [default=off]"
-ac_help="$ac_help
- --enable-optimize enable extra optimization [default=on]"
-ac_help="$ac_help
- --enable-warn enable extended compiler warnings [default=off]"
-ac_help="$ac_help
- --enable-x86 enable x86 assembler [default=autodetect]"
-ac_help="$ac_help
- --enable-mmx enable MMX support [default=autodetect]"
-ac_help="$ac_help
- --enable-3dnow enable 3Dnow support [default=autodetect]"
-ac_help="$ac_help
- --enable-sse enable SSE support [default=no]"
-ac_help="$ac_help
- --enable-osmesa enable OSmesa [default=on]"
-ac_help="$ac_help
- --with-glide=DIR Glide is installed in DIR"
-ac_help="$ac_help
- --with-ggi=DIR GGI is installed in DIR"
-ac_help="$ac_help
- --disable-ggi-fbdev Don't build the GGIMesa fbdev target"
-ac_help="$ac_help
- --disable-ggi-genkgi Don't build the GGIMesa generic KGI driver"
-ac_help="$ac_help
- --with-svga=DIR SVGALib is installed in DIR"
-ac_help="$ac_help
- --with-x use the X Window System"
-ac_help="$ac_help
- --with-glut=DIR GLUT is installed in DIR"
-ac_help="$ac_help
- --enable-glut-debug enable GLUT debugging [default=off]"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=include/GL/gl.h
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:603: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:656: checking whether build environment is sane" >&5
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftestfile`
- fi
- if test "$*" != "X $srcdir/configure conftestfile" \
- && test "$*" != "X conftestfile $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" 1>&2; exit 1; }
- fi
-
- test "$2" = conftestfile
- )
-then
- # Ok.
- :
-else
- { echo "configure: error: newly created file is older than distributed files!
-Check your system clock" 1>&2; exit 1; }
-fi
-rm -f conftest*
-echo "$ac_t""yes" 1>&6
-if test "$program_transform_name" = s,x,x,; then
- program_transform_name=
-else
- # Double any \ or $. echo might interpret backslashes.
- cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
- program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
- rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:713: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SET_MAKE=
-else
- echo "$ac_t""no" 1>&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-PACKAGE=Mesa
-
-VERSION=3.4
-
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
-fi
-cat >> confdefs.h <<EOF
-#define PACKAGE "$PACKAGE"
-EOF
-
-cat >> confdefs.h <<EOF
-#define VERSION "$VERSION"
-EOF
-
-
-
-missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:759: checking for working aclocal" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
- ACLOCAL=aclocal
- echo "$ac_t""found" 1>&6
-else
- ACLOCAL="$missing_dir/missing aclocal"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:772: checking for working autoconf" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoconf --version) < /dev/null > /dev/null 2>&1; then
- AUTOCONF=autoconf
- echo "$ac_t""found" 1>&6
-else
- AUTOCONF="$missing_dir/missing autoconf"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:785: checking for working automake" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
- AUTOMAKE=automake
- echo "$ac_t""found" 1>&6
-else
- AUTOMAKE="$missing_dir/missing automake"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:798: checking for working autoheader" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (autoheader --version) < /dev/null > /dev/null 2>&1; then
- AUTOHEADER=autoheader
- echo "$ac_t""found" 1>&6
-else
- AUTOHEADER="$missing_dir/missing autoheader"
- echo "$ac_t""missing" 1>&6
-fi
-
-echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:811: checking for working makeinfo" >&5
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
- MAKEINFO=makeinfo
- echo "$ac_t""found" 1>&6
-else
- MAKEINFO="$missing_dir/missing makeinfo"
- echo "$ac_t""missing" 1>&6
-fi
-
-
-MESA_MAJOR=3
-MESA_MINOR=4
-MESA_TINY=0
-LIBGL_VERSION=1:2:0${MESA_MAJOR}0${MESA_MINOR}0${MESA_TINY}
-LIBGLU_VERSION=1:1:0${MESA_MAJOR}0${MESA_MINOR}0${MESA_TINY}
-LIBGLUT_VERSION=3:7:0
-
-
-
-
-
-
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:844: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_static=no
-fi
-
-# Check whether --enable-fast-install or --disable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_fast_install=no
-fi
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:914: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:944: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test -z "$CC"; then
- case "`uname -s`" in
- *win32* | *WIN32*)
- # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:995: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="cl"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
- ;;
- esac
- fi
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1027: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 1038 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:1043: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1069: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1074: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1083: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-else
- GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1102: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1134: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 1149 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1155: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 1166 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
-#line 1183 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:1214: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1219 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:1230: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_cygwin=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:1247: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1252 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:1259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_mingw32=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
-case "$enableval" in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_shared=yes
-fi
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1299: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$ac_cv_prog_gcc" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1328: checking for ld used by GCC" >&5
- case $lt_target in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case "$ac_prog" in
- # Accept absolute paths.
- [\\/]* | [A-Za-z]:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1358: checking for GNU ld" >&5
-else
- echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1361: checking for non-GNU ld" >&5
-fi
-if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- ac_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- ac_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$ac_cv_path_LD"
-if test -n "$LD"; then
- echo "$ac_t""$LD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
-echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1396: checking if the linker ($LD) is GNU ld" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- ac_cv_prog_gnu_ld=yes
-else
- ac_cv_prog_gnu_ld=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
-with_gnu_ld=$ac_cv_prog_gnu_ld
-
-
-echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1413: checking for $LD option to reload object files" >&5
-if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-
-echo "$ac_t""$lt_cv_ld_reload_flag" 1>&6
-reload_flag=$lt_cv_ld_reload_flag
-test -n "$reload_flag" && reload_flag=" $reload_flag"
-
-echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1425: checking for BSD-compatible nm" >&5
-if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- ac_cv_path_NM="$NM"
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -B"
- break
- elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- ac_cv_path_NM="$ac_dir/nm -p"
- break
- else
- ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
-fi
-fi
-
-NM="$ac_cv_path_NM"
-echo "$ac_t""$NM" 1>&6
-
-echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1461: checking whether ln -s works" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- rm -f conftestdata
-if ln -s X conftestdata 2>/dev/null
-then
- rm -f conftestdata
- ac_cv_prog_LN_S="ln -s"
-else
- ac_cv_prog_LN_S=ln
-fi
-fi
-LN_S="$ac_cv_prog_LN_S"
-if test "$ac_cv_prog_LN_S" = "ln -s"; then
- echo "$ac_t""yes" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1482: checking how to recognise dependant libraries" >&5
-if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- lt_cv_file_magic_cmd='$FILE'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [regex]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given egrep regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case "$host_os" in
-aix4* | beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi4*)
- lt_cv_deplibs_check_method='file_magic ELF 0-90-9*-bit MLSB (shared object|dynamic lib)'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin* | mingw*)
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='${OBJDUMP} -f'
- ;;
-
-freebsd*)
- case "$version_type" in
- freebsd-elf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-irix5* | irix6*)
- case "$host_os" in
- irix5*)
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
- ;;
- *)
- case "$LD" in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-1234 dynamic lib MIPS - version 1"
- ;;
- esac
- lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux-gnu*)
- case "$host_cpu" in
- alpha* | i*86 | sparc* )
- lt_cv_deplibs_check_method=pass_all ;;
- *)
- # glibc up to 2.1.1 does not perform some relocations on ARM
- lt_cv_deplibs_check_method='file_magic ELF 0-90-9*-bit LMSB (shared object|dynamic lib )' ;;
- esac
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-osf3* | osf4* | osf5*)
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
- lt_cv_file_magic_test_file=/shlib/libc.so
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sco3.2v5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- case "$host_vendor" in
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF 0-90-9*-bit MLSB (shared object|dynamic lib) M0-90-9* Version 0-9'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- esac
- ;;
-esac
-
-fi
-
-echo "$ac_t""$lt_cv_deplibs_check_method" 1>&6
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-
-echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:1596: checking for object suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- rm -f conftest*
-echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:1602: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- for ac_file in conftest.*; do
- case $ac_file in
- *.c) ;;
- *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;;
- esac
- done
-else
- { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; }
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_objext" 1>&6
-OBJEXT=$ac_cv_objext
-ac_objext=$ac_cv_objext
-
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1622: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
- ac_cv_exeext=.exe
-else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.$ac_ext
- ac_cv_exeext=
- if { (eval echo configure:1632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj) ;;
- *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- else
- { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
- fi
- rm -f conftest*
- test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-
-# Only perform the check for file, if the check method requires it
-case "$deplibs_check_method" in
-file_magic*)
- if test "$file_magic_cmd" = '$FILE'; then
- echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:1664: checking for ${ac_tool_prefix}file" >&5
-if eval "test \"`echo '$''{'lt_cv_path_FILE'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$FILE" in
- /*)
- lt_cv_path_FILE="$FILE" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_FILE="$FILE" # Let the user override the test with a dos path.
- ;;
- *)
- ac_save_file="$FILE"
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="/usr/bin:$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_FILE="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case "$deplibs_check_method" in
- "file_magic "*)
- file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
- FILE="$lt_cv_path_FILE"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- egrep "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$ac_save_ifs"
- FILE="$ac_save_file"
- ;;
-esac
-fi
-
-FILE="$lt_cv_path_FILE"
-if test -n "$FILE"; then
- echo "$ac_t""$FILE" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$lt_cv_path_FILE"; then
- if test -n "$ac_tool_prefix"; then
- echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:1726: checking for file" >&5
-if eval "test \"`echo '$''{'lt_cv_path_FILE'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$FILE" in
- /*)
- lt_cv_path_FILE="$FILE" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_FILE="$FILE" # Let the user override the test with a dos path.
- ;;
- *)
- ac_save_file="$FILE"
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="/usr/bin:$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_FILE="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case "$deplibs_check_method" in
- "file_magic "*)
- file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
- FILE="$lt_cv_path_FILE"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- egrep "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$ac_save_ifs"
- FILE="$ac_save_file"
- ;;
-esac
-fi
-
-FILE="$lt_cv_path_FILE"
-if test -n "$FILE"; then
- echo "$ac_t""$FILE" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- else
- FILE=:
- fi
-fi
-
- fi
- ;;
-esac
-
-case "$target" in
-NONE) lt_target="$host" ;;
-*) lt_target="$target" ;;
-esac
-
-# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1802: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_RANLIB"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1834: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- RANLIB=":"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1869: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-STRIP="$ac_cv_prog_STRIP"
-if test -n "$STRIP"; then
- echo "$ac_t""$STRIP" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_STRIP"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1901: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_STRIP="strip"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_STRIP" && ac_cv_prog_STRIP=":"
-fi
-fi
-STRIP="$ac_cv_prog_STRIP"
-if test -n "$STRIP"; then
- echo "$ac_t""$STRIP" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- STRIP=":"
-fi
-fi
-
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
- :
-fi
-
-test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
-test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
-
-# Check whether --with-pic or --without-pic was given.
-if test "${with_pic+set}" = set; then
- withval="$with_pic"
- pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
-test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case "$lt_target" in
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 1968 "configure"' > conftest.$ac_ext
- if { (eval echo configure:1969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:1990: checking whether the C compiler needs -belf" >&5
-if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1995 "configure"
-#include "confdefs.h"
-
-int main() {
-
-; return 0; }
-EOF
-if { (eval echo configure:2002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- lt_cv_cc_needs_belf=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- lt_cv_cc_needs_belf=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-
-
-esac
-
-
-# Save cache, so that ltconfig can load it
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-
-# Actually configure libtool. ac_aux_dir is where install-sh is found.
-AR="$AR" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-FILE="$FILE" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
-LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
-AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
-objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
-deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $lt_target \
-|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
-
-# Reload cache, that may have been modified by ltconfig
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:2117: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:2170: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SET_MAKE=
-else
- echo "$ac_t""no" 1>&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2198: checking for ANSI C header files" >&5
-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2203 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2211: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- ac_cv_header_stdc=yes
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 2228 "configure"
-#include "confdefs.h"
-#include <string.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "memchr" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 2246 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "free" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-if test "$cross_compiling" = yes; then
- :
-else
- cat > conftest.$ac_ext <<EOF
-#line 2267 "configure"
-#include "confdefs.h"
-#include <ctype.h>
-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int main () { int i; for (i = 0; i < 256; i++)
-if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
-exit (0); }
-
-EOF
-if { (eval echo configure:2278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- :
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_header_stdc=no
-fi
-rm -fr conftest*
-fi
-
-fi
-fi
-
-echo "$ac_t""$ac_cv_header_stdc" 1>&6
-if test $ac_cv_header_stdc = yes; then
- cat >> confdefs.h <<\EOF
-#define STDC_HEADERS 1
-EOF
-
-fi
-
-for ac_hdr in math.h malloc.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2305: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2310 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2343: checking for working const" >&5
-if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2348 "configure"
-#include "confdefs.h"
-
-int main() {
-
-/* Ultrix mips cc rejects this. */
-typedef int charset[2]; const charset x;
-/* SunOS 4.1.1 cc rejects this. */
-char const *const *ccp;
-char **p;
-/* NEC SVR4.0.2 mips cc rejects this. */
-struct point {int x, y;};
-static struct point const zero = {0,0};
-/* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in an arm
- of an if-expression whose if-part is not a constant expression */
-const char *g = "string";
-ccp = &g + (g ? g-g : 0);
-/* HPUX 7.0 cc rejects these. */
-++ccp;
-p = (char**) ccp;
-ccp = (char const *const *) p;
-{ /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
-}
-{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
-}
-{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
-}
-{ /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
-}
-{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
-}
-
-; return 0; }
-EOF
-if { (eval echo configure:2397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_c_const=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_c_const=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_c_const" 1>&6
-if test $ac_cv_c_const = no; then
- cat >> confdefs.h <<\EOF
-#define const
-EOF
-
-fi
-
-echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:2418: checking for inline" >&5
-if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat > conftest.$ac_ext <<EOF
-#line 2425 "configure"
-#include "confdefs.h"
-
-int main() {
-} $ac_kw foo() {
-; return 0; }
-EOF
-if { (eval echo configure:2432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_c_inline=$ac_kw; break
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
-fi
-rm -f conftest*
-done
-
-fi
-
-echo "$ac_t""$ac_cv_c_inline" 1>&6
-case "$ac_cv_c_inline" in
- inline | yes) ;;
- no) cat >> confdefs.h <<\EOF
-#define inline
-EOF
- ;;
- *) cat >> confdefs.h <<EOF
-#define inline $ac_cv_c_inline
-EOF
- ;;
-esac
-
-for ac_func in strchr memcpy memmove
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2460: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2465 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -Wall"
-fi
-
-if test "x$host_os" = xTru64; then
- CFLAGS=-O0 -std1 -ieee_with_no_inexact -DSHM
-fi
-
-# Check whether --enable-debug or --disable-debug was given.
-if test "${enable_debug+set}" = set; then
- enableval="$enable_debug"
- enable_debug=$enableval
-else
- enable_debug=no
-fi
-
-if test "x$enable_debug" = xyes; then
- cat >> confdefs.h <<\EOF
-#define MESA_DEBUG 1
-EOF
-
- if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -O0"
- fi
-fi
-
-# Check whether --enable-profile or --disable-profile was given.
-if test "${enable_profile+set}" = set; then
- enableval="$enable_profile"
- enable_prof=$enableval
-else
- enable_prof=no
-fi
-
-if test "x$enable_prof" = xyes; then
- CFLAGS="$CFLAGS -DPROFILE"
- if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -pg"
- fi
-fi
-
-# Check whether --enable-optimize or --disable-optimize was given.
-if test "${enable_optimize+set}" = set; then
- enableval="$enable_optimize"
- enable_optim=$enableval
-else
- enable_optim=yes
-fi
-
-if test "x$enable_optim" = xyes; then
- if test "x$enable_debug" = xno && test "x$enable_prof" = xno; then
- if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing"
- case "$host" in
- i*86-*-*) CFLAGS="$CFLAGS -malign-loops=2 -malign-jumps=2 -malign-functions=2";;
- esac
- fi
- fi
-fi
-
-# Check whether --enable-warn or --disable-warn was given.
-if test "${enable_warn+set}" = set; then
- enableval="$enable_warn"
- enable_warn=$enableval
-else
- enable_warn=no
-fi
-
-if test "x$enable_warn" = xyes; then
- if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -ansi -pedantic"
- fi
-fi
-
-
-THREAD_LIBS=
-echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
-echo "configure:2590: checking for pthread_create in -lpthread" >&5
-ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lpthread $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2598 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char pthread_create();
-
-int main() {
-pthread_create()
-; return 0; }
-EOF
-if { (eval echo configure:2609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- for ac_hdr in pthread.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2628: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2633 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2638: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
- CFLAGS="$CFLAGS -D_REENTRANT"
- THREAD_LIBS="$THREAD_LIBS -lpthread"
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
-
-save_ac_ext="$ac_ext"
-save_CPPFLAGS="$CPPFLAGS"
-ac_ext=S
-CPPFLAGS="$CPPFLAGS -I$srcdir/src/X86"
-
-case "$host" in
-i*86-*-*) have_x86=on ;;
-*) have_x86=off ;;
-esac
-
-# Check whether --enable-x86 or --disable-x86 was given.
-if test "${enable_x86+set}" = set; then
- enableval="$enable_x86"
- have_x86=$enableval
-fi
-
-if test "x$have_x86" = xon; then
- echo $ac_n "checking whether the binutils support cpuid""... $ac_c" 1>&6
-echo "configure:2692: checking whether the binutils support cpuid" >&5
- cp "$srcdir/src/X86/common_x86asm.S" conftest.S
- if { (eval echo configure:2694: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- cat >> confdefs.h <<\EOF
-#define USE_X86_ASM 1
-EOF
-
- echo "$ac_t""yes" 1>&6
- else
- echo "$ac_t""no" 1>&6
- have_x86=off
- fi
- rm conftest*
-fi
-
-have_mmx=$have_x86
-# Check whether --enable-mmx or --disable-mmx was given.
-if test "${enable_mmx+set}" = set; then
- enableval="$enable_mmx"
- have_mmx=$enableval
-fi
-
-if test "x$have_mmx" = xon; then
- echo $ac_n "checking whether the binutils support MMX""... $ac_c" 1>&6
-echo "configure:2716: checking whether the binutils support MMX" >&5
- cp "$srcdir/src/X86/mmx_blend.S" conftest.S
- if { (eval echo configure:2718: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- cat >> confdefs.h <<\EOF
-#define USE_MMX_ASM 1
-EOF
-
- echo "$ac_t""yes" 1>&6
- else
- echo "$ac_t""no" 1>&6
- echo 2>&1 "*******************************************************************************"
- echo 2>&1 " The installed assembler does not supports the MMX command set."
- echo 2>&1 " Update your binutils package, if you want to compile MMX support into Mesa."
- echo 2>&1 "*******************************************************************************"
- have_mmx=off
- fi
- rm conftest*
-fi
-
-have_3dnow=$have_x86
-# Check whether --enable-3dnow or --disable-3dnow was given.
-if test "${enable_3dnow+set}" = set; then
- enableval="$enable_3dnow"
- have_3dnow=$enableval
-fi
-
-if test "x$have_3dnow" = xon; then
- echo $ac_n "checking whether the binutils support 3Dnow""... $ac_c" 1>&6
-echo "configure:2744: checking whether the binutils support 3Dnow" >&5
- cp "$srcdir/src/X86/3dnow_norm_raw.S" conftest.S
- if { (eval echo configure:2746: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- cat >> confdefs.h <<\EOF
-#define USE_3DNOW_ASM 1
-EOF
-
- echo "$ac_t""yes" 1>&6
- else
- echo "$ac_t""no" 1>&6
- echo 2>&1 "*******************************************************************************"
- echo 2>&1 " The installed assembler does not supports the 3Dnow! command set."
- echo 2>&1 " Update your binutils package, if you want to compile 3Dnow! support into Mesa."
- echo 2>&1 "*******************************************************************************"
- have_3dnow=off
- fi
- rm conftest*
-fi
-
-have_sse=no
-# Check whether --enable-sse or --disable-sse was given.
-if test "${enable_sse+set}" = set; then
- enableval="$enable_sse"
- have_sse=$enableval
-fi
-
-if test "x$have_sse" = xon; then
- echo $ac_n "checking whether the binutils support PentiumIII SSE""... $ac_c" 1>&6
-echo "configure:2772: checking whether the binutils support PentiumIII SSE" >&5
- cp "$srcdir/src/X86/katmai_xform_raw3.S" conftest.S
- if { (eval echo configure:2774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- cat >> confdefs.h <<\EOF
-#define USE_KATMAI_ASM 1
-EOF
-
- echo "$ac_t""yes" 1>&6
- echo 2>&1 "*******************************************************************************"
- echo 2>&1 " You have decided to compile SSE support into Mesa."
- echo 2>&1 " If you have a PentiumIII and want to use SSE make sure you have the"
- echo 2>&1 " PIII Linux kernel-patch installed or things will fail !"
- echo 2>&1 " You can get the patch from http://www.redhat.com/~dledford/linux_kernel.html"
- echo 2>&1 "*******************************************************************************"
- else
- echo "$ac_t""no" 1>&6
- echo 2>&1 "*******************************************************************************"
- echo 2>&1 " The installed assembler does not supports the SSE command set."
- echo 2>&1 " Update your binutils package, if you want to compile SSE support into Mesa."
- echo 2>&1 "*******************************************************************************"
- have_sse=off
- fi
- rm conftest*
-fi
-
-ac_ext="$save_ac_ext"
-CPPFLAGS="$save_CPPFLAGS"
-
-have_osmesa=on
-# Check whether --enable-osmesa or --disable-osmesa was given.
-if test "${enable_osmesa+set}" = set; then
- enableval="$enable_osmesa"
- have_osmesa=$enableval
-fi
-
-
-have_fx=auto
-FX_CFLAGS=""
-FX_LIBS=""
-# Check whether --with-glide or --without-glide was given.
-if test "${with_glide+set}" = set; then
- withval="$with_glide"
- have_fx="$withval"
-fi
-
-if test "x$have_fx" != xno; then
- if test "x$have_fx" != xauto && test "x$have_fx" != xyes; then
- FX_CFLAGS="-I$have_fx/include"
- FX_LIBS="-L$have_fx/lib"
- fi
- withval=$have_fx # We still need it later.
- save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $FX_CFLAGS"
- glide2hdir=nil
- glide3hdir=nil
- ac_safe=`echo "glide.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for glide.h""... $ac_c" 1>&6
-echo "configure:2829: checking for glide.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2834 "configure"
-#include "confdefs.h"
-#include <glide.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2839: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- cat > conftest.$ac_ext <<EOF
-#line 2856 "configure"
-#include "confdefs.h"
-#include <glide.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "grSstControl" >/dev/null 2>&1; then
- rm -rf conftest*
- glide2hdir=""
-else
- rm -rf conftest*
- glide3hdir=""
-fi
-rm -f conftest*
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
- CPPFLAGS="$save_CPPFLAGS -I/usr/include/glide -I/usr/local/include/glide"
- ac_safe=`echo "glide/glide.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for glide/glide.h""... $ac_c" 1>&6
-echo "configure:2877: checking for glide/glide.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2882 "configure"
-#include "confdefs.h"
-#include <glide/glide.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2887: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- cat > conftest.$ac_ext <<EOF
-#line 2904 "configure"
-#include "confdefs.h"
-#include <glide/glide.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "grSstControl" >/dev/null 2>&1; then
- rm -rf conftest*
- glide2hdir=glide
-else
- rm -rf conftest*
- glide3hdir=glide
-fi
-rm -f conftest*
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
- CPPFLAGS="$save_CPPFLAGS -I/usr/include/glide2 -I/usr/local/include/glide2"
- ac_safe=`echo "glide2/glide.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for glide2/glide.h""... $ac_c" 1>&6
-echo "configure:2925: checking for glide2/glide.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2930 "configure"
-#include "confdefs.h"
-#include <glide2/glide.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2935: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- glide2hdir="glide2"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- CPPFLAGS="$save_CPPFLAGS -I/usr/include/glide3 -I/usr/local/include/glide3"
- ac_safe=`echo "glide3/glide.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for glide3/glide.h""... $ac_c" 1>&6
-echo "configure:2959: checking for glide3/glide.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2964 "configure"
-#include "confdefs.h"
-#include <glide3/glide.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- glide3hdir="glide3"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test x$glide3hdir != xnil; then
- glidehdir=$glide3hdir
- have_fx=yes
- elif test x$glide2hdir != xnil; then
- glidehdir=$glide2hdir
- have_fx=yes
- else
- have_fx=no
- fi
- if test "x$have_fx" = xyes; then
- if test "x$withval" != xauto; then
- FX_CFLAGS="-I$withval/include/$glidehdir"
- elif test "x$glidehdir" != x; then
- FX_CFLAGS="-I/usr/include/$glidehdir -I/usr/local/include/$glidehdir"
- fi
- fi
- CPPFLAGS="$save_CPPFLAGS"
-
- if test "x$have_fx" = xyes; then
- save_LIBS="$LIBS"
- LIBS="$LIBS $FX_LIBS"
- echo $ac_n "checking for grSstControl in -lglide""... $ac_c" 1>&6
-echo "configure:3012: checking for grSstControl in -lglide" >&5
-ac_lib_var=`echo glide'_'grSstControl | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lglide -lm $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3020 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char grSstControl();
-
-int main() {
-grSstControl()
-; return 0; }
-EOF
-if { (eval echo configure:3031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- glide2lib=glide
-else
- echo "$ac_t""no" 1>&6
-echo $ac_n "checking for main in -lglide""... $ac_c" 1>&6
-echo "configure:3050: checking for main in -lglide" >&5
-ac_lib_var=`echo glide'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lglide -lm $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3058 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:3065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- glide3lib=glide
-else
- echo "$ac_t""no" 1>&6
-fi
-
-fi
-
- echo $ac_n "checking for main in -lglide2""... $ac_c" 1>&6
-echo "configure:3088: checking for main in -lglide2" >&5
-ac_lib_var=`echo glide2'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lglide2 -lm $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3096 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:3103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- glide2lib=glide2
-else
- echo "$ac_t""no" 1>&6
-fi
-
- echo $ac_n "checking for main in -lglide2x""... $ac_c" 1>&6
-echo "configure:3124: checking for main in -lglide2x" >&5
-ac_lib_var=`echo glide2x'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lglide2x -lm $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3132 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:3139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- glide2lib=glide2x
-else
- echo "$ac_t""no" 1>&6
-fi
-
- echo $ac_n "checking for main in -lglide3""... $ac_c" 1>&6
-echo "configure:3160: checking for main in -lglide3" >&5
-ac_lib_var=`echo glide3'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lglide3 -lm $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3168 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:3175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- glide3lib=glide3
-else
- echo "$ac_t""no" 1>&6
-fi
-
- echo $ac_n "checking for main in -lglide3x""... $ac_c" 1>&6
-echo "configure:3196: checking for main in -lglide3x" >&5
-ac_lib_var=`echo glide3x'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lglide3x -lm $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3204 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:3211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- glide3lib=glide3x
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test x$glide3lib != x; then
- glidelib=$glide3lib
- cat >> confdefs.h <<\EOF
-#define FX_GLIDE3 1
-EOF
-
- elif test x$glide2lib != x; then
- glidelib=$glide2lib
- fi
- if test "x$glidelib" = x; then
- have_fx=no
- else
- have_fx=yes
- cat >> confdefs.h <<\EOF
-#define FX 1
-EOF
-
- FX_LIBS="$FX_LIBS -l$glidelib"
- fi
- LIBS="$save_LIBS"
- fi
- if test "x$have_fx" != xyes; then
- FX_CFLAGS="" FX_LIBS=""
- fi
-fi
-
-
-
-have_ggi=auto
-GGI_CFLAGS=""
-GGI_LIBS=""
-# Check whether --with-ggi or --without-ggi was given.
-if test "${with_ggi+set}" = set; then
- withval="$with_ggi"
- have_ggi="$withval"
-fi
-
-if test "x$have_ggi" != xno; then
- if test "x$have_ggi" != xauto; then
- GGI_CFLAGS="-I$have_ggi/include"
- GGI_LIBS="-L$have_ggi/lib"
- fi
- save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GGI_CFLAGS"
- ac_safe=`echo "ggi/ggi.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for ggi/ggi.h""... $ac_c" 1>&6
-echo "configure:3277: checking for ggi/ggi.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3282 "configure"
-#include "confdefs.h"
-#include <ggi/ggi.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3287: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- have_ggi=yes
-else
- echo "$ac_t""no" 1>&6
-have_ggi=no
-fi
-
- CPPFLAGS="$save_CPPFLAGS"
- if test "x$have_ggi" = xyes; then
- save_LIBS="$LIBS"
- LIBS="$LIBS $GGI_LIBS"
- echo $ac_n "checking for main in -lggi""... $ac_c" 1>&6
-echo "configure:3314: checking for main in -lggi" >&5
-ac_lib_var=`echo ggi'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lggi -lgii -lgg $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3322 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:3329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- GGI_LIBS="$GGI_LIBS -lggi"
- cat >> confdefs.h <<\EOF
-#define GGI 1
-EOF
- have_ggi=yes
-else
- echo "$ac_t""no" 1>&6
-have_ggi=no
-fi
-
- LIBS="$save_LIBS"
- fi
- if test "x$have_ggi" != xyes; then
- GGI_CFLAGS="" GGI_LIBS=""
- else
- build_ggi_fbdev_target=auto
- build_ggi_genkgi_driver=auto
- # Check whether --enable-ggi_fbdev or --disable-ggi_fbdev was given.
-if test "${enable_ggi_fbdev+set}" = set; then
- enableval="$enable_ggi_fbdev"
- build_ggi_fbdev_target=$enableval
-fi
-
- # Check whether --enable-ggi_genkgi or --disable-ggi_genkgi was given.
-if test "${enable_ggi_genkgi+set}" = set; then
- enableval="$enable_ggi_genkgi"
- build_ggi_genkgi_driver=$enableval
-fi
-
-
- if test "x$build_ggi_fbdev_target" != "xno"; then
- ac_safe=`echo "linux/fb.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for linux/fb.h""... $ac_c" 1>&6
-echo "configure:3377: checking for linux/fb.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3382 "configure"
-#include "confdefs.h"
-#include <linux/fb.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3387: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-build_ggi_fbdev_target=no
-fi
-
- fi
-
- if test "x$build_ggi_genkgi_driver" != "xno"; then
- ac_safe=`echo "kgi/kgi.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for kgi/kgi.h""... $ac_c" 1>&6
-echo "configure:3414: checking for kgi/kgi.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3419 "configure"
-#include "confdefs.h"
-#include <kgi/kgi.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3424: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-build_ggi_genkgi_driver=no
-fi
-
- fi
-
- build_ggi_genkgi_driver=no
-
- echo $ac_n "checking if we should build GGIMesa's fbdev target""... $ac_c" 1>&6
-echo "configure:3451: checking if we should build GGIMesa's fbdev target" >&5
- if test "x$build_ggi_fbdev_target" = "xno"; then
- echo "$ac_t""no" 1>&6
- else
- GGI_DISPLAY_SUBDIRS="$GGI_DISPLAY_SUBDIRS fbdev"
- build_ggi_fbdev_target=yes
- echo "$ac_t""yes" 1>&6
- fi
-
- echo $ac_n "checking if we should build GGIMesa's generic KGI driver""... $ac_c" 1>&6
-echo "configure:3461: checking if we should build GGIMesa's generic KGI driver" >&5
- if test "x$build_ggi_genkgi_driver" = "xno"; then
- echo "$ac_t""no" 1>&6
- else
- GGI_DEFAULT_SUBDIRS="$GGI_DEFAULT_SUBDIRS kgi"
- build_ggi_genkgi_driver=yes
- echo "$ac_t""yes" 1>&6
- fi
-
-
-
-if test $build_ggi_fbdev_target = yes; then
- HAVE_GGI_FBDEV_TRUE=
- HAVE_GGI_FBDEV_FALSE='#'
-else
- HAVE_GGI_FBDEV_TRUE='#'
- HAVE_GGI_FBDEV_FALSE=
-fi
-
-
-if test $build_ggi_genkgi_driver = yes; then
- HAVE_GGI_GENKGI_TRUE=
- HAVE_GGI_GENKGI_FALSE='#'
-else
- HAVE_GGI_GENKGI_TRUE='#'
- HAVE_GGI_GENKGI_FALSE=
-fi
- fi
-fi
-ggi_confdir=/usr/local/etc
-ggi_libdir=/usr/local/lib
-
-
-
-
-
-have_svga=auto
-SVGA_CFLAGS=""
-SVGA_LIBS=""
-# Check whether --with-svga or --without-svga was given.
-if test "${with_svga+set}" = set; then
- withval="$with_svga"
- have_svga="$withval"
-fi
-
-if test "x$have_svga" != xno; then
- if test "x$have_svga" != xauto; then
- SVGA_CFLAGS="-I$have_svga/include"
- SVGA_LIBS="-L$have_svga/lib"
- fi
- save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $SVGA_CFLAGS"
- ac_safe=`echo "vga.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for vga.h""... $ac_c" 1>&6
-echo "configure:3515: checking for vga.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 3520 "configure"
-#include "confdefs.h"
-#include <vga.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3525: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- have_svga=yes
-else
- echo "$ac_t""no" 1>&6
-have_svga=no
-fi
-
- CPPFLAGS="$save_CPPFLAGS"
- if test "x$have_svga" = xyes; then
- save_LIBS="$LIBS"
- LIBS="$LIBS $SVGA_LIBS"
- echo $ac_n "checking for main in -lvga""... $ac_c" 1>&6
-echo "configure:3552: checking for main in -lvga" >&5
-ac_lib_var=`echo vga'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lvga $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3560 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:3567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SVGA_LIBS="$SVGA_LIBS -lvga"
- cat >> confdefs.h <<\EOF
-#define SVGA 1
-EOF
- have_svga=yes
-else
- echo "$ac_t""no" 1>&6
-have_svga=no
-fi
-
- LIBS="$save_LIBS"
- fi
- if test "x$have_svga" != xyes; then
- SVGA_CFLAGS="" SVGA_LIBS=""
- fi
-fi
-
-
-
-# If we find X, set shell vars x_includes and x_libraries to the
-# paths, otherwise set no_x=yes.
-# Uses ac_ vars as temps to allow command line to override cache and checks.
-# --without-x overrides everything else, but does not touch the cache.
-echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:3606: checking for X" >&5
-
-# Check whether --with-x or --without-x was given.
-if test "${with_x+set}" = set; then
- withval="$with_x"
- :
-fi
-
-# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
-if test "x$with_x" = xno; then
- # The user explicitly disabled X.
- have_x=disabled
-else
- if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
- # Both variables are already set.
- have_x=yes
- else
-if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # One or both of the vars are not set, and there is no cached value.
-ac_x_includes=NO ac_x_libraries=NO
-rm -fr conftestdir
-if mkdir conftestdir; then
- cd conftestdir
- # Make sure to not put "make" in the Imakefile rules, since we grep it out.
- cat > Imakefile <<'EOF'
-acfindx:
- @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
-EOF
- if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
- # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
- eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
- # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
- for ac_extension in a so sl; do
- if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
- test -f $ac_im_libdir/libX11.$ac_extension; then
- ac_im_usrlibdir=$ac_im_libdir; break
- fi
- done
- # Screen out bogus values from the imake configuration. They are
- # bogus both because they are the default anyway, and because
- # using them would break gcc on systems where it needs fixed includes.
- case "$ac_im_incroot" in
- /usr/include) ;;
- *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;;
- esac
- case "$ac_im_usrlibdir" in
- /usr/lib | /lib) ;;
- *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;;
- esac
- fi
- cd ..
- rm -fr conftestdir
-fi
-
-if test "$ac_x_includes" = NO; then
- # Guess where to find include files, by looking for this one X11 .h file.
- test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
-
- # First, try using that file with no special directory specified.
-cat > conftest.$ac_ext <<EOF
-#line 3668 "configure"
-#include "confdefs.h"
-#include <$x_direct_test_include>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- # We can compile using X headers with no special include directory.
-ac_x_includes=
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- # Look for the header file in a standard set of common directories.
-# Check X11 before X11Rn because it is often a symlink to the current release.
- for ac_dir in \
- /usr/X11/include \
- /usr/X11R6/include \
- /usr/X11R5/include \
- /usr/X11R4/include \
- \
- /usr/include/X11 \
- /usr/include/X11R6 \
- /usr/include/X11R5 \
- /usr/include/X11R4 \
- \
- /usr/local/X11/include \
- /usr/local/X11R6/include \
- /usr/local/X11R5/include \
- /usr/local/X11R4/include \
- \
- /usr/local/include/X11 \
- /usr/local/include/X11R6 \
- /usr/local/include/X11R5 \
- /usr/local/include/X11R4 \
- \
- /usr/X386/include \
- /usr/x386/include \
- /usr/XFree86/include/X11 \
- \
- /usr/include \
- /usr/local/include \
- /usr/unsupported/include \
- /usr/athena/include \
- /usr/local/x11r5/include \
- /usr/lpp/Xamples/include \
- \
- /usr/openwin/include \
- /usr/openwin/share/include \
- ; \
- do
- if test -r "$ac_dir/$x_direct_test_include"; then
- ac_x_includes=$ac_dir
- break
- fi
- done
-fi
-rm -f conftest*
-fi # $ac_x_includes = NO
-
-if test "$ac_x_libraries" = NO; then
- # Check for the libraries.
-
- test -z "$x_direct_test_library" && x_direct_test_library=Xt
- test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
-
- # See if we find them without any special options.
- # Don't add to $LIBS permanently.
- ac_save_LIBS="$LIBS"
- LIBS="-l$x_direct_test_library $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3742 "configure"
-#include "confdefs.h"
-
-int main() {
-${x_direct_test_function}()
-; return 0; }
-EOF
-if { (eval echo configure:3749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- LIBS="$ac_save_LIBS"
-# We can link X programs with no special library path.
-ac_x_libraries=
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- LIBS="$ac_save_LIBS"
-# First see if replacing the include by lib works.
-# Check X11 before X11Rn because it is often a symlink to the current release.
-for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
- /usr/X11/lib \
- /usr/X11R6/lib \
- /usr/X11R5/lib \
- /usr/X11R4/lib \
- \
- /usr/lib/X11 \
- /usr/lib/X11R6 \
- /usr/lib/X11R5 \
- /usr/lib/X11R4 \
- \
- /usr/local/X11/lib \
- /usr/local/X11R6/lib \
- /usr/local/X11R5/lib \
- /usr/local/X11R4/lib \
- \
- /usr/local/lib/X11 \
- /usr/local/lib/X11R6 \
- /usr/local/lib/X11R5 \
- /usr/local/lib/X11R4 \
- \
- /usr/X386/lib \
- /usr/x386/lib \
- /usr/XFree86/lib/X11 \
- \
- /usr/lib \
- /usr/local/lib \
- /usr/unsupported/lib \
- /usr/athena/lib \
- /usr/local/x11r5/lib \
- /usr/lpp/Xamples/lib \
- /lib/usr/lib/X11 \
- \
- /usr/openwin/lib \
- /usr/openwin/share/lib \
- ; \
-do
- for ac_extension in a so sl; do
- if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
- ac_x_libraries=$ac_dir
- break 2
- fi
- done
-done
-fi
-rm -f conftest*
-fi # $ac_x_libraries = NO
-
-if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then
- # Didn't find X anywhere. Cache the known absence of X.
- ac_cv_have_x="have_x=no"
-else
- # Record where we found X for the cache.
- ac_cv_have_x="have_x=yes \
- ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
-fi
-fi
- fi
- eval "$ac_cv_have_x"
-fi # $with_x != no
-
-if test "$have_x" != yes; then
- echo "$ac_t""$have_x" 1>&6
- no_x=yes
-else
- # If each of the values was on the command line, it overrides each guess.
- test "x$x_includes" = xNONE && x_includes=$ac_x_includes
- test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
- # Update the cache value to reflect the command line values.
- ac_cv_have_x="have_x=yes \
- ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
- echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6
-fi
-
-if test "$no_x" = yes; then
- # Not all programs may use this symbol, but it does not hurt to define it.
- cat >> confdefs.h <<\EOF
-#define X_DISPLAY_MISSING 1
-EOF
-
- X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
-else
- if test -n "$x_includes"; then
- X_CFLAGS="$X_CFLAGS -I$x_includes"
- fi
-
- # It would also be nice to do this for all -L options, not just this one.
- if test -n "$x_libraries"; then
- X_LIBS="$X_LIBS -L$x_libraries"
- # For Solaris; some versions of Sun CC require a space after -R and
- # others require no space. Words are not sufficient . . . .
- case "`(uname -sr) 2>/dev/null`" in
- "SunOS 5"*)
- echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:3855: checking whether -R must be followed by a space" >&5
- ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
- cat > conftest.$ac_ext <<EOF
-#line 3858 "configure"
-#include "confdefs.h"
-
-int main() {
-
-; return 0; }
-EOF
-if { (eval echo configure:3865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- ac_R_nospace=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_R_nospace=no
-fi
-rm -f conftest*
- if test $ac_R_nospace = yes; then
- echo "$ac_t""no" 1>&6
- X_LIBS="$X_LIBS -R$x_libraries"
- else
- LIBS="$ac_xsave_LIBS -R $x_libraries"
- cat > conftest.$ac_ext <<EOF
-#line 3881 "configure"
-#include "confdefs.h"
-
-int main() {
-
-; return 0; }
-EOF
-if { (eval echo configure:3888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- ac_R_space=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_R_space=no
-fi
-rm -f conftest*
- if test $ac_R_space = yes; then
- echo "$ac_t""yes" 1>&6
- X_LIBS="$X_LIBS -R $x_libraries"
- else
- echo "$ac_t""neither works" 1>&6
- fi
- fi
- LIBS="$ac_xsave_LIBS"
- esac
- fi
-
- # Check for system-dependent libraries X programs must link with.
- # Do this before checking for the system-independent R6 libraries
- # (-lICE), since we may need -lsocket or whatever for X linking.
-
- if test "$ISC" = yes; then
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
- else
- # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X
- # libraries were built with DECnet support. And karl@cs.umb.edu says
- # the Alpha needs dnet_stub (dnet does not exist).
- echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:3920: checking for dnet_ntoa in -ldnet" >&5
-ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-ldnet $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3928 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dnet_ntoa();
-
-int main() {
-dnet_ntoa()
-; return 0; }
-EOF
-if { (eval echo configure:3939: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test $ac_cv_lib_dnet_dnet_ntoa = no; then
- echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:3961: checking for dnet_ntoa in -ldnet_stub" >&5
-ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-ldnet_stub $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3969 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dnet_ntoa();
-
-int main() {
-dnet_ntoa()
-; return 0; }
-EOF
-if { (eval echo configure:3980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- fi
-
- # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
- # to get the SysV transport functions.
- # chad@anasazi.com says the Pyramis MIS-ES running DC/OSx (SVR4)
- # needs -lnsl.
- # The nsl library prevents programs from opening the X display
- # on Irix 5.2, according to dickey@clark.net.
- echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:4009: checking for gethostbyname" >&5
-if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4014 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char gethostbyname(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gethostbyname();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
-choke me
-#else
-gethostbyname();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:4037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_gethostbyname=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_gethostbyname=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test $ac_cv_func_gethostbyname = no; then
- echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:4058: checking for gethostbyname in -lnsl" >&5
-ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lnsl $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4066 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gethostbyname();
-
-int main() {
-gethostbyname()
-; return 0; }
-EOF
-if { (eval echo configure:4077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- fi
-
- # lieder@skyler.mavd.honeywell.com says without -lsocket,
- # socket/setsockopt and other routines are undefined under SCO ODT
- # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
- # on later versions), says simon@lia.di.epfl.ch: it contains
- # gethostby* variants that don't use the nameserver (or something).
- # -lsocket must be given before -lnsl if both are needed.
- # We assume that if connect needs -lnsl, so does gethostbyname.
- echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:4107: checking for connect" >&5
-if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4112 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char connect(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char connect();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_connect) || defined (__stub___connect)
-choke me
-#else
-connect();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:4135: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_connect=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_connect=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test $ac_cv_func_connect = no; then
- echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:4156: checking for connect in -lsocket" >&5
-ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4164 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char connect();
-
-int main() {
-connect()
-; return 0; }
-EOF
-if { (eval echo configure:4175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- fi
-
- # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
- echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:4199: checking for remove" >&5
-if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4204 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char remove(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char remove();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_remove) || defined (__stub___remove)
-choke me
-#else
-remove();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:4227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_remove=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_remove=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'remove`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test $ac_cv_func_remove = no; then
- echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:4248: checking for remove in -lposix" >&5
-ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lposix $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4256 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char remove();
-
-int main() {
-remove()
-; return 0; }
-EOF
-if { (eval echo configure:4267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- fi
-
- # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
- echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:4291: checking for shmat" >&5
-if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4296 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shmat(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shmat();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shmat) || defined (__stub___shmat)
-choke me
-#else
-shmat();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:4319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_shmat=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_shmat=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test $ac_cv_func_shmat = no; then
- echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:4340: checking for shmat in -lipc" >&5
-ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lipc $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4348 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shmat();
-
-int main() {
-shmat()
-; return 0; }
-EOF
-if { (eval echo configure:4359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- fi
- fi
-
- # Check for libraries that X11R6 Xt/Xaw programs need.
- ac_save_LDFLAGS="$LDFLAGS"
- test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
- # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
- # check for ICE first), but we must link in the order -lSM -lICE or
- # we get undefined symbols. So assume we have SM if we have ICE.
- # These have to be linked with before -lX11, unlike the other
- # libraries we check for below, so use a different variable.
- # --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
- echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:4392: checking for IceConnectionNumber in -lICE" >&5
-ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lICE $X_EXTRA_LIBS $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4400 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char IceConnectionNumber();
-
-int main() {
-IceConnectionNumber()
-; return 0; }
-EOF
-if { (eval echo configure:4411: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- LDFLAGS="$ac_save_LDFLAGS"
-
-fi
-
-X_LIBADD=""
-if test "x$have_x" = xyes; then
- save_LIBS="$LIBS"
- LIBS="$LIBS $X_LIBS $X_PRE_LIBS"
- echo $ac_n "checking for XmuRegisterExternalAgent in -lXmu""... $ac_c" 1>&6
-echo "configure:4440: checking for XmuRegisterExternalAgent in -lXmu" >&5
-ac_lib_var=`echo Xmu'_'XmuRegisterExternalAgent | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lXmu $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4448 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char XmuRegisterExternalAgent();
-
-int main() {
-XmuRegisterExternalAgent()
-; return 0; }
-EOF
-if { (eval echo configure:4459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- X_LIBADD="$X_LIBADD -lXmu"
-else
- echo "$ac_t""no" 1>&6
-fi
-
- LIBS="$save_LIBS"
-fi
-X_LIBADD="$X_LIBADD -lXext -lXi -lX11"
-
-
-ac_safe=`echo "sys/shm.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for sys/shm.h""... $ac_c" 1>&6
-echo "configure:4486: checking for sys/shm.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4491 "configure"
-#include "confdefs.h"
-#include <sys/shm.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4496: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- cat >> confdefs.h <<\EOF
-#define USE_XSHM 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-have_glut=auto
-GLUT_CFLAGS=""
-GLUT_LIBS=""
-# Check whether --with-glut or --without-glut was given.
-if test "${with_glut+set}" = set; then
- withval="$with_glut"
- have_glut="$withval"
-fi
-
-if test "x$have_glut" != xno; then
- if test "x$have_glut" != xauto; then
- GLUT_CFLAGS="-I$have_glut/include"
- GLUT_LIBS="-L$have_glut/lib"
- fi
- save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GLUT_CFLAGS"
- ac_safe=`echo "GL/glut.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for GL/glut.h""... $ac_c" 1>&6
-echo "configure:4539: checking for GL/glut.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 4544 "configure"
-#include "confdefs.h"
-#include <GL/glut.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4549: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- have_glut=yes
-else
- echo "$ac_t""no" 1>&6
-have_glut=no
-fi
-
- CPPFLAGS="$save_CPPFLAGS"
- if test "x$have_glut" = xyes; then
- save_LIBS="$LIBS"
- LIBS="$LIBS $GLUT_LIBS"
- echo $ac_n "checking for main in -lglut""... $ac_c" 1>&6
-echo "configure:4576: checking for main in -lglut" >&5
-ac_lib_var=`echo glut'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lglut $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4584 "configure"
-#include "confdefs.h"
-
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:4591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- GLUT_LIBS="$GLUT_LIBS -lglut"
- have_glut=yes
-else
- echo "$ac_t""no" 1>&6
-have_glut=no
-fi
-
- LIBS="$save_LIBS"
- fi
-fi
-need_glut=no
-if test "x$have_glut" != xyes; then
- GLUT_CFLAGS="" GLUT_LIBS=""
- echo $ac_n "checking for GLUT sources""... $ac_c" 1>&6
-echo "configure:4620: checking for GLUT sources" >&5
- if test -d src-glut; then
- echo "$ac_t""yes" 1>&6
- need_glut=yes
- GLUT_LIBS="\$(top_builddir)/src-glut/libglut.la"
-
- # Check whether --enable-glut-debug or --disable-glut-debug was given.
-if test "${enable_glut_debug+set}" = set; then
- enableval="$enable_glut_debug"
- enable_glut_debug=$enableval
-else
- enable_glut_debug=no
-fi
-
- if test "x$enable_glut_debug" != xyes; then
- GLUT_CFLAGS="$GLUT_CFLAGS -DNDEBUG"
- fi
-
- else
- echo "$ac_t""no" 1>&6
- echo "configure: warning: Sorry, GLUT not found. Demos might not work." 1>&2
- echo "configure: warning: Please ignore the warnings about missing Makefiles" 1>&2
- GLUT_LIBS="-lglut"
- fi
-else
- echo "configure: warning: GLUT is already installed." 1>&2
- echo "configure: warning: Use --without-glut to build and install Mesa's own version of GLUT." 1>&2
-fi
-
-
-
-have_demos=no
-echo $ac_n "checking for Mesa demos sources""... $ac_c" 1>&6
-echo "configure:4653: checking for Mesa demos sources" >&5
-if test -d book && test -d demos && test -d images && \
- test -d samples && test -d xdemos; then
- echo "$ac_t""yes" 1>&6
- have_demos=yes
-else
- echo "$ac_t""no" 1>&6
- echo "configure: warning: Please ignore the warnings about missing Makefiles" 1>&2
-fi
-
-
-
-if test $have_3dnow = on; then
- HAVE_3DNOW_TRUE=
- HAVE_3DNOW_FALSE='#'
-else
- HAVE_3DNOW_TRUE='#'
- HAVE_3DNOW_FALSE=
-fi
-
-
-if test $have_sse = on; then
- HAVE_SSE_TRUE=
- HAVE_SSE_FALSE='#'
-else
- HAVE_SSE_TRUE='#'
- HAVE_SSE_FALSE=
-fi
-
-
-if test $have_mmx = on; then
- HAVE_MMX_TRUE=
- HAVE_MMX_FALSE='#'
-else
- HAVE_MMX_TRUE='#'
- HAVE_MMX_FALSE=
-fi
-
-
-if test $have_x86 = on; then
- HAVE_X86_TRUE=
- HAVE_X86_FALSE='#'
-else
- HAVE_X86_TRUE='#'
- HAVE_X86_FALSE=
-fi
-
-
-if test $have_fx = yes; then
- HAVE_FX_TRUE=
- HAVE_FX_FALSE='#'
-else
- HAVE_FX_TRUE='#'
- HAVE_FX_FALSE=
-fi
-
-
-if test $have_ggi = yes; then
- HAVE_GGI_TRUE=
- HAVE_GGI_FALSE='#'
-else
- HAVE_GGI_TRUE='#'
- HAVE_GGI_FALSE=
-fi
-
-
-if test $have_osmesa = on; then
- HAVE_OSMESA_TRUE=
- HAVE_OSMESA_FALSE='#'
-else
- HAVE_OSMESA_TRUE='#'
- HAVE_OSMESA_FALSE=
-fi
-
-
-if test $have_svga = yes; then
- HAVE_SVGA_TRUE=
- HAVE_SVGA_FALSE='#'
-else
- HAVE_SVGA_TRUE='#'
- HAVE_SVGA_FALSE=
-fi
-
-
-if test $have_x = yes; then
- HAVE_X11_TRUE=
- HAVE_X11_FALSE='#'
-else
- HAVE_X11_TRUE='#'
- HAVE_X11_FALSE=
-fi
-
-
-if test $need_glut = yes; then
- NEED_GLUT_TRUE=
- NEED_GLUT_FALSE='#'
-else
- NEED_GLUT_TRUE='#'
- NEED_GLUT_FALSE=
-fi
-
-
-if test $have_demos = yes; then
- HAVE_DEMOS_TRUE=
- HAVE_DEMOS_FALSE='#'
-else
- HAVE_DEMOS_TRUE='#'
- HAVE_DEMOS_FALSE=
-fi
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile
-include/Makefile
-include/GL/Makefile
-src/Makefile
-src/FX/Makefile
-src/FX/X86/Makefile
-src/GGI/Makefile
-src/GGI/include/Makefile
-src/GGI/include/ggi/Makefile
-src/GGI/include/ggi/mesa/Makefile
-src/GGI/ggimesa.conf
-src/GGI/default/Makefile
-src/GGI/default/genkgi.conf
-src/GGI/display/Makefile
-src/GGI/display/fbdev.conf
-src/OSmesa/Makefile
-src/SVGA/Makefile
-src/X/Makefile
-src/X86/Makefile
-src-glu/Makefile
-src-glut/Makefile
-book/Makefile
-demos/Makefile
-samples/Makefile
-xdemos/Makefile
-util/Makefile
-ggi/demos/Makefile
-ggi/ggiglut/Makefile
- conf.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@PACKAGE@%$PACKAGE%g
-s%@VERSION@%$VERSION%g
-s%@ACLOCAL@%$ACLOCAL%g
-s%@AUTOCONF@%$AUTOCONF%g
-s%@AUTOMAKE@%$AUTOMAKE%g
-s%@AUTOHEADER@%$AUTOHEADER%g
-s%@MAKEINFO@%$MAKEINFO%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@LIBGL_VERSION@%$LIBGL_VERSION%g
-s%@LIBGLU_VERSION@%$LIBGLU_VERSION%g
-s%@LIBGLUT_VERSION@%$LIBGLUT_VERSION%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@CC@%$CC%g
-s%@CPP@%$CPP%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@LN_S@%$LN_S%g
-s%@OBJEXT@%$OBJEXT%g
-s%@EXEEXT@%$EXEEXT%g
-s%@RANLIB@%$RANLIB%g
-s%@STRIP@%$STRIP%g
-s%@LIBTOOL@%$LIBTOOL%g
-s%@THREAD_LIBS@%$THREAD_LIBS%g
-s%@FX_CFLAGS@%$FX_CFLAGS%g
-s%@FX_LIBS@%$FX_LIBS%g
-s%@HAVE_GGI_FBDEV_TRUE@%$HAVE_GGI_FBDEV_TRUE%g
-s%@HAVE_GGI_FBDEV_FALSE@%$HAVE_GGI_FBDEV_FALSE%g
-s%@HAVE_GGI_GENKGI_TRUE@%$HAVE_GGI_GENKGI_TRUE%g
-s%@HAVE_GGI_GENKGI_FALSE@%$HAVE_GGI_GENKGI_FALSE%g
-s%@ggi_confdir@%$ggi_confdir%g
-s%@ggi_libdir@%$ggi_libdir%g
-s%@GGI_CFLAGS@%$GGI_CFLAGS%g
-s%@GGI_LIBS@%$GGI_LIBS%g
-s%@SVGA_CFLAGS@%$SVGA_CFLAGS%g
-s%@SVGA_LIBS@%$SVGA_LIBS%g
-s%@X_CFLAGS@%$X_CFLAGS%g
-s%@X_PRE_LIBS@%$X_PRE_LIBS%g
-s%@X_LIBS@%$X_LIBS%g
-s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g
-s%@X_LIBADD@%$X_LIBADD%g
-s%@GLUT_CFLAGS@%$GLUT_CFLAGS%g
-s%@GLUT_LIBS@%$GLUT_LIBS%g
-s%@HAVE_3DNOW_TRUE@%$HAVE_3DNOW_TRUE%g
-s%@HAVE_3DNOW_FALSE@%$HAVE_3DNOW_FALSE%g
-s%@HAVE_SSE_TRUE@%$HAVE_SSE_TRUE%g
-s%@HAVE_SSE_FALSE@%$HAVE_SSE_FALSE%g
-s%@HAVE_MMX_TRUE@%$HAVE_MMX_TRUE%g
-s%@HAVE_MMX_FALSE@%$HAVE_MMX_FALSE%g
-s%@HAVE_X86_TRUE@%$HAVE_X86_TRUE%g
-s%@HAVE_X86_FALSE@%$HAVE_X86_FALSE%g
-s%@HAVE_FX_TRUE@%$HAVE_FX_TRUE%g
-s%@HAVE_FX_FALSE@%$HAVE_FX_FALSE%g
-s%@HAVE_GGI_TRUE@%$HAVE_GGI_TRUE%g
-s%@HAVE_GGI_FALSE@%$HAVE_GGI_FALSE%g
-s%@HAVE_OSMESA_TRUE@%$HAVE_OSMESA_TRUE%g
-s%@HAVE_OSMESA_FALSE@%$HAVE_OSMESA_FALSE%g
-s%@HAVE_SVGA_TRUE@%$HAVE_SVGA_TRUE%g
-s%@HAVE_SVGA_FALSE@%$HAVE_SVGA_FALSE%g
-s%@HAVE_X11_TRUE@%$HAVE_X11_TRUE%g
-s%@HAVE_X11_FALSE@%$HAVE_X11_FALSE%g
-s%@NEED_GLUT_TRUE@%$NEED_GLUT_TRUE%g
-s%@NEED_GLUT_FALSE@%$NEED_GLUT_FALSE%g
-s%@HAVE_DEMOS_TRUE@%$HAVE_DEMOS_TRUE%g
-s%@HAVE_DEMOS_FALSE@%$HAVE_DEMOS_FALSE%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile
-include/Makefile
-include/GL/Makefile
-src/Makefile
-src/FX/Makefile
-src/FX/X86/Makefile
-src/GGI/Makefile
-src/GGI/include/Makefile
-src/GGI/include/ggi/Makefile
-src/GGI/include/ggi/mesa/Makefile
-src/GGI/ggimesa.conf
-src/GGI/default/Makefile
-src/GGI/default/genkgi.conf
-src/GGI/display/Makefile
-src/GGI/display/fbdev.conf
-src/OSmesa/Makefile
-src/SVGA/Makefile
-src/X/Makefile
-src/X86/Makefile
-src-glu/Makefile
-src-glut/Makefile
-book/Makefile
-demos/Makefile
-samples/Makefile
-xdemos/Makefile
-util/Makefile
-ggi/demos/Makefile
-ggi/ggiglut/Makefile
-"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='\([ ]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
- CONFIG_HEADERS="conf.h"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- echo creating $ac_file
-
- rm -f conftest.frag conftest.in conftest.out
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- cat $ac_file_inputs > conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h. And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
-rm -f conftest.tail
-while :
-do
- ac_lines=`grep -c . conftest.vals`
- # grep -c gives empty output for an empty file on some AIX systems.
- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
- # Write a limited-size here document to conftest.frag.
- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
- echo 'CEOF
- sed -f conftest.frag conftest.in > conftest.out
- rm -f conftest.in
- mv conftest.out conftest.in
-' >> $CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
- rm -f conftest.vals
- mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
- rm -f conftest.frag conftest.h
- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
- cat conftest.in >> conftest.h
- rm -f conftest.in
- if cmp -s $ac_file conftest.h 2>/dev/null; then
- echo "$ac_file is unchanged"
- rm -f conftest.h
- else
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- fi
- rm -f $ac_file
- mv conftest.h $ac_file
- fi
-fi; done
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/xc/extras/Mesa/docs/VERSIONS b/xc/extras/Mesa/docs/VERSIONS
index 231e26387..3541f21e4 100644
--- a/xc/extras/Mesa/docs/VERSIONS
+++ b/xc/extras/Mesa/docs/VERSIONS
@@ -1,4 +1,4 @@
-$Id: VERSIONS,v 1.1 2000/11/30 17:31:36 dawes Exp $
+$Id: VERSIONS,v 1.2 2000/12/05 19:51:29 dawes Exp $
Mesa Version History
@@ -775,3 +775,17 @@ Mesa Version History
Changes:
- finished internal support for compressed textures for DRI
+
+3.4.1 December ??, 2000
+ New:
+ - fixed some Linux build problems
+ - fixed some Windows build problems
+ Bug fixes:
+ - added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
+ - various state-update code changes needed for DRI bugs
+ - disabled pixel transfer ops in glColorTable commands, not needed
+ - fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
+ - updated sources and fixed compile problems in widgets-mesa/
+ - GLX_PBUFFER enum value was wrong in glx.h
+ - fixed a glColorMaterial lighting bug
+ - fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
diff --git a/xc/extras/Mesa/include/GL/Makefile.in b/xc/extras/Mesa/include/GL/Makefile.in
deleted file mode 100644
index ab9f47408..000000000
--- a/xc/extras/Mesa/include/GL/Makefile.in
+++ /dev/null
@@ -1,264 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-GLincludedir = $(includedir)/GL
-
-@HAVE_FX_TRUE@INC_FX = fxmesa.h
-
-@HAVE_GGI_TRUE@INC_GGI = ggimesa.h
-
-@HAVE_OSMESA_TRUE@INC_OSMESA = osmesa.h
-
-@HAVE_SVGA_TRUE@INC_SVGA = svgamesa.h
-
-@HAVE_X11_TRUE@INC_X11 = glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
-
-@NEED_GLUT_TRUE@INC_GLUT = glut.h
-
-EXTRA_DIST = fxmesa.h ggimesa.h osmesa.h svgamesa.h glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
-
-
-GLinclude_HEADERS = gl.h glext.h gl_mangle.h glu.h glu_mangle.h $(INC_FX) $(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11) $(INC_GLUT)
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../conf.h
-CONFIG_CLEAN_FILES =
-HEADERS = $(GLinclude_HEADERS)
-
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu include/GL/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-install-GLincludeHEADERS: $(GLinclude_HEADERS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(GLincludedir)
- @list='$(GLinclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
- echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(GLincludedir)/$$p"; \
- $(INSTALL_DATA) $$d$$p $(DESTDIR)$(GLincludedir)/$$p; \
- done
-
-uninstall-GLincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- list='$(GLinclude_HEADERS)'; for p in $$list; do \
- rm -f $(DESTDIR)$(GLincludedir)/$$p; \
- done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = include/GL
-
-distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu include/GL/Makefile
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am: install-GLincludeHEADERS
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-GLincludeHEADERS
-uninstall: uninstall-am
-all-am: Makefile $(HEADERS)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
- $(mkinstalldirs) $(DESTDIR)$(GLincludedir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-tags clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-tags distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: uninstall-GLincludeHEADERS install-GLincludeHEADERS tags \
-mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \
-distdir info-am info dvi-am dvi check check-am installcheck-am \
-installcheck install-exec-am install-exec install-data-am install-data \
-install-am install uninstall-am uninstall all-redirect all-am all \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/include/GL/mesa_wgl.h b/xc/extras/Mesa/include/GL/mesa_wgl.h
index 93c4f2ff5..b6bc8cda7 100644
--- a/xc/extras/Mesa/include/GL/mesa_wgl.h
+++ b/xc/extras/Mesa/include/GL/mesa_wgl.h
@@ -1,4 +1,4 @@
-/* $Id: mesa_wgl.h,v 1.1 2000/11/30 17:31:30 dawes Exp $ */
+/* $Id: mesa_wgl.h,v 1.2 2000/12/05 19:51:29 dawes Exp $ */
/*
* Mesa 3-D graphics library
@@ -32,6 +32,7 @@
#define _mesa_wgl_h_
+#include <windows.h>
#include <gl/gl.h>
#ifdef __cplusplus
diff --git a/xc/extras/Mesa/include/Makefile.in b/xc/extras/Mesa/include/Makefile.in
deleted file mode 100644
index 84ff453ea..000000000
--- a/xc/extras/Mesa/include/Makefile.in
+++ /dev/null
@@ -1,304 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-SUBDIRS = GL
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../conf.h
-CONFIG_CLEAN_FILES =
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
- rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
- done; \
- test "$$dot_seen" = "no" && rev=". $$rev"; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = include
-
-distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu include/Makefile
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
- for subdir in $(SUBDIRS); do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- chmod 777 $(distdir)/$$subdir; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
- || exit 1; \
- fi; \
- done
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-exec-am:
-install-exec: install-exec-recursive
-
-install-data-am:
-install-data: install-data-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am:
-uninstall: uninstall-recursive
-all-am: Makefile
-all-redirect: all-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am: clean-tags clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am: distclean-tags distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-recursive
-
-maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-
-.PHONY: install-data-recursive uninstall-data-recursive \
-install-exec-recursive uninstall-exec-recursive installdirs-recursive \
-uninstalldirs-recursive all-recursive check-recursive \
-installcheck-recursive info-recursive dvi-recursive \
-mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/install-sh b/xc/extras/Mesa/install-sh
deleted file mode 100755
index e9de23842..000000000
--- a/xc/extras/Mesa/install-sh
+++ /dev/null
@@ -1,251 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/xc/extras/Mesa/mkinstalldirs b/xc/extras/Mesa/mkinstalldirs
deleted file mode 100755
index 034ef0aeb..000000000
--- a/xc/extras/Mesa/mkinstalldirs
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-# $Id: mkinstalldirs,v 1.1 2000/11/30 17:31:30 dawes Exp $
-
-errstatus=0
-
-for file
-do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d
- do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- fi
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
diff --git a/xc/extras/Mesa/src/FX/Makefile.am b/xc/extras/Mesa/src/FX/Makefile.am
index c852d92ec..8d08efa3e 100644
--- a/xc/extras/Mesa/src/FX/Makefile.am
+++ b/xc/extras/Mesa/src/FX/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = no-dependencies
+#AUTOMAKE_OPTIONS = no-dependencies
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src $(FX_CFLAGS)
diff --git a/xc/extras/Mesa/src/FX/Makefile.in b/xc/extras/Mesa/src/FX/Makefile.in
deleted file mode 100644
index 2eec49306..000000000
--- a/xc/extras/Mesa/src/FX/Makefile.in
+++ /dev/null
@@ -1,405 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-AUTOMAKE_OPTIONS = no-dependencies
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src $(FX_CFLAGS)
-
-# Build a libtool convenience library.
-@HAVE_FX_TRUE@noinst_LTLIBRARIES = libMesaFX.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@SUBDIRS = X86
-
-libMesaFX_la_SOURCES = fxapi.c fxcva.c fxcva.h fxcvatmp.h fxclip.c fxcliptmp.h fxdd.c fxddspan.c fxddtex.c fxdrv.h fxglidew.c fxglidew.h fxfastpath.c fxfasttmp.h fxpipeline.c fxrender.c fxrender.h fxsanity.c fxsetup.c fxtexman.c fxtrifuncs.c fxtritmp.h fxvs_tmp.h fxvsetup.c fxvsetup.h fxwgl.c
-
-
-libMesaFX_la_LIBADD = $(FX_LIBS)
-
-EXTRA_DIST = fxwgl.c
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../conf.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-libMesaFX_la_LDFLAGS =
-libMesaFX_la_DEPENDENCIES =
-libMesaFX_la_OBJECTS = fxapi.lo fxcva.lo fxclip.lo fxdd.lo fxddspan.lo \
-fxddtex.lo fxglidew.lo fxfastpath.lo fxpipeline.lo fxrender.lo \
-fxsanity.lo fxsetup.lo fxtexman.lo fxtrifuncs.lo fxvsetup.lo fxwgl.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-DIST_SUBDIRS = X86
-SOURCES = $(libMesaFX_la_SOURCES)
-OBJECTS = $(libMesaFX_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/FX/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-noinstLTLIBRARIES:
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-
-distclean-noinstLTLIBRARIES:
-
-maintainer-clean-noinstLTLIBRARIES:
-
-.c.o:
- $(COMPILE) -c $<
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libMesaFX.la: $(libMesaFX_la_OBJECTS) $(libMesaFX_la_DEPENDENCIES)
- $(LINK) $(libMesaFX_la_LDFLAGS) $(libMesaFX_la_OBJECTS) $(libMesaFX_la_LIBADD) $(LIBS)
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
- rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
- done; \
- test "$$dot_seen" = "no" && rev=". $$rev"; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src/FX
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
- for subdir in $(DIST_SUBDIRS); do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- chmod 777 $(distdir)/$$subdir; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
- || exit 1; \
- fi; \
- done
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-exec-am:
-install-exec: install-exec-recursive
-
-install-data-am:
-install-data: install-data-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am:
-uninstall: uninstall-recursive
-all-am: Makefile $(LTLIBRARIES)
-all-redirect: all-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \
- clean-tags clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am: distclean-noinstLTLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-generic \
- clean-am
- -rm -f libtool
-
-distclean: distclean-recursive
-
-maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-
-.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
-clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool install-data-recursive \
-uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/src/FX/X86/Makefile.am b/xc/extras/Mesa/src/FX/X86/Makefile.am
index cb28ae9d5..3564a9def 100644
--- a/xc/extras/Mesa/src/FX/X86/Makefile.am
+++ b/xc/extras/Mesa/src/FX/X86/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = no-dependencies
+#AUTOMAKE_OPTIONS = no-dependencies
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src $(FX_CFLAGS)
diff --git a/xc/extras/Mesa/src/FX/X86/Makefile.in b/xc/extras/Mesa/src/FX/X86/Makefile.in
deleted file mode 100644
index 867ef41b5..000000000
--- a/xc/extras/Mesa/src/FX/X86/Makefile.in
+++ /dev/null
@@ -1,327 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-AUTOMAKE_OPTIONS = no-dependencies
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src $(FX_CFLAGS)
-
-x3dnow_files = fx_3dnow_fasttmp.h fx_3dnow_fastpath.S
-
-
-@HAVE_3DNOW_TRUE@x3dnow_sources = $(x3dnow_files)
-
-@HAVE_X86_TRUE@noinst_LTLIBRARIES = libMesaFX_X86.la
-
-libMesaFX_X86_la_SOURCES = $(x3dnow_sources)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../../conf.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../../..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-libMesaFX_X86_la_LDFLAGS =
-libMesaFX_X86_la_LIBADD =
-@HAVE_3DNOW_FALSE@libMesaFX_X86_la_OBJECTS =
-@HAVE_3DNOW_TRUE@libMesaFX_X86_la_OBJECTS = fx_3dnow_fastpath.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(libMesaFX_X86_la_SOURCES)
-OBJECTS = $(libMesaFX_X86_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/FX/X86/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-noinstLTLIBRARIES:
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-
-distclean-noinstLTLIBRARIES:
-
-maintainer-clean-noinstLTLIBRARIES:
-
-.c.o:
- $(COMPILE) -c $<
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libMesaFX_X86.la: $(libMesaFX_X86_la_OBJECTS) $(libMesaFX_X86_la_DEPENDENCIES)
- $(LINK) $(libMesaFX_X86_la_LDFLAGS) $(libMesaFX_X86_la_OBJECTS) $(libMesaFX_X86_la_LIBADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src/FX/X86
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \
- clean-tags clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-noinstLTLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-generic \
- clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
-clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-@HAVE_X86_TRUE@fx_3dnow_fastpath.lo: fx_3dnow_fastpath.S fx_3dnow_fasttmp.h
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/src/FX/fxcva.c b/xc/extras/Mesa/src/FX/fxcva.c
index 188210add..44c15c5aa 100644
--- a/xc/extras/Mesa/src/FX/fxcva.c
+++ b/xc/extras/Mesa/src/FX/fxcva.c
@@ -395,7 +395,11 @@ void fxDDCheckMergeAndRender( GLcontext *ctx, struct gl_pipeline_stage *d )
GLuint inputs = ctx->RenderFlags & ~ctx->CVA.pre.outputs;
if (!(ctx->TriangleCaps & DD_TRI_UNFILLED) &&
+#ifdef VAO
+ (ctx->Array.Current->Summary & VERT_OBJ_ANY))
+#else
(ctx->Array.Summary & VERT_OBJ_ANY))
+#endif
{
d->inputs = (VERT_SETUP_PART | VERT_ELT | inputs);
d->outputs = 0;
diff --git a/xc/extras/Mesa/src/FX/fxdrv.h b/xc/extras/Mesa/src/FX/fxdrv.h
index c85c73d8e..19c0d6bab 100644
--- a/xc/extras/Mesa/src/FX/fxdrv.h
+++ b/xc/extras/Mesa/src/FX/fxdrv.h
@@ -274,7 +274,7 @@ typedef struct {
} tfxMipMapLevel;
typedef struct tfxTexInfo_t {
- struct tfxTexInfo *next;
+ struct tfxTexInfo_t *next;
struct gl_texture_object *tObj;
GLuint lastTimeUsed;
diff --git a/xc/extras/Mesa/src/FX/fxpipeline.c b/xc/extras/Mesa/src/FX/fxpipeline.c
index cf4c9ebbc..e7821fa56 100644
--- a/xc/extras/Mesa/src/FX/fxpipeline.c
+++ b/xc/extras/Mesa/src/FX/fxpipeline.c
@@ -217,7 +217,11 @@ GLboolean fxDDBuildPrecalcPipeline( GLcontext *ctx )
if (fxMesa->is_in_hardware &&
fxMesa->render_index == 0 &&
(ctx->Enabled & ILLEGAL_ENABLES) == 0 &&
+#ifdef VAO
+ (ctx->Array.Current->Flags & (VERT_OBJ_234|
+#else
(ctx->Array.Flags & (VERT_OBJ_234|
+#endif
VERT_TEX0_4|
VERT_TEX1_4|
VERT_ELT)) == (VERT_OBJ_23|VERT_ELT))
@@ -236,6 +240,7 @@ GLboolean fxDDBuildPrecalcPipeline( GLcontext *ctx )
if (fxMesa->using_fast_path)
{
+#if 0
if (MESA_VERBOSE & (VERBOSE_STATE|VERBOSE_DRIVER))
fprintf(stderr, "fxMesa: fall back to full pipeline %x %x %x %x %x\n",
fxMesa->is_in_hardware,
@@ -243,11 +248,16 @@ GLboolean fxDDBuildPrecalcPipeline( GLcontext *ctx )
(ctx->Enabled & ILLEGAL_ENABLES),
(ctx->Array.Summary & (VERT_OBJ_23)),
(ctx->Array.Summary & (VERT_OBJ_4|VERT_TEX0_4|VERT_TEX1_4)));
+#endif
fxMesa->using_fast_path = 0;
ctx->CVA.VB->ClipOrMask = 0;
ctx->CVA.VB->ClipAndMask = CLIP_ALL_BITS;
+#ifdef VAO
+ ctx->Array.NewArrayState |= ctx->Array.Current->Summary;
+#else
ctx->Array.NewArrayState |= ctx->Array.Summary;
+#endif
return 0;
}
@@ -272,7 +282,11 @@ void fxDDOptimizePrecalcPipeline( GLcontext *ctx, struct gl_pipeline *pipe )
if (fxMesa->is_in_hardware &&
fxMesa->render_index == 0 &&
(ctx->Enabled & ILLEGAL_ENABLES) == 0 &&
+#ifdef VAO
+ (ctx->Array.Current->Summary & VERT_ELT))
+#else
(ctx->Array.Summary & VERT_ELT))
+#endif
{
pipe->stages[0] = &fx_fast_stage;
pipe->stages[1] = 0;
diff --git a/xc/extras/Mesa/src/FX/fxrender.c b/xc/extras/Mesa/src/FX/fxrender.c
index 5935998f8..b07a67ce7 100644
--- a/xc/extras/Mesa/src/FX/fxrender.c
+++ b/xc/extras/Mesa/src/FX/fxrender.c
@@ -215,7 +215,7 @@ static INLINE void fxSafeClippedTriangle3( struct vertex_buffer *VB,
#define RENDER_POINTS( start, count ) \
(void) gWin; \
(void) VB; \
- (VB->ctx->Driver.PointsFunc)( VB->ctx, start, count-1 )
+ (VB->ctx->Driver.PointsFunc)( VB->ctx, start, count )
#define RENDER_LINE( i1, i ) \
do { \
@@ -278,7 +278,7 @@ static INLINE void fxSafeClippedTriangle3( struct vertex_buffer *VB,
#define RENDER_POINTS( start, count ) \
(void) gWin; \
(void) cullmask; \
- (VB->ctx->Driver.PointsFunc)( VB->ctx, start, count-1 )
+ (VB->ctx->Driver.PointsFunc)( VB->ctx, start, count )
#define RENDER_LINE( i1, i ) \
@@ -376,7 +376,7 @@ static INLINE void fxSafeClippedTriangle3( struct vertex_buffer *VB,
fxVertex *gWin = FX_DRIVER_DATA(VB)->verts; \
GLubyte *clipmask = VB->ClipMask; \
GLuint i; \
- for (i = start ; i <= count ; i++) \
+ for (i = start ; i < count ; i++) \
if (clipmask[i] == 0) { \
RVB_COLOR(i); \
FX_grDrawPoint( (GrVertex *)gWin[i].f );\
@@ -435,7 +435,7 @@ static INLINE void fxSafeClippedTriangle3( struct vertex_buffer *VB,
fxVertex *gWin = FX_DRIVER_DATA(VB)->verts; \
GLuint e; \
GLubyte *clipmask = VB->ClipMask; \
- for(e=start;e<=count;e++) \
+ for(e=start;e<count;e++) \
if(clipmask[elt[e]]==0) { \
FX_grDrawPoint((GrVertex *)gWin[elt[e]].f); \
} \
@@ -482,7 +482,7 @@ static INLINE void fxSafeClippedTriangle3( struct vertex_buffer *VB,
fxVertex *gWin = FX_DRIVER_DATA(VB)->verts; \
GLuint e; \
GLubyte *clipmask = VB->ClipMask; \
- for(e=start;e<=count;e++) \
+ for(e=start;e<count;e++) \
if(clipmask[elt[e]]==0) { \
FX_grDrawPoint((GrVertex *)gWin[elt[e]].f); \
} \
@@ -532,7 +532,7 @@ static INLINE void fxSafeClippedTriangle3( struct vertex_buffer *VB,
#define RENDER_POINTS( start, count ) \
do { \
GLuint e; \
- for(e=start;e<=count;e++) { \
+ for(e=start;e<count;e++) { \
FX_grDrawPoint((GrVertex *)gWin[elt[e]].f); \
} \
} while (0)
diff --git a/xc/extras/Mesa/src/FX/fxvsetup.c b/xc/extras/Mesa/src/FX/fxvsetup.c
index 5b075f404..e8207a37a 100644
--- a/xc/extras/Mesa/src/FX/fxvsetup.c
+++ b/xc/extras/Mesa/src/FX/fxvsetup.c
@@ -378,7 +378,11 @@ void fxDDCheckPartialRasterSetup( GLcontext *ctx, struct gl_pipeline_stage *d )
/* Indirect triangles must be rendered via the immediate pipeline.
* If all rasterization is software, no need to set up.
*/
+#ifdef VAO
+ if ((ctx->Array.Current->Summary & VERT_OBJ_ANY) == 0)
+#else
if ((ctx->Array.Summary & VERT_OBJ_ANY) == 0)
+#endif
return;
if ((ctx->IndirectTriangles & DD_SW_SETUP) ||
@@ -386,7 +390,11 @@ void fxDDCheckPartialRasterSetup( GLcontext *ctx, struct gl_pipeline_stage *d )
return;
if ((ctx->Texture.ReallyEnabled & 0xf) &&
+#ifdef VAO
+ !(ctx->Array.Current->Flags & VERT_TEX0_ANY))
+#else
!(ctx->Array.Flags & VERT_TEX0_ANY))
+#endif
{
if (ctx->TextureMatrix[0].type == MATRIX_GENERAL ||
ctx->TextureMatrix[0].type == MATRIX_PERSPECTIVE ||
@@ -397,7 +405,11 @@ void fxDDCheckPartialRasterSetup( GLcontext *ctx, struct gl_pipeline_stage *d )
}
if ((ctx->Texture.ReallyEnabled & 0xf0) &&
+#ifdef VAO
+ !(ctx->Array.Current->Flags & VERT_TEX1_ANY))
+#else
!(ctx->Array.Flags & VERT_TEX1_ANY))
+#endif
{
if (ctx->TextureMatrix[1].type == MATRIX_GENERAL ||
ctx->TextureMatrix[1].type == MATRIX_PERSPECTIVE ||
@@ -420,27 +432,27 @@ void fxDDCheckPartialRasterSetup( GLcontext *ctx, struct gl_pipeline_stage *d )
*/
void fxDDPartialRasterSetup( struct vertex_buffer *VB )
{
- GLuint new = VB->pipeline->new_outputs;
+ GLuint newOut = VB->pipeline->new_outputs;
fxMesaContext fxMesa = (fxMesaContext)VB->ctx->DriverCtx;
GLuint ind = 0;
FX_DRIVER_DATA(VB)->last_vert = FX_DRIVER_DATA(VB)->verts + VB->Count;
- if (new & VERT_WIN) {
- new = VB->pipeline->outputs;
+ if (newOut & VERT_WIN) {
+ newOut = VB->pipeline->outputs;
ind |= SETUP_XY|SETUP_W|SETUP_Z;
}
- if (new & VERT_TEX0_ANY)
+ if (newOut & VERT_TEX0_ANY)
ind |= SETUP_W | fxMesa->tex_dest[0];
- if (new & VERT_TEX1_ANY)
+ if (newOut & VERT_TEX1_ANY)
ind |= SETUP_W | fxMesa->tex_dest[1];
- if (new & VERT_RGBA)
+ if (newOut & VERT_RGBA)
ind |= SETUP_W|SETUP_RGBA;
- if ((new & VERT_WIN) == 0)
+ if ((newOut & VERT_WIN) == 0)
ind &= ~(fxMesa->setupdone & SETUP_W);
fxMesa->setupdone &= ~ind;
diff --git a/xc/extras/Mesa/src/Makefile b/xc/extras/Mesa/src/Makefile
deleted file mode 100644
index 107781860..000000000
--- a/xc/extras/Mesa/src/Makefile
+++ /dev/null
@@ -1,805 +0,0 @@
-# Generated automatically from Makefile.in by configure.
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-#AUTOMAKE_OPTIONS = no-dependencies
-
-
-SHELL = /bin/sh
-
-srcdir = .
-top_srcdir = ..
-prefix = /usr/local
-exec_prefix = ${prefix}
-
-bindir = ${exec_prefix}/bin
-sbindir = ${exec_prefix}/sbin
-libexecdir = ${exec_prefix}/libexec
-datadir = ${prefix}/share
-sysconfdir = ${prefix}/etc
-sharedstatedir = ${prefix}/com
-localstatedir = ${prefix}/var
-libdir = ${exec_prefix}/lib
-infodir = ${prefix}/info
-mandir = ${prefix}/man
-includedir = ${prefix}/include
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/Mesa
-pkglibdir = $(libdir)/Mesa
-pkgincludedir = $(includedir)/Mesa
-
-top_builddir = ..
-
-ACLOCAL = aclocal
-AUTOCONF = autoconf
-AUTOMAKE = automake
-AUTOHEADER = autoheader
-
-INSTALL = /usr/bin/install -c
-INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_SCRIPT = ${INSTALL_PROGRAM}
-transform = s,x,x,
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-AS = @AS@
-CC = gcc
-CPP = gcc -E
-DLLTOOL = @DLLTOOL@
-EXEEXT =
-FX_CFLAGS = -I/usr/include/glide3 -I/usr/local/include/glide3
-FX_LIBS = -lglide3x
-GGI_CFLAGS =
-GGI_LIBS =
-GLUT_CFLAGS =
-GLUT_LIBS = -lglut
-LIBGLUT_VERSION = 3:7:0
-LIBGLU_VERSION = 1:1:030300
-LIBGL_VERSION = 1:2:030300
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-MAKEINFO = makeinfo
-OBJDUMP = @OBJDUMP@
-OBJEXT = o
-PACKAGE = Mesa
-RANLIB = ranlib
-STRIP = strip
-SVGA_CFLAGS =
-SVGA_LIBS = -lvga
-THREAD_LIBS = -lpthread
-VERSION = 3.3b1
-X_LIBADD = -lXmu -lXext -lXi -lX11
-ggi_confdir = /usr/local/etc
-ggi_libdir = /usr/local/lib
-
-INCLUDES = -I$(top_srcdir)/include
-
-# Build a libtool library for installation in libdir.
-lib_LTLIBRARIES = libGL.la
-
-sysconf_DATA = mesa.conf
-
-EXTRA_DIST = ddsample.c mesa.conf
-
-libGL_la_LDFLAGS = -version-info $(LIBGL_VERSION)
-libGL_la_SOURCES = aatriangle.c aatriangle.h accum.c accum.h all.h alpha.c alpha.h alphabuf.c alphabuf.h attrib.c attrib.h bbox.c bbox.h bitmap.c bitmap.h blend.c blend.h buffers.c buffers.h clip.c clip.h clip_funcs.h clip_tmp.h colortab.c colortab.h config.c config.h context.c context.h copy_tmp.h copypix.c copypix.h cull_tmp.h cva.c cva.h dd.h debug_xform.c debug_xform.h depth.c depth.h dispatch.c dlist.c dlist.h dotprod_tmp.h drawpix.c drawpix.h enable.c enable.h enums.c enums.h eval.c eval.h extensions.c extensions.h feedback.c feedback.h fixed.h glapi.c glapi.h glapinoop.c glapinoop.h glapioffsets.h glapitable.h glapitemp.h glthread.c glthread.h fog.c fog.h fog_tmp.h general_clip.h get.c get.h glheader.h hash.c hash.h hint.c hint.h imaging.c imaging.h image.c image.h indirect_tmp.h interp_tmp.h light.c light.h lines.c lines.h linetemp.h lnaatemp.h logic.c logic.h macros.h masking.c masking.h matrix.c matrix.h mem.c mem.h mmath.c mmath.h norm_tmp.h pb.c pb.h pipeline.c pipeline.h pixel.c pixel.h pixeltex.c pixeltex.h points.c points.h polygon.c polygon.h quads.c quads.h rastpos.c rastpos.h readpix.c readpix.h rect.c rect.h render_tmp.h scissor.c scissor.h shade.c shade.h shade_tmp.h simple_list.h span.c span.h stages.c stages.h state.c state.h stencil.c stencil.h texgen_tmp.h teximage.c teximage.h texobj.c texobj.h texstate.c texstate.h texture.c texture.h texutil.c texutil.h trans_tmp.h translate.c translate.h triangle.c triangle.h tritemp.h types.h varray.c varray.h vb.c vb.h vbcull.c vbcull.h vbfill.c vbfill.h vbindirect.c vbindirect.h vbrender.c vbrender.h vbxform.c vbxform.h vector.c vector.h vertices.c vertices.h winpos.c winpos.h xform.c xform.h xform_tmp.h zoom.c zoom.h
-
-
-DRV_X86 = X86/libMesaX86.la
-SUB_X86 = X86
-
-DRV_FX = FX/libMesaFX.la
-SUB_FX = FX
-DRV_FX_X86 = FX/X86/libMesaFX_X86.la
-
-#DRV_GGI = GGI/libMesaGGI.la
-#SUB_GGI = GGI
-
-DRV_OSMESA = OSmesa/libMesaOS.la
-SUB_OSMESA = OSmesa
-
-DRV_SVGA = SVGA/libMesaSVGA.la
-SUB_SVGA = SVGA
-
-DRV_X11 = X/libMesaX11.la
-SUB_X11 = X
-
-SUBDIRS = $(SUB_X86) $(SUB_FX) $(SUB_GGI) $(SUB_OSMESA) $(SUB_SVGA) $(SUB_X11)
-
-libGL_la_LIBADD = $(DRV_X86) $(DRV_FX) $(DRV_FX_X86) $(DRV_GGI) $(DRV_OSMESA) $(DRV_SVGA) $(DRV_X11) $(THREAD_LIBS)
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../conf.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(lib_LTLIBRARIES)
-
-
-DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I..
-CPPFLAGS =
-LDFLAGS =
-LIBS =
-X_CFLAGS = -I/usr/X11R6/include
-X_LIBS = -L/usr/X11R6/lib
-X_EXTRA_LIBS =
-X_PRE_LIBS = -lSM -lICE
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##FX/libMesaFX.la \
-##FX/X86/libMesaFX_X86.la \
-##GGI/libMesaGGI.la \
-##OSmesa/libMesaOS.la \
-##X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###FX/libMesaFX.la \
-###FX/X86/libMesaFX_X86.la
-#####libGL_la_DEPENDENCIES = \
-#####FX/libMesaFX.la \
-#####GGI/libMesaGGI.la
-###libGL_la_DEPENDENCIES = \
-###FX/libMesaFX.la \
-###OSmesa/libMesaOS.la
-###libGL_la_DEPENDENCIES = \
-###SVGA/libMesaSVGA.la \
-###X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###GGI/libMesaGGI.la \
-###OSmesa/libMesaOS.la \
-###SVGA/libMesaSVGA.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###FX/libMesaFX.la \
-###FX/X86/libMesaFX_X86.la \
-###GGI/libMesaGGI.la \
-###X/libMesaX11.la
-#libGL_la_DEPENDENCIES = \
-#X86/libMesaX86.la \
-#FX/libMesaFX.la \
-#FX/X86/libMesaFX_X86.la \
-#OSmesa/libMesaOS.la \
-#X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###FX/libMesaFX.la \
-###GGI/libMesaGGI.la \
-###OSmesa/libMesaOS.la \
-###X/libMesaX11.la
-####libGL_la_DEPENDENCIES = \
-####X/libMesaX11.la
-####libGL_la_DEPENDENCIES = \
-####X86/libMesaX86.la \
-####GGI/libMesaGGI.la \
-####X/libMesaX11.la
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##OSmesa/libMesaOS.la \
-##X/libMesaX11.la
-####libGL_la_DEPENDENCIES = \
-####GGI/libMesaGGI.la \
-####OSmesa/libMesaOS.la \
-####X/libMesaX11.la
-##libGL_la_DEPENDENCIES = \
-##FX/libMesaFX.la \
-##SVGA/libMesaSVGA.la \
-##X/libMesaX11.la
-##libGL_la_DEPENDENCIES = \
-##FX/libMesaFX.la \
-##GGI/libMesaGGI.la \
-##OSmesa/libMesaOS.la \
-##SVGA/libMesaSVGA.la \
-##X/libMesaX11.la
-libGL_la_DEPENDENCIES = \
-X86/libMesaX86.la \
-FX/libMesaFX.la \
-FX/X86/libMesaFX_X86.la \
-OSmesa/libMesaOS.la \
-SVGA/libMesaSVGA.la \
-X/libMesaX11.la
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##FX/libMesaFX.la \
-##FX/X86/libMesaFX_X86.la \
-##GGI/libMesaGGI.la \
-##SVGA/libMesaSVGA.la \
-##X/libMesaX11.la
-#####libGL_la_DEPENDENCIES = \
-#####X86/libMesaX86.la \
-#####GGI/libMesaGGI.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###OSmesa/libMesaOS.la
-#####libGL_la_DEPENDENCIES = \
-#####GGI/libMesaGGI.la \
-#####OSmesa/libMesaOS.la
-###libGL_la_DEPENDENCIES = \
-###FX/libMesaFX.la \
-###SVGA/libMesaSVGA.la
-#libGL_la_DEPENDENCIES = \
-#X86/libMesaX86.la \
-#FX/libMesaFX.la \
-#FX/X86/libMesaFX_X86.la \
-#SVGA/libMesaSVGA.la \
-#X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###FX/libMesaFX.la \
-###GGI/libMesaGGI.la \
-###SVGA/libMesaSVGA.la \
-###X/libMesaX11.la
-#libGL_la_DEPENDENCIES = \
-#FX/libMesaFX.la \
-#OSmesa/libMesaOS.la \
-#SVGA/libMesaSVGA.la \
-#X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###GGI/libMesaGGI.la \
-###OSmesa/libMesaOS.la \
-###X/libMesaX11.la
-####libGL_la_DEPENDENCIES = \
-####FX/libMesaFX.la
-####libGL_la_DEPENDENCIES = \
-####X86/libMesaX86.la \
-####FX/libMesaFX.la \
-####FX/X86/libMesaFX_X86.la \
-####GGI/libMesaGGI.la
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##FX/libMesaFX.la \
-##FX/X86/libMesaFX_X86.la \
-##OSmesa/libMesaOS.la
-####libGL_la_DEPENDENCIES = \
-####FX/libMesaFX.la \
-####GGI/libMesaGGI.la \
-####OSmesa/libMesaOS.la
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##SVGA/libMesaSVGA.la \
-##X/libMesaX11.la
-####libGL_la_DEPENDENCIES = \
-####GGI/libMesaGGI.la \
-####SVGA/libMesaSVGA.la \
-####X/libMesaX11.la
-##libGL_la_DEPENDENCIES = \
-##OSmesa/libMesaOS.la \
-##SVGA/libMesaSVGA.la \
-##X/libMesaX11.la
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##GGI/libMesaGGI.la \
-##OSmesa/libMesaOS.la \
-##SVGA/libMesaSVGA.la \
-##X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###FX/libMesaFX.la \
-###X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###OSmesa/libMesaOS.la \
-###SVGA/libMesaSVGA.la
-#####libGL_la_DEPENDENCIES = \
-#####GGI/libMesaGGI.la \
-#####SVGA/libMesaSVGA.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###SVGA/libMesaSVGA.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###GGI/libMesaGGI.la \
-###SVGA/libMesaSVGA.la \
-###X/libMesaX11.la
-#libGL_la_DEPENDENCIES = \
-#X86/libMesaX86.la \
-#OSmesa/libMesaOS.la \
-#SVGA/libMesaSVGA.la \
-#X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###GGI/libMesaGGI.la \
-###OSmesa/libMesaOS.la \
-###SVGA/libMesaSVGA.la \
-###X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###FX/libMesaFX.la \
-###FX/X86/libMesaFX_X86.la \
-###GGI/libMesaGGI.la \
-###OSmesa/libMesaOS.la
-####libGL_la_DEPENDENCIES = \
-####OSmesa/libMesaOS.la
-######libGL_la_DEPENDENCIES = \
-######GGI/libMesaGGI.la
-####libGL_la_DEPENDENCIES = \
-####X86/libMesaX86.la
-##libGL_la_DEPENDENCIES = \
-##FX/libMesaFX.la \
-##OSmesa/libMesaOS.la \
-##SVGA/libMesaSVGA.la
-####libGL_la_DEPENDENCIES = \
-####FX/libMesaFX.la \
-####GGI/libMesaGGI.la \
-####SVGA/libMesaSVGA.la
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##FX/libMesaFX.la \
-##FX/X86/libMesaFX_X86.la \
-##SVGA/libMesaSVGA.la
-####libGL_la_DEPENDENCIES = \
-####X86/libMesaX86.la \
-####GGI/libMesaGGI.la \
-####OSmesa/libMesaOS.la
-#####libGL_la_DEPENDENCIES =
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##FX/libMesaFX.la \
-##FX/X86/libMesaFX_X86.la \
-##GGI/libMesaGGI.la \
-##OSmesa/libMesaOS.la \
-##SVGA/libMesaSVGA.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###X/libMesaX11.la
-#####libGL_la_DEPENDENCIES = \
-#####GGI/libMesaGGI.la \
-#####X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###OSmesa/libMesaOS.la \
-###X/libMesaX11.la
-###libGL_la_DEPENDENCIES = \
-###FX/libMesaFX.la \
-###GGI/libMesaGGI.la \
-###OSmesa/libMesaOS.la \
-###SVGA/libMesaSVGA.la
-#libGL_la_DEPENDENCIES = \
-#X86/libMesaX86.la \
-#FX/libMesaFX.la \
-#FX/X86/libMesaFX_X86.la \
-#OSmesa/libMesaOS.la \
-#SVGA/libMesaSVGA.la
-###libGL_la_DEPENDENCIES = \
-###X86/libMesaX86.la \
-###FX/libMesaFX.la \
-###FX/X86/libMesaFX_X86.la \
-###GGI/libMesaGGI.la \
-###SVGA/libMesaSVGA.la
-####libGL_la_DEPENDENCIES = \
-####SVGA/libMesaSVGA.la
-#libGL_la_DEPENDENCIES = \
-#X86/libMesaX86.la \
-#FX/libMesaFX.la \
-#FX/X86/libMesaFX_X86.la \
-#GGI/libMesaGGI.la \
-#OSmesa/libMesaOS.la \
-#SVGA/libMesaSVGA.la \
-#X/libMesaX11.la
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##FX/libMesaFX.la \
-##FX/X86/libMesaFX_X86.la \
-##X/libMesaX11.la
-####libGL_la_DEPENDENCIES = \
-####FX/libMesaFX.la \
-####GGI/libMesaGGI.la \
-####X/libMesaX11.la
-##libGL_la_DEPENDENCIES = \
-##FX/libMesaFX.la \
-##OSmesa/libMesaOS.la \
-##X/libMesaX11.la
-####libGL_la_DEPENDENCIES = \
-####GGI/libMesaGGI.la \
-####OSmesa/libMesaOS.la \
-####SVGA/libMesaSVGA.la
-##libGL_la_DEPENDENCIES = \
-##X86/libMesaX86.la \
-##OSmesa/libMesaOS.la \
-##SVGA/libMesaSVGA.la
-####libGL_la_DEPENDENCIES = \
-####X86/libMesaX86.la \
-####GGI/libMesaGGI.la \
-####SVGA/libMesaSVGA.la
-libGL_la_OBJECTS = aatriangle.lo accum.lo alpha.lo alphabuf.lo \
-attrib.lo bbox.lo bitmap.lo blend.lo buffers.lo clip.lo colortab.lo \
-config.lo context.lo copypix.lo cva.lo debug_xform.lo depth.lo \
-dispatch.lo dlist.lo drawpix.lo enable.lo enums.lo eval.lo \
-extensions.lo feedback.lo glapi.lo glapinoop.lo glthread.lo fog.lo \
-get.lo hash.lo hint.lo imaging.lo image.lo light.lo lines.lo logic.lo \
-masking.lo matrix.lo mem.lo mmath.lo pb.lo pipeline.lo pixel.lo \
-pixeltex.lo points.lo polygon.lo quads.lo rastpos.lo readpix.lo rect.lo \
-scissor.lo shade.lo span.lo stages.lo state.lo stencil.lo teximage.lo \
-texobj.lo texstate.lo texture.lo texutil.lo translate.lo triangle.lo \
-varray.lo vb.lo vbcull.lo vbfill.lo vbindirect.lo vbrender.lo \
-vbxform.lo vector.lo vertices.lo winpos.lo xform.lo zoom.lo
-CFLAGS = -g -O2 -Wall -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_REENTRANT
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DATA = $(sysconf_DATA)
-
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-DIST_SUBDIRS = X86 FX GGI OSmesa SVGA X
-DEP_FILES = .deps/aatriangle.P .deps/accum.P .deps/alpha.P \
-.deps/alphabuf.P .deps/attrib.P .deps/bbox.P .deps/bitmap.P \
-.deps/blend.P .deps/buffers.P .deps/clip.P .deps/colortab.P \
-.deps/config.P .deps/context.P .deps/copypix.P .deps/cva.P \
-.deps/debug_xform.P .deps/depth.P .deps/dispatch.P .deps/dlist.P \
-.deps/drawpix.P .deps/enable.P .deps/enums.P .deps/eval.P \
-.deps/extensions.P .deps/feedback.P .deps/fog.P .deps/get.P \
-.deps/glapi.P .deps/glapinoop.P .deps/glthread.P .deps/hash.P \
-.deps/hint.P .deps/image.P .deps/imaging.P .deps/light.P .deps/lines.P \
-.deps/logic.P .deps/masking.P .deps/matrix.P .deps/mem.P .deps/mmath.P \
-.deps/pb.P .deps/pipeline.P .deps/pixel.P .deps/pixeltex.P \
-.deps/points.P .deps/polygon.P .deps/quads.P .deps/rastpos.P \
-.deps/readpix.P .deps/rect.P .deps/scissor.P .deps/shade.P .deps/span.P \
-.deps/stages.P .deps/state.P .deps/stencil.P .deps/teximage.P \
-.deps/texobj.P .deps/texstate.P .deps/texture.P .deps/texutil.P \
-.deps/translate.P .deps/triangle.P .deps/varray.P .deps/vb.P \
-.deps/vbcull.P .deps/vbfill.P .deps/vbindirect.P .deps/vbrender.P \
-.deps/vbxform.P .deps/vector.P .deps/vertices.P .deps/winpos.P \
-.deps/xform.P .deps/zoom.P
-SOURCES = $(libGL_la_SOURCES)
-OBJECTS = $(libGL_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-libLTLIBRARIES:
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-
-distclean-libLTLIBRARIES:
-
-maintainer-clean-libLTLIBRARIES:
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(libdir)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
- $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
- done
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libGL.la: $(libGL_la_OBJECTS) $(libGL_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(libGL_la_LDFLAGS) $(libGL_la_OBJECTS) $(libGL_la_LIBADD) $(LIBS)
-
-install-sysconfDATA: $(sysconf_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
- @list='$(sysconf_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(sysconfdir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(sysconfdir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(sysconfdir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(sysconfdir)/$$p; \
- fi; fi; \
- done
-
-uninstall-sysconfDATA:
- @$(NORMAL_UNINSTALL)
- list='$(sysconf_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(sysconfdir)/$$p; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
- rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
- done; \
- test "$$dot_seen" = "no" && rev=". $$rev"; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src
-
-distdir: $(DISTFILES)
- here=`cd $(top_builddir) && pwd`; \
- top_distdir=`cd $(top_distdir) && pwd`; \
- distdir=`cd $(distdir) && pwd`; \
- cd $(top_srcdir) \
- && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/Makefile
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
- for subdir in $(DIST_SUBDIRS); do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- chmod 777 $(distdir)/$$subdir; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
- || exit 1; \
- fi; \
- done
-
-DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
-
--include $(DEP_FILES)
-
-mostlyclean-depend:
-
-clean-depend:
-
-distclean-depend:
- -rm -rf .deps
-
-maintainer-clean-depend:
-
-%.o: %.c
- @echo '$(COMPILE) -c $<'; \
- $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-cp .deps/$(*F).pp .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm .deps/$(*F).pp
-
-%.lo: %.c
- @echo '$(LTCOMPILE) -c $<'; \
- $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
- @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
- < .deps/$(*F).pp > .deps/$(*F).P; \
- tr ' ' '\012' < .deps/$(*F).pp \
- | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
- >> .deps/$(*F).P; \
- rm -f .deps/$(*F).pp
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-exec-am: install-libLTLIBRARIES install-sysconfDATA
-install-exec: install-exec-recursive
-
-install-data-am:
-install-data: install-data-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am: uninstall-libLTLIBRARIES uninstall-sysconfDATA
-uninstall: uninstall-recursive
-all-am: Makefile $(LTLIBRARIES) $(DATA)
-all-redirect: all-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(sysconfdir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-libLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am: clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \
- clean-depend clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am: distclean-libLTLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-depend \
- distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-recursive
-
-maintainer-clean-am: maintainer-clean-libLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-depend \
- maintainer-clean-generic distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-
-.PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
-clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
-uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
-distclean-compile clean-compile maintainer-clean-compile \
-mostlyclean-libtool distclean-libtool clean-libtool \
-maintainer-clean-libtool uninstall-sysconfDATA install-sysconfDATA \
-install-data-recursive uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir \
-mostlyclean-depend distclean-depend clean-depend \
-maintainer-clean-depend info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
-
-
-strip:
- -if strip -V 2>&1 | grep "GNU" > /dev/null; then \
- strip --strip-unneeded .libs/*.so; \
- strip --strip-debug .libs/*.a; \
- fi
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/src/Makefile.BeOS-R4 b/xc/extras/Mesa/src/Makefile.BeOS-R4
index db5c675b0..024165021 100755
--- a/xc/extras/Mesa/src/Makefile.BeOS-R4
+++ b/xc/extras/Mesa/src/Makefile.BeOS-R4
@@ -1,9 +1,9 @@
-# $Id: Makefile.BeOS-R4,v 1.1 2000/11/30 17:31:31 dawes Exp $
+# $Id: Makefile.BeOS-R4,v 1.2 2000/12/05 19:51:29 dawes Exp $
# Mesa 3-D graphics library
-# Version: 3.3
+# Version: 3.4
#
-# Copyright (C) 1999 Brian Paul All Rights Reserved.
+# Copyright (C) 1999-2000 Brian Paul All Rights Reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
@@ -98,6 +98,7 @@ CORE_SOURCES = \
teximage.c \
texobj.c \
texstate.c \
+ texture.c \
texutil.c \
translate.c \
triangle.c \
@@ -114,6 +115,7 @@ CORE_SOURCES = \
xform.c \
zoom.c
+
DRIVER_SOURCES = OSmesa/osmesa.c BeOS/GLView.cpp
OBJECTS = $(CORE_SOURCES:.c=.o) OSmesa/osmesa.o BeOS/GLView.o
diff --git a/xc/extras/Mesa/src/Makefile.am b/xc/extras/Mesa/src/Makefile.am
index c23549e21..45642a080 100644
--- a/xc/extras/Mesa/src/Makefile.am
+++ b/xc/extras/Mesa/src/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = no-dependencies
+#AUTOMAKE_OPTIONS = no-dependencies
INCLUDES = -I$(top_srcdir)/include
diff --git a/xc/extras/Mesa/src/Makefile.in b/xc/extras/Mesa/src/Makefile.in
deleted file mode 100644
index 437c9684d..000000000
--- a/xc/extras/Mesa/src/Makefile.in
+++ /dev/null
@@ -1,753 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-AUTOMAKE_OPTIONS = no-dependencies
-
-INCLUDES = -I$(top_srcdir)/include
-
-# Build a libtool library for installation in libdir.
-lib_LTLIBRARIES = libGL.la
-
-sysconf_DATA = mesa.conf
-
-EXTRA_DIST = ddsample.c mesa.conf
-
-libGL_la_LDFLAGS = -version-info $(LIBGL_VERSION)
-libGL_la_SOURCES = aatriangle.c aatriangle.h accum.c accum.h all.h alpha.c alpha.h alphabuf.c alphabuf.h attrib.c attrib.h bbox.c bbox.h bitmap.c bitmap.h blend.c blend.h buffers.c buffers.h clip.c clip.h clip_funcs.h clip_tmp.h colortab.c colortab.h config.c config.h context.c context.h copy_tmp.h copypix.c copypix.h cull_tmp.h cva.c cva.h dd.h debug_xform.c debug_xform.h depth.c depth.h dispatch.c dlist.c dlist.h dotprod_tmp.h drawpix.c drawpix.h enable.c enable.h enums.c enums.h eval.c eval.h extensions.c extensions.h feedback.c feedback.h fixed.h glapi.c glapi.h glapinoop.c glapinoop.h glapioffsets.h glapitable.h glapitemp.h glthread.c glthread.h fog.c fog.h fog_tmp.h general_clip.h get.c get.h glheader.h hash.c hash.h hint.c hint.h imaging.c imaging.h image.c image.h indirect_tmp.h interp_tmp.h light.c light.h lines.c lines.h linetemp.h lnaatemp.h logic.c logic.h macros.h masking.c masking.h matrix.c matrix.h mem.c mem.h mmath.c mmath.h norm_tmp.h pb.c pb.h pipeline.c pipeline.h pixel.c pixel.h pixeltex.c pixeltex.h points.c points.h polygon.c polygon.h quads.c quads.h rastpos.c rastpos.h readpix.c readpix.h rect.c rect.h render_tmp.h scissor.c scissor.h shade.c shade.h shade_tmp.h simple_list.h span.c span.h stages.c stages.h state.c state.h stencil.c stencil.h texgen_tmp.h teximage.c teximage.h texobj.c texobj.h texstate.c texstate.h texture.c texture.h texutil.c texutil.h trans_tmp.h translate.c translate.h triangle.c triangle.h tritemp.h types.h varray.c varray.h vb.c vb.h vbcull.c vbcull.h vbfill.c vbfill.h vbindirect.c vbindirect.h vbrender.c vbrender.h vbxform.c vbxform.h vector.c vector.h vertices.c vertices.h winpos.c winpos.h xform.c xform.h xform_tmp.h zoom.c zoom.h
-
-
-@HAVE_X86_TRUE@DRV_X86 = X86/libMesaX86.la
-@HAVE_X86_TRUE@SUB_X86 = X86
-
-@HAVE_FX_TRUE@DRV_FX = FX/libMesaFX.la
-@HAVE_FX_TRUE@SUB_FX = FX
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@DRV_FX_X86 = FX/X86/libMesaFX_X86.la
-
-@HAVE_GGI_TRUE@DRV_GGI = GGI/libMesaGGI.la
-@HAVE_GGI_TRUE@SUB_GGI = GGI
-
-@HAVE_OSMESA_TRUE@DRV_OSMESA = OSmesa/libMesaOS.la
-@HAVE_OSMESA_TRUE@SUB_OSMESA = OSmesa
-
-@HAVE_SVGA_TRUE@DRV_SVGA = SVGA/libMesaSVGA.la
-@HAVE_SVGA_TRUE@SUB_SVGA = SVGA
-
-@HAVE_X11_TRUE@DRV_X11 = X/libMesaX11.la
-@HAVE_X11_TRUE@SUB_X11 = X
-
-SUBDIRS = $(SUB_X86) $(SUB_FX) $(SUB_GGI) $(SUB_OSMESA) $(SUB_SVGA) $(SUB_X11)
-
-libGL_la_LIBADD = $(DRV_X86) $(DRV_FX) $(DRV_FX_X86) $(DRV_GGI) $(DRV_OSMESA) $(DRV_SVGA) $(DRV_X11) $(THREAD_LIBS)
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../conf.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(lib_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/X86/libMesaFX_X86.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@GGI/libMesaGGI.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@GGI/libMesaGGI.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/libMesaFX.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@GGI/libMesaGGI.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@GGI/libMesaGGI.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@X86/libMesaX86.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES =
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@SVGA/libMesaSVGA.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X86/libMesaX86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/X86/libMesaFX_X86.la \
-@HAVE_FX_TRUE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@GGI/libMesaGGI.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@FX/libMesaFX.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@OSmesa/libMesaOS.la \
-@HAVE_FX_TRUE@@HAVE_X86_FALSE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_FALSE@@HAVE_X11_TRUE@X/libMesaX11.la
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_FALSE@@HAVE_GGI_TRUE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@OSmesa/libMesaOS.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_FALSE@@HAVE_OSMESA_TRUE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@libGL_la_DEPENDENCIES = \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@X86/libMesaX86.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@GGI/libMesaGGI.la \
-@HAVE_FX_FALSE@@HAVE_X86_TRUE@@HAVE_GGI_TRUE@@HAVE_OSMESA_FALSE@@HAVE_SVGA_TRUE@@HAVE_X11_FALSE@SVGA/libMesaSVGA.la
-libGL_la_OBJECTS = aatriangle.lo accum.lo alpha.lo alphabuf.lo \
-attrib.lo bbox.lo bitmap.lo blend.lo buffers.lo clip.lo colortab.lo \
-config.lo context.lo copypix.lo cva.lo debug_xform.lo depth.lo \
-dispatch.lo dlist.lo drawpix.lo enable.lo enums.lo eval.lo \
-extensions.lo feedback.lo glapi.lo glapinoop.lo glthread.lo fog.lo \
-get.lo hash.lo hint.lo imaging.lo image.lo light.lo lines.lo logic.lo \
-masking.lo matrix.lo mem.lo mmath.lo pb.lo pipeline.lo pixel.lo \
-pixeltex.lo points.lo polygon.lo quads.lo rastpos.lo readpix.lo rect.lo \
-scissor.lo shade.lo span.lo stages.lo state.lo stencil.lo teximage.lo \
-texobj.lo texstate.lo texture.lo texutil.lo translate.lo triangle.lo \
-varray.lo vb.lo vbcull.lo vbfill.lo vbindirect.lo vbrender.lo \
-vbxform.lo vector.lo vertices.lo winpos.lo xform.lo zoom.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DATA = $(sysconf_DATA)
-
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-DIST_SUBDIRS = X86 FX GGI OSmesa SVGA X
-SOURCES = $(libGL_la_SOURCES)
-OBJECTS = $(libGL_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-libLTLIBRARIES:
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-
-distclean-libLTLIBRARIES:
-
-maintainer-clean-libLTLIBRARIES:
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(libdir)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
- $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
- done
-
-.c.o:
- $(COMPILE) -c $<
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libGL.la: $(libGL_la_OBJECTS) $(libGL_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(libGL_la_LDFLAGS) $(libGL_la_OBJECTS) $(libGL_la_LIBADD) $(LIBS)
-
-install-sysconfDATA: $(sysconf_DATA)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
- @list='$(sysconf_DATA)'; for p in $$list; do \
- if test -f $(srcdir)/$$p; then \
- echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(sysconfdir)/$$p"; \
- $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(sysconfdir)/$$p; \
- else if test -f $$p; then \
- echo " $(INSTALL_DATA) $$p $(DESTDIR)$(sysconfdir)/$$p"; \
- $(INSTALL_DATA) $$p $(DESTDIR)$(sysconfdir)/$$p; \
- fi; fi; \
- done
-
-uninstall-sysconfDATA:
- @$(NORMAL_UNINSTALL)
- list='$(sysconf_DATA)'; for p in $$list; do \
- rm -f $(DESTDIR)$(sysconfdir)/$$p; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
- rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
- done; \
- test "$$dot_seen" = "no" && rev=". $$rev"; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
- for subdir in $(DIST_SUBDIRS); do \
- if test "$$subdir" = .; then :; else \
- test -d $(distdir)/$$subdir \
- || mkdir $(distdir)/$$subdir \
- || exit 1; \
- chmod 777 $(distdir)/$$subdir; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
- || exit 1; \
- fi; \
- done
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-exec-am: install-libLTLIBRARIES install-sysconfDATA
-install-exec: install-exec-recursive
-
-install-data-am:
-install-data: install-data-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am: uninstall-libLTLIBRARIES uninstall-sysconfDATA
-uninstall: uninstall-recursive
-all-am: Makefile $(LTLIBRARIES) $(DATA)
-all-redirect: all-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(sysconfdir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-libLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am: clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \
- clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am: distclean-libLTLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-generic \
- clean-am
- -rm -f libtool
-
-distclean: distclean-recursive
-
-maintainer-clean-am: maintainer-clean-libLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-
-.PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
-clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
-uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
-distclean-compile clean-compile maintainer-clean-compile \
-mostlyclean-libtool distclean-libtool clean-libtool \
-maintainer-clean-libtool uninstall-sysconfDATA install-sysconfDATA \
-install-data-recursive uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-strip:
- -if strip -V 2>&1 | grep "GNU" > /dev/null; then \
- strip --strip-unneeded .libs/*.so; \
- strip --strip-debug .libs/*.a; \
- fi
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/src/OSmesa/Makefile.am b/xc/extras/Mesa/src/OSmesa/Makefile.am
index 9f71106c5..1ff552057 100644
--- a/xc/extras/Mesa/src/OSmesa/Makefile.am
+++ b/xc/extras/Mesa/src/OSmesa/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = no-dependencies
+#AUTOMAKE_OPTIONS = no-dependencies
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src
diff --git a/xc/extras/Mesa/src/OSmesa/Makefile.in b/xc/extras/Mesa/src/OSmesa/Makefile.in
deleted file mode 100644
index a46b7cd8f..000000000
--- a/xc/extras/Mesa/src/OSmesa/Makefile.in
+++ /dev/null
@@ -1,320 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-AUTOMAKE_OPTIONS = no-dependencies
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src
-
-# Build a libtool convenience library.
-@HAVE_OSMESA_TRUE@noinst_LTLIBRARIES = libMesaOS.la
-
-libMesaOS_la_SOURCES = osmesa.c
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../conf.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-libMesaOS_la_LDFLAGS =
-libMesaOS_la_LIBADD =
-libMesaOS_la_OBJECTS = osmesa.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(libMesaOS_la_SOURCES)
-OBJECTS = $(libMesaOS_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/OSmesa/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-noinstLTLIBRARIES:
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-
-distclean-noinstLTLIBRARIES:
-
-maintainer-clean-noinstLTLIBRARIES:
-
-.c.o:
- $(COMPILE) -c $<
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libMesaOS.la: $(libMesaOS_la_OBJECTS) $(libMesaOS_la_DEPENDENCIES)
- $(LINK) $(libMesaOS_la_LDFLAGS) $(libMesaOS_la_OBJECTS) $(libMesaOS_la_LIBADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src/OSmesa
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \
- clean-tags clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-noinstLTLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-generic \
- clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
-clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/src/OSmesa/osmesa.c b/xc/extras/Mesa/src/OSmesa/osmesa.c
index 4cc3e29d5..09e6ed0e9 100644
--- a/xc/extras/Mesa/src/OSmesa/osmesa.c
+++ b/xc/extras/Mesa/src/OSmesa/osmesa.c
@@ -102,7 +102,7 @@ OSMesaCreateContext( GLenum format, OSMesaContext sharelist )
OSMesaContext osmesa;
GLint rshift, gshift, bshift, ashift;
GLint rind, gind, bind;
- GLint indexBits, alphaBits;
+ GLint indexBits, alphaBits = 0;
GLboolean rgbmode;
GLboolean swalpha;
GLuint i4 = 1;
diff --git a/xc/extras/Mesa/src/X/Makefile.am b/xc/extras/Mesa/src/X/Makefile.am
index bae8b2379..f0d65fd8f 100644
--- a/xc/extras/Mesa/src/X/Makefile.am
+++ b/xc/extras/Mesa/src/X/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = no-dependencies
+#AUTOMAKE_OPTIONS = no-dependencies
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src $(X_CFLAGS) $(FX_CFLAGS)
diff --git a/xc/extras/Mesa/src/X/Makefile.in b/xc/extras/Mesa/src/X/Makefile.in
deleted file mode 100644
index f86974fea..000000000
--- a/xc/extras/Mesa/src/X/Makefile.in
+++ /dev/null
@@ -1,324 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-AUTOMAKE_OPTIONS = no-dependencies
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src $(X_CFLAGS) $(FX_CFLAGS)
-
-# Build a libtool convenience library.
-@HAVE_X11_TRUE@noinst_LTLIBRARIES = libMesaX11.la
-
-libMesaX11_la_SOURCES = glxapi.c glxapi.h fakeglx.c xfonts.c xmesa1.c xmesa2.c xmesa3.c xmesa4.c xmesaP.h
-
-
-libMesaX11_la_LIBADD = $(X_LIBS) $(X_PRE_LIBS) $(X_LIBADD)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../conf.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-libMesaX11_la_LDFLAGS =
-libMesaX11_la_DEPENDENCIES =
-libMesaX11_la_OBJECTS = glxapi.lo fakeglx.lo xfonts.lo xmesa1.lo \
-xmesa2.lo xmesa3.lo xmesa4.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(libMesaX11_la_SOURCES)
-OBJECTS = $(libMesaX11_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/X/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-noinstLTLIBRARIES:
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-
-distclean-noinstLTLIBRARIES:
-
-maintainer-clean-noinstLTLIBRARIES:
-
-.c.o:
- $(COMPILE) -c $<
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libMesaX11.la: $(libMesaX11_la_OBJECTS) $(libMesaX11_la_DEPENDENCIES)
- $(LINK) $(libMesaX11_la_LDFLAGS) $(libMesaX11_la_OBJECTS) $(libMesaX11_la_LIBADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src/X
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \
- clean-tags clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-noinstLTLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-generic \
- clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
-clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/src/X/fakeglx.c b/xc/extras/Mesa/src/X/fakeglx.c
index 0b7cf6bf3..6c9f04aee 100644
--- a/xc/extras/Mesa/src/X/fakeglx.c
+++ b/xc/extras/Mesa/src/X/fakeglx.c
@@ -560,7 +560,7 @@ static XVisualInfo *choose_x_visual( Display *dpy, int screen,
int preferred_class )
{
XVisualInfo *vis;
- int xclass, visclass;
+ int xclass, visclass = 0;
int depth;
if (rgba) {
diff --git a/xc/extras/Mesa/src/X/xfonts.c b/xc/extras/Mesa/src/X/xfonts.c
index 9b1148db9..b56d2471a 100644
--- a/xc/extras/Mesa/src/X/xfonts.c
+++ b/xc/extras/Mesa/src/X/xfonts.c
@@ -179,7 +179,7 @@ fill_bitmap (Display *dpy, Window win, GC gc,
static XCharStruct *isvalid(XFontStruct *fs, int which)
{
unsigned int rows,pages;
- int byte1,byte2;
+ int byte1 = 0,byte2 = 0;
int i,valid = 1;
rows = fs->max_byte1 - fs->min_byte1 + 1;
diff --git a/xc/extras/Mesa/src/X86/3dnow.c b/xc/extras/Mesa/src/X86/3dnow.c
index 7b642dc04..e52809493 100644
--- a/xc/extras/Mesa/src/X86/3dnow.c
+++ b/xc/extras/Mesa/src/X86/3dnow.c
@@ -30,6 +30,7 @@
#include "glheader.h"
#include "context.h"
+#include "shade.h"
#include "types.h"
#include "vertices.h"
#include "xform.h"
@@ -170,6 +171,18 @@ void gl_init_3dnow_transform_asm( void )
#endif
}
+void gl_init_3dnow_shade_asm( void )
+{
+#ifdef USE_3DNOW_ASM
+ /* When the time comes, initialize optimized lighting here.
+ */
+
+#if 0
+ gl_test_all_shade_functions( "3DNow!" );
+#endif
+#endif
+}
+
void gl_init_3dnow_vertex_asm( void )
{
#ifdef USE_3DNOW_ASM
diff --git a/xc/extras/Mesa/src/X86/3dnow.h b/xc/extras/Mesa/src/X86/3dnow.h
index 6e34b6ce4..a65c51060 100644
--- a/xc/extras/Mesa/src/X86/3dnow.h
+++ b/xc/extras/Mesa/src/X86/3dnow.h
@@ -31,9 +31,8 @@
#ifndef __3DNOW_H__
#define __3DNOW_H__
-#include "xform.h"
-
void gl_init_3dnow_transform_asm( void );
+void gl_init_3dnow_shade_asm( void );
void gl_init_3dnow_vertex_asm( void );
#endif
diff --git a/xc/extras/Mesa/src/X86/Makefile.am b/xc/extras/Mesa/src/X86/Makefile.am
index d4d4f2ebd..96c377198 100644
--- a/xc/extras/Mesa/src/X86/Makefile.am
+++ b/xc/extras/Mesa/src/X86/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = no-dependencies
+#AUTOMAKE_OPTIONS = no-dependencies
x3dnow_files = \
3dnow.c \
diff --git a/xc/extras/Mesa/src/X86/Makefile.in b/xc/extras/Mesa/src/X86/Makefile.in
deleted file mode 100644
index 31a68c082..000000000
--- a/xc/extras/Mesa/src/X86/Makefile.in
+++ /dev/null
@@ -1,472 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-AUTOMAKE_OPTIONS = no-dependencies
-
-x3dnow_files = 3dnow.c 3dnow.h 3dnow_norm_raw.S 3dnow_xform_masked1.S 3dnow_xform_masked2.S 3dnow_xform_masked3.S 3dnow_xform_masked4.S 3dnow_xform_raw1.S 3dnow_xform_raw2.S 3dnow_xform_raw3.S 3dnow_xform_raw4.S vertex_3dnow.S
-
-
-katmai_files = katmai.c katmai.h katmai_norm_raw.S katmai_xform_raw1.S katmai_xform_masked1.S katmai_xform_raw2.S katmai_xform_masked2.S katmai_xform_raw3.S katmai_xform_masked3.S katmai_xform_raw4.S katmai_xform_masked4.S vertex_katmai.S
-
-
-mmx_files = mmx.h mmx_blend.S
-
-@HAVE_3DNOW_TRUE@x3dnow_sources = $(x3dnow_files)
-@HAVE_3DNOW_TRUE@CFLAGS_3DNOW = -DUSE_3DNOW_ASM
-
-@HAVE_SSE_TRUE@katmai_sources = $(katmai_files)
-@HAVE_SSE_TRUE@CFLAGS_KATMAI = -DUSE_KATMAI_ASM
-
-@HAVE_MMX_TRUE@mmx_sources = $(mmx_files)
-@HAVE_MMX_TRUE@CFLAGS_MMX = -DUSE_MMX_ASM
-
-# Build a libtool convenience library.
-@HAVE_X86_TRUE@noinst_LTLIBRARIES = libMesaX86.la
-@HAVE_X86_TRUE@CFLAGS_X86 = -DUSE_X86_ASM
-
-libMesaX86_la_SOURCES = x86a.S assyntax.h common_x86.c common_x86_asm.S common_x86_asm.h common_x86_features.h glapi_x86.S x86.c x86.h vertex.S $(mmx_sources) $(x3dnow_sources) $(katmai_sources)
-
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src $(CFLAGS_X86) $(CFLAGS_MMX) $(CFLAGS_3DNOW) $(CFLAGS_KATMAI)
-
-EXTRA_DIST = x86flatregs.m4 x86a.S.m4 $(x3dnow_files) $(mmx_files) $(katmai_files)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../conf.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-libMesaX86_la_LDFLAGS =
-libMesaX86_la_LIBADD =
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@libMesaX86_la_OBJECTS = \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@x86a.lo common_x86.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@common_x86_asm.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@glapi_x86.lo x86.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@vertex.lo mmx_blend.lo
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@libMesaX86_la_OBJECTS = \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@x86a.lo common_x86.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@common_x86_asm.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@glapi_x86.lo x86.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@vertex.lo katmai.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_norm_raw.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_raw1.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_masked1.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_raw2.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_masked2.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_raw3.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_masked3.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_raw4.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_masked4.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@vertex_katmai.lo
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@libMesaX86_la_OBJECTS = \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@x86a.lo common_x86.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@common_x86_asm.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@glapi_x86.lo x86.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@vertex.lo 3dnow.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_norm_raw.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_masked1.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_masked2.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_masked3.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_masked4.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_raw1.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_raw2.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_raw3.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_raw4.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@vertex_3dnow.lo
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@libMesaX86_la_OBJECTS = \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@x86a.lo common_x86.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@common_x86_asm.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@glapi_x86.lo x86.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@vertex.lo 3dnow.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_norm_raw.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_masked1.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_masked2.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_masked3.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_masked4.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_raw1.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_raw2.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_raw3.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_raw4.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@vertex_3dnow.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_norm_raw.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_raw1.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_masked1.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_raw2.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_masked2.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_raw3.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_masked3.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_raw4.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_masked4.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@vertex_katmai.lo
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@libMesaX86_la_OBJECTS = \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@x86a.lo common_x86.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@common_x86_asm.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@glapi_x86.lo x86.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@vertex.lo mmx_blend.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_norm_raw.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_masked1.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_masked2.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_masked3.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_masked4.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_raw1.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_raw2.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_raw3.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@3dnow_xform_raw4.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_FALSE@@HAVE_3DNOW_TRUE@vertex_3dnow.lo
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@libMesaX86_la_OBJECTS = \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@x86a.lo common_x86.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@common_x86_asm.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@glapi_x86.lo x86.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@vertex.lo mmx_blend.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_norm_raw.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_raw1.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_masked1.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_raw2.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_masked2.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_raw3.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_masked3.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_raw4.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@katmai_xform_masked4.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_FALSE@vertex_katmai.lo
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@libMesaX86_la_OBJECTS = \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@x86a.lo common_x86.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@common_x86_asm.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@glapi_x86.lo x86.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@vertex.lo mmx_blend.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_norm_raw.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_masked1.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_masked2.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_masked3.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_masked4.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_raw1.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_raw2.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_raw3.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@3dnow_xform_raw4.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@vertex_3dnow.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_norm_raw.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_raw1.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_masked1.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_raw2.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_masked2.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_raw3.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_masked3.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_raw4.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@katmai_xform_masked4.lo \
-@HAVE_MMX_TRUE@@HAVE_SSE_TRUE@@HAVE_3DNOW_TRUE@vertex_katmai.lo
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@libMesaX86_la_OBJECTS = \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@x86a.lo common_x86.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@common_x86_asm.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@glapi_x86.lo x86.lo \
-@HAVE_MMX_FALSE@@HAVE_SSE_FALSE@@HAVE_3DNOW_FALSE@vertex.lo
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON = Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(libMesaX86_la_SOURCES)
-OBJECTS = $(libMesaX86_la_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu src/X86/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-noinstLTLIBRARIES:
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-
-distclean-noinstLTLIBRARIES:
-
-maintainer-clean-noinstLTLIBRARIES:
-
-.c.o:
- $(COMPILE) -c $<
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libMesaX86.la: $(libMesaX86_la_OBJECTS) $(libMesaX86_la_DEPENDENCIES)
- $(LINK) $(libMesaX86_la_LDFLAGS) $(libMesaX86_la_OBJECTS) $(libMesaX86_la_LIBADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = src/X86
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile $(LTLIBRARIES)
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-noinstLTLIBRARIES mostlyclean-compile \
- mostlyclean-libtool mostlyclean-tags \
- mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-noinstLTLIBRARIES clean-compile clean-libtool \
- clean-tags clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-noinstLTLIBRARIES distclean-compile \
- distclean-libtool distclean-tags distclean-generic \
- clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-noinstLTLIBRARIES \
- maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-noinstLTLIBRARIES distclean-noinstLTLIBRARIES \
-clean-noinstLTLIBRARIES maintainer-clean-noinstLTLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-x86a.S: $(srcdir)/x86flatregs.m4
-x86a.S: $(srcdir)/x86a.S.m4
- m4 $< >$@
-
-x86a.asm: x86a.S
- gcc -E -P -DNASM_ASSEMBLER $< >$@
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/Mesa/src/X86/common_x86.c b/xc/extras/Mesa/src/X86/common_x86.c
index 4679613b6..d64484d52 100644
--- a/xc/extras/Mesa/src/X86/common_x86.c
+++ b/xc/extras/Mesa/src/X86/common_x86.c
@@ -212,6 +212,21 @@ void gl_init_all_x86_transform_asm( void )
/* Note: the above function must be called before this one, so that
* gl_x86_cpu_features gets correctly initialized.
*/
+void gl_init_all_x86_shade_asm( void )
+{
+#ifdef USE_X86_ASM
+ if ( gl_x86_cpu_features ) {
+ /* Nothing here yet... */
+ }
+
+#ifdef USE_3DNOW_ASM
+ if ( cpu_has_3dnow && getenv( "MESA_NO_3DNOW" ) == 0 ) {
+ gl_init_3dnow_shade_asm();
+ }
+#endif
+#endif
+}
+
void gl_init_all_x86_vertex_asm( void )
{
#ifdef USE_X86_ASM
diff --git a/xc/extras/Mesa/src/X86/common_x86_asm.h b/xc/extras/Mesa/src/X86/common_x86_asm.h
index f781d503e..cf1116f8d 100644
--- a/xc/extras/Mesa/src/X86/common_x86_asm.h
+++ b/xc/extras/Mesa/src/X86/common_x86_asm.h
@@ -57,6 +57,7 @@
extern int gl_x86_cpu_features;
extern void gl_init_all_x86_transform_asm( void );
+extern void gl_init_all_x86_shade_asm( void );
extern void gl_init_all_x86_vertex_asm( void );
#endif
diff --git a/xc/extras/Mesa/src/X86/katmai.h b/xc/extras/Mesa/src/X86/katmai.h
index 0deeb629b..e1149e8a0 100644
--- a/xc/extras/Mesa/src/X86/katmai.h
+++ b/xc/extras/Mesa/src/X86/katmai.h
@@ -31,8 +31,6 @@
#ifndef __KATMAI_H__
#define __KATMAI_H__
-#include "xform.h"
-
void gl_init_katmai_transform_asm( void );
void gl_init_katmai_vertex_asm( void );
diff --git a/xc/extras/Mesa/src/aamask.c b/xc/extras/Mesa/src/aamask.c
deleted file mode 100644
index da84e6fc0..000000000
--- a/xc/extras/Mesa/src/aamask.c
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-static void
-build_aa_samples(GLint xSamples, GLint ySamples,
- GLfloat samples[][2])
-{
- const GLfloat dx = 1.0F / (GLfloat) xSamples;
- const GLfloat dy = 1.0F / (GLfloat) ySamples;
- GLint x, y;
- GLint i;
-
- i = 4;
- for (x = 0; x < xSamples; x++) {
- for (y = 0; y < ySamples; y++) {
- GLint j;
- if (x == 0 && y == 0) {
- /* lower left */
- j = 0;
- }
- else if (x == xSamples - 1 && y == 0) {
- /* lower right */
- j = 1;
- }
- else if (x == 0 && y == ySamples - 1) {
- /* upper left */
- j = 2;
- }
- else if (x == xSamples - 1 && y == ySamples - 1) {
- /* upper right */
- j = 3;
- }
- else {
- j = i++;
- }
- samples[j][0] = x * dx;
- samples[j][1] = y * dy;
- }
- }
-}
diff --git a/xc/extras/Mesa/src/context.c b/xc/extras/Mesa/src/context.c
index 4d4a5974c..43219cd28 100644
--- a/xc/extras/Mesa/src/context.c
+++ b/xc/extras/Mesa/src/context.c
@@ -412,10 +412,10 @@ one_time_init( void )
_mesa_init_fog();
_mesa_init_math();
gl_init_lists();
- gl_init_shade();
gl_init_texture();
gl_init_transformation();
gl_init_translate();
+ gl_init_shade();
gl_init_vbrender();
gl_init_vbxform();
gl_init_vertices();
@@ -456,6 +456,9 @@ alloc_shared_state( void )
ss->DisplayList = _mesa_NewHashTable();
ss->TexObjects = _mesa_NewHashTable();
+#ifdef VAO
+ ss->ArrayObjects = _mesa_NewHashTable();
+#endif
/* Default Texture objects */
outOfMemory = GL_FALSE;
@@ -1188,6 +1191,13 @@ init_attrib_groups( GLcontext *ctx )
ctx->Viewport.WindowMap.type = MATRIX_3D_NO_ROT;
/* Vertex arrays */
+#ifdef VAO
+ {
+ struct gl_array_object *arrayObj;
+ arrayObj = _mesa_alloc_vertex_array_object(ctx, 0);
+ ctx->Array.Current = arrayObj;
+ }
+#else
ctx->Array.Vertex.Size = 4;
ctx->Array.Vertex.Type = GL_FLOAT;
ctx->Array.Vertex.Stride = 0;
@@ -1223,6 +1233,7 @@ init_attrib_groups( GLcontext *ctx )
ctx->Array.EdgeFlag.StrideB = 0;
ctx->Array.EdgeFlag.Ptr = NULL;
ctx->Array.EdgeFlag.Enabled = GL_FALSE;
+#endif
ctx->Array.ActiveTexture = 0; /* GL_ARB_multitexture */
/* Pixel transfer */
diff --git a/xc/extras/Mesa/src/cva.c b/xc/extras/Mesa/src/cva.c
index f4f1a7ba2..1f1c83358 100644
--- a/xc/extras/Mesa/src/cva.c
+++ b/xc/extras/Mesa/src/cva.c
@@ -201,7 +201,11 @@ void gl_merge_cva( struct vertex_buffer *VB,
GLcontext *ctx = VB->ctx;
GLuint *elt = VB->EltPtr->start;
GLuint count = VB->Count - VB->Start;
+#ifdef VAO
+ GLuint available = ctx->CVA.pre.outputs | ctx->Array.Current->Summary;
+#else
GLuint available = ctx->CVA.pre.outputs | ctx->Array.Summary;
+#endif
GLuint required = ctx->CVA.elt.inputs;
GLuint flags;
@@ -391,6 +395,17 @@ _mesa_LockArraysEXT(GLint first, GLsizei count)
{
struct gl_cva *cva = &ctx->CVA;
+#ifdef VAO
+ if (!ctx->Array.Current->LockCount) {
+ ctx->Array.NewArrayState = ~0;
+ ctx->CVA.lock_changed ^= 1;
+ ctx->NewState |= NEW_CLIENT_STATE;
+ }
+
+ ctx->Array.Current->LockFirst = first;
+ ctx->Array.Current->LockCount = count;
+ ctx->CompileCVAFlag = !ctx->CompileFlag;
+#else
if (!ctx->Array.LockCount) {
ctx->Array.NewArrayState = ~0;
ctx->CVA.lock_changed ^= 1;
@@ -400,6 +415,7 @@ _mesa_LockArraysEXT(GLint first, GLsizei count)
ctx->Array.LockFirst = first;
ctx->Array.LockCount = count;
ctx->CompileCVAFlag = !ctx->CompileFlag;
+#endif
if (!cva->VB) {
cva->VB = gl_vb_create_for_cva( ctx, ctx->Const.MaxArrayLockSize );
@@ -409,14 +425,23 @@ _mesa_LockArraysEXT(GLint first, GLsizei count)
}
else
{
+#ifdef VAO
+ if (ctx->Array.Current->LockCount) {
+#else
if (ctx->Array.LockCount) {
+#endif
ctx->CVA.lock_changed ^= 1;
ctx->NewState |= NEW_CLIENT_STATE;
}
+#ifdef VAO
+ ctx->Array.Current->LockFirst = 0;
+ ctx->Array.Current->LockCount = 0;
+#else
ctx->Array.LockFirst = 0;
ctx->Array.LockCount = 0;
+#endif
ctx->CompileCVAFlag = 0;
}
}
@@ -433,13 +458,22 @@ _mesa_UnlockArraysEXT( void )
if (MESA_VERBOSE & VERBOSE_API)
fprintf(stderr, "glUnlockArrays\n");
+#ifdef VAO
+ if (ctx->Array.Current->LockCount) {
+#else
if (ctx->Array.LockCount) {
+#endif
ctx->CVA.lock_changed ^= 1;
ctx->NewState |= NEW_CLIENT_STATE;
}
+#ifdef VAO
+ ctx->Array.Current->LockFirst = 0;
+ ctx->Array.Current->LockCount = 0;
+#else
ctx->Array.LockFirst = 0;
ctx->Array.LockCount = 0;
+#endif
ctx->CompileCVAFlag = 0;
}
@@ -477,11 +511,19 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
{
GLcontext *ctx = VB->ctx;
struct gl_cva *cva = &ctx->CVA;
+#ifdef VAO
+ GLuint start = ctx->Array.Current->LockFirst;
+ GLuint n = ctx->Array.Current->LockCount;
+ GLuint enable = ((ctx->Array.NewArrayState & ctx->Array.Current->Summary) |
+ VB->pipeline->fallback);
+ GLuint disable = ctx->Array.NewArrayState & ~enable;
+#else
GLuint start = ctx->Array.LockFirst;
GLuint n = ctx->Array.LockCount;
GLuint enable = ((ctx->Array.NewArrayState & ctx->Array.Summary) |
VB->pipeline->fallback);
GLuint disable = ctx->Array.NewArrayState & ~enable;
+#endif
GLuint i;
if (MESA_VERBOSE&VERBOSE_PIPELINE) {
@@ -519,7 +561,11 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
elt->start = VEC_ELT(elt, GLuint, 0);
elt->count = cva->elt_count;
+#ifdef VAO
+ fallback |= (cva->pre.new_inputs & ~ctx->Array.Current->Summary);
+#else
fallback |= (cva->pre.new_inputs & ~ctx->Array.Summary);
+#endif
enable |= fallback;
disable &= ~fallback;
if (MESA_VERBOSE&VERBOSE_PIPELINE) {
@@ -532,7 +578,11 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
{
GLvector4ub *col = &cva->v.Color;
+#ifdef VAO
+ client_data = &ctx->Array.Current->Color;
+#else
client_data = &ctx->Array.Color;
+#endif
if (fallback & VERT_RGBA) client_data = &ctx->Fallback.Color;
VB->Color[0] = VB->Color[1] = VB->ColorPtr = &cva->v.Color;
@@ -542,7 +592,11 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
{
col->data = cva->store.Color;
col->stride = 4 * sizeof(GLubyte);
+#ifdef VAO
+ ctx->Array.Current->ColorFunc( col->data, client_data, start, n );
+#else
ctx->Array.ColorFunc( col->data, client_data, start, n );
+#endif
col->flags = VEC_WRITABLE|VEC_GOOD_STRIDE;
} else {
col->data = (GLubyte (*)[4]) client_data->Ptr;
@@ -560,14 +614,22 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
GLvector1ui *index = VB->IndexPtr = &cva->v.Index;
VB->Index[0] = VB->Index[1] = VB->IndexPtr;
+#ifdef VAO
+ client_data = &ctx->Array.Current->Index;
+#else
client_data = &ctx->Array.Index;
+#endif
if (fallback & VERT_INDEX) client_data = &ctx->Fallback.Index;
if (client_data->Type != GL_UNSIGNED_INT)
{
index->data = cva->store.Index;
index->stride = sizeof(GLuint);
+#ifdef VAO
+ ctx->Array.Current->IndexFunc( index->data, client_data, start, n );
+#else
ctx->Array.IndexFunc( index->data, client_data, start, n );
+#endif
index->flags = VEC_WRITABLE|VEC_GOOD_STRIDE;
} else {
index->data = (GLuint *) client_data->Ptr;
@@ -584,7 +646,11 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
if (enable & PIPE_TEX(i)) {
GLvector4f *tc = VB->TexCoordPtr[i] = &cva->v.TexCoord[i];
+#ifdef VAO
+ client_data = &ctx->Array.Current->TexCoord[i];
+#else
client_data = &ctx->Array.TexCoord[i];
+#endif
if (fallback & PIPE_TEX(i)) {
client_data = &ctx->Fallback.TexCoord[i];
@@ -604,7 +670,11 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
} else {
tc->data = cva->store.TexCoord[i];
tc->stride = 4 * sizeof(GLfloat);
+#ifdef VAO
+ ctx->Array.Current->TexCoordFunc[i]( tc->data, client_data, start, n );
+#else
ctx->Array.TexCoordFunc[i]( tc->data, client_data, start, n );
+#endif
tc->flags = VEC_WRITABLE|VEC_GOOD_STRIDE;
}
tc->count = n;
@@ -616,6 +686,24 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
{
GLvector4f *obj = VB->ObjPtr = &cva->v.Obj;
+#ifdef VAO
+ if (ctx->Array.Current->Vertex.Type == GL_FLOAT)
+ {
+ obj->data = (GLfloat (*)[4]) ctx->Array.Current->Vertex.Ptr;
+ obj->stride = ctx->Array.Current->Vertex.StrideB;
+ obj->flags = VEC_NOT_WRITABLE|VEC_GOOD_STRIDE;
+ if (obj->stride != 4 * sizeof(GLfloat))
+ obj->flags ^= VEC_STRIDE_FLAGS;
+ } else {
+ obj->data = cva->store.Obj;
+ obj->stride = 4 * sizeof(GLfloat);
+ ctx->Array.Current->VertexFunc( obj->data, &ctx->Array.Current->Vertex, start, n );
+ obj->flags = VEC_WRITABLE|VEC_GOOD_STRIDE;
+ }
+ obj->count = n;
+ obj->start = VEC_ELT(obj, GLfloat, start);
+ obj->size = ctx->Array.Current->Vertex.Size;
+#else
if (ctx->Array.Vertex.Type == GL_FLOAT)
{
obj->data = (GLfloat (*)[4]) ctx->Array.Vertex.Ptr;
@@ -632,13 +720,18 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
obj->count = n;
obj->start = VEC_ELT(obj, GLfloat, start);
obj->size = ctx->Array.Vertex.Size;
+#endif
}
if (enable & VERT_NORM)
{
GLvector3f *norm = VB->NormalPtr = &cva->v.Normal;
+#ifdef VAO
+ client_data = &ctx->Array.Current->Normal;
+#else
client_data = &ctx->Array.Normal;
+#endif
if (fallback & VERT_NORM)
client_data = &ctx->Fallback.Normal;
@@ -651,7 +744,11 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
} else {
norm->data = cva->store.Normal;
norm->stride = 3 * sizeof(GLfloat);
+#ifdef VAO
+ ctx->Array.Current->NormalFunc( norm->data, client_data, start, n );
+#else
ctx->Array.NormalFunc( norm->data, client_data, start, n );
+#endif
}
norm->flags = 0;
norm->count = n;
@@ -662,7 +759,11 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
{
GLvector1ub *edge = VB->EdgeFlagPtr = &cva->v.EdgeFlag;
+#ifdef VAO
+ client_data = &ctx->Array.Current->EdgeFlag;
+#else
client_data = &ctx->Array.EdgeFlag;
+#endif
if (fallback & VERT_EDGE)
client_data = &ctx->Fallback.EdgeFlag;
@@ -693,12 +794,20 @@ void gl_prepare_arrays_cva( struct vertex_buffer *VB )
if (ctx->Enabled & ENABLE_LIGHT)
{
+#ifdef VAO
+ if (ctx->Array.Current->Flags != VB->Flag[0])
+#else
if (ctx->Array.Flags != VB->Flag[0])
+#endif
VB->FlagMax = 0;
if (VB->FlagMax < n) {
for (i = VB->FlagMax ; i < n ; i++)
+#ifdef VAO
+ VB->Flag[i] = ctx->Array.Current->Flags;
+#else
VB->Flag[i] = ctx->Array.Flags;
+#endif
VB->Flag[i] = 0;
VB->FlagMax = n;
}
diff --git a/xc/extras/Mesa/src/depend b/xc/extras/Mesa/src/depend
deleted file mode 100644
index 1e2404b9a..000000000
--- a/xc/extras/Mesa/src/depend
+++ /dev/null
@@ -1,429 +0,0 @@
-# DO NOT DELETE
-
-aatriangle.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h
-aatriangle.o: aatriangle.h types.h config.h fixed.h glapitable.h glthread.h
-aatriangle.o: macros.h matrix.h vb.h vector.h dd.h span.h aatritemp.h
-accum.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h accum.h types.h
-accum.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-accum.o: vector.h dd.h context.h glapi.h mem.h masking.h span.h state.h
-alpha.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h alpha.h types.h
-alpha.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-alpha.o: vector.h dd.h context.h glapi.h mmath.h
-alphabuf.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h alphabuf.h
-alphabuf.o: types.h config.h fixed.h glapitable.h glthread.h macros.h
-alphabuf.o: matrix.h vb.h vector.h dd.h context.h glapi.h mem.h
-attrib.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h attrib.h
-attrib.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-attrib.o: vb.h vector.h dd.h buffers.h context.h glapi.h enable.h enums.h
-attrib.o: mem.h simple_list.h texstate.h
-bbox.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h bbox.h types.h
-bbox.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-bbox.o: vector.h dd.h xform.h
-bitmap.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h bitmap.h
-bitmap.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-bitmap.o: vb.h vector.h dd.h context.h glapi.h feedback.h image.h pb.h
-bitmap.o: pixel.h state.h vbrender.h
-blend.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h alphabuf.h
-blend.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-blend.o: vb.h vector.h dd.h blend.h context.h glapi.h enums.h pb.h span.h
-buffers.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h accum.h
-buffers.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-buffers.o: vb.h vector.h dd.h alphabuf.h buffers.h context.h glapi.h depth.h
-buffers.o: enums.h masking.h mem.h stencil.h state.h
-clip.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h clip.h types.h
-clip.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-clip.o: vector.h dd.h context.h glapi.h mmath.h xform.h interp_tmp.h
-clip.o: clip_funcs.h general_clip.h
-colortab.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h colortab.h
-colortab.o: types.h config.h fixed.h glapitable.h glthread.h macros.h
-colortab.o: matrix.h vb.h vector.h dd.h context.h glapi.h image.h mem.h
-colortab.o: mmath.h span.h
-config.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h config.h
-config.o: enums.h extensions.h types.h fixed.h glapitable.h glthread.h
-config.o: macros.h matrix.h vb.h vector.h dd.h hint.h simple_list.h mem.h
-context.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h accum.h
-context.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-context.o: vb.h vector.h dd.h alphabuf.h clip.h colortab.h context.h glapi.h
-context.o: cva.h depth.h dlist.h eval.h enums.h extensions.h fog.h get.h
-context.o: glapinoop.h hash.h light.h mem.h mmath.h pb.h pipeline.h shade.h
-context.o: simple_list.h stencil.h stages.h state.h translate.h teximage.h
-context.o: texobj.h texstate.h texture.h varray.h vbcull.h vbrender.h
-context.o: vbxform.h vertices.h xform.h
-copypix.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-copypix.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-copypix.o: matrix.h vb.h vector.h dd.h copypix.h depth.h feedback.h imaging.h
-copypix.o: mem.h mmath.h pixel.h pixeltex.h span.h state.h stencil.h
-copypix.o: texture.h zoom.h
-cva.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h types.h config.h
-cva.o: fixed.h glapitable.h glthread.h macros.h matrix.h vb.h vector.h dd.h
-cva.o: cva.h context.h glapi.h mem.h pipeline.h varray.h vbcull.h vbrender.h
-cva.o: vbxform.h
-debug_xform.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-debug_xform.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h
-debug_xform.o: macros.h matrix.h vb.h vector.h dd.h mem.h xform.h
-debug_xform.o: debug_xform.h
-depth.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-depth.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-depth.o: matrix.h vb.h vector.h dd.h enums.h depth.h mem.h pb.h
-dispatch.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h glapi.h
-dispatch.o: glapitable.h glapitemp.h
-dlist.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h accum.h types.h
-dlist.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-dlist.o: vector.h dd.h attrib.h bitmap.h bbox.h blend.h buffers.h clip.h
-dlist.o: colortab.h context.h glapi.h copypix.h cva.h depth.h enable.h
-dlist.o: enums.h eval.h extensions.h feedback.h get.h hash.h image.h
-dlist.o: imaging.h light.h lines.h dlist.h mem.h pipeline.h pixel.h
-dlist.o: pixeltex.h points.h polygon.h readpix.h rect.h state.h texobj.h
-dlist.o: teximage.h texstate.h varray.h vbfill.h vbxform.h xform.h
-drawpix.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-drawpix.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-drawpix.o: matrix.h vb.h vector.h dd.h drawpix.h feedback.h image.h mem.h
-drawpix.o: mmath.h pixel.h pixeltex.h span.h state.h stencil.h texture.h
-drawpix.o: zoom.h
-enable.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-enable.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-enable.o: matrix.h vb.h vector.h dd.h enable.h light.h mmath.h simple_list.h
-enable.o: vbfill.h xform.h enums.h
-enums.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h enums.h mem.h
-eval.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h glapi.h
-eval.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-eval.o: vb.h vector.h dd.h eval.h mem.h mmath.h vbcull.h vbfill.h vbxform.h
-extensions.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-extensions.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h
-extensions.o: macros.h matrix.h vb.h vector.h dd.h extensions.h mem.h
-extensions.o: simple_list.h
-feedback.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-feedback.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-feedback.o: matrix.h vb.h vector.h dd.h enums.h feedback.h mmath.h triangle.h
-fog.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h glapi.h
-fog.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-fog.o: vb.h vector.h dd.h fog.h mmath.h xform.h fog_tmp.h
-get.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h glapi.h
-get.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-get.o: vb.h vector.h dd.h enable.h enums.h extensions.h get.h mmath.h
-glapi.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h glapi.h
-glapi.o: glapinoop.h glapioffsets.h glapitable.h glthread.h
-glapinoop.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h glapi.h
-glapinoop.o: glapinoop.h glapitable.h glapitemp.h
-glthread.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h glthread.h
-hash.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h glthread.h hash.h
-hash.o: mem.h
-hint.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h enums.h context.h
-hint.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-hint.o: matrix.h vb.h vector.h dd.h hint.h state.h
-image.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-image.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-image.o: matrix.h vb.h vector.h dd.h image.h imaging.h mem.h mmath.h pixel.h
-imaging.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-imaging.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-imaging.o: matrix.h vb.h vector.h dd.h image.h imaging.h mmath.h span.h
-light.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-light.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-light.o: matrix.h vb.h vector.h dd.h enums.h light.h mem.h mmath.h
-light.o: simple_list.h xform.h
-lines.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-lines.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-lines.o: matrix.h vb.h vector.h dd.h depth.h feedback.h lines.h mmath.h pb.h
-lines.o: texstate.h linetemp.h lnaatemp.h
-logic.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h alphabuf.h
-logic.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-logic.o: vb.h vector.h dd.h context.h glapi.h logic.h pb.h span.h
-masking.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h alphabuf.h
-masking.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-masking.o: vb.h vector.h dd.h context.h glapi.h enums.h masking.h pb.h span.h
-matrix.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h buffers.h
-matrix.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-matrix.o: vb.h vector.h dd.h context.h glapi.h enums.h mem.h mmath.h
-mem.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h macros.h mem.h
-mmath.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h mmath.h
-pb.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h alpha.h types.h
-pb.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-pb.o: vector.h dd.h alphabuf.h blend.h depth.h fog.h logic.h mem.h masking.h
-pb.o: pb.h scissor.h stencil.h texture.h
-pipeline.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h bbox.h
-pipeline.o: types.h config.h fixed.h glapitable.h glthread.h macros.h
-pipeline.o: matrix.h vb.h vector.h dd.h clip.h context.h glapi.h cva.h fog.h
-pipeline.o: light.h mem.h mmath.h pipeline.h shade.h stages.h state.h
-pipeline.o: translate.h vbcull.h vbindirect.h vbrender.h vbxform.h xform.h
-pixel.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-pixel.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-pixel.o: matrix.h vb.h vector.h dd.h mem.h pixel.h
-pixeltex.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-pixeltex.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-pixeltex.o: matrix.h vb.h vector.h dd.h pixeltex.h
-points.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-points.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-points.o: matrix.h vb.h vector.h dd.h feedback.h mmath.h pb.h points.h span.h
-points.o: texstate.h
-polygon.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-polygon.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-polygon.o: matrix.h vb.h vector.h dd.h image.h enums.h mem.h polygon.h
-quads.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h quads.h types.h
-quads.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-quads.o: vector.h dd.h
-rastpos.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h clip.h types.h
-rastpos.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-rastpos.o: vector.h dd.h context.h glapi.h feedback.h light.h mmath.h
-rastpos.o: rastpos.h shade.h state.h xform.h
-readpix.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h alphabuf.h
-readpix.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-readpix.o: vb.h vector.h dd.h context.h glapi.h depth.h feedback.h image.h
-readpix.o: mem.h pixel.h readpix.h span.h stencil.h
-rect.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h glapi.h
-rect.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-rect.o: vb.h vector.h dd.h rect.h varray.h vbfill.h
-scissor.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-scissor.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-scissor.o: matrix.h vb.h vector.h dd.h scissor.h
-shade.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h light.h types.h
-shade.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-shade.o: vector.h dd.h mmath.h pipeline.h shade.h simple_list.h shade_tmp.h
-span.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h alpha.h types.h
-span.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-span.o: vector.h dd.h alphabuf.h blend.h depth.h fog.h logic.h masking.h
-span.o: mem.h scissor.h span.h stencil.h texture.h
-stages.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h bbox.h types.h
-stages.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-stages.o: vector.h dd.h clip.h context.h glapi.h cva.h fog.h light.h mmath.h
-stages.o: pipeline.h shade.h stages.h translate.h vbcull.h vbindirect.h
-stages.o: vbrender.h vbxform.h xform.h
-state.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h accum.h types.h
-state.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-state.o: vector.h dd.h alpha.h attrib.h bitmap.h blend.h buffers.h clip.h
-state.o: colortab.h context.h glapi.h copypix.h cva.h depth.h dlist.h
-state.o: drawpix.h enable.h eval.h get.h feedback.h fog.h hint.h imaging.h
-state.o: light.h lines.h logic.h masking.h mmath.h pipeline.h pixel.h
-state.o: pixeltex.h points.h polygon.h quads.h rastpos.h readpix.h rect.h
-state.o: scissor.h shade.h state.h stencil.h teximage.h texobj.h texstate.h
-state.o: texture.h triangle.h varray.h vbfill.h vbrender.h winpos.h
-stencil.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-stencil.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-stencil.o: matrix.h vb.h vector.h dd.h depth.h mem.h pb.h stencil.h enable.h
-teximage.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-teximage.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-teximage.o: matrix.h vb.h vector.h dd.h image.h mem.h mmath.h span.h
-teximage.o: teximage.h texstate.h
-texobj.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h colortab.h
-texobj.o: types.h config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-texobj.o: vb.h vector.h dd.h context.h glapi.h enums.h hash.h mem.h
-texobj.o: teximage.h texstate.h texobj.h
-texstate.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-texstate.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-texstate.o: matrix.h vb.h vector.h dd.h enums.h extensions.h texobj.h
-texstate.o: teximage.h texstate.h texture.h xform.h
-texture.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-texture.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-texture.o: matrix.h vb.h vector.h dd.h mmath.h mem.h pb.h teximage.h
-texture.o: texture.h xform.h texgen_tmp.h
-texutil.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-texutil.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-texutil.o: matrix.h vb.h vector.h dd.h image.h mem.h texutil.h
-translate.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h mem.h
-translate.o: mmath.h translate.h types.h config.h fixed.h glapitable.h
-translate.o: glthread.h macros.h matrix.h vb.h vector.h dd.h trans_tmp.h
-triangle.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h aatriangle.h
-triangle.o: types.h config.h fixed.h glapitable.h glthread.h macros.h
-triangle.o: matrix.h vb.h vector.h dd.h context.h glapi.h depth.h feedback.h
-triangle.o: mem.h mmath.h span.h teximage.h texstate.h triangle.h tritemp.h
-varray.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-varray.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-varray.o: matrix.h vb.h vector.h dd.h cva.h enable.h enums.h dlist.h light.h
-varray.o: mmath.h pipeline.h state.h texstate.h translate.h varray.h vbfill.h
-varray.o: vbrender.h vbindirect.h vbxform.h xform.h
-vb.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h mem.h types.h
-vb.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-vb.o: vector.h dd.h vbxform.h xform.h
-vbcull.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-vbcull.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-vbcull.o: matrix.h vb.h vector.h dd.h mem.h vbcull.h vbrender.h xform.h
-vbcull.o: cull_tmp.h
-vbfill.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-vbfill.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-vbfill.o: matrix.h vb.h vector.h dd.h enums.h light.h mmath.h state.h
-vbfill.o: varray.h vbcull.h vbfill.h vbrender.h vbxform.h xform.h
-vbindirect.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h pb.h
-vbindirect.o: types.h config.h fixed.h glapitable.h glthread.h macros.h
-vbindirect.o: matrix.h vb.h vector.h dd.h pipeline.h stages.h vbcull.h
-vbindirect.o: vbindirect.h vbrender.h
-vbrender.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h clip.h
-vbrender.o: types.h config.h fixed.h glapitable.h glthread.h macros.h
-vbrender.o: matrix.h vb.h vector.h dd.h context.h glapi.h light.h lines.h
-vbrender.o: pb.h points.h pipeline.h stages.h vbcull.h vbrender.h
-vbrender.o: vbindirect.h xform.h render_tmp.h
-vbxform.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-vbxform.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-vbxform.o: matrix.h vb.h vector.h dd.h cva.h clip.h eval.h enums.h dlist.h
-vbxform.o: fog.h light.h mem.h mmath.h pipeline.h shade.h state.h texture.h
-vbxform.o: varray.h vbcull.h vbfill.h vbrender.h vbxform.h xform.h
-vector.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h config.h
-vector.o: macros.h mem.h vector.h
-vertices.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h types.h
-vertices.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-vertices.o: vector.h dd.h vertices.h
-winpos.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-winpos.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-winpos.o: matrix.h vb.h vector.h dd.h feedback.h mmath.h rastpos.h winpos.h
-xform.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-xform.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-xform.o: matrix.h vb.h vector.h dd.h mmath.h xform.h xform_tmp.h clip_tmp.h
-xform.o: norm_tmp.h dotprod_tmp.h copy_tmp.h
-zoom.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h macros.h span.h
-zoom.o: types.h config.h fixed.h glapitable.h glthread.h matrix.h vb.h
-zoom.o: vector.h dd.h stencil.h zoom.h
-X86/x86.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-X86/x86.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-X86/x86.o: matrix.h vb.h vector.h dd.h vertices.h xform.h X86/x86.h
-X86/common_x86.o: X86/common_x86_asm.h X86/common_x86_features.h
-X86/3dnow.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-X86/3dnow.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h
-X86/3dnow.o: macros.h matrix.h vb.h vector.h dd.h vertices.h xform.h
-X86/3dnow.o: X86/3dnow.h
-X86/katmai.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h context.h
-X86/katmai.o: glapi.h types.h config.h fixed.h glapitable.h glthread.h
-X86/katmai.o: macros.h matrix.h vb.h vector.h dd.h vertices.h xform.h
-X86/katmai.o: X86/katmai.h
-X/glxapi.o: glapi.h ../include/GL/gl.h ../include/GL/glext.h X/glxapi.h
-X/glxapi.o: ../include/GL/glx.h
-X/fakeglx.o: X/glxheader.h glheader.h ../include/GL/gl.h
-X/fakeglx.o: ../include/GL/glext.h X/glxapi.h ../include/GL/glx.h
-X/fakeglx.o: ../include/GL/xmesa.h ../include/GL/xmesa_x.h context.h glapi.h
-X/fakeglx.o: types.h config.h fixed.h glapitable.h glthread.h macros.h
-X/fakeglx.o: matrix.h vb.h vector.h dd.h mmath.h X/xfonts.h X/xmesaP.h
-X/fakeglx.o: ../include/GL/fxmesa.h FX/fxdrv.h mem.h texture.h xform.h clip.h
-X/fakeglx.o: vbrender.h FX/fxglidew.h
-X/xfonts.o: ../include/GL/gl.h ../include/GL/glext.h ../include/GL/glx.h
-X/xfonts.o: context.h glapi.h types.h glheader.h config.h fixed.h
-X/xfonts.o: glapitable.h glthread.h macros.h matrix.h vb.h vector.h dd.h
-X/xfonts.o: mem.h X/xfonts.h
-X/xmesa1.o: X/glxheader.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-X/xmesa1.o: ../include/GL/xmesa.h ../include/GL/xmesa_x.h X/xmesaP.h types.h
-X/xmesa1.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-X/xmesa1.o: vector.h dd.h ../include/GL/fxmesa.h FX/fxdrv.h context.h glapi.h
-X/xmesa1.o: mem.h texture.h xform.h clip.h vbrender.h FX/fxglidew.h
-X/xmesa1.o: extensions.h
-X/xmesa2.o: X/glxheader.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-X/xmesa2.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-X/xmesa2.o: glthread.h macros.h matrix.h vb.h vector.h dd.h drawpix.h mem.h
-X/xmesa2.o: state.h depth.h X/xmesaP.h ../include/GL/xmesa.h
-X/xmesa2.o: ../include/GL/xmesa_x.h ../include/GL/fxmesa.h FX/fxdrv.h
-X/xmesa2.o: texture.h xform.h clip.h vbrender.h FX/fxglidew.h extensions.h
-X/xmesa3.o: X/glxheader.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-X/xmesa3.o: depth.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-X/xmesa3.o: matrix.h vb.h vector.h dd.h X/xmesaP.h ../include/GL/xmesa.h
-X/xmesa3.o: ../include/GL/xmesa_x.h ../include/GL/fxmesa.h FX/fxdrv.h
-X/xmesa3.o: context.h glapi.h mem.h texture.h xform.h clip.h vbrender.h
-X/xmesa3.o: FX/fxglidew.h linetemp.h
-X/xmesa4.o: X/glxheader.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-X/xmesa4.o: depth.h types.h config.h fixed.h glapitable.h glthread.h macros.h
-X/xmesa4.o: matrix.h vb.h vector.h dd.h X/xmesaP.h ../include/GL/xmesa.h
-X/xmesa4.o: ../include/GL/xmesa_x.h ../include/GL/fxmesa.h FX/fxdrv.h
-X/xmesa4.o: context.h glapi.h mem.h texture.h xform.h clip.h vbrender.h
-X/xmesa4.o: FX/fxglidew.h tritemp.h
-OSmesa/osmesa.o: glheader.h ../include/GL/gl.h ../include/GL/glext.h
-OSmesa/osmesa.o: ../include/GL/osmesa.h context.h glapi.h types.h config.h
-OSmesa/osmesa.o: fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-OSmesa/osmesa.o: vector.h dd.h depth.h mem.h extensions.h linetemp.h
-OSmesa/osmesa.o: tritemp.h
-SVGA/svgamesa.o: ../include/GL/svgamesa.h ../include/GL/gl.h
-SVGA/svgamesa.o: ../include/GL/glext.h context.h glapi.h types.h glheader.h
-SVGA/svgamesa.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-SVGA/svgamesa.o: vb.h vector.h dd.h SVGA/svgapix.h SVGA/svgamesa8.h
-SVGA/svgamesa.o: SVGA/svgamesa15.h SVGA/svgamesa16.h SVGA/svgamesa24.h
-SVGA/svgamesa.o: SVGA/svgamesa32.h
-SVGA/svgamesa8.o: SVGA/svgapix.h ../include/GL/gl.h ../include/GL/glext.h
-SVGA/svgamesa8.o: ../include/GL/svgamesa.h context.h glapi.h types.h
-SVGA/svgamesa8.o: glheader.h config.h fixed.h glapitable.h glthread.h
-SVGA/svgamesa8.o: macros.h matrix.h vb.h vector.h dd.h SVGA/svgamesa8.h
-SVGA/svgamesa15.o: SVGA/svgapix.h ../include/GL/gl.h ../include/GL/glext.h
-SVGA/svgamesa15.o: ../include/GL/svgamesa.h context.h glapi.h types.h
-SVGA/svgamesa15.o: glheader.h config.h fixed.h glapitable.h glthread.h
-SVGA/svgamesa15.o: macros.h matrix.h vb.h vector.h dd.h SVGA/svgamesa15.h
-SVGA/svgamesa16.o: SVGA/svgapix.h ../include/GL/gl.h ../include/GL/glext.h
-SVGA/svgamesa16.o: ../include/GL/svgamesa.h context.h glapi.h types.h
-SVGA/svgamesa16.o: glheader.h config.h fixed.h glapitable.h glthread.h
-SVGA/svgamesa16.o: macros.h matrix.h vb.h vector.h dd.h SVGA/svgamesa16.h
-SVGA/svgamesa24.o: SVGA/svgapix.h ../include/GL/gl.h ../include/GL/glext.h
-SVGA/svgamesa24.o: ../include/GL/svgamesa.h context.h glapi.h types.h
-SVGA/svgamesa24.o: glheader.h config.h fixed.h glapitable.h glthread.h
-SVGA/svgamesa24.o: macros.h matrix.h vb.h vector.h dd.h SVGA/svgamesa24.h
-SVGA/svgamesa32.o: SVGA/svgapix.h ../include/GL/gl.h ../include/GL/glext.h
-SVGA/svgamesa32.o: ../include/GL/svgamesa.h context.h glapi.h types.h
-SVGA/svgamesa32.o: glheader.h config.h fixed.h glapitable.h glthread.h
-SVGA/svgamesa32.o: macros.h matrix.h vb.h vector.h dd.h SVGA/svgamesa32.h
-FX/fxapi.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxapi.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxapi.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h texture.h
-FX/fxapi.o: xform.h clip.h vbrender.h ../include/GL/fxmesa.h FX/fxglidew.h
-FX/fxclip.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxclip.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxclip.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h texture.h
-FX/fxclip.o: xform.h clip.h vbrender.h ../include/GL/fxmesa.h FX/fxglidew.h
-FX/fxclip.o: mmath.h FX/fxcliptmp.h
-FX/fxcva.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxcva.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxcva.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h texture.h
-FX/fxcva.o: xform.h clip.h vbrender.h ../include/GL/fxmesa.h FX/fxglidew.h
-FX/fxcva.o: mmath.h vbindirect.h pb.h FX/fxvsetup.h pipeline.h stages.h
-FX/fxcva.o: FX/fxcvatmp.h
-FX/fxdd.o: image.h types.h glheader.h ../include/GL/gl.h
-FX/fxdd.o: ../include/GL/glext.h config.h fixed.h glapitable.h glthread.h
-FX/fxdd.o: macros.h matrix.h vb.h vector.h dd.h FX/fxdrv.h context.h glapi.h
-FX/fxdd.o: mem.h texture.h xform.h clip.h vbrender.h ../include/GL/fxmesa.h
-FX/fxdd.o: FX/fxglidew.h enums.h extensions.h pb.h
-FX/fxddspan.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxddspan.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxddspan.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h
-FX/fxddspan.o: texture.h xform.h clip.h vbrender.h ../include/GL/fxmesa.h
-FX/fxddspan.o: FX/fxglidew.h
-FX/fxddtex.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxddtex.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxddtex.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h texture.h
-FX/fxddtex.o: xform.h clip.h vbrender.h ../include/GL/fxmesa.h FX/fxglidew.h
-FX/fxddtex.o: image.h texutil.h
-FX/fxfastpath.o: types.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxfastpath.o: config.h fixed.h glapitable.h glthread.h macros.h matrix.h
-FX/fxfastpath.o: vb.h vector.h dd.h cva.h mmath.h FX/fxdrv.h context.h
-FX/fxfastpath.o: glapi.h mem.h texture.h xform.h clip.h vbrender.h
-FX/fxfastpath.o: ../include/GL/fxmesa.h FX/fxglidew.h vertices.h
-FX/fxfastpath.o: X86/common_x86_asm.h X86/common_x86_features.h
-FX/fxfastpath.o: FX/fxfasttmp.h render_tmp.h
-FX/fxpipeline.o: FX/fxdrv.h glheader.h ../include/GL/gl.h
-FX/fxpipeline.o: ../include/GL/glext.h context.h glapi.h types.h config.h
-FX/fxpipeline.o: fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-FX/fxpipeline.o: vector.h dd.h mem.h texture.h xform.h clip.h vbrender.h
-FX/fxpipeline.o: ../include/GL/fxmesa.h FX/fxglidew.h vbindirect.h
-FX/fxrender.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxrender.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxrender.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h
-FX/fxrender.o: texture.h xform.h clip.h vbrender.h ../include/GL/fxmesa.h
-FX/fxrender.o: FX/fxglidew.h vbcull.h render_tmp.h
-FX/fxsanity.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxsanity.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxsanity.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h
-FX/fxsanity.o: texture.h xform.h clip.h vbrender.h ../include/GL/fxmesa.h
-FX/fxsanity.o: FX/fxglidew.h
-FX/fxsetup.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxsetup.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxsetup.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h texture.h
-FX/fxsetup.o: xform.h clip.h vbrender.h ../include/GL/fxmesa.h FX/fxglidew.h
-FX/fxsetup.o: enums.h
-FX/fxtexman.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxtexman.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxtexman.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h
-FX/fxtexman.o: texture.h xform.h clip.h vbrender.h ../include/GL/fxmesa.h
-FX/fxtexman.o: FX/fxglidew.h
-FX/fxtrifuncs.o: FX/fxdrv.h glheader.h ../include/GL/gl.h
-FX/fxtrifuncs.o: ../include/GL/glext.h context.h glapi.h types.h config.h
-FX/fxtrifuncs.o: fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-FX/fxtrifuncs.o: vector.h dd.h mem.h texture.h xform.h clip.h vbrender.h
-FX/fxtrifuncs.o: ../include/GL/fxmesa.h FX/fxglidew.h mmath.h FX/fxtritmp.h
-FX/fxvsetup.o: FX/fxdrv.h glheader.h ../include/GL/gl.h ../include/GL/glext.h
-FX/fxvsetup.o: context.h glapi.h types.h config.h fixed.h glapitable.h
-FX/fxvsetup.o: glthread.h macros.h matrix.h vb.h vector.h dd.h mem.h
-FX/fxvsetup.o: texture.h xform.h clip.h vbrender.h ../include/GL/fxmesa.h
-FX/fxvsetup.o: FX/fxglidew.h mmath.h pipeline.h FX/fxvsetup.h FX/fxvs_tmp.h
-FX/fxglidew.o: FX/fxglidew.h FX/fxdrv.h glheader.h ../include/GL/gl.h
-FX/fxglidew.o: ../include/GL/glext.h context.h glapi.h types.h config.h
-FX/fxglidew.o: fixed.h glapitable.h glthread.h macros.h matrix.h vb.h
-FX/fxglidew.o: vector.h dd.h mem.h texture.h xform.h clip.h vbrender.h
-FX/fxglidew.o: ../include/GL/fxmesa.h
diff --git a/xc/extras/Mesa/src/drawpix2.c b/xc/extras/Mesa/src/drawpix2.c
deleted file mode 100644
index 776fc822e..000000000
--- a/xc/extras/Mesa/src/drawpix2.c
+++ /dev/null
@@ -1,407 +0,0 @@
-
-
-/*
- * Try to do a fast glDrawPixels. Conditions include:
- * not using a display list
- * simple pixel unpacking
- * no raster ops
- * etc....
- * Return: GL_TRUE if success, GL_FALSE if slow path must be used instead
- */
-GLboolean gl_direct_DrawPixels( GLcontext *ctx,
- const struct gl_pixelstore_attrib *unpack,
- GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const GLvoid *pixels )
-{
- GLubyte rgb[MAX_WIDTH][3];
- GLubyte rgba[MAX_WIDTH][4];
-
- ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH_WITH_RETVAL(ctx, "glDrawPixels",
- GL_FALSE);
-
-
- if (ctx->RenderMode != GL_RENDER)
- return GL_FALSE;
-
- if (!ctx->Current.RasterPosValid) {
- /* no-op */
- return GL_TRUE;
- }
-
- if (ctx->NewState) {
- gl_update_state(ctx);
- }
-
- /* see if device driver can do the drawpix */
- if (ctx->Driver.DrawPixels) {
- GLint x = (GLint) (ctx->Current.RasterPos[0] + 0.5F);
- GLint y = (GLint) (ctx->Current.RasterPos[1] + 0.5F);
- if ((*ctx->Driver.DrawPixels)(ctx, x, y, width, height, format, type,
- unpack, pixels))
- return GL_TRUE;
- }
-
- if ((ctx->RasterMask&(~(SCISSOR_BIT|WINCLIP_BIT)))==0
- && ctx->Pixel.RedBias==0.0 && ctx->Pixel.RedScale==1.0
- && ctx->Pixel.GreenBias==0.0 && ctx->Pixel.GreenScale==1.0
- && ctx->Pixel.BlueBias==0.0 && ctx->Pixel.BlueScale==1.0
- && ctx->Pixel.AlphaBias==0.0 && ctx->Pixel.AlphaScale==1.0
- && ctx->Pixel.IndexShift==0 && ctx->Pixel.IndexOffset==0
- && ctx->Pixel.MapColorFlag==0
- && unpack->Alignment==1
- && !unpack->SwapBytes
- && !unpack->LsbFirst) {
-
- GLint destX = (GLint) (ctx->Current.RasterPos[0] + 0.5F);
- GLint destY = (GLint) (ctx->Current.RasterPos[1] + 0.5F);
- GLint drawWidth = width; /* actual width drawn */
- GLint drawHeight = height; /* actual height drawn */
- GLint skipPixels = unpack->SkipPixels;
- GLint skipRows = unpack->SkipRows;
- GLint rowLength;
- GLdepth zSpan[MAX_WIDTH]; /* only used when zooming */
- GLint zoomY0 = 0;
-
- if (unpack->RowLength > 0)
- rowLength = unpack->RowLength;
- else
- rowLength = width;
-
- /* If we're not using pixel zoom then do all clipping calculations
- * now. Otherwise, we'll let the gl_write_zoomed_*_span() functions
- * handle the clipping.
- */
- if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==1.0F) {
- /* horizontal clipping */
- if (destX < ctx->Buffer->Xmin) {
- skipPixels += (ctx->Buffer->Xmin - destX);
- drawWidth -= (ctx->Buffer->Xmin - destX);
- destX = ctx->Buffer->Xmin;
- }
- if (destX + drawWidth > ctx->Buffer->Xmax)
- drawWidth -= (destX + drawWidth - ctx->Buffer->Xmax - 1);
- if (drawWidth <= 0)
- return GL_TRUE;
-
- /* vertical clipping */
- if (destY < ctx->Buffer->Ymin) {
- skipRows += (ctx->Buffer->Ymin - destY);
- drawHeight -= (ctx->Buffer->Ymin - destY);
- destY = ctx->Buffer->Ymin;
- }
- if (destY + drawHeight > ctx->Buffer->Ymax)
- drawHeight -= (destY + drawHeight - ctx->Buffer->Ymax - 1);
- if (drawHeight <= 0)
- return GL_TRUE;
- } else if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==-1.0F) {
- /* CUED MODIFICATION */
- /* horizontal clipping */
- if (destX < ctx->Buffer->Xmin) {
- skipPixels += (ctx->Buffer->Xmin - destX);
- drawWidth -= (ctx->Buffer->Xmin - destX);
- destX = ctx->Buffer->Xmin;
- }
- if (destX + drawWidth > ctx->Buffer->Xmax)
- drawWidth -= (destX + drawWidth - ctx->Buffer->Xmax - 1);
- if (drawWidth <= 0)
- return GL_TRUE;
-
- /* vertical clipping */
- if (destY > ctx->Buffer->Ymax) {
- skipRows += (destY - ctx->Buffer->Ymax - 1);
- drawHeight -= (destY - ctx->Buffer->Ymax - 1);
- destY = ctx->Buffer->Ymax + 1;
- }
- if (destY - drawHeight < ctx->Buffer->Ymin)
- drawHeight -= (ctx->Buffer->Ymin - (destY - drawHeight));
- if (drawHeight <= 0)
- return GL_TRUE;
- }
- else {
- /* setup array of fragment Z value to pass to zoom function */
- GLdepth z = (GLdepth) (ctx->Current.RasterPos[2] * DEPTH_SCALE);
- GLint i;
- assert(drawWidth < MAX_WIDTH);
- for (i=0; i<drawWidth; i++)
- zSpan[i] = z;
-
- /* save Y value of first row */
- zoomY0 = (GLint) (ctx->Current.RasterPos[1] + 0.5F);
- }
-
-
- /*
- * Ready to draw!
- * The window region at (destX, destY) of size (drawWidth, drawHeight)
- * will be written to.
- * We'll take pixel data from buffer pointed to by "pixels" but we'll
- * skip "skipRows" rows and skip "skipPixels" pixels/row.
- */
-
- if (format==GL_RGBA && type==GL_UNSIGNED_BYTE) {
- if (ctx->Visual->RGBAflag) {
- GLubyte *src = (GLubyte *) pixels
- + (skipRows * rowLength + skipPixels) * 4;
- if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==1.0F) {
- /* no zooming */
- GLint row;
- for (row=0; row<drawHeight; row++) {
- (*ctx->Driver.WriteRGBASpan)(ctx, drawWidth, destX, destY,
- (void *) src, NULL);
- src += rowLength * 4;
- destY++;
- }
- } else if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==-1.0F) {
- /* CUED MODIFICATION */
- GLint row;
- for (row=0; row<drawHeight; row++) {
- (*ctx->Driver.WriteRGBASpan)(ctx, drawWidth, destX, destY-1,
- (void *) src, NULL);
- src += rowLength * 4;
- destY--;
- }
- }
- else {
- /* with zooming */
- GLint row;
- for (row=0; row<drawHeight; row++) {
- gl_write_zoomed_rgba_span(ctx, drawWidth, destX, destY,
- zSpan, (void *) src, zoomY0);
- src += rowLength * 4;
- destY++;
- }
- }
- }
- return GL_TRUE;
- }
- else if (format==GL_RGB && type==GL_UNSIGNED_BYTE) {
- if (ctx->Visual->RGBAflag) {
- GLubyte *src = (GLubyte *) pixels
- + (skipRows * rowLength + skipPixels) * 3;
- if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==1.0F) {
- GLint row;
- for (row=0; row<drawHeight; row++) {
- (*ctx->Driver.WriteRGBSpan)(ctx, drawWidth, destX, destY,
- (void *) src, NULL);
- src += rowLength * 3;
- destY++;
- }
- } else if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==-1.0F) {
- /* CUED MODIFICATION */
- GLint row;
- for (row=0; row<drawHeight; row++) {
- (*ctx->Driver.WriteRGBSpan)(ctx, drawWidth, destX, destY-1,
- (void *) src, NULL);
- src += rowLength * 3;
- destY--;
- }
- }
- else {
- /* with zooming */
- GLint row;
- for (row=0; row<drawHeight; row++) {
- gl_write_zoomed_rgb_span(ctx, drawWidth, destX, destY,
- zSpan, (void *) src, zoomY0);
- src += rowLength * 3;
- destY++;
- }
- }
- }
- return GL_TRUE;
- }
- else if (format==GL_LUMINANCE && type==GL_UNSIGNED_BYTE) {
- if (ctx->Visual->RGBAflag) {
- GLubyte *src = (GLubyte *) pixels
- + (skipRows * rowLength + skipPixels);
- if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==1.0F) {
- /* no zooming */
- GLint row;
- assert(drawWidth < MAX_WIDTH);
- for (row=0; row<drawHeight; row++) {
- GLint i;
- for (i=0;i<drawWidth;i++) {
- rgb[i][0] = src[i];
- rgb[i][1] = src[i];
- rgb[i][2] = src[i];
- }
- (*ctx->Driver.WriteRGBSpan)(ctx, drawWidth, destX, destY,
- (void *) rgb, NULL);
- src += rowLength;
- destY++;
- }
- } else if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==-1.0F) {
- /* CUED MODIFICATION */
- GLint row;
- assert(drawWidth < MAX_WIDTH);
- for (row=0; row<drawHeight; row++) {
- GLint i;
- for (i=0;i<drawWidth;i++) {
- rgb[i][0] = src[i];
- rgb[i][1] = src[i];
- rgb[i][2] = src[i];
- }
- (*ctx->Driver.WriteRGBSpan)(ctx, drawWidth, destX, destY-1,
- (void *) rgb, NULL);
- src += rowLength;
- destY--;
- }
- }
- else {
- /* with zooming */
- GLint row;
- assert(drawWidth < MAX_WIDTH);
- for (row=0; row<drawHeight; row++) {
- GLint i;
- for (i=0;i<drawWidth;i++) {
- rgb[i][0] = src[i];
- rgb[i][1] = src[i];
- rgb[i][2] = src[i];
- }
- gl_write_zoomed_rgb_span(ctx, drawWidth, destX, destY,
- zSpan, (void *) rgb, zoomY0);
- src += rowLength;
- destY++;
- }
- }
- }
- return GL_TRUE;
- }
- else if (format==GL_LUMINANCE_ALPHA && type==GL_UNSIGNED_BYTE) {
- if (ctx->Visual->RGBAflag) {
- GLubyte *src = (GLubyte *) pixels
- + (skipRows * rowLength + skipPixels)*2;
- if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==1.0F) {
- /* no zooming */
- GLint row;
- assert(drawWidth < MAX_WIDTH);
- for (row=0; row<drawHeight; row++) {
- GLint i;
- GLubyte *ptr = src;
- for (i=0;i<drawWidth;i++) {
- rgba[i][0] = *ptr;
- rgba[i][1] = *ptr;
- rgba[i][2] = *ptr++;
- rgba[i][3] = *ptr++;
- }
- (*ctx->Driver.WriteRGBASpan)(ctx, drawWidth, destX, destY,
- (void *) rgba, NULL);
- src += rowLength*2;
- destY++;
- }
- } else if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==-1.0F) {
- /* CUED MODIFICATION */
- GLint row;
- assert(drawWidth < MAX_WIDTH);
- for (row=0; row<drawHeight; row++) {
- GLint i;
- GLubyte *ptr = src;
- for (i=0;i<drawWidth;i++) {
- rgba[i][0] = *ptr;
- rgba[i][1] = *ptr;
- rgba[i][2] = *ptr++;
- rgba[i][3] = *ptr++;
- }
- (*ctx->Driver.WriteRGBASpan)(ctx, drawWidth, destX, destY-1,
- (void *) rgba, NULL);
- src += rowLength*2;
- destY--;
- }
- }
- else {
- /* with zooming */
- GLint row;
- assert(drawWidth < MAX_WIDTH);
- for (row=0; row<drawHeight; row++) {
- GLubyte *ptr = src;
- GLint i;
- for (i=0;i<drawWidth;i++) {
- rgba[i][0] = *ptr;
- rgba[i][1] = *ptr;
- rgba[i][2] = *ptr++;
- rgba[i][3] = *ptr++;
- }
- gl_write_zoomed_rgba_span(ctx, drawWidth, destX, destY,
- zSpan, (void *) rgba, zoomY0);
- src += rowLength*2;
- destY++;
- }
- }
- }
- return GL_TRUE;
- }
- else if (format==GL_COLOR_INDEX && type==GL_UNSIGNED_BYTE) {
- GLubyte *src = (GLubyte *) pixels + skipRows * rowLength + skipPixels;
- if (ctx->Visual->RGBAflag) {
- /* convert CI data to RGBA */
- if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==1.0F) {
- /* no zooming */
- GLint row;
- for (row=0; row<drawHeight; row++) {
- assert(drawWidth < MAX_WIDTH);
- gl_map_ci8_to_rgba(ctx, drawWidth, src, rgba);
- (*ctx->Driver.WriteRGBASpan)(ctx, drawWidth, destX, destY,
- (const GLubyte (*)[4])rgba,
- NULL);
- src += rowLength;
- destY++;
- }
- return GL_TRUE;
- } else if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==-1.0F) {
- GLint row;
- /* CUED MODIFICATION */
- for (row=0; row<drawHeight; row++) {
- assert(drawWidth < MAX_WIDTH);
- gl_map_ci8_to_rgba(ctx, drawWidth, src, rgba);
- (*ctx->Driver.WriteRGBASpan)(ctx, drawWidth, destX, destY-1,
- (const GLubyte (*)[4])rgba,
- NULL);
- src += rowLength;
- destY--;
- }
- return GL_TRUE;
- }
-
- else {
- /* with zooming */
- GLint row;
- for (row=0; row<drawHeight; row++) {
- assert(drawWidth < MAX_WIDTH);
- gl_map_ci8_to_rgba(ctx, drawWidth, src, rgba);
- gl_write_zoomed_rgba_span(ctx, drawWidth, destX, destY,
- zSpan, (void *) rgba, zoomY0);
- src += rowLength;
- destY++;
- }
- return GL_TRUE;
- }
- }
- else {
- /* write CI data to CI frame buffer */
- GLint row;
- if (ctx->Pixel.ZoomX==1.0F && ctx->Pixel.ZoomY==1.0F) {
- /* no zooming */
- for (row=0; row<drawHeight; row++) {
- (*ctx->Driver.WriteCI8Span)(ctx, drawWidth, destX, destY,
- src, NULL);
- src += rowLength;
- destY++;
- }
- return GL_TRUE;
- }
- else {
- /* with zooming */
- return GL_FALSE;
- }
- }
- }
- else {
- /* can't handle this pixel format and/or data type here */
- return GL_FALSE;
- }
- }
- else {
- /* can't do direct render, have to use slow path */
- return GL_FALSE;
- }
-}
diff --git a/xc/extras/Mesa/src/enable.c b/xc/extras/Mesa/src/enable.c
index aaf577b1a..1de2d32ac 100644
--- a/xc/extras/Mesa/src/enable.c
+++ b/xc/extras/Mesa/src/enable.c
@@ -432,22 +432,46 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state )
* CLIENT STATE!!!
*/
case GL_VERTEX_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->Vertex.Enabled = state;
+#else
ctx->Array.Vertex.Enabled = state;
+#endif
break;
case GL_NORMAL_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->Normal.Enabled = state;
+#else
ctx->Array.Normal.Enabled = state;
+#endif
break;
case GL_COLOR_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->Color.Enabled = state;
+#else
ctx->Array.Color.Enabled = state;
+#endif
break;
case GL_INDEX_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->Index.Enabled = state;
+#else
ctx->Array.Index.Enabled = state;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->TexCoord[ctx->Array.ActiveTexture].Enabled = state;
+#else
ctx->Array.TexCoord[ctx->Array.ActiveTexture].Enabled = state;
+#endif
break;
case GL_EDGE_FLAG_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->EdgeFlag.Enabled = state;
+#else
ctx->Array.EdgeFlag.Enabled = state;
+#endif
break;
/* GL_HP_occlusion_test */
@@ -700,17 +724,41 @@ _mesa_IsEnabled( GLenum cap )
* CLIENT STATE!!!
*/
case GL_VERTEX_ARRAY:
+#ifdef VAO
+ return ctx->Array.Current->Vertex.Enabled;
+#else
return ctx->Array.Vertex.Enabled;
+#endif
case GL_NORMAL_ARRAY:
+#ifdef VAO
+ return ctx->Array.Current->Normal.Enabled;
+#else
return ctx->Array.Normal.Enabled;
+#endif
case GL_COLOR_ARRAY:
+#ifdef VAO
+ return ctx->Array.Current->Color.Enabled;
+#else
return ctx->Array.Color.Enabled;
+#endif
case GL_INDEX_ARRAY:
+#ifdef VAO
+ return ctx->Array.Current->Index.Enabled;
+#else
return ctx->Array.Index.Enabled;
+#endif
case GL_TEXTURE_COORD_ARRAY:
+#ifdef VAO
+ return ctx->Array.Current->TexCoord[ctx->Array.ActiveTexture].Enabled;
+#else
return ctx->Array.TexCoord[ctx->Array.ActiveTexture].Enabled;
+#endif
case GL_EDGE_FLAG_ARRAY:
+#ifdef VAO
+ return ctx->Array.Current->EdgeFlag.Enabled;
+#else
return ctx->Array.EdgeFlag.Enabled;
+#endif
/* GL_HP_occlusion_test */
case GL_OCCLUSION_TEST_HP:
@@ -776,22 +824,46 @@ client_state( GLcontext *ctx, GLenum cap, GLboolean state )
switch (cap) {
case GL_VERTEX_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->Vertex.Enabled = state;
+#else
ctx->Array.Vertex.Enabled = state;
+#endif
break;
case GL_NORMAL_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->Normal.Enabled = state;
+#else
ctx->Array.Normal.Enabled = state;
+#endif
break;
case GL_COLOR_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->Color.Enabled = state;
+#else
ctx->Array.Color.Enabled = state;
+#endif
break;
case GL_INDEX_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->Index.Enabled = state;
+#else
ctx->Array.Index.Enabled = state;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->TexCoord[ctx->Array.ActiveTexture].Enabled = state;
+#else
ctx->Array.TexCoord[ctx->Array.ActiveTexture].Enabled = state;
+#endif
break;
case GL_EDGE_FLAG_ARRAY:
+#ifdef VAO
+ ctx->Array.Current->EdgeFlag.Enabled = state;
+#else
ctx->Array.EdgeFlag.Enabled = state;
+#endif
break;
default:
gl_error( ctx, GL_INVALID_ENUM, "glEnable/DisableClientState" );
diff --git a/xc/extras/Mesa/src/get.c b/xc/extras/Mesa/src/get.c
index 59e86056a..3f3897411 100644
--- a/xc/extras/Mesa/src/get.c
+++ b/xc/extras/Mesa/src/get.c
@@ -874,79 +874,159 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
*params = FLOAT_TO_BOOL(ctx->Pixel.ZoomY);
break;
case GL_VERTEX_ARRAY:
+#ifdef VAO
+ *params = ctx->Array.Current->Vertex.Enabled;
+#else
*params = ctx->Array.Vertex.Enabled;
+#endif
break;
case GL_VERTEX_ARRAY_SIZE:
+#ifdef VAO
+ *params = INT_TO_BOOL(ctx->Array.Current->Vertex.Size);
+#else
*params = INT_TO_BOOL(ctx->Array.Vertex.Size);
+#endif
break;
case GL_VERTEX_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_BOOL(ctx->Array.Current->Vertex.Type);
+#else
*params = ENUM_TO_BOOL(ctx->Array.Vertex.Type);
+#endif
break;
case GL_VERTEX_ARRAY_STRIDE:
+#ifdef VAO
+ *params = INT_TO_BOOL(ctx->Array.Current->Vertex.Stride);
+#else
*params = INT_TO_BOOL(ctx->Array.Vertex.Stride);
+#endif
break;
case GL_VERTEX_ARRAY_COUNT_EXT:
*params = INT_TO_BOOL(0);
break;
case GL_NORMAL_ARRAY:
+#ifdef VAO
+ *params = ctx->Array.Current->Normal.Enabled;
+#else
*params = ctx->Array.Normal.Enabled;
+#endif
break;
case GL_NORMAL_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_BOOL(ctx->Array.Current->Normal.Type);
+#else
*params = ENUM_TO_BOOL(ctx->Array.Normal.Type);
+#endif
break;
case GL_NORMAL_ARRAY_STRIDE:
+#ifdef VAO
+ *params = INT_TO_BOOL(ctx->Array.Current->Normal.Stride);
+#else
*params = INT_TO_BOOL(ctx->Array.Normal.Stride);
+#endif
break;
case GL_NORMAL_ARRAY_COUNT_EXT:
*params = INT_TO_BOOL(0);
break;
case GL_COLOR_ARRAY:
+#ifdef VAO
+ *params = ctx->Array.Current->Color.Enabled;
+#else
*params = ctx->Array.Color.Enabled;
+#endif
break;
case GL_COLOR_ARRAY_SIZE:
+#ifdef VAO
+ *params = INT_TO_BOOL(ctx->Array.Current->Color.Size);
+#else
*params = INT_TO_BOOL(ctx->Array.Color.Size);
+#endif
break;
case GL_COLOR_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_BOOL(ctx->Array.Current->Color.Type);
+#else
*params = ENUM_TO_BOOL(ctx->Array.Color.Type);
+#endif
break;
case GL_COLOR_ARRAY_STRIDE:
+#ifdef VAO
+ *params = INT_TO_BOOL(ctx->Array.Current->Color.Stride);
+#else
*params = INT_TO_BOOL(ctx->Array.Color.Stride);
+#endif
break;
case GL_COLOR_ARRAY_COUNT_EXT:
*params = INT_TO_BOOL(0);
break;
case GL_INDEX_ARRAY:
+#ifdef VAO
+ *params = ctx->Array.Current->Index.Enabled;
+#else
*params = ctx->Array.Index.Enabled;
+#endif
break;
case GL_INDEX_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_BOOL(ctx->Array.Current->Index.Type);
+#else
*params = ENUM_TO_BOOL(ctx->Array.Index.Type);
+#endif
break;
case GL_INDEX_ARRAY_STRIDE:
+#ifdef VAO
+ *params = INT_TO_BOOL(ctx->Array.Current->Index.Stride);
+#else
*params = INT_TO_BOOL(ctx->Array.Index.Stride);
+#endif
break;
case GL_INDEX_ARRAY_COUNT_EXT:
*params = INT_TO_BOOL(0);
break;
case GL_TEXTURE_COORD_ARRAY:
+#ifdef VAO
+ *params = ctx->Array.Current->TexCoord[texUnit].Enabled;
+#else
*params = ctx->Array.TexCoord[texUnit].Enabled;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_SIZE:
+#ifdef VAO
+ *params = INT_TO_BOOL(ctx->Array.Current->TexCoord[texUnit].Size);
+#else
*params = INT_TO_BOOL(ctx->Array.TexCoord[texUnit].Size);
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_BOOL(ctx->Array.Current->TexCoord[texUnit].Type);
+#else
*params = ENUM_TO_BOOL(ctx->Array.TexCoord[texUnit].Type);
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_STRIDE:
+#ifdef VAO
+ *params = INT_TO_BOOL(ctx->Array.Current->TexCoord[texUnit].Stride);
+#else
*params = INT_TO_BOOL(ctx->Array.TexCoord[texUnit].Stride);
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_COUNT_EXT:
*params = INT_TO_BOOL(0);
break;
case GL_EDGE_FLAG_ARRAY:
+#ifdef VAO
+ *params = ctx->Array.Current->EdgeFlag.Enabled;
+#else
*params = ctx->Array.EdgeFlag.Enabled;
+#endif
break;
case GL_EDGE_FLAG_ARRAY_STRIDE:
+#ifdef VAO
+ *params = INT_TO_BOOL(ctx->Array.Current->EdgeFlag.Stride);
+#else
*params = INT_TO_BOOL(ctx->Array.EdgeFlag.Stride);
+#endif
break;
/* GL_ARB_multitexture */
@@ -1057,10 +1137,18 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
/* GL_EXT_compiled_vertex_array */
case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT:
+#ifdef VAO
+ *params = ctx->Array.Current->LockFirst ? GL_TRUE : GL_FALSE;
+#else
*params = ctx->Array.LockFirst ? GL_TRUE : GL_FALSE;
+#endif
break;
case GL_ARRAY_ELEMENT_LOCK_COUNT_EXT:
+#ifdef VAO
+ *params = ctx->Array.Current->LockCount ? GL_TRUE : GL_FALSE;
+#else
*params = ctx->Array.LockCount ? GL_TRUE : GL_FALSE;
+#endif
break;
/* GL_ARB_transpose_matrix */
@@ -2020,79 +2108,159 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
*params = (GLdouble) ctx->Pixel.ZoomY;
break;
case GL_VERTEX_ARRAY:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Vertex.Enabled;
+#else
*params = (GLdouble) ctx->Array.Vertex.Enabled;
+#endif
break;
case GL_VERTEX_ARRAY_SIZE:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Vertex.Size;
+#else
*params = (GLdouble) ctx->Array.Vertex.Size;
+#endif
break;
case GL_VERTEX_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_DOUBLE(ctx->Array.Current->Vertex.Type);
+#else
*params = ENUM_TO_DOUBLE(ctx->Array.Vertex.Type);
+#endif
break;
case GL_VERTEX_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Vertex.Stride;
+#else
*params = (GLdouble) ctx->Array.Vertex.Stride;
+#endif
break;
case GL_VERTEX_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_NORMAL_ARRAY:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Normal.Enabled;
+#else
*params = (GLdouble) ctx->Array.Normal.Enabled;
+#endif
break;
case GL_NORMAL_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_DOUBLE(ctx->Array.Current->Normal.Type);
+#else
*params = ENUM_TO_DOUBLE(ctx->Array.Normal.Type);
+#endif
break;
case GL_NORMAL_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Normal.Stride;
+#else
*params = (GLdouble) ctx->Array.Normal.Stride;
+#endif
break;
case GL_NORMAL_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_COLOR_ARRAY:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Color.Enabled;
+#else
*params = (GLdouble) ctx->Array.Color.Enabled;
+#endif
break;
case GL_COLOR_ARRAY_SIZE:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Color.Size;
+#else
*params = (GLdouble) ctx->Array.Color.Size;
+#endif
break;
case GL_COLOR_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_DOUBLE(ctx->Array.Current->Color.Type);
+#else
*params = ENUM_TO_DOUBLE(ctx->Array.Color.Type);
+#endif
break;
case GL_COLOR_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Color.Stride;
+#else
*params = (GLdouble) ctx->Array.Color.Stride;
+#endif
break;
case GL_COLOR_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_INDEX_ARRAY:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Index.Enabled;
+#else
*params = (GLdouble) ctx->Array.Index.Enabled;
+#endif
break;
case GL_INDEX_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_DOUBLE(ctx->Array.Current->Index.Type);
+#else
*params = ENUM_TO_DOUBLE(ctx->Array.Index.Type);
+#endif
break;
case GL_INDEX_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->Index.Stride;
+#else
*params = (GLdouble) ctx->Array.Index.Stride;
+#endif
break;
case GL_INDEX_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_TEXTURE_COORD_ARRAY:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->TexCoord[texUnit].Enabled;
+#else
*params = (GLdouble) ctx->Array.TexCoord[texUnit].Enabled;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_SIZE:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->TexCoord[texUnit].Size;
+#else
*params = (GLdouble) ctx->Array.TexCoord[texUnit].Size;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_DOUBLE(ctx->Array.Current->TexCoord[texUnit].Type);
+#else
*params = ENUM_TO_DOUBLE(ctx->Array.TexCoord[texUnit].Type);
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->TexCoord[texUnit].Stride;
+#else
*params = (GLdouble) ctx->Array.TexCoord[texUnit].Stride;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_EDGE_FLAG_ARRAY:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->EdgeFlag.Enabled;
+#else
*params = (GLdouble) ctx->Array.EdgeFlag.Enabled;
+#endif
break;
case GL_EDGE_FLAG_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->EdgeFlag.Stride;
+#else
*params = (GLdouble) ctx->Array.EdgeFlag.Stride;
+#endif
break;
case GL_EDGE_FLAG_ARRAY_COUNT_EXT:
*params = 0.0;
@@ -2206,10 +2374,18 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
/* GL_EXT_compiled_vertex_array */
case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->LockFirst;
+#else
*params = (GLdouble) ctx->Array.LockFirst;
+#endif
break;
case GL_ARRAY_ELEMENT_LOCK_COUNT_EXT:
+#ifdef VAO
+ *params = (GLdouble) ctx->Array.Current->LockCount;
+#else
*params = (GLdouble) ctx->Array.LockCount;
+#endif
break;
/* GL_ARB_transpose_matrix */
@@ -3168,79 +3344,159 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
*params = (GLfloat) ctx->Pixel.ZoomY;
break;
case GL_VERTEX_ARRAY:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Vertex.Enabled;
+#else
*params = (GLfloat) ctx->Array.Vertex.Enabled;
+#endif
break;
case GL_VERTEX_ARRAY_SIZE:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Vertex.Size;
+#else
*params = (GLfloat) ctx->Array.Vertex.Size;
+#endif
break;
case GL_VERTEX_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_FLOAT(ctx->Array.Current->Vertex.Type);
+#else
*params = ENUM_TO_FLOAT(ctx->Array.Vertex.Type);
+#endif
break;
case GL_VERTEX_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Vertex.Stride;
+#else
*params = (GLfloat) ctx->Array.Vertex.Stride;
+#endif
break;
case GL_VERTEX_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_NORMAL_ARRAY:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Normal.Enabled;
+#else
*params = (GLfloat) ctx->Array.Normal.Enabled;
+#endif
break;
case GL_NORMAL_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_FLOAT(ctx->Array.Current->Normal.Type);
+#else
*params = ENUM_TO_FLOAT(ctx->Array.Normal.Type);
+#endif
break;
case GL_NORMAL_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Normal.Stride;
+#else
*params = (GLfloat) ctx->Array.Normal.Stride;
+#endif
break;
case GL_NORMAL_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_COLOR_ARRAY:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Color.Enabled;
+#else
*params = (GLfloat) ctx->Array.Color.Enabled;
+#endif
break;
case GL_COLOR_ARRAY_SIZE:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Color.Size;
+#else
*params = (GLfloat) ctx->Array.Color.Size;
+#endif
break;
case GL_COLOR_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_FLOAT(ctx->Array.Current->Color.Type);
+#else
*params = ENUM_TO_FLOAT(ctx->Array.Color.Type);
+#endif
break;
case GL_COLOR_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Color.Stride;
+#else
*params = (GLfloat) ctx->Array.Color.Stride;
+#endif
break;
case GL_COLOR_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_INDEX_ARRAY:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Index.Enabled;
+#else
*params = (GLfloat) ctx->Array.Index.Enabled;
+#endif
break;
case GL_INDEX_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_FLOAT(ctx->Array.Current->Index.Type);
+#else
*params = ENUM_TO_FLOAT(ctx->Array.Index.Type);
+#endif
break;
case GL_INDEX_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->Index.Stride;
+#else
*params = (GLfloat) ctx->Array.Index.Stride;
+#endif
break;
case GL_INDEX_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_TEXTURE_COORD_ARRAY:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->TexCoord[texUnit].Enabled;
+#else
*params = (GLfloat) ctx->Array.TexCoord[texUnit].Enabled;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_SIZE:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->TexCoord[texUnit].Size;
+#else
*params = (GLfloat) ctx->Array.TexCoord[texUnit].Size;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_TYPE:
+#ifdef VAO
+ *params = ENUM_TO_FLOAT(ctx->Array.Current->TexCoord[texUnit].Type);
+#else
*params = ENUM_TO_FLOAT(ctx->Array.TexCoord[texUnit].Type);
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->TexCoord[texUnit].Stride;
+#else
*params = (GLfloat) ctx->Array.TexCoord[texUnit].Stride;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_COUNT_EXT:
*params = 0.0;
break;
case GL_EDGE_FLAG_ARRAY:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->EdgeFlag.Enabled;
+#else
*params = (GLfloat) ctx->Array.EdgeFlag.Enabled;
+#endif
break;
case GL_EDGE_FLAG_ARRAY_STRIDE:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->EdgeFlag.Stride;
+#else
*params = (GLfloat) ctx->Array.EdgeFlag.Stride;
+#endif
break;
case GL_EDGE_FLAG_ARRAY_COUNT_EXT:
*params = 0.0;
@@ -3354,10 +3610,18 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
/* GL_EXT_compiled_vertex_array */
case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->LockFirst;
+#else
*params = (GLfloat) ctx->Array.LockFirst;
+#endif
break;
case GL_ARRAY_ELEMENT_LOCK_COUNT_EXT:
+#ifdef VAO
+ *params = (GLfloat) ctx->Array.Current->LockCount;
+#else
*params = (GLfloat) ctx->Array.LockCount;
+#endif
break;
/* GL_ARB_transpose_matrix */
@@ -4291,79 +4555,159 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
*params = (GLint) ctx->Pixel.ZoomY;
break;
case GL_VERTEX_ARRAY:
+#ifdef VAO
+ *params = (GLint) ctx->Array.Current->Vertex.Enabled;
+#else
*params = (GLint) ctx->Array.Vertex.Enabled;
+#endif
break;
case GL_VERTEX_ARRAY_SIZE:
+#ifdef VAO
+ *params = ctx->Array.Current->Vertex.Size;
+#else
*params = ctx->Array.Vertex.Size;
+#endif
break;
case GL_VERTEX_ARRAY_TYPE:
+#ifdef VAO
+ *params = ctx->Array.Current->Vertex.Type;
+#else
*params = ctx->Array.Vertex.Type;
+#endif
break;
case GL_VERTEX_ARRAY_STRIDE:
+#ifdef VAO
+ *params = ctx->Array.Current->Vertex.Stride;
+#else
*params = ctx->Array.Vertex.Stride;
+#endif
break;
case GL_VERTEX_ARRAY_COUNT_EXT:
*params = 0;
break;
case GL_NORMAL_ARRAY:
+#ifdef VAO
+ *params = (GLint) ctx->Array.Current->Normal.Enabled;
+#else
*params = (GLint) ctx->Array.Normal.Enabled;
+#endif
break;
case GL_NORMAL_ARRAY_TYPE:
+#ifdef VAO
+ *params = ctx->Array.Current->Normal.Type;
+#else
*params = ctx->Array.Normal.Type;
+#endif
break;
case GL_NORMAL_ARRAY_STRIDE:
+#ifdef VAO
+ *params = ctx->Array.Current->Normal.Stride;
+#else
*params = ctx->Array.Normal.Stride;
+#endif
break;
case GL_NORMAL_ARRAY_COUNT_EXT:
*params = 0;
break;
case GL_COLOR_ARRAY:
+#ifdef VAO
+ *params = (GLint) ctx->Array.Current->Color.Enabled;
+#else
*params = (GLint) ctx->Array.Color.Enabled;
+#endif
break;
case GL_COLOR_ARRAY_SIZE:
+#ifdef VAO
+ *params = ctx->Array.Current->Color.Size;
+#else
*params = ctx->Array.Color.Size;
+#endif
break;
case GL_COLOR_ARRAY_TYPE:
+#ifdef VAO
+ *params = ctx->Array.Current->Color.Type;
+#else
*params = ctx->Array.Color.Type;
+#endif
break;
case GL_COLOR_ARRAY_STRIDE:
+#ifdef VAO
+ *params = ctx->Array.Current->Color.Stride;
+#else
*params = ctx->Array.Color.Stride;
+#endif
break;
case GL_COLOR_ARRAY_COUNT_EXT:
*params = 0;
break;
case GL_INDEX_ARRAY:
+#ifdef VAO
+ *params = (GLint) ctx->Array.Current->Index.Enabled;
+#else
*params = (GLint) ctx->Array.Index.Enabled;
+#endif
break;
case GL_INDEX_ARRAY_TYPE:
+#ifdef VAO
+ *params = ctx->Array.Current->Index.Type;
+#else
*params = ctx->Array.Index.Type;
+#endif
break;
case GL_INDEX_ARRAY_STRIDE:
+#ifdef VAO
+ *params = ctx->Array.Current->Index.Stride;
+#else
*params = ctx->Array.Index.Stride;
+#endif
break;
case GL_INDEX_ARRAY_COUNT_EXT:
*params = 0;
break;
case GL_TEXTURE_COORD_ARRAY:
+#ifdef VAO
+ *params = (GLint) ctx->Array.Current->TexCoord[texUnit].Enabled;
+#else
*params = (GLint) ctx->Array.TexCoord[texUnit].Enabled;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_SIZE:
+#ifdef VAO
+ *params = ctx->Array.Current->TexCoord[texUnit].Size;
+#else
*params = ctx->Array.TexCoord[texUnit].Size;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_TYPE:
+#ifdef VAO
+ *params = ctx->Array.Current->TexCoord[texUnit].Type;
+#else
*params = ctx->Array.TexCoord[texUnit].Type;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_STRIDE:
+#ifdef VAO
+ *params = ctx->Array.Current->TexCoord[texUnit].Stride;
+#else
*params = ctx->Array.TexCoord[texUnit].Stride;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_COUNT_EXT:
*params = 0;
break;
case GL_EDGE_FLAG_ARRAY:
+#ifdef VAO
+ *params = (GLint) ctx->Array.Current->EdgeFlag.Enabled;
+#else
*params = (GLint) ctx->Array.EdgeFlag.Enabled;
+#endif
break;
case GL_EDGE_FLAG_ARRAY_STRIDE:
+#ifdef VAO
+ *params = ctx->Array.Current->EdgeFlag.Stride;
+#else
*params = ctx->Array.EdgeFlag.Stride;
+#endif
break;
case GL_EDGE_FLAG_ARRAY_COUNT_EXT:
*params = 0;
@@ -4477,10 +4821,18 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
/* GL_EXT_compiled_vertex_array */
case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT:
+#ifdef VAO
+ *params = ctx->Array.Current->LockFirst;
+#else
*params = ctx->Array.LockFirst;
+#endif
break;
case GL_ARRAY_ELEMENT_LOCK_COUNT_EXT:
+#ifdef VAO
+ *params = ctx->Array.Current->LockCount;
+#else
*params = ctx->Array.LockCount;
+#endif
break;
/* GL_ARB_transpose_matrix */
@@ -4669,22 +5021,46 @@ _mesa_GetPointerv( GLenum pname, GLvoid **params )
switch (pname) {
case GL_VERTEX_ARRAY_POINTER:
+#ifdef VAO
+ *params = ctx->Array.Current->Vertex.Ptr;
+#else
*params = ctx->Array.Vertex.Ptr;
+#endif
break;
case GL_NORMAL_ARRAY_POINTER:
+#ifdef VAO
+ *params = ctx->Array.Current->Normal.Ptr;
+#else
*params = ctx->Array.Normal.Ptr;
+#endif
break;
case GL_COLOR_ARRAY_POINTER:
+#ifdef VAO
+ *params = ctx->Array.Current->Color.Ptr;
+#else
*params = ctx->Array.Color.Ptr;
+#endif
break;
case GL_INDEX_ARRAY_POINTER:
+#ifdef VAO
+ *params = ctx->Array.Current->Index.Ptr;
+#else
*params = ctx->Array.Index.Ptr;
+#endif
break;
case GL_TEXTURE_COORD_ARRAY_POINTER:
+#ifdef VAO
+ *params = ctx->Array.Current->TexCoord[texUnit].Ptr;
+#else
*params = ctx->Array.TexCoord[texUnit].Ptr;
+#endif
break;
case GL_EDGE_FLAG_ARRAY_POINTER:
+#ifdef VAO
+ *params = ctx->Array.Current->EdgeFlag.Ptr;
+#else
*params = ctx->Array.EdgeFlag.Ptr;
+#endif
break;
case GL_FEEDBACK_BUFFER_POINTER:
*params = ctx->Feedback.Buffer;
diff --git a/xc/extras/Mesa/src/hash.c b/xc/extras/Mesa/src/hash.c
index a682180ba..efa5c25e5 100644
--- a/xc/extras/Mesa/src/hash.c
+++ b/xc/extras/Mesa/src/hash.c
@@ -100,7 +100,6 @@ void *_mesa_HashLookup(const struct _mesa_HashTable *table, GLuint key)
const struct HashEntry *entry;
assert(table);
- assert(key);
pos = key & (TABLE_SIZE-1);
entry = table->Table[pos];
@@ -129,7 +128,6 @@ void _mesa_HashInsert(struct _mesa_HashTable *table, GLuint key, void *data)
struct HashEntry *entry;
assert(table);
- assert(key);
_glthread_LOCK_MUTEX(table->Mutex);
@@ -171,7 +169,6 @@ void _mesa_HashRemove(struct _mesa_HashTable *table, GLuint key)
struct HashEntry *entry, *prev;
assert(table);
- assert(key);
_glthread_LOCK_MUTEX(table->Mutex);
diff --git a/xc/extras/Mesa/src/pipeline.c b/xc/extras/Mesa/src/pipeline.c
index 0a469894d..efca3012d 100644
--- a/xc/extras/Mesa/src/pipeline.c
+++ b/xc/extras/Mesa/src/pipeline.c
@@ -1,3 +1,4 @@
+/* $Id: pipeline.c,v 1.9 2000/12/05 19:51:30 dawes Exp $*/
/*
* Mesa 3-D graphics library
@@ -219,11 +220,19 @@ static void build_full_precalc_pipeline( GLcontext *ctx )
GLuint changed_ops = 0;
GLuint oldoutputs = pre->outputs;
GLuint oldinputs = pre->inputs;
+#ifdef VAO
+ GLuint fallback = (VERT_CURRENT_DATA & ctx->Current.Flag &
+ ~ctx->Array.Current->Summary);
+ GLuint changed_outputs = (ctx->Array.NewArrayState |
+ (fallback & cva->orflag));
+ GLuint available = fallback | ctx->Array.Current->Flags;
+#else
GLuint fallback = (VERT_CURRENT_DATA & ctx->Current.Flag &
~ctx->Array.Summary);
GLuint changed_outputs = (ctx->Array.NewArrayState |
(fallback & cva->orflag));
GLuint available = fallback | ctx->Array.Flags;
+#endif
pre->cva_state_change = 0;
pre->ops = 0;
@@ -232,10 +241,18 @@ static void build_full_precalc_pipeline( GLcontext *ctx )
pre->forbidden_inputs = 0;
pre->fallback = 0;
+#ifdef VAO
+ if (ctx->Array.Current->Summary & VERT_ELT)
+#else
if (ctx->Array.Summary & VERT_ELT)
+#endif
cva->orflag &= VERT_MATERIAL;
+#ifdef VAO
+ cva->orflag &= ~(ctx->Array.Current->Summary & ~VERT_OBJ_ANY);
+#else
cva->orflag &= ~(ctx->Array.Summary & ~VERT_OBJ_ANY);
+#endif
available &= ~cva->orflag;
pre->outputs = available;
@@ -429,7 +446,11 @@ void gl_update_pipelines( GLcontext *ctx )
if (newstate ||
cva->lock_changed ||
cva->orflag != cva->last_orflag ||
+#ifdef VAO
+ ctx->Array.Current->Flags != cva->last_array_flags)
+#else
ctx->Array.Flags != cva->last_array_flags)
+#endif
{
GLuint flags = VERT_WIN;
@@ -470,13 +491,25 @@ void gl_update_pipelines( GLcontext *ctx )
cva->lock_changed = 0;
}
+#ifdef VAO
+ if (ctx->Array.NewArrayState != cva->last_array_new_state)
+#else
if (ctx->Array.NewArrayState != cva->last_array_new_state)
+#endif
cva->pre.pipeline_valid = 0;
cva->pre.data_valid = 0;
+#ifdef VAO
cva->last_array_new_state = ctx->Array.NewArrayState;
+#else
+ cva->last_array_new_state = ctx->Array.NewArrayState;
+#endif
cva->last_orflag = cva->orflag;
+#ifdef VAO
+ cva->last_array_flags = ctx->Array.Current->Flags;
+#else
cva->last_array_flags = ctx->Array.Flags;
+#endif
}
void gl_run_pipeline( struct vertex_buffer *VB )
diff --git a/xc/extras/Mesa/src/shade.c b/xc/extras/Mesa/src/shade.c
index e2516ece7..5c45a6e7e 100644
--- a/xc/extras/Mesa/src/shade.c
+++ b/xc/extras/Mesa/src/shade.c
@@ -38,6 +38,10 @@
#include "types.h"
#endif
+#if defined(USE_X86_ASM)
+#include "X86/common_x86_asm.h"
+#endif
+
/* Lerp between adjacent values in the f(x) lookup table, giving a
* continuous function, with adequeate overall accuracy. (Though
@@ -196,6 +200,10 @@ void gl_init_shade( void )
init_shade_tab_two_sided_masked();
init_shade_tab_two_sided_compacted();
init_shade_tab_two_sided_masked_compacted();
+
+#ifdef USE_X86_ASM
+ gl_init_all_x86_shade_asm();
+#endif
}
void gl_update_lighting_function( GLcontext *ctx )
diff --git a/xc/extras/Mesa/src/shade.h b/xc/extras/Mesa/src/shade.h
index ec90a4ec6..59109114b 100644
--- a/xc/extras/Mesa/src/shade.h
+++ b/xc/extras/Mesa/src/shade.h
@@ -2,19 +2,19 @@
/*
* Mesa 3-D graphics library
* Version: 3.1
- *
+ *
* Copyright (C) 1999 Brian Paul All Rights Reserved.
- *
+ *
* 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 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
@@ -39,7 +39,11 @@ extern void gl_update_lighting_function( GLcontext *ctx );
extern void gl_init_shade( void );
-extern gl_shade_func gl_shade_func_tab[];
+extern gl_shade_func gl_shade_tab[0x10];
+extern gl_shade_func gl_shade_fast_tab[0x10];
+extern gl_shade_func gl_shade_fast_single_tab[0x10];
+extern gl_shade_func gl_shade_spec_tab[0x10];
+extern gl_shade_func gl_shade_ci_tab[0x10];
void gl_shade_rastpos( GLcontext *ctx,
@@ -49,4 +53,3 @@ void gl_shade_rastpos( GLcontext *ctx,
GLuint *index );
#endif
-
diff --git a/xc/extras/Mesa/src/stages.c b/xc/extras/Mesa/src/stages.c
index adf614270..8597108c3 100644
--- a/xc/extras/Mesa/src/stages.c
+++ b/xc/extras/Mesa/src/stages.c
@@ -93,10 +93,18 @@ void gl_update_materials( struct vertex_buffer *VB )
void gl_clean_color( struct vertex_buffer *VB )
{
GLcontext *ctx = VB->ctx;
+#ifdef VAO
+ struct gl_client_array *client_data = &ctx->Array.Current->Color;
+#else
struct gl_client_array *client_data = &ctx->Array.Color;
+#endif
GLvector4ub *col;
+#ifdef VAO
+ if (!(ctx->Array.Current->Summary & VERT_RGBA))
+#else
if (!(ctx->Array.Summary & VERT_RGBA))
+#endif
client_data = &ctx->Fallback.Color;
if (VB->Type == VB_CVA_PRECALC) {
@@ -116,10 +124,18 @@ void gl_clean_color( struct vertex_buffer *VB )
static void clean_index( struct vertex_buffer *VB )
{
GLcontext *ctx = VB->ctx;
+#ifdef VAO
+ struct gl_client_array *client_data = &ctx->Array.Current->Index;
+#else
struct gl_client_array *client_data = &ctx->Array.Index;
+#endif
GLvector1ui *index;
+#ifdef VAO
+ if (!(ctx->Array.Current->Summary & VERT_INDEX))
+#else
if (!(ctx->Array.Summary & VERT_INDEX))
+#endif
client_data = &ctx->Fallback.Color;
if (VB->Type == VB_CVA_PRECALC) {
@@ -140,10 +156,18 @@ static void clean_index( struct vertex_buffer *VB )
static void clean_edgeflag( struct vertex_buffer *VB )
{
GLcontext *ctx = VB->ctx;
+#ifdef VAO
+ struct gl_client_array *client_data = &ctx->Array.Current->EdgeFlag;
+#else
struct gl_client_array *client_data = &ctx->Array.EdgeFlag;
+#endif
GLvector1ub *edge;
+#ifdef VAO
+ if (!(ctx->Array.Current->Summary & VERT_EDGE))
+#else
if (!(ctx->Array.Summary & VERT_EDGE))
+#endif
client_data = &ctx->Fallback.EdgeFlag;
if (VB->Type == VB_CVA_PRECALC) {
@@ -164,11 +188,19 @@ static void clean_edgeflag( struct vertex_buffer *VB )
static void clean_texcoord( struct vertex_buffer *VB, GLuint i )
{
GLcontext *ctx = VB->ctx;
+#ifdef VAO
+ struct gl_client_array *client_data = &ctx->Array.Current->TexCoord[i];
+#else
struct gl_client_array *client_data = &ctx->Array.TexCoord[i];
+#endif
GLvector4f *tc;
GLuint flag = PIPE_TEX(i);
+#ifdef VAO
+ if (!(ctx->Array.Current->Summary & flag))
+#else
if (!(ctx->Array.Summary & flag))
+#endif
client_data = &ctx->Fallback.TexCoord[i];
if (VB->Type == VB_CVA_PRECALC) {
diff --git a/xc/extras/Mesa/src/texobj.c b/xc/extras/Mesa/src/texobj.c
index f764c6eb4..65d96457c 100644
--- a/xc/extras/Mesa/src/texobj.c
+++ b/xc/extras/Mesa/src/texobj.c
@@ -1,4 +1,4 @@
-/* $Id: texobj.c,v 1.16 2000/11/30 18:49:40 dawes Exp $ */
+/* $Id: texobj.c,v 1.17 2000/12/05 19:51:30 dawes Exp $ */
/*
* Mesa 3-D graphics library
@@ -621,8 +621,6 @@ _mesa_BindTexture( GLenum target, GLuint texName )
/* Pass BindTexture call to device driver */
if (ctx->Driver.BindTexture) {
(*ctx->Driver.BindTexture)( ctx, target, newTexObj );
- /* Make sure the Driver.UpdateState() function gets called! */
- ctx->NewState |= NEW_TEXTURING;
}
if (oldTexObj->Name > 0) {
diff --git a/xc/extras/Mesa/src/types.h b/xc/extras/Mesa/src/types.h
index 9b1e832d7..092760aa5 100644
--- a/xc/extras/Mesa/src/types.h
+++ b/xc/extras/Mesa/src/types.h
@@ -1037,8 +1037,51 @@ typedef void (*trans_elt_3f_func)(GLfloat (*to)[3],
GLuint n );
+/*#define VAO*/
+#ifdef VAO
+struct gl_array_object {
+ GLuint Name;
+ GLuint RefCount;
+
+ struct gl_client_array Vertex; /* client data descriptors */
+ struct gl_client_array Normal;
+ struct gl_client_array Color;
+ struct gl_client_array Index;
+ struct gl_client_array TexCoord[MAX_TEXTURE_UNITS];
+ struct gl_client_array EdgeFlag;
+
+ trans_4f_func VertexFunc; /* conversion functions */
+ trans_3f_func NormalFunc;
+ trans_4ub_func ColorFunc;
+ trans_1ui_func IndexFunc;
+ trans_4f_func TexCoordFunc[MAX_TEXTURE_UNITS];
+ trans_1ub_func EdgeFlagFunc;
+
+ trans_elt_4f_func VertexEltFunc; /* array elt conversion functions */
+ trans_elt_3f_func NormalEltFunc;
+ trans_elt_4ub_func ColorEltFunc;
+ trans_elt_1ui_func IndexEltFunc;
+ trans_elt_4f_func TexCoordEltFunc[MAX_TEXTURE_UNITS];
+ trans_elt_1ub_func EdgeFlagEltFunc;
+
+ GLint TexCoordInterleaveFactor;
+
+ GLuint LockFirst;
+ GLuint LockCount;
+
+ GLuint Flag[VB_SIZE]; /* crock */
+ GLuint Flags;
+ GLuint Summary; /* Like flags, but no size information */
+};
+#endif
+
struct gl_array_attrib {
+#ifdef VAO
+ struct gl_array_object *Current;
+ GLint ActiveTexture; /* Client Active Texture */
+ GLuint NewArrayState; /* Tracks which arrays have been changed. */
+#else
struct gl_client_array Vertex; /* client data descriptors */
struct gl_client_array Normal;
struct gl_client_array Color;
@@ -1070,6 +1113,7 @@ struct gl_array_attrib {
GLuint Flags;
GLuint Summary; /* Like flags, but no size information */
GLuint NewArrayState; /* Tracks which arrays have been changed. */
+#endif
};
@@ -1261,6 +1305,9 @@ struct gl_shared_state {
GLint RefCount; /* Reference count */
struct _mesa_HashTable *DisplayList; /* Display lists hash table */
struct _mesa_HashTable *TexObjects; /* Texture objects hash table */
+#ifdef VAO
+ struct _mesa_HashTable *ArrayObjects; /* GL_EXT_vertex_array_set */
+#endif
struct gl_texture_object *TexObjectList;/* Linked list of texture objects */
struct gl_texture_object *DirtyTexObjList; /* List of dirty tex objects */
diff --git a/xc/extras/Mesa/src/varray.c b/xc/extras/Mesa/src/varray.c
index d1b728965..39c07cc7c 100644
--- a/xc/extras/Mesa/src/varray.c
+++ b/xc/extras/Mesa/src/varray.c
@@ -1,4 +1,4 @@
-/* $Id: varray.c,v 1.14 2000/11/21 18:01:52 brianp Exp $ */
+/* $Id: varray.c,v 1.15 2000/12/05 19:51:30 dawes Exp $ */
/*
* Mesa 3-D graphics library
@@ -30,11 +30,13 @@
#include "glheader.h"
#include "context.h"
#include "cva.h"
+#include "dlist.h"
#include "enable.h"
#include "enums.h"
-#include "dlist.h"
+#include "hash.h"
#include "light.h"
#include "macros.h"
+#include "mem.h"
#include "mmath.h"
#include "pipeline.h"
#include "state.h"
@@ -71,26 +73,55 @@ _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
gl_lookup_enum_by_nr( type ),
stride);
+#ifdef VAO
+ ctx->Array.Current->Vertex.StrideB = stride;
+#else
ctx->Array.Vertex.StrideB = stride;
+#endif
if (!stride) {
switch (type) {
case GL_SHORT:
+#ifdef VAO
+ ctx->Array.Current->Vertex.StrideB = size*sizeof(GLshort);
+#else
ctx->Array.Vertex.StrideB = size*sizeof(GLshort);
+#endif
break;
case GL_INT:
+#ifdef VAO
+ ctx->Array.Current->Vertex.StrideB = size*sizeof(GLint);
+#else
ctx->Array.Vertex.StrideB = size*sizeof(GLint);
+#endif
break;
case GL_FLOAT:
+#ifdef VAO
+ ctx->Array.Current->Vertex.StrideB = size*sizeof(GLfloat);
+#else
ctx->Array.Vertex.StrideB = size*sizeof(GLfloat);
+#endif
break;
case GL_DOUBLE:
+#ifdef VAO
+ ctx->Array.Current->Vertex.StrideB = size*sizeof(GLdouble);
+#else
ctx->Array.Vertex.StrideB = size*sizeof(GLdouble);
+#endif
break;
default:
gl_error( ctx, GL_INVALID_ENUM, "glVertexPointer(type)" );
return;
}
}
+#ifdef VAO
+ ctx->Array.Current->Vertex.Size = size;
+ ctx->Array.Current->Vertex.Type = type;
+ ctx->Array.Current->Vertex.Stride = stride;
+ ctx->Array.Current->Vertex.Ptr = (void *) ptr;
+ ctx->Array.Current->VertexFunc = gl_trans_4f_tab[size][TYPE_IDX(type)];
+ ctx->Array.Current->VertexEltFunc = gl_trans_elt_4f_tab[size][TYPE_IDX(type)];
+ ctx->Array.NewArrayState |= VERT_OBJ_ANY;
+#else
ctx->Array.Vertex.Size = size;
ctx->Array.Vertex.Type = type;
ctx->Array.Vertex.Stride = stride;
@@ -98,6 +129,7 @@ _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
ctx->Array.VertexFunc = gl_trans_4f_tab[size][TYPE_IDX(type)];
ctx->Array.VertexEltFunc = gl_trans_elt_4f_tab[size][TYPE_IDX(type)];
ctx->Array.NewArrayState |= VERT_OBJ_ANY;
+#endif
ctx->NewState |= NEW_CLIENT_STATE;
}
@@ -119,34 +151,66 @@ _mesa_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr )
gl_lookup_enum_by_nr( type ),
stride);
+#ifdef VAO
+ ctx->Array.Current->Normal.StrideB = stride;
+#else
ctx->Array.Normal.StrideB = stride;
+#endif
if (!stride) {
switch (type) {
case GL_BYTE:
+#ifdef VAO
+ ctx->Array.Current->Normal.StrideB = 3*sizeof(GLbyte);
+#else
ctx->Array.Normal.StrideB = 3*sizeof(GLbyte);
+#endif
break;
case GL_SHORT:
+#ifdef VAO
+ ctx->Array.Current->Normal.StrideB = 3*sizeof(GLshort);
+#else
ctx->Array.Normal.StrideB = 3*sizeof(GLshort);
+#endif
break;
case GL_INT:
+#ifdef VAO
+ ctx->Array.Current->Normal.StrideB = 3*sizeof(GLint);
+#else
ctx->Array.Normal.StrideB = 3*sizeof(GLint);
+#endif
break;
case GL_FLOAT:
+#ifdef VAO
+ ctx->Array.Current->Normal.StrideB = 3*sizeof(GLfloat);
+#else
ctx->Array.Normal.StrideB = 3*sizeof(GLfloat);
+#endif
break;
case GL_DOUBLE:
+#ifdef VAO
+ ctx->Array.Current->Normal.StrideB = 3*sizeof(GLdouble);
+#else
ctx->Array.Normal.StrideB = 3*sizeof(GLdouble);
+#endif
break;
default:
gl_error( ctx, GL_INVALID_ENUM, "glNormalPointer(type)" );
return;
}
}
+#ifdef VAO
+ ctx->Array.Current->Normal.Type = type;
+ ctx->Array.Current->Normal.Stride = stride;
+ ctx->Array.Current->Normal.Ptr = (void *) ptr;
+ ctx->Array.Current->NormalFunc = gl_trans_3f_tab[TYPE_IDX(type)];
+ ctx->Array.Current->NormalEltFunc = gl_trans_elt_3f_tab[TYPE_IDX(type)];
+#else
ctx->Array.Normal.Type = type;
ctx->Array.Normal.Stride = stride;
ctx->Array.Normal.Ptr = (void *) ptr;
ctx->Array.NormalFunc = gl_trans_3f_tab[TYPE_IDX(type)];
ctx->Array.NormalEltFunc = gl_trans_elt_3f_tab[TYPE_IDX(type)];
+#endif
ctx->Array.NewArrayState |= VERT_NORM;
ctx->NewState |= NEW_CLIENT_STATE;
}
@@ -172,44 +236,89 @@ _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
gl_lookup_enum_by_nr( type ),
stride);
+#ifdef VAO
+ ctx->Array.Current->Color.StrideB = stride;
+#else
ctx->Array.Color.StrideB = stride;
+#endif
if (!stride) {
switch (type) {
case GL_BYTE:
+#ifdef VAO
+ ctx->Array.Current->Color.StrideB = size*sizeof(GLbyte);
+#else
ctx->Array.Color.StrideB = size*sizeof(GLbyte);
+#endif
break;
case GL_UNSIGNED_BYTE:
+#ifdef VAO
+ ctx->Array.Current->Color.StrideB = size*sizeof(GLubyte);
+#else
ctx->Array.Color.StrideB = size*sizeof(GLubyte);
+#endif
break;
case GL_SHORT:
+#ifdef VAO
+ ctx->Array.Current->Color.StrideB = size*sizeof(GLshort);
+#else
ctx->Array.Color.StrideB = size*sizeof(GLshort);
+#endif
break;
case GL_UNSIGNED_SHORT:
+#ifdef VAO
+ ctx->Array.Current->Color.StrideB = size*sizeof(GLushort);
+#else
ctx->Array.Color.StrideB = size*sizeof(GLushort);
+#endif
break;
case GL_INT:
+#ifdef VAO
+ ctx->Array.Current->Color.StrideB = size*sizeof(GLint);
+#else
ctx->Array.Color.StrideB = size*sizeof(GLint);
+#endif
break;
case GL_UNSIGNED_INT:
+#ifdef VAO
+ ctx->Array.Current->Color.StrideB = size*sizeof(GLuint);
+#else
ctx->Array.Color.StrideB = size*sizeof(GLuint);
+#endif
break;
case GL_FLOAT:
+#ifdef VAO
+ ctx->Array.Current->Color.StrideB = size*sizeof(GLfloat);
+#else
ctx->Array.Color.StrideB = size*sizeof(GLfloat);
+#endif
break;
case GL_DOUBLE:
+#ifdef VAO
+ ctx->Array.Current->Color.StrideB = size*sizeof(GLdouble);
+#else
ctx->Array.Color.StrideB = size*sizeof(GLdouble);
+#endif
break;
default:
gl_error( ctx, GL_INVALID_ENUM, "glColorPointer(type)" );
return;
}
}
+#ifdef VAO
+ ctx->Array.Current->Color.Size = size;
+ ctx->Array.Current->Color.Type = type;
+ ctx->Array.Current->Color.Stride = stride;
+ ctx->Array.Current->Color.Ptr = (void *) ptr;
+ ctx->Array.Current->ColorFunc = gl_trans_4ub_tab[size][TYPE_IDX(type)];
+ ctx->Array.Current->ColorEltFunc = gl_trans_elt_4ub_tab[size][TYPE_IDX(type)];
+#else
ctx->Array.Color.Size = size;
ctx->Array.Color.Type = type;
ctx->Array.Color.Stride = stride;
ctx->Array.Color.Ptr = (void *) ptr;
ctx->Array.ColorFunc = gl_trans_4ub_tab[size][TYPE_IDX(type)];
ctx->Array.ColorEltFunc = gl_trans_elt_4ub_tab[size][TYPE_IDX(type)];
+#endif
ctx->Array.NewArrayState |= VERT_RGBA;
ctx->NewState |= NEW_CLIENT_STATE;
}
@@ -226,34 +335,66 @@ _mesa_IndexPointer(GLenum type, GLsizei stride, const GLvoid *ptr)
return;
}
+#ifdef VAO
+ ctx->Array.Current->Index.StrideB = stride;
+#else
ctx->Array.Index.StrideB = stride;
+#endif
if (!stride) {
switch (type) {
case GL_UNSIGNED_BYTE:
+#ifdef VAO
+ ctx->Array.Current->Index.StrideB = sizeof(GLubyte);
+#else
ctx->Array.Index.StrideB = sizeof(GLubyte);
+#endif
break;
case GL_SHORT:
+#ifdef VAO
+ ctx->Array.Current->Index.StrideB = sizeof(GLshort);
+#else
ctx->Array.Index.StrideB = sizeof(GLshort);
+#endif
break;
case GL_INT:
+#ifdef VAO
+ ctx->Array.Current->Index.StrideB = sizeof(GLint);
+#else
ctx->Array.Index.StrideB = sizeof(GLint);
+#endif
break;
case GL_FLOAT:
+#ifdef VAO
+ ctx->Array.Current->Index.StrideB = sizeof(GLfloat);
+#else
ctx->Array.Index.StrideB = sizeof(GLfloat);
+#endif
break;
case GL_DOUBLE:
+#ifdef VAO
+ ctx->Array.Current->Index.StrideB = sizeof(GLdouble);
+#else
ctx->Array.Index.StrideB = sizeof(GLdouble);
+#endif
break;
default:
gl_error( ctx, GL_INVALID_ENUM, "glIndexPointer(type)" );
return;
}
}
+#ifdef VAO
+ ctx->Array.Current->Index.Type = type;
+ ctx->Array.Current->Index.Stride = stride;
+ ctx->Array.Current->Index.Ptr = (void *) ptr;
+ ctx->Array.Current->IndexFunc = gl_trans_1ui_tab[TYPE_IDX(type)];
+ ctx->Array.Current->IndexEltFunc = gl_trans_elt_1ui_tab[TYPE_IDX(type)];
+#else
ctx->Array.Index.Type = type;
ctx->Array.Index.Stride = stride;
ctx->Array.Index.Ptr = (void *) ptr;
ctx->Array.IndexFunc = gl_trans_1ui_tab[TYPE_IDX(type)];
ctx->Array.IndexEltFunc = gl_trans_elt_1ui_tab[TYPE_IDX(type)];
+#endif
ctx->Array.NewArrayState |= VERT_INDEX;
ctx->NewState |= NEW_CLIENT_STATE;
}
@@ -284,26 +425,55 @@ _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr
gl_lookup_enum_by_nr( type ),
stride);
+#ifdef VAO
+ ctx->Array.Current->TexCoord[texUnit].StrideB = stride;
+#else
ctx->Array.TexCoord[texUnit].StrideB = stride;
+#endif
if (!stride) {
switch (type) {
case GL_SHORT:
+#ifdef VAO
+ ctx->Array.Current->TexCoord[texUnit].StrideB = size*sizeof(GLshort);
+#else
ctx->Array.TexCoord[texUnit].StrideB = size*sizeof(GLshort);
+#endif
break;
case GL_INT:
+#ifdef VAO
+ ctx->Array.Current->TexCoord[texUnit].StrideB = size*sizeof(GLint);
+#else
ctx->Array.TexCoord[texUnit].StrideB = size*sizeof(GLint);
+#endif
break;
case GL_FLOAT:
+#ifdef VAO
+ ctx->Array.Current->TexCoord[texUnit].StrideB = size*sizeof(GLfloat);
+#else
ctx->Array.TexCoord[texUnit].StrideB = size*sizeof(GLfloat);
+#endif
break;
case GL_DOUBLE:
+#ifdef VAO
+ ctx->Array.Current->TexCoord[texUnit].StrideB = size*sizeof(GLdouble);
+#else
ctx->Array.TexCoord[texUnit].StrideB = size*sizeof(GLdouble);
+#endif
break;
default:
gl_error( ctx, GL_INVALID_ENUM, "glTexCoordPointer(type)" );
return;
}
}
+#ifdef VAO
+ ctx->Array.Current->TexCoord[texUnit].Size = size;
+ ctx->Array.Current->TexCoord[texUnit].Type = type;
+ ctx->Array.Current->TexCoord[texUnit].Stride = stride;
+ ctx->Array.Current->TexCoord[texUnit].Ptr = (void *) ptr;
+
+ ctx->Array.Current->TexCoordFunc[texUnit] = gl_trans_4f_tab[size][TYPE_IDX(type)];
+ ctx->Array.Current->TexCoordEltFunc[texUnit] = gl_trans_elt_4f_tab[size][TYPE_IDX(type)];
+#else
ctx->Array.TexCoord[texUnit].Size = size;
ctx->Array.TexCoord[texUnit].Type = type;
ctx->Array.TexCoord[texUnit].Stride = stride;
@@ -311,6 +481,7 @@ _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr
ctx->Array.TexCoordFunc[texUnit] = gl_trans_4f_tab[size][TYPE_IDX(type)];
ctx->Array.TexCoordEltFunc[texUnit] = gl_trans_elt_4f_tab[size][TYPE_IDX(type)];
+#endif
ctx->Array.NewArrayState |= PIPE_TEX(texUnit);
ctx->NewState |= NEW_CLIENT_STATE;
}
@@ -328,6 +499,17 @@ _mesa_EdgeFlagPointer(GLsizei stride, const void *vptr)
gl_error( ctx, GL_INVALID_VALUE, "glEdgeFlagPointer(stride)" );
return;
}
+#ifdef VAO
+ ctx->Array.Current->EdgeFlag.Stride = stride;
+ ctx->Array.Current->EdgeFlag.StrideB = stride ? stride : sizeof(GLboolean);
+ ctx->Array.Current->EdgeFlag.Ptr = (GLboolean *) ptr;
+ if (stride != sizeof(GLboolean)) {
+ ctx->Array.Current->EdgeFlagFunc = gl_trans_1ub_tab[TYPE_IDX(GL_UNSIGNED_BYTE)];
+ } else {
+ ctx->Array.Current->EdgeFlagFunc = 0;
+ }
+ ctx->Array.Current->EdgeFlagEltFunc = gl_trans_elt_1ub_tab[TYPE_IDX(GL_UNSIGNED_BYTE)];
+#else
ctx->Array.EdgeFlag.Stride = stride;
ctx->Array.EdgeFlag.StrideB = stride ? stride : sizeof(GLboolean);
ctx->Array.EdgeFlag.Ptr = (GLboolean *) ptr;
@@ -337,6 +519,7 @@ _mesa_EdgeFlagPointer(GLsizei stride, const void *vptr)
ctx->Array.EdgeFlagFunc = 0;
}
ctx->Array.EdgeFlagEltFunc = gl_trans_elt_1ub_tab[TYPE_IDX(GL_UNSIGNED_BYTE)];
+#endif
ctx->Array.NewArrayState |= VERT_EDGE;
ctx->NewState |= NEW_CLIENT_STATE;
}
@@ -440,12 +623,59 @@ void gl_exec_array_elements( GLcontext *ctx, struct immediate *IM,
{
GLuint *flags = IM->Flag;
GLuint *elts = IM->Elt;
+#ifdef VAO
+ GLuint translate = ctx->Array.Current->Flags;
+#else
GLuint translate = ctx->Array.Flags;
+#endif
GLuint i;
if (MESA_VERBOSE&VERBOSE_IMMEDIATE)
fprintf(stderr, "exec_array_elements %d .. %d\n", start, count);
+#ifdef VAO
+ if (translate & VERT_OBJ_ANY)
+ (ctx->Array.Current->VertexEltFunc)( IM->Obj,
+ &ctx->Array.Current->Vertex,
+ flags, elts, (VERT_ELT|VERT_OBJ_ANY),
+ start, count);
+
+ if (translate & VERT_NORM)
+ (ctx->Array.Current->NormalEltFunc)( IM->Normal,
+ &ctx->Array.Current->Normal,
+ flags, elts, (VERT_ELT|VERT_NORM),
+ start, count);
+
+ if (translate & VERT_EDGE)
+ (ctx->Array.Current->EdgeFlagEltFunc)( IM->EdgeFlag,
+ &ctx->Array.Current->EdgeFlag,
+ flags, elts, (VERT_ELT|VERT_EDGE),
+ start, count);
+
+ if (translate & VERT_RGBA)
+ (ctx->Array.Current->ColorEltFunc)( IM->Color,
+ &ctx->Array.Current->Color,
+ flags, elts, (VERT_ELT|VERT_RGBA),
+ start, count);
+
+ if (translate & VERT_INDEX)
+ (ctx->Array.Current->IndexEltFunc)( IM->Index,
+ &ctx->Array.Current->Index,
+ flags, elts, (VERT_ELT|VERT_INDEX),
+ start, count);
+
+ if (translate & VERT_TEX0_ANY)
+ (ctx->Array.Current->TexCoordEltFunc[0])( IM->TexCoord[0],
+ &ctx->Array.Current->TexCoord[0],
+ flags, elts, (VERT_ELT|VERT_TEX0_ANY),
+ start, count);
+
+ if (translate & VERT_TEX1_ANY)
+ (ctx->Array.Current->TexCoordEltFunc[1])( IM->TexCoord[1],
+ &ctx->Array.Current->TexCoord[1],
+ flags, elts, (VERT_ELT|VERT_TEX1_ANY),
+ start, count);
+#else
if (translate & VERT_OBJ_ANY)
(ctx->Array.VertexEltFunc)( IM->Obj,
&ctx->Array.Vertex,
@@ -487,7 +717,7 @@ void gl_exec_array_elements( GLcontext *ctx, struct immediate *IM,
&ctx->Array.TexCoord[1],
flags, elts, (VERT_ELT|VERT_TEX1_ANY),
start, count);
-
+#endif
for (i = start ; i < count ; i++)
if (flags[i] & VERT_ELT)
@@ -544,8 +774,11 @@ _mesa_DrawArrays(GLenum mode, GLint start, GLsizei count)
return;
}
- if (!ctx->CompileFlag && ctx->Array.Vertex.Enabled)
- {
+#ifdef VAO
+ if (!ctx->CompileFlag && ctx->Array.Current->Vertex.Enabled) {
+#else
+ if (!ctx->CompileFlag && ctx->Array.Vertex.Enabled) {
+#endif
GLint remaining = count;
GLint i;
struct gl_client_array *Normal = 0;
@@ -575,11 +808,86 @@ _mesa_DrawArrays(GLenum mode, GLint start, GLsizei count)
gl_build_immediate_pipeline( ctx );
required = elt->inputs;
+#ifdef VAO
+ fallback = (elt->inputs & ~ctx->Array.Current->Summary);
+#else
fallback = (elt->inputs & ~ctx->Array.Summary);
+#endif
/* The translate function doesn't do anything about size. It
* just ensures that type and stride come out right.
*/
+#ifdef VAO
+ IM->v.Obj.size = ctx->Array.Current->Vertex.Size;
+
+ if (required & VERT_RGBA)
+ {
+ Color = &ctx->Array.Current->Color;
+ if (fallback & VERT_RGBA) {
+ Color = &ctx->Fallback.Color;
+ ctx->Array.Current->ColorFunc =
+ gl_trans_4ub_tab[4][TYPE_IDX(GL_UNSIGNED_BYTE)];
+ }
+ }
+
+ if (required & VERT_INDEX)
+ {
+ Index = &ctx->Array.Current->Index;
+ if (fallback & VERT_INDEX) {
+ Index = &ctx->Fallback.Index;
+ ctx->Array.Current->IndexFunc = gl_trans_1ui_tab[TYPE_IDX(GL_UNSIGNED_INT)];
+ }
+ }
+
+ for (i = 0 ; i < MAX_TEXTURE_UNITS ; i++)
+ {
+ GLuint flag = VERT_TEX_ANY(i);
+
+ if (required & flag) {
+ TexCoord[i] = &ctx->Array.Current->TexCoord[i];
+
+ if (fallback & flag)
+ {
+ TexCoord[i] = &ctx->Fallback.TexCoord[i];
+ TexCoord[i]->Size = gl_texcoord_size( ctx->Current.Flag, i );
+
+ ctx->Array.Current->TexCoordFunc[i] =
+ gl_trans_4f_tab[TexCoord[i]->Size][TYPE_IDX(GL_FLOAT)];
+ }
+ }
+ }
+
+ if (ctx->Array.Current->Flags != ctx->Array.Current->Flag[0])
+ for (i = 0 ; i < VB_MAX ; i++)
+ ctx->Array.Current->Flag[i] = ctx->Array.Current->Flags;
+
+
+ if (required & VERT_NORM)
+ {
+ Normal = &ctx->Array.Current->Normal;
+ if (fallback & VERT_NORM) {
+ Normal = &ctx->Fallback.Normal;
+ ctx->Array.Current->NormalFunc = gl_trans_3f_tab[TYPE_IDX(GL_FLOAT)];
+ }
+ }
+
+ if ( required & VERT_EDGE )
+ {
+ if (mode == GL_TRIANGLES ||
+ mode == GL_QUADS ||
+ mode == GL_POLYGON)
+ {
+ EdgeFlag = &ctx->Array.Current->EdgeFlag;
+ if (fallback & VERT_EDGE) {
+ EdgeFlag = &ctx->Fallback.EdgeFlag;
+ ctx->Array.Current->EdgeFlagFunc =
+ gl_trans_1ub_tab[TYPE_IDX(GL_UNSIGNED_BYTE)];
+ }
+ }
+ else
+ required &= ~VERT_EDGE;
+ }
+#else
IM->v.Obj.size = ctx->Array.Vertex.Size;
if (required & VERT_RGBA)
@@ -649,6 +957,7 @@ _mesa_DrawArrays(GLenum mode, GLint start, GLsizei count)
else
required &= ~VERT_EDGE;
}
+#endif
VB->Primitive = IM->Primitive;
VB->NextPrimitive = IM->NextPrimitive;
@@ -670,6 +979,42 @@ _mesa_DrawArrays(GLenum mode, GLint start, GLsizei count)
VB->CullMode = 0;
+#ifdef VAO
+ ctx->Array.Current->VertexFunc( IM->Obj + VB_START,
+ &ctx->Array.Current->Vertex, start, n );
+
+ if (required & VERT_NORM) {
+ ctx->Array.Current->NormalFunc( IM->Normal + VB_START,
+ Normal, start, n );
+ }
+
+ if (required & VERT_EDGE) {
+ ctx->Array.Current->EdgeFlagFunc( IM->EdgeFlag + VB_START,
+ EdgeFlag, start, n );
+ }
+
+ if (required & VERT_RGBA) {
+ ctx->Array.Current->ColorFunc( IM->Color + VB_START,
+ Color, start, n );
+ }
+
+ if (required & VERT_INDEX) {
+ ctx->Array.Current->IndexFunc( IM->Index + VB_START,
+ Index, start, n );
+ }
+
+ if (required & VERT_TEX0_ANY) {
+ IM->v.TexCoord[0].size = TexCoord[0]->Size;
+ ctx->Array.Current->TexCoordFunc[0]( IM->TexCoord[0] + VB_START,
+ TexCoord[0], start, n );
+ }
+
+ if (required & VERT_TEX1_ANY) {
+ IM->v.TexCoord[1].size = TexCoord[1]->Size;
+ ctx->Array.Current->TexCoordFunc[1]( IM->TexCoord[1] + VB_START,
+ TexCoord[1], start, n );
+ }
+#else
ctx->Array.VertexFunc( IM->Obj + VB_START,
&ctx->Array.Vertex, start, n );
@@ -704,7 +1049,7 @@ _mesa_DrawArrays(GLenum mode, GLint start, GLsizei count)
ctx->Array.TexCoordFunc[1]( IM->TexCoord[1] + VB_START,
TexCoord[1], start, n );
}
-
+#endif
VB->ObjPtr = &IM->v.Obj;
VB->NormalPtr = &IM->v.Normal;
VB->ColorPtr = &IM->v.Color;
@@ -714,8 +1059,13 @@ _mesa_DrawArrays(GLenum mode, GLint start, GLsizei count)
VB->TexCoordPtr[0] = &IM->v.TexCoord[0];
VB->TexCoordPtr[1] = &IM->v.TexCoord[1];
+#ifdef VAO
+ VB->Flag = ctx->Array.Current->Flag;
+ VB->OrFlag = ctx->Array.Current->Flags;
+#else
VB->Flag = ctx->Array.Flag;
VB->OrFlag = ctx->Array.Flags;
+#endif
VB->Start = IM->Start = VB_START;
count = VB->Count = IM->Count = VB_START + n;
@@ -738,15 +1088,24 @@ _mesa_DrawArrays(GLenum mode, GLint start, GLsizei count)
VB->NextPrimitive[VB->CopyStart] = VB->Count;
VB->Primitive[VB->CopyStart] = mode;
+#ifdef VAO
+ ctx->Array.Current->Flag[count] |= VERT_END_VB;
+#else
ctx->Array.Flag[count] |= VERT_END_VB;
+#endif
/* Transform and render.
*/
gl_run_pipeline( VB );
gl_reset_vb( VB );
+#ifdef VAO
+ ctx->Array.Current->Flag[count] = ctx->Array.Current->Flags;
+ ctx->Array.Current->Flag[VB_START] = ctx->Array.Current->Flags;
+#else
ctx->Array.Flag[count] = ctx->Array.Flags;
ctx->Array.Flag[VB_START] = ctx->Array.Flags;
+#endif
start += n;
remaining -= n;
@@ -759,7 +1118,11 @@ _mesa_DrawArrays(GLenum mode, GLint start, GLsizei count)
elt->pipeline_valid = 0;
}
}
- else if (ctx->Array.Vertex.Enabled)
+#ifdef VAO
+ else if (ctx->Array.Current->Vertex.Enabled)
+#else
+ else if (ctx->Array.Vertex.Enabled)
+#endif
{
/* The GL_COMPILE and GL_COMPILE_AND_EXECUTE cases. These
* could be handled by the above code, but it gets a little
@@ -897,8 +1260,13 @@ _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indice
/* Treat VERT_ELT like a special client array.
*/
ctx->Array.NewArrayState |= VERT_ELT;
+#ifdef VAO
+ ctx->Array.Current->Summary |= VERT_ELT;
+ ctx->Array.Current->Flags |= VERT_ELT;
+#else
ctx->Array.Summary |= VERT_ELT;
ctx->Array.Flags |= VERT_ELT;
+#endif
cva->elt_mode = mode;
cva->elt_count = count;
@@ -918,8 +1286,13 @@ _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indice
*/
if (ctx->CVA.pre.ops & PIPE_OP_RENDER) {
ctx->Array.NewArrayState |= VERT_ELT;
+#ifdef VAO
+ ctx->Array.Current->Summary &= ~VERT_ELT;
+ ctx->Array.Current->Flags &= ~VERT_ELT;
+#else
ctx->Array.Summary &= ~VERT_ELT;
ctx->Array.Flags &= ~VERT_ELT;
+#endif
return;
}
@@ -934,7 +1307,11 @@ _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indice
case GL_UNSIGNED_BYTE:
{
GLubyte *ub_indices = (GLubyte *) indices;
+#ifdef VAO
+ if (ctx->Array.Current->Summary & VERT_OBJ_ANY) {
+#else
if (ctx->Array.Summary & VERT_OBJ_ANY) {
+#endif
draw_elt_ubyte( ctx, mode, ub_indices, count );
} else {
gl_ArrayElement( ctx, (GLuint) ub_indices[count-1] );
@@ -944,7 +1321,11 @@ _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indice
case GL_UNSIGNED_SHORT:
{
GLushort *us_indices = (GLushort *) indices;
+#ifdef VAO
+ if (ctx->Array.Current->Summary & VERT_OBJ_ANY) {
+#else
if (ctx->Array.Summary & VERT_OBJ_ANY) {
+#endif
draw_elt_ushort( ctx, mode, us_indices, count );
} else {
gl_ArrayElement( ctx, (GLuint) us_indices[count-1] );
@@ -954,7 +1335,11 @@ _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indice
case GL_UNSIGNED_INT:
{
GLuint *ui_indices = (GLuint *) indices;
+#ifdef VAO
+ if (ctx->Array.Current->Summary & VERT_OBJ_ANY) {
+#else
if (ctx->Array.Summary & VERT_OBJ_ANY) {
+#endif
draw_elt_uint( ctx, mode, ui_indices, count );
} else {
gl_ArrayElement( ctx, ui_indices[count-1] );
@@ -968,7 +1353,11 @@ _mesa_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indice
if (ctx->CompileCVAFlag) {
ctx->Array.NewArrayState |= VERT_ELT;
+#ifdef VAO
+ ctx->Array.Current->Summary &= ~VERT_ELT;
+#else
ctx->Array.Summary &= ~VERT_ELT;
+#endif
}
}
@@ -1117,7 +1506,11 @@ _mesa_InterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer)
coordUnitSave = ctx->Array.ActiveTexture;
if (tflag) {
GLint i;
+#ifdef VAO
+ GLint factor = ctx->Array.Current->TexCoordInterleaveFactor;
+#else
GLint factor = ctx->Array.TexCoordInterleaveFactor;
+#endif
for (i = 0; i < factor; i++) {
_mesa_ClientActiveTextureARB( (GLenum) (GL_TEXTURE0_ARB + i) );
_mesa_EnableClientState( GL_TEXTURE_COORD_ARRAY );
@@ -1215,10 +1608,31 @@ void gl_update_client_state( GLcontext *ctx )
VERT_TEX0_123,
VERT_TEX0_1234 };
+#ifdef VAO
+ ctx->Array.Current->Flags = 0;
+ ctx->Array.Current->Summary = 0;
+#else
ctx->Array.Flags = 0;
ctx->Array.Summary = 0;
+#endif
ctx->input->ArrayIncr = 0;
+#ifdef VAO
+ if (ctx->Array.Current->Normal.Enabled) ctx->Array.Current->Flags |= VERT_NORM;
+ if (ctx->Array.Current->Color.Enabled) ctx->Array.Current->Flags |= VERT_RGBA;
+ if (ctx->Array.Current->Index.Enabled) ctx->Array.Current->Flags |= VERT_INDEX;
+ if (ctx->Array.Current->EdgeFlag.Enabled) ctx->Array.Current->Flags |= VERT_EDGE;
+ if (ctx->Array.Current->Vertex.Enabled) {
+ ctx->Array.Current->Flags |= sz_flags[ctx->Array.Current->Vertex.Size];
+ ctx->input->ArrayIncr = 1;
+ }
+ if (ctx->Array.Current->TexCoord[0].Enabled) {
+ ctx->Array.Current->Flags |= tc_flags[ctx->Array.Current->TexCoord[0].Size];
+ }
+ if (ctx->Array.Current->TexCoord[1].Enabled) {
+ ctx->Array.Current->Flags |= (tc_flags[ctx->Array.Current->TexCoord[1].Size] << NR_TEXSIZE_BITS);
+ }
+#else
if (ctx->Array.Normal.Enabled) ctx->Array.Flags |= VERT_NORM;
if (ctx->Array.Color.Enabled) ctx->Array.Flags |= VERT_RGBA;
if (ctx->Array.Index.Enabled) ctx->Array.Flags |= VERT_INDEX;
@@ -1233,11 +1647,219 @@ void gl_update_client_state( GLcontext *ctx )
if (ctx->Array.TexCoord[1].Enabled) {
ctx->Array.Flags |= (tc_flags[ctx->Array.TexCoord[1].Size] << NR_TEXSIZE_BITS);
}
+#endif
/* Not really important any more:
*/
+#ifdef VAO
+ ctx->Array.Current->Summary = ctx->Array.Current->Flags & VERT_DATA;
+ ctx->input->ArrayAndFlags = ~ctx->Array.Current->Flags;
+#else
ctx->Array.Summary = ctx->Array.Flags & VERT_DATA;
ctx->input->ArrayAndFlags = ~ctx->Array.Flags;
+#endif
ctx->input->ArrayEltFlush = !(ctx->CompileCVAFlag);
}
+
+
+/**********************************************************************/
+/* Vertex Array Objects extension */
+/**********************************************************************/
+
+#ifdef VAO
+
+struct gl_array_object *
+_mesa_alloc_vertex_array_object(GLcontext *ctx, GLuint name)
+{
+ struct gl_array_object *arrayObj;
+
+ arrayObj = MALLOC_STRUCT(gl_array_object);
+ if (arrayObj) {
+ GLuint i;
+ arrayObj->Name = name;
+ arrayObj->RefCount = 1;
+ arrayObj->Vertex.Size = 4;
+ arrayObj->Vertex.Type = GL_FLOAT;
+ arrayObj->Vertex.Stride = 0;
+ arrayObj->Vertex.StrideB = 0;
+ arrayObj->Vertex.Ptr = NULL;
+ arrayObj->Vertex.Enabled = GL_FALSE;
+ arrayObj->Normal.Type = GL_FLOAT;
+ arrayObj->Normal.Stride = 0;
+ arrayObj->Normal.StrideB = 0;
+ arrayObj->Normal.Ptr = NULL;
+ arrayObj->Normal.Enabled = GL_FALSE;
+ arrayObj->Color.Size = 4;
+ arrayObj->Color.Type = GL_FLOAT;
+ arrayObj->Color.Stride = 0;
+ arrayObj->Color.StrideB = 0;
+ arrayObj->Color.Ptr = NULL;
+ arrayObj->Color.Enabled = GL_FALSE;
+ arrayObj->Index.Type = GL_FLOAT;
+ arrayObj->Index.Stride = 0;
+ arrayObj->Index.StrideB = 0;
+ arrayObj->Index.Ptr = NULL;
+ arrayObj->Index.Enabled = GL_FALSE;
+ for (i = 0; i < MAX_TEXTURE_UNITS; i++) {
+ arrayObj->TexCoord[i].Size = 4;
+ arrayObj->TexCoord[i].Type = GL_FLOAT;
+ arrayObj->TexCoord[i].Stride = 0;
+ arrayObj->TexCoord[i].StrideB = 0;
+ arrayObj->TexCoord[i].Ptr = NULL;
+ arrayObj->TexCoord[i].Enabled = GL_FALSE;
+ }
+ arrayObj->TexCoordInterleaveFactor = 1;
+ arrayObj->EdgeFlag.Stride = 0;
+ arrayObj->EdgeFlag.StrideB = 0;
+ arrayObj->EdgeFlag.Ptr = NULL;
+ arrayObj->EdgeFlag.Enabled = GL_FALSE;
+
+ /* Put into hash table */
+ _mesa_HashInsert(ctx->Shared->ArrayObjects, name, arrayObj);
+ }
+ return arrayObj;
+}
+
+
+void
+glGenArraySetsEXT(GLsizei n, GLuint *arrayset)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ GLuint first;
+ GLint i;
+
+ ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx, "glGenArraySetsEXT");
+
+ if (n < 0) {
+ gl_error(ctx, GL_INVALID_VALUE, "glGenArraySetsEXT");
+ return;
+ }
+
+ if (!arrayset)
+ return;
+
+ /*
+ * This must be atomic (generation and allocation of texture IDs)
+ */
+ /*XXX _glthread_LOCK_MUTEX(GenTexturesLock);*/
+
+ first = _mesa_HashFindFreeKeyBlock(ctx->Shared->ArrayObjects, n);
+
+ /* Return the object names */
+ for (i = 0; i < n; i++) {
+ arrayset[i] = first + i;
+ }
+
+ /* Allocate new array objects */
+ for (i = 0; i < n; i++) {
+ struct gl_array_object *arrayObj;
+ GLuint name = first + i;
+ arrayObj = _mesa_alloc_vertex_array_object(ctx, name);
+ if (!arrayObj) {
+ gl_error(ctx, GL_OUT_OF_MEMORY, "glGenArraySetsEXT");
+ break;
+ }
+ }
+
+ /*XXX _glthread_UNLOCK_MUTEX(GenTexturesLock);*/
+}
+
+
+void
+glBindArraySetEXT(GLuint arraySet)
+{
+ struct gl_array_object *arrayObj;
+ GET_CURRENT_CONTEXT(ctx);
+
+ ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx, "glBindArraySetEXT");
+
+ if (arraySet < 0) {
+ gl_error(ctx, GL_INVALID_OPERATION, "glBindArraySetEXT");
+ return;
+ }
+
+ ctx->Array.Current->RefCount--;
+ if (ctx->Array.Current->RefCount == 0) {
+ _mesa_HashRemove(ctx->Shared->ArrayObjects, arraySet);
+ FREE(ctx->Array.Current);
+ }
+
+ arrayObj = (struct gl_array_object *) _mesa_HashLookup(ctx->Shared->ArrayObjects, arraySet);
+ if (arrayObj) {
+ ctx->Array.Current = arrayObj;
+ }
+ else {
+ /* create the array object and insert into hash table */
+ arrayObj = _mesa_alloc_vertex_array_object(ctx, arraySet);
+ if (!arrayObj) {
+ gl_error(ctx, GL_OUT_OF_MEMORY, "glBindArraySetEXT");
+ return;
+ }
+ ctx->Array.Current = (struct gl_array_object *) _mesa_HashLookup(ctx->Shared->ArrayObjects, 0);
+ }
+
+ ctx->Array.Current->RefCount++;
+
+ /* Signal new state */
+ /* ctx->Array.NewArrayState = ~0;*/
+ ctx->NewState |= NEW_CLIENT_STATE;
+
+#if 0
+ printf("Bind %d\n", ctx->Array.Current->Name);
+ printf("Vertex array size: %d\n", ctx->Array.Current->Vertex.Size);
+ printf("Vertex array enable: %d\n", ctx->Array.Current->Vertex.Enabled);
+
+ printf("Normal array size: %d\n", ctx->Array.Current->Normal.Size);
+ printf("Normal array enable: %d\n", ctx->Array.Current->Normal.Enabled);
+ printf("Lock first %d count %d\n", ctx->Array.Current->LockFirst,
+ ctx->Array.Current->LockCount);
+#endif
+}
+
+
+void
+glDeleteArraySetsEXT(GLsizei n, const GLuint *arraySet)
+{
+ GLint i;
+ GET_CURRENT_CONTEXT(ctx);
+
+ ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx, "glDeleteArraySetsEXT");
+
+ if (n < 0) {
+ gl_error(ctx, GL_INVALID_OPERATION, "glDeleteArraySetEXT");
+ return;
+ }
+
+ for (i = 0; i < n; i++) {
+ if (arraySet[i] > 0) {
+ struct gl_array_object *arrayObj;
+ arrayObj = (struct gl_array_object *) _mesa_HashLookup(ctx->Shared->ArrayObjects, arraySet[i]);
+ if (arrayObj) {
+ arrayObj->RefCount--;
+ if (arrayObj->RefCount == 0) {
+ _mesa_HashRemove(ctx->Shared->ArrayObjects, arraySet[i]);
+ FREE(arrayObj);
+ }
+ }
+ }
+ }
+}
+
+
+GLboolean
+glIsArraySetEXT(GLuint arraySet)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH_WITH_RETVAL(ctx, "glIsArraySetEXT",
+ GL_FALSE);
+
+ if (arraySet > 0 && _mesa_HashLookup(ctx->Shared->ArrayObjects, arraySet)) {
+ return GL_TRUE;
+ }
+ else {
+ return GL_FALSE;
+ }
+}
+
+#endif
diff --git a/xc/extras/Mesa/src/vbxform.c b/xc/extras/Mesa/src/vbxform.c
index 13d47a398..dc3e3e709 100644
--- a/xc/extras/Mesa/src/vbxform.c
+++ b/xc/extras/Mesa/src/vbxform.c
@@ -269,8 +269,13 @@ void gl_reset_input( GLcontext *ctx )
VERT_BEGIN_0,
IM->Start, gl_lookup_enum_by_nr(ctx->Current.Primitive));
+#ifdef VAO
+ IM->ArrayAndFlags = ~ctx->Array.Current->Flags;
+ IM->ArrayIncr = ctx->Array.Current->Vertex.Enabled;
+#else
IM->ArrayAndFlags = ~ctx->Array.Flags;
IM->ArrayIncr = ctx->Array.Vertex.Enabled;
+#endif
IM->ArrayEltFlush = !(ctx->CompileCVAFlag);
}
diff --git a/xc/extras/Mesa/stamp-h.in b/xc/extras/Mesa/stamp-h.in
deleted file mode 100644
index e69de29bb..000000000
--- a/xc/extras/Mesa/stamp-h.in
+++ /dev/null
diff --git a/xc/extras/Mesa/util/Makefile.am b/xc/extras/Mesa/util/Makefile.am
index f797d1b20..cc9285d79 100644
--- a/xc/extras/Mesa/util/Makefile.am
+++ b/xc/extras/Mesa/util/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-AUTOMAKE_OPTIONS = no-dependencies
+#AUTOMAKE_OPTIONS = no-dependencies
INCLUDES = -I$(top_srcdir)/include $(GLUT_CFLAGS)
diff --git a/xc/extras/Mesa/util/Makefile.in b/xc/extras/Mesa/util/Makefile.in
deleted file mode 100644
index 02768dea8..000000000
--- a/xc/extras/Mesa/util/Makefile.in
+++ /dev/null
@@ -1,311 +0,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AS = @AS@
-CC = @CC@
-CPP = @CPP@
-DLLTOOL = @DLLTOOL@
-EXEEXT = @EXEEXT@
-FX_CFLAGS = @FX_CFLAGS@
-FX_LIBS = @FX_LIBS@
-GGI_CFLAGS = @GGI_CFLAGS@
-GGI_LIBS = @GGI_LIBS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLUT_LIBS = @GLUT_LIBS@
-LIBGLUT_VERSION = @LIBGLUT_VERSION@
-LIBGLU_VERSION = @LIBGLU_VERSION@
-LIBGL_VERSION = @LIBGL_VERSION@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAKEINFO = @MAKEINFO@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-SVGA_CFLAGS = @SVGA_CFLAGS@
-SVGA_LIBS = @SVGA_LIBS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-X_LIBADD = @X_LIBADD@
-ggi_confdir = @ggi_confdir@
-ggi_libdir = @ggi_libdir@
-
-AUTOMAKE_OPTIONS = no-dependencies
-
-INCLUDES = -I$(top_srcdir)/include $(GLUT_CFLAGS)
-
-EXTRA_PROGRAMS = glstate
-
-LDADD = $(GLUT_LIBS) $(top_builddir)/src-glu/libGLU.la $(top_builddir)/src/libGL.la -lm
-
-
-EXTRA_DIST = errcheck.c glstate.h glutskel.c idproj.c mwmborder.c readtex.c showbuffer.c showbuffer.h winpos.c
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../conf.h
-CONFIG_CLEAN_FILES =
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-glstate_SOURCES = glstate.c
-glstate_OBJECTS = glstate.$(OBJEXT)
-glstate_LDADD = $(LDADD)
-glstate_DEPENDENCIES = $(top_builddir)/src-glu/libGLU.la \
-$(top_builddir)/src/libGL.la
-glstate_LDFLAGS =
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON = README Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = glstate.c
-OBJECTS = glstate.$(OBJEXT)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj .s
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --gnu util/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-.c.o:
- $(COMPILE) -c $<
-
-# FIXME: We should only use cygpath when building on Windows,
-# and only if it is available.
-.c.obj:
- $(COMPILE) -c `cygpath -w $<`
-
-.s.o:
- $(COMPILE) -c $<
-
-.S.o:
- $(COMPILE) -c $<
-
-mostlyclean-compile:
- -rm -f *.o core *.core
- -rm -f *.$(OBJEXT)
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-glstate$(EXEEXT): $(glstate_OBJECTS) $(glstate_DEPENDENCIES)
- @rm -f glstate$(EXEEXT)
- $(LINK) $(glstate_LDFLAGS) $(glstate_OBJECTS) $(glstate_LDADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- here=`pwd` && cd $(srcdir) \
- && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS)'; \
- unique=`for i in $$list; do echo $$i; done | \
- awk ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = util
-
-distdir: $(DISTFILES)
- @for file in $(DISTFILES); do \
- d=$(srcdir); \
- if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
- else \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file || :; \
- fi; \
- done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile
-all-redirect: all-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am: mostlyclean-compile mostlyclean-libtool \
- mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am: clean-compile clean-libtool clean-tags clean-generic \
- mostlyclean-am
-
-clean: clean-am
-
-distclean-am: distclean-compile distclean-libtool distclean-tags \
- distclean-generic clean-am
- -rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am: maintainer-clean-compile maintainer-clean-libtool \
- maintainer-clean-tags maintainer-clean-generic \
- distclean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/xc/extras/rman/rman.c b/xc/extras/rman/rman.c
index b82f43872..32a1c1f59 100644
--- a/xc/extras/rman/rman.c
+++ b/xc/extras/rman/rman.c
@@ -16,7 +16,7 @@ static char rcsid[] = "Header: /home/cs/phelps/spine/rman/RCS/rman.c,v 1.144 199
source interpretation added September 24, 1996
renamed PolyglotMan due to lawsuit by Rosetta, Inc. August 8, 1997
*/
-/* $XFree86: xc/extras/rman/rman.c,v 1.11 2000/08/09 23:40:11 dawes Exp $ */
+/* $XFree86: xc/extras/rman/rman.c,v 1.12 2000/12/01 18:48:08 dawes Exp $ */
/* TO DO ****
@@ -4263,7 +4263,7 @@ source_command(char *p)
int ie=0;
int cond,invcond=0;
char delim,op;
- char if0[80], if1[80];
+ char if0[MAXBUF], if1[MAXBUF];
float nif0, nif1;
int insertat;
char macrobuf[MAXBUF]; /* local so can have nested macros */
@@ -4443,8 +4443,18 @@ source_command(char *p)
} else if (!isalpha(*p)) { /* usually quote, ^G in Digital UNIX */
/* gobble up comparators between delimiters */
delim = *p++;
- q = if0; while (*p!=delim) { *q++=*p++; } *q='\0'; p++;
- q = if1; while (*p!=delim) { *q++=*p++; } *q='\0'; p++;
+ q = if0;
+ while (*p && *p!=delim) {
+ *q++=*p++;
+ }
+ *q='\0';
+ p++;
+ q = if1;
+ while (*p && *p!=delim) {
+ *q++=*p++;
+ }
+ *q='\0';
+ p++;
cond = (strcmp(if0,if1)==0);
} else cond=0; /* a guess, seems to be right bettern than half the time */
if (invcond) cond=1-cond;
diff --git a/xc/lib/GL/mesa/src/drv/Imakefile b/xc/lib/GL/mesa/src/drv/Imakefile
index 0179c47a3..88b259502 100644
--- a/xc/lib/GL/mesa/src/drv/Imakefile
+++ b/xc/lib/GL/mesa/src/drv/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/GL/mesa/src/drv/Imakefile,v 1.15 2000/08/24 22:20:06 tsi Exp $
+XCOMM $XFree86: xc/lib/GL/mesa/src/drv/Imakefile,v 1.16 2000/12/04 18:54:13 dawes Exp $
#define DoNormalLib NormalLibGlx
#define DoSharedLib SharedLibGlx
diff --git a/xc/lib/GL/mesa/src/drv/common/depthtmp.h b/xc/lib/GL/mesa/src/drv/common/depthtmp.h
index 2098396e4..0c10eae19 100644
--- a/xc/lib/GL/mesa/src/drv/common/depthtmp.h
+++ b/xc/lib/GL/mesa/src/drv/common/depthtmp.h
@@ -1,3 +1,5 @@
+/* $XFree86: xc/lib/GL/mesa/src/drv/common/depthtmp.h,v 1.4 2000/12/04 22:43:20 dawes Exp $ */
+
#ifndef DBG
#define DBG 0
#endif
@@ -155,10 +157,10 @@ static void TAG(ReadDepthPixels)( GLcontext *ctx, GLuint n,
}
#if HAVE_HW_DEPTH_SPANS
-#undef WRITE_DEPTH_SPAN;
-#undef WRITE_DEPTH_PIXELS;
-#undef READ_DEPTH_SPAN;
-#undef READ_DEPTH_PIXELS;
+#undef WRITE_DEPTH_SPAN
+#undef WRITE_DEPTH_PIXELS
+#undef READ_DEPTH_SPAN
+#undef READ_DEPTH_PIXELS
#else
#undef WRITE_DEPTH
#undef READ_DEPTH
diff --git a/xc/lib/GL/mesa/src/drv/i810/i810tris.h b/xc/lib/GL/mesa/src/drv/i810/i810tris.h
index 281e96b87..a83adad95 100644
--- a/xc/lib/GL/mesa/src/drv/i810/i810tris.h
+++ b/xc/lib/GL/mesa/src/drv/i810/i810tris.h
@@ -22,7 +22,7 @@
*
*
*/
-/* $XFree86: xc/lib/GL/mesa/src/drv/i810/i810tris.h,v 1.7 2000/11/13 23:31:27 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/i810/i810tris.h,v 1.8 2000/12/04 19:21:43 dawes Exp $ */
#ifndef I810TRIS_INC
#define I810TRIS_INC
diff --git a/xc/lib/GL/mesa/src/drv/r128/Imakefile b/xc/lib/GL/mesa/src/drv/r128/Imakefile
index fdbf890df..fac037986 100644
--- a/xc/lib/GL/mesa/src/drv/r128/Imakefile
+++ b/xc/lib/GL/mesa/src/drv/r128/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/GL/mesa/src/drv/r128/Imakefile,v 1.9 2000/11/13 23:31:30 dawes Exp $
+XCOMM $XFree86: xc/lib/GL/mesa/src/drv/r128/Imakefile,v 1.10 2000/12/04 19:21:44 dawes Exp $
#include <Threads.tmpl>
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_context.c b/xc/lib/GL/mesa/src/drv/r128/r128_context.c
index 936bf808b..e7be00853 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_context.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_context.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_context.c,v 1.2 2000/08/25 13:42:28 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_context.c,v 1.3 2000/12/04 19:21:44 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_context.h b/xc/lib/GL/mesa/src/drv/r128/r128_context.h
index 640768c27..1b62681eb 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_context.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_context.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_context.h,v 1.2 2000/08/25 13:42:28 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_context.h,v 1.3 2000/12/04 19:21:44 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_dd.c b/xc/lib/GL/mesa/src/drv/r128/r128_dd.c
index 4d2ba6296..636b712a8 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_dd.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_dd.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_dd.c,v 1.2 2000/08/25 13:42:28 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_dd.c,v 1.3 2000/12/04 19:21:45 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_dd.h b/xc/lib/GL/mesa/src/drv/r128/r128_dd.h
index 5012f9c52..447745c43 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_dd.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_dd.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_dd.h,v 1.1 2000/06/17 00:03:05 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_dd.h,v 1.2 2000/12/04 19:21:45 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c b/xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c
index 81d75ada1..57dab53a9 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c,v 1.3 2000/11/13 23:31:30 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_fastpath.c,v 1.4 2000/12/04 19:21:46 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h b/xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h
index 0ed3db87c..8f51fe74c 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h,v 1.1 2000/06/17 00:03:05 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_fasttmp.h,v 1.2 2000/12/04 19:21:46 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_lock.h b/xc/lib/GL/mesa/src/drv/r128/r128_lock.h
index a233825e4..57ec768bb 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_lock.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_lock.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_lock.h,v 1.1 2000/06/17 00:03:06 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_lock.h,v 1.2 2000/12/04 19:21:46 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c b/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c
index 789d98cae..4b17e5636 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c,v 1.2 2000/08/25 13:42:29 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_pipeline.c,v 1.3 2000/12/04 19:21:46 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h b/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h
index f0f737611..84c667240 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h,v 1.2 2000/08/25 13:42:29 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_pipeline.h,v 1.3 2000/12/04 19:21:46 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_screen.c b/xc/lib/GL/mesa/src/drv/r128/r128_screen.c
index eda2d7aa2..139e7fbc3 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_screen.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_screen.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_screen.c,v 1.2 2000/08/25 13:42:29 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_screen.c,v 1.3 2000/12/04 19:21:46 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_screen.h b/xc/lib/GL/mesa/src/drv/r128/r128_screen.h
index 5326b94e7..4fd6b7ac7 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_screen.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_screen.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_screen.h,v 1.2 2000/08/25 13:42:30 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_screen.h,v 1.3 2000/12/04 19:21:47 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_span.c b/xc/lib/GL/mesa/src/drv/r128/r128_span.c
index 9483dafe7..925b874e4 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_span.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_span.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_span.c,v 1.2 2000/08/25 13:42:30 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_span.c,v 1.3 2000/12/04 19:21:47 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_span.h b/xc/lib/GL/mesa/src/drv/r128/r128_span.h
index 36e387722..486445d31 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_span.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_span.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_span.h,v 1.1 2000/06/17 00:03:07 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_span.h,v 1.2 2000/12/04 19:21:47 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_state.c b/xc/lib/GL/mesa/src/drv/r128/r128_state.c
index 50235ea70..0aa8fef33 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_state.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_state.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_state.c,v 1.4 2000/08/25 13:42:30 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_state.c,v 1.5 2000/12/04 19:21:47 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_state.h b/xc/lib/GL/mesa/src/drv/r128/r128_state.h
index 03fef6882..6d122879d 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_state.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_state.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_state.h,v 1.1 2000/06/17 00:03:07 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_state.h,v 1.2 2000/12/04 19:21:47 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tex.c b/xc/lib/GL/mesa/src/drv/r128/r128_tex.c
index c7d90d3c1..ff619fa46 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tex.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tex.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tex.c,v 1.5 2000/11/08 05:02:51 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tex.c,v 1.6 2000/12/04 19:21:47 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tex.h b/xc/lib/GL/mesa/src/drv/r128/r128_tex.h
index 2d697d053..d225765a6 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tex.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tex.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tex.h,v 1.1 2000/06/17 00:03:08 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tex.h,v 1.2 2000/12/04 19:21:47 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_texobj.h b/xc/lib/GL/mesa/src/drv/r128/r128_texobj.h
index c13c37475..59b568321 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_texobj.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_texobj.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_texobj.h,v 1.2 2000/09/27 03:39:03 tsi Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_texobj.h,v 1.3 2000/12/04 19:21:47 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tris.c b/xc/lib/GL/mesa/src/drv/r128/r128_tris.c
index fbaf97b10..8d1053e90 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tris.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tris.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tris.c,v 1.2 2000/08/25 13:42:31 dawes Exp $ */ /* -*- c-basic-offset: 3 -*- */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tris.c,v 1.3 2000/12/04 19:21:47 dawes Exp $ */ /* -*- c-basic-offset: 3 -*- */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tris.h b/xc/lib/GL/mesa/src/drv/r128/r128_tris.h
index d4d9879bf..364aa02c9 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tris.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tris.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tris.h,v 1.2 2000/08/25 13:42:31 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tris.h,v 1.3 2000/12/04 19:21:47 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h b/xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h
index 057420695..d448493d0 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h,v 1.2 2000/08/25 13:42:31 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_tritmp.h,v 1.4 2000/12/04 22:46:01 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_vb.c b/xc/lib/GL/mesa/src/drv/r128/r128_vb.c
index 5e870a0f8..64308e76d 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_vb.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_vb.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_vb.c,v 1.7 2000/11/08 05:02:51 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_vb.c,v 1.8 2000/12/04 19:21:48 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_vb.h b/xc/lib/GL/mesa/src/drv/r128/r128_vb.h
index d642f3b64..f1afdff2c 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_vb.h
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_vb.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_vb.h,v 1.2 2000/08/25 13:42:31 dawes Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_vb.h,v 1.3 2000/12/04 19:21:48 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c b/xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c
index 3c57f4b0e..c33eca347 100644
--- a/xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c
+++ b/xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c,v 1.1 2000/06/17 00:03:09 martin Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c,v 1.2 2000/12/04 19:21:48 dawes Exp $ */
/**************************************************************************
Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
diff --git a/xc/lib/GL/mesa/src/drv/tdfx/fxddspan.c b/xc/lib/GL/mesa/src/drv/tdfx/fxddspan.c
index 17415dc85..a476ea8e7 100644
--- a/xc/lib/GL/mesa/src/drv/tdfx/fxddspan.c
+++ b/xc/lib/GL/mesa/src/drv/tdfx/fxddspan.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/GL/mesa/src/drv/tdfx/fxddspan.c,v 1.1 2000/09/24 13:51:14 alanh Exp $ */
+/* $XFree86: xc/lib/GL/mesa/src/drv/tdfx/fxddspan.c,v 1.5 2000/12/02 20:29:06 alanh Exp $ */
/*
* Mesa 3-D graphics library
* Version: 3.3
@@ -321,14 +321,13 @@ read_R5G6B5_span(const GLcontext * ctx, GLuint n, GLint x, GLint y,
? (fxMesa->screen_width) : (info.strideInBytes / 2);
const GLushort *data16 = (const GLushort *) info.lfbPtr
+ (winY - y) * srcStride + (winX + x);
- const GLuint *data32 = (const GLuint *) data16;
GLuint i, j;
GLuint extraPixel = (n & 1);
n -= extraPixel;
for (i = j = 0; i < n; i += 2, j++) {
- GLuint pixel = data32[j];
- GLuint pixel0 = pixel & 0xffff;
- GLuint pixel1 = pixel >> 16;
+ /* use data16[] to keep correct alignment */
+ GLuint pixel0 = data16[i];
+ GLuint pixel1 = data16[i+1];
rgba[i][RCOMP] = FX_PixelToR(fxMesa, pixel0);
rgba[i][GCOMP] = FX_PixelToG(fxMesa, pixel0);
rgba[i][BCOMP] = FX_PixelToB(fxMesa, pixel0);
@@ -1251,7 +1250,7 @@ GetFbParams(fxMesaContext fxMesa,
{
FxU32 physicalStrideInBytes, bufferOffset;
FxU32 strideInBytes = info->strideInBytes;
- FxU32 lfbPtr = (FxU32) (info->lfbPtr);
+ char *lfbPtr = (char *) (info->lfbPtr);
/*
* These two come directly from the info structure.
@@ -1278,7 +1277,7 @@ GetFbParams(fxMesaContext fxMesa,
* < bufferOffset&(info->strideInBytes-1)
* the buffer begins in the forbidden zone. We assert for this.
*/
- bufferOffset = lfbPtr - (FxU32) backBufferInfo->lfbPtr;
+ bufferOffset = lfbPtr - (char *) backBufferInfo->lfbPtr;
physicalStrideInBytes
= (fxMesa->screen_width * elementSize + TILE_WIDTH_IN_BYTES - 1)
& ~(TILE_WIDTH_IN_BYTES - 1);
@@ -1290,7 +1289,7 @@ GetFbParams(fxMesaContext fxMesa,
* This is the address of the next physical line.
*/
ReadParamsp->lfbWrapPtr
- = (void *) ((FxU32) backBufferInfo->lfbPtr
+ = (void *) ((char *) backBufferInfo->lfbPtr
+ (bufferOffset & ~(strideInBytes - 1))
+ (TILE_HEIGHT_IN_LINES) * strideInBytes);
}
diff --git a/xc/lib/X11/lcUniConv/microsoft_cp1251.h b/xc/lib/X11/lcUniConv/microsoft_cp1251.h
deleted file mode 100644
index b0e381f99..000000000
--- a/xc/lib/X11/lcUniConv/microsoft_cp1251.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/* $XFree86: xc/lib/X11/lcUniConv/microsoft_cp1251.h,v 1.3 2000/11/28 16:10:30 dawes Exp $ */
-
-/*
- * MICROSOFT-CP1251
- */
-
-static const unsigned short microsoft_cp1251_2uni[128] = {
- /* 0x80 */
- 0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021,
- 0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f,
- /* 0x90 */
- 0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
- 0x98, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f,
- /* 0xa0 */
- 0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7,
- 0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407,
- /* 0xb0 */
- 0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7,
- 0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457,
- /* 0xc0 */
- 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
- 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
- /* 0xd0 */
- 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
- 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
- /* 0xe0 */
- 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
- 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
- /* 0xf0 */
- 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
- 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
-};
-
-static int
-microsoft_cp1251_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
-{
- unsigned char c = *s;
- if (c < 0x80)
- *pwc = (ucs4_t) c;
- else
- *pwc = (ucs4_t) microsoft_cp1251_2uni[c-0x80];
- return 1;
-}
-
-static const unsigned char microsoft_cp1251_page00[32] = {
- 0xa0, 0x00, 0x00, 0x00, 0xa4, 0x00, 0xa6, 0xa7, /* 0xa0-0xa7 */
- 0x00, 0xa9, 0x00, 0xab, 0xac, 0xad, 0xae, 0x00, /* 0xa8-0xaf */
- 0xb0, 0xb1, 0x00, 0x00, 0x00, 0xb5, 0xb6, 0xb7, /* 0xb0-0xb7 */
- 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */
-};
-static const unsigned char microsoft_cp1251_page04[152] = {
- 0x00, 0xa8, 0x80, 0x81, 0xaa, 0xbd, 0xb2, 0xaf, /* 0x00-0x07 */
- 0xa3, 0x8a, 0x8c, 0x8e, 0x8d, 0x00, 0xa1, 0x8f, /* 0x08-0x0f */
- 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x10-0x17 */
- 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, /* 0x18-0x1f */
- 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, /* 0x20-0x27 */
- 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, /* 0x28-0x2f */
- 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, /* 0x30-0x37 */
- 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, /* 0x38-0x3f */
- 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x40-0x47 */
- 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, /* 0x48-0x4f */
- 0x00, 0xb8, 0x90, 0x83, 0xba, 0xbe, 0xb3, 0xbf, /* 0x50-0x57 */
- 0xbc, 0x9a, 0x9c, 0x9e, 0x9d, 0x00, 0xa2, 0x9f, /* 0x58-0x5f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */
- 0xa5, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */
-};
-static const unsigned char microsoft_cp1251_page20[48] = {
- 0x00, 0x00, 0x00, 0x96, 0x97, 0x00, 0x00, 0x00, /* 0x10-0x17 */
- 0x91, 0x92, 0x82, 0x00, 0x93, 0x94, 0x84, 0x00, /* 0x18-0x1f */
- 0x86, 0x87, 0x95, 0x00, 0x00, 0x00, 0x85, 0x00, /* 0x20-0x27 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */
- 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */
- 0x00, 0x8b, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */
-};
-static const unsigned char microsoft_cp1251_page21[24] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x00, /* 0x10-0x17 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */
- 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */
-};
-static const unsigned char microsoft_cp1251_page22[1] = {
- 0xb0, /* 0x16-0x16 */
-};
-
-static int
-microsoft_cp1251_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
-{
- unsigned char c = 0;
- if (wc < 0x0080) {
- *r = wc;
- return 1;
- }
- else if (wc >= 0x00a0 && wc < 0x00bc)
- c = microsoft_cp1251_page00[wc-0x00a0];
- else if (wc >= 0x0400 && wc < 0x0492)
- c = microsoft_cp1251_page04[wc-0x0400];
- else if (wc >= 0x2010 && wc < 0x203b)
- c = microsoft_cp1251_page20[wc-0x2010];
- else if (wc == 0x20ac)
- c = 0x88;
- else if (wc >= 0x2110 && wc < 0x2123)
- c = microsoft_cp1251_page21[wc-0x2110];
- if (c != 0) {
- *r = c;
- return 1;
- }
- return RET_ILSEQ;
-}
diff --git a/xc/lib/X11/lcUniConv/microsoft_cp1255.h b/xc/lib/X11/lcUniConv/microsoft_cp1255.h
deleted file mode 100644
index 200b7ef69..000000000
--- a/xc/lib/X11/lcUniConv/microsoft_cp1255.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* $XFree86: xc/lib/X11/lcUniConv/microsoft_cp1255.h,v 1.3 2000/11/28 16:10:30 dawes Exp $ */
-
-/*
- * MICROSOFT-CP1255
- */
-
-static const unsigned short microsoft_cp1255_2uni[128] = {
- /* 0x80 */
- 0x20ac, 0xfffd, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
- 0x02c6, 0x2030, 0xfffd, 0x2039, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- /* 0x90 */
- 0xfffd, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
- 0x02dc, 0x2122, 0xfffd, 0x203a, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- /* 0xa0 */
- 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20aa, 0x00a5, 0x00a6, 0x00a7,
- 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
- /* 0xb0 */
- 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
- 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
- /* 0xc0 */
- 0x05b0, 0x05b1, 0x05b2, 0x05b3, 0x05b4, 0x05b5, 0x05b6, 0x05b7,
- 0x05b8, 0x05b9, 0xfffd, 0x05bb, 0x05bc, 0x05bd, 0x05be, 0x05bf,
- /* 0xd0 */
- 0x05c0, 0x05c1, 0x05c2, 0x05c3, 0x05f0, 0x05f1, 0x05f2, 0x05f3,
- 0x05f4, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
- /* 0xe0 */
- 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
- 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
- /* 0xf0 */
- 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
- 0x05e8, 0x05e9, 0x05ea, 0xfffd, 0xfffd, 0x200e, 0x200f, 0xfffd,
-};
-
-static int
-microsoft_cp1255_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
-{
- unsigned char c = *s;
- if (c >= 0x80) {
- unsigned short wc = microsoft_cp1255_2uni[c-0x80];
- if (wc != 0xfffd) {
- *pwc = (ucs4_t) wc;
- return 1;
- }
- }
- else {
- *pwc = (ucs4_t) c;
- return 1;
- }
- return RET_ILSEQ;
-}
-
-static const unsigned char microsoft_cp1255_page00[88] = {
- 0xa0, 0xa1, 0xa2, 0xa3, 0x00, 0xa5, 0xa6, 0xa7, /* 0xa0-0xa7 */
- 0xa8, 0xa9, 0x00, 0xab, 0xac, 0xad, 0xae, 0xaf, /* 0xa8-0xaf */
- 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0xb0-0xb7 */
- 0xb8, 0xb9, 0x00, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, /* 0xb8-0xbf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, /* 0xd0-0xd7 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, /* 0xf0-0xf7 */
-};
-static const unsigned char microsoft_cp1255_page05[72] = {
- 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0xb0-0xb7 */
- 0xc8, 0xc9, 0x00, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, /* 0xb8-0xbf */
- 0xd0, 0xd1, 0xd2, 0xd3, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */
- 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, /* 0xd0-0xd7 */
- 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, /* 0xd8-0xdf */
- 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0xe0-0xe7 */
- 0xf8, 0xf9, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */
- 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */
-};
-static const unsigned char microsoft_cp1255_page20[56] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xfe, /* 0x08-0x0f */
- 0x00, 0x00, 0x00, 0x96, 0x97, 0x00, 0x00, 0x00, /* 0x10-0x17 */
- 0x91, 0x92, 0x82, 0x00, 0x93, 0x94, 0x84, 0x00, /* 0x18-0x1f */
- 0x86, 0x87, 0x95, 0x00, 0x00, 0x00, 0x85, 0x00, /* 0x20-0x27 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */
- 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */
- 0x00, 0x8b, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */
-};
-
-static int
-microsoft_cp1255_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
-{
- unsigned char c = 0;
- if (wc < 0x00a0) {
- *r = wc;
- return 1;
- }
- else if (wc >= 0x00a0 && wc < 0x00f8)
- c = microsoft_cp1255_page00[wc-0x00a0];
- else if (wc == 0x0192)
- c = 0x83;
- else if (wc == 0x02c6)
- c = 0x88;
- else if (wc == 0x02dc)
- c = 0x98;
- else if (wc >= 0x05b0 && wc < 0x05f5)
- c = microsoft_cp1255_page05[wc-0x05b0];
- else if (wc >= 0x2008 && wc < 0x203b)
- c = microsoft_cp1255_page20[wc-0x2008];
- else if (wc == 0x20aa)
- c = 0xa4;
- else if (wc == 0x20ac)
- c = 0x80;
- else if (wc == 0x2122)
- c = 0x99;
- if (c != 0) {
- *r = c;
- return 1;
- }
- return RET_ILSEQ;
-}
-
diff --git a/xc/lib/X11/lcUniConv/microsoft_cp1256.h b/xc/lib/X11/lcUniConv/microsoft_cp1256.h
deleted file mode 100644
index baad88352..000000000
--- a/xc/lib/X11/lcUniConv/microsoft_cp1256.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* $XFree86: xc/lib/X11/lcUniConv/microsoft_cp1256.h,v 1.3 2000/11/28 16:10:31 dawes Exp $ */
-
-/*
- * MICROSOFT-CP1256
- */
-
-static const unsigned short microsoft_cp1256_2uni[128] = {
- /* 0x80 */
- 0x20ac, 0x067e, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,
- 0x02c6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688,
- /* 0x90 */
- 0x06af, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
- 0x06a9, 0x2122, 0x0691, 0x203a, 0x0153, 0x200c, 0x200d, 0x06ba,
- /* 0xa0 */
- 0x00a0, 0x060c, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
- 0x00a8, 0x00a9, 0x06be, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
- /* 0xb0 */
- 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
- 0x00b8, 0x00b9, 0x061b, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x061f,
- /* 0xc0 */
- 0x06c1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
- 0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,
- /* 0xd0 */
- 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00d7,
- 0x0637, 0x0638, 0x0639, 0x063a, 0x0640, 0x0641, 0x0642, 0x0643,
- /* 0xe0 */
- 0x00e0, 0x0644, 0x00e2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00e7,
- 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0649, 0x064a, 0x00ee, 0x00ef,
- /* 0xf0 */
- 0x064b, 0x064c, 0x064d, 0x064e, 0x00f4, 0x064f, 0x0650, 0x00f7,
- 0x0651, 0x00f9, 0x0652, 0x00fb, 0x00fc, 0x200e, 0x200f, 0x06d2,
-};
-
-static int
-microsoft_cp1256_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
-{
- unsigned char c = *s;
- if (c >= 0x80) {
- unsigned short wc = microsoft_cp1256_2uni[c-0x80];
- if (wc != 0xfffd) {
- *pwc = (ucs4_t) wc;
- return 1;
- }
- }
- else {
- *pwc = (ucs4_t) c;
- return 1;
- }
- return RET_ILSEQ;
-}
-
-static const unsigned char microsoft_cp1256_page00[96] = {
- 0xa0, 0x00, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, /* 0xa0-0xa7 */
- 0xa8, 0xa9, 0x00, 0xab, 0xac, 0xad, 0xae, 0xaf, /* 0xa8-0xaf */
- 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0xb0-0xb7 */
- 0xb8, 0xb9, 0x00, 0xbb, 0xbc, 0xbd, 0xbe, 0x00, /* 0xb8-0xbf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, /* 0xd0-0xd7 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */
- 0xe0, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x00, 0xe7, /* 0xe0-0xe7 */
- 0xe8, 0xe9, 0xea, 0xeb, 0x00, 0x00, 0xee, 0xef, /* 0xe8-0xef */
- 0x00, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0xf7, /* 0xf0-0xf7 */
- 0x00, 0xf9, 0x00, 0xfb, 0xfc, 0x00, 0x00, 0x00, /* 0xf8-0xff */
-};
-static const unsigned char microsoft_cp1256_page06[208] = {
- 0x00, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, /* 0x08-0x0f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */
- 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, 0xbf, /* 0x18-0x1f */
- 0x00, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x20-0x27 */
- 0xc8, 0xc9, 0x00, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, /* 0x28-0x2f */
- 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd8, /* 0x30-0x37 */
- 0xd9, 0xda, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */
- 0xdc, 0xdd, 0xde, 0xdf, 0xe1, 0xe3, 0xe4, 0xe5, /* 0x40-0x47 */
- 0xe6, 0xec, 0xed, 0xf0, 0xf1, 0xf2, 0xf3, 0xf5, /* 0x48-0x4f */
- 0xf6, 0xf8, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */
- 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, /* 0x78-0x7f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8d, 0x00, /* 0x80-0x87 */
- 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */
- 0x00, 0x9a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */
- 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */
- 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, /* 0xa8-0xaf */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */
- 0x00, 0x00, 0x9f, 0x00, 0x00, 0x00, 0xaa, 0x00, /* 0xb8-0xbf */
- 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */
- 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */
-};
-static const unsigned char microsoft_cp1256_page20[56] = {
- 0x00, 0x00, 0x00, 0x00, 0x9d, 0x9e, 0xfd, 0xfe, /* 0x08-0x0f */
- 0x00, 0x00, 0x00, 0x96, 0x97, 0x00, 0x00, 0x00, /* 0x10-0x17 */
- 0x91, 0x92, 0x82, 0x00, 0x93, 0x94, 0x84, 0x00, /* 0x18-0x1f */
- 0x86, 0x87, 0x95, 0x00, 0x00, 0x00, 0x85, 0x00, /* 0x20-0x27 */
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */
- 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */
- 0x00, 0x8b, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */
-};
-
-static int
-microsoft_cp1256_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
-{
- unsigned char c = 0;
- if (wc < 0x00a0) {
- *r = wc;
- return 1;
- }
- else if (wc >= 0x00a0 && wc < 0x00ff)
- c = microsoft_cp1256_page00[wc-0x00a0];
- else if (wc == 0x0152)
- c = 0x8c;
- else if (wc == 0x0153)
- c = 0x9c;
- else if (wc == 0x0192)
- c = 0x83;
- else if (wc == 0x02c6)
- c = 0x88;
- else if (wc >= 0x0608 && wc < 0x06d3)
- c = microsoft_cp1256_page06[wc-0x0608];
- else if (wc >= 0x2008 && wc < 0x203b)
- c = microsoft_cp1256_page20[wc-0x2008];
- else if (wc == 0x20ac)
- c = 0x80;
- else if (wc == 0x2122)
- c = 0x99;
- if (c != 0) {
- *r = c;
- return 1;
- }
- return RET_ILSEQ;
-}
-
diff --git a/xc/lib/X11/lcUniConv/tatar_cyr.h b/xc/lib/X11/lcUniConv/tatar_cyr.h
index 478e30bf2..536070056 100644
--- a/xc/lib/X11/lcUniConv/tatar_cyr.h
+++ b/xc/lib/X11/lcUniConv/tatar_cyr.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/lib/X11/lcUniConv/tatar_cyr.h,v 1.2 2000/11/28 16:10:31 dawes Exp $ */
+/* $XFree86: xc/lib/X11/lcUniConv/tatar_cyr.h,v 1.3 2000/12/04 18:49:42 dawes Exp $ */
/*
* TATAR-CYR
@@ -35,10 +35,10 @@ static int
tatar_cyr_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
{
unsigned char c = *s;
- if (c < 0xa0)
+ if (c < 0x80)
*pwc = (ucs4_t) c;
else
- *pwc = (ucs4_t) tatar_cyr_2uni[c-0xa0];
+ *pwc = (ucs4_t) tatar_cyr_2uni[c-0x80];
return 1;
}
diff --git a/xc/lib/Xft/Imakefile b/xc/lib/Xft/Imakefile
index 778a4b6fd..5082af006 100644
--- a/xc/lib/Xft/Imakefile
+++ b/xc/lib/Xft/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/lib/Xft/Imakefile,v 1.4 2000/11/29 08:39:20 keithp Exp $
+XCOMM $XFree86: xc/lib/Xft/Imakefile,v 1.7 2000/12/01 03:27:57 keithp Exp $
#define DoNormalLib NormalLibXft
#define DoSharedLib SharedLibXft
@@ -13,8 +13,7 @@ XCOMM $XFree86: xc/lib/Xft/Imakefile,v 1.4 2000/11/29 08:39:20 keithp Exp $
#include <Threads.tmpl>
-YFLAGS = -d -p XftConfig
-LFLAGS = -PXftConfig -s
+YFLAGS = -d
#ifndef XftLibDir
#define XftLibDir $(LIBDIR)
@@ -29,25 +28,25 @@ XFTCONFIG=$(XFTLIBDIR)/XftConfig
TYPE1DIR=XftType1Dir
CONFIG_DEFS=-DXFT_TYPE1_DIR=\"$(TYPE1DIR)\"
INCLUDES=$(FREETYPE2INCLUDES)
-DEFINES=-DXFT_DEFAULT_PATH=\"$(XFTCONFIG)\" $(FREETYPE2DEFINES)
-REQUIREDLIBS=$(LDPRELIBS) $(XRENDER) $(XLIB) $(FREETYPE2LIB)
+DEFINES=-DXFT_DEFAULT_PATH=\"$(XFTCONFIG)\" $(FREETYPE2DEFINES) $(RENDERDEFINES)
+REQUIREDLIBS=$(LDPRELIBS) $(XRENDERLIB) $(XLIB) $(FREETYPE2LIB)
HEADERS = Xft.h XftFreetype.h
- SRCS = xftcfg.c xftcore.c xftdbg.c xftdir.c xftdpy.c xftdraw.c \
- xftextent.c xftfont.c xftfreetype.c xftfs.c xftglyphs.c \
- xftgram.c xftinit.c xftlex.c xftmatch.c xftname.c xftpat.c \
- xftrender.c xftstr.c xftxlfd.c
-
- OBJS = xftcfg.o xftcore.o xftdbg.o xftdir.o xftdpy.o xftdraw.o \
- xftextent.o xftfont.o xftfreetype.o xftfs.o xftglyphs.o \
- xftgram.o xftinit.o xftlex.o xftmatch.o xftname.o xftpat.o \
- xftrender.o xftstr.o xftxlfd.o
+ SRCS = xftcfg.c xftcolor.c xftcore.c xftdbg.c xftdir.c xftdpy.c \
+ xftdraw.c xftextent.c xftfont.c xftfreetype.c xftfs.c \
+ xftglyphs.c xftgram.c xftinit.c xftlex.c xftlist.c xftmatch.c \
+ xftname.c xftpat.c xftrender.c xftstr.c xftxlfd.c
+
+ OBJS = xftcfg.o xftcolor.o xftcore.o xftdbg.o xftdir.o xftdpy.o \
+ xftdraw.o xftextent.o xftfont.o xftfreetype.o xftfs.o \
+ xftglyphs.o xftgram.o xftinit.o xftlex.o xftlist.o xftmatch.o \
+ xftname.o xftpat.o xftrender.o xftstr.o xftxlfd.o
#include <Library.tmpl>
-LexFile(xftlex)
-YaccFile(xftgram,$(YFLAGS))
+LexFilePrefix(xftlex,XftConfig)
+YaccFilePrefix(xftgram,$(YFLAGS),XftConfig)
#if DoSharedLib && SharedDataSeparation
SpecialCObjectRule(sharedlib,NullParameter,$(SHLIBDEF))
diff --git a/xc/lib/Xft/Xft.h b/xc/lib/Xft/Xft.h
index 38e48733e..618372f7a 100644
--- a/xc/lib/Xft/Xft.h
+++ b/xc/lib/Xft/Xft.h
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/Xft.h,v 1.4 2000/11/29 08:39:20 keithp Exp $
+ * $XFree86: xc/lib/Xft/Xft.h,v 1.10 2000/12/03 19:03:22 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -51,6 +51,10 @@
#define XFT_SCALE "scale" /* double */
#define XFT_RENDER "render" /* Bool */
+/* specific to FreeType rasterizer */
+#define XFT_CHAR_WIDTH "charwidth" /* Int */
+#define XFT_CHAR_HEIGHT "charheight"/* Int */
+
#define XFT_WEIGHT_LIGHT 0
#define XFT_WEIGHT_MEDIUM 100
#define XFT_WEIGHT_DEMIBOLD 180
@@ -113,21 +117,6 @@ typedef struct _XftFontSet {
XftPattern **fonts;
} XftFontSet;
-XftFontSet *
-XftFontSetCreate (void);
-
-void
-XftFontSetDestroy (XftFontSet *s);
-
-Bool
-XftFontSetAdd (XftFontSet *s, XftPattern *font);
-
-void
-XftPatternPrint (XftPattern *p);
-
-XftPattern *
-XftMatchFont (Display *dpy, int screen, XftPattern *pattern, XftResult *result);
-
typedef struct _XftFontStruct XftFontStruct;
typedef struct _XftFont {
@@ -149,21 +138,44 @@ typedef struct _XftFont {
typedef struct _XftDraw XftDraw;
-XftFont *
-XftOpenFont (Display *dpy, XftPattern *pattern);
+typedef struct _XftColor {
+ unsigned long pixel;
+ XRenderColor color;
+} XftColor;
-XftFont *
-XftPatternOpenFont (Display *dpy, int screen, ...);
-
+typedef struct _XftObjectSet {
+ int nobject;
+ int sobject;
+ const char **objects;
+} XftObjectSet;
+
+/* xftcfg.c */
Bool
-XftDefaultSet (Display *dpy, XftPattern *defaults);
+XftConfigSubstitute (XftPattern *p);
-XftPattern *
-XftNameParse (const char *name);
+/* xftcolor.c */
+Bool
+XftColorAllocName (Display *dpy,
+ Visual *visual,
+ Colormap cmap,
+ char *name,
+ XftColor *result);
-XftFont *
-XftNameOpenFont (Display *dpy, int screen, const char *name);
+Bool
+XftColorAllocValue (Display *dpy,
+ Visual *visual,
+ Colormap cmap,
+ XRenderColor *color,
+ XftColor *result);
+
+void
+XftColorFree (Display *dpy,
+ Visual *visual,
+ Colormap cmap,
+ XftColor *color);
+
+/* xftcore.c */
/* xftdbg.c */
void
XftValuePrint (XftValue v);
@@ -179,6 +191,15 @@ XftFontSetPrint (XftFontSet *s);
/* xftdir.c */
/* xftdpy.c */
+Bool
+XftDefaultHasRender (Display *dpy);
+
+Bool
+XftDefaultSet (Display *dpy, XftPattern *defaults);
+
+void
+XftDefaultSubstitute (Display *dpy, int screen, XftPattern *pattern);
+
/* xftdraw.c */
XftDraw *
@@ -188,11 +209,15 @@ XftDrawCreate (Display *dpy,
Colormap colormap);
void
-XftDrawDestroy (XftDraw *d);
+XftDrawChange (XftDraw *draw,
+ Drawable drawable);
+
+void
+XftDrawDestroy (XftDraw *draw);
void
XftDrawString8 (XftDraw *d,
- XRenderColor *color,
+ XftColor *color,
XftFont *font,
int x,
int y,
@@ -201,7 +226,7 @@ XftDrawString8 (XftDraw *d,
void
XftDrawString16 (XftDraw *draw,
- XRenderColor *color,
+ XftColor *color,
XftFont *font,
int x,
int y,
@@ -210,15 +235,15 @@ XftDrawString16 (XftDraw *draw,
void
XftDrawString32 (XftDraw *draw,
- XRenderColor *color,
+ XftColor *color,
XftFont *font,
int x,
int y,
- unsigned long *string,
+ unsigned int *string,
int len);
void
XftDrawRect (XftDraw *d,
- XRenderColor *color,
+ XftColor *color,
int x,
int y,
unsigned int width,
@@ -244,7 +269,7 @@ XftTextExtents16 (Display *dpy,
void
XftTextExtents32 (Display *dpy,
XftFont *font,
- unsigned long *string,
+ unsigned int *string,
int len,
XGlyphInfo *extents);
@@ -261,12 +286,82 @@ XftFontOpen (Display *dpy, int screen, ...);
XftFont *
XftFontOpenName (Display *dpy, int screen, const char *name);
+XftFont *
+XftFontOpenXlfd (Display *dpy, int screen, const char *xlfd);
+
void
XftFontClose (Display *dpy, XftFont *font);
+Bool
+XftGlyphExists (Display *dpy, XftFont *font, unsigned int glyph);
+
/* xftfreetype.c */
/* xftfs.c */
+XftFontSet *
+XftFontSetCreate (void);
+
+void
+XftFontSetDestroy (XftFontSet *s);
+
+Bool
+XftFontSetAdd (XftFontSet *s, XftPattern *font);
+
+/* xftglyphs.c */
+/* see XftFreetype.h */
+
+/* xftgram.y */
+
+/* xftinit.c */
+Bool
+XftInit (char *config);
+
+/* xftlex.l */
+
+/* xftlist.c */
+XftObjectSet *
+XftObjectSetCreate (void);
+
+Bool
+XftObjectSetAdd (XftObjectSet *os, const char *object);
+
+void
+XftObjectSetDestroy (XftObjectSet *os);
+
+XftObjectSet *
+XftObjectSetVaBuild (const char *first, va_list va);
+
+XftObjectSet *
+XftObjectSetBuild (const char *first, ...);
+
+XftFontSet *
+XftListFontSets (XftFontSet **sets,
+ int nsets,
+ XftPattern *p,
+ XftObjectSet *os);
+
+XftFontSet *
+XftListFontsPatternObjects (Display *dpy,
+ int screen,
+ XftPattern *pattern,
+ XftObjectSet *os);
+
+XftFontSet *
+XftListFonts (Display *dpy,
+ int screen,
+ ...);
+
+/* xftmatch.c */
+XftPattern *
+XftFontSetMatch (XftFontSet **sets,
+ int nsets,
+ XftPattern *p,
+ XftResult *result);
+
+/* xftname.c */
+XftPattern *
+XftNameParse (const char *name);
+
/* xftpat.c */
XftPattern *
XftPatternCreate (void);
@@ -275,8 +370,17 @@ XftPattern *
XftPatternDuplicate (XftPattern *p);
void
+XftValueDestroy (XftValue v);
+
+void
+XftValueListDestroy (XftValueList *l);
+
+void
XftPatternDestroy (XftPattern *p);
+XftPatternElt *
+XftPatternFind (XftPattern *p, const char *object, Bool insert);
+
Bool
XftPatternAdd (XftPattern *p, const char *object, XftValue value, Bool append);
@@ -316,4 +420,16 @@ XftPatternVaBuild (XftPattern *orig, va_list va);
XftPattern *
XftPatternBuild (XftPattern *orig, ...);
+/* xftrender.c */
+/* see XftFreetype.h */
+
+/* xftstr.c */
+
+/* xftxlfd.c */
+XftPattern *
+XftXlfdParse (const char *xlfd_orig, Bool ignore_scalable, Bool complete);
+
+XFontStruct *
+XftCoreOpen (Display *dpy, XftPattern *pattern);
+
#endif /* _XFT_H_ */
diff --git a/xc/lib/Xft/Xft.man b/xc/lib/Xft/Xft.man
index 449f87d54..0a71bc931 100644
--- a/xc/lib/Xft/Xft.man
+++ b/xc/lib/Xft/Xft.man
@@ -1,5 +1,5 @@
.\"
-.\" $XFree86: xc/lib/Xft/Xft.man,v 1.1 2000/10/05 18:05:26 keithp Exp $
+.\" $XFree86: xc/lib/Xft/Xft.man,v 1.2 2000/11/30 06:59:45 keithp Exp $
.\"
.\" Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
.\"
@@ -39,107 +39,138 @@ library.
.SH DATATYPES
+.B XftPattern
+holds a set of names with associated value lists; each name refers to a
+property of a font. XftPatterns are used as inputs to the matching code as
+well as holding information about specific fonts.
+
.B XftFont
-is an opaque pointer to a font object containing references to both the X
-server GlyphSet and the FreeType outline data.
+contains general font metrics and a pointer to either the core XFontStruct
+data or a structure holding FreeType and X Render Extension data.
-.B XftFontName
-contains matching information for accessing fonts. Each field is matched
-with a bit in the mask indicating whether that field has valid data.
+.B XftFontStruct
+contains information about FreeType fonts used with the X Render Extension.
-.Ds 0
-.TA .5i 3i
-.ta .5i 3i
-typedef struct _XftFontName {
- unsigned long mask;
- char *face;
- char *encoding;
- char *file;
- int size;
- int rotation;
- int spacing;
-} XftFontName;
+.B XftFontSet
+contains a list of XftPatterns. Internally Xft uses this data structure to
+hold sets of fonts. Externally, Xft returns the results of listing fonts in
+this format.
-#define XftFontNameFace 0x1
-#define XftFontNameEncoding 0x2
-#define XftFontNameFile 0x4
-#define XftFontNameSize 0x8
-#define XftFontNameRotation 0x10
-#define XftFontNameSpacing 0x20
+.B XftObjectSet
+holds a set of names and is used to specify which fields from fonts are
+placed in the the list of returned patterns when listing fonts.
-#define XftFontSpacingAny 0
-#define XftFontSpacingMono 1
-#define XftFontSpacingCell 2
+.B XftDraw
+is an opaque object which holds information used to render to an X drawable
+using either core protocol or the X Rendering extension.
.SH FUNCTIONS
-XftFont *
-XftLoadFont (Display *dpy, XftFontName *name);
-
+.nf
+XftFont *
+XftFontOpen (Display *dpy, int screen, ...);
+.fi
+.B XftFontOpen
+takes a list of pattern elements of the form (field, type, value) terminated
+with a 0, matches that pattern against the available fonts and opens the
+matching font.
+.PP
+Example:
+.br
+ font = XftFontOpen (dpy, scr,
+ XFT_FAMILY, XftTypeString, "charter",
+ XFT_SIZE, XftTypeDouble, 12.0);
+.PP
+This opens the charter font at 12 points. The point size is automatically
+converted to the correct pixel size based on the resolution of the monitor.
+.PP
+.nf
void
-XftFreeFont (Display *dpy, XftFont *font);
-
-int
-XftFontAscent(Display *dpy, XftFont *font);
-
-int
-XftFontDescent(Display *dpy, XftFont *font);
-
-int
-XftFontHeight(Display *dpy, XftFont *font);
-
-int
-XftFontMaxAdvanceWidth (Display *dpy, XftFont *font);
-
+XftTextExtents8 (Display *dpy,
+ XftFont *font,
+ unsigned char *string,
+ int len,
+ XGlyphInfo *extents);
+.fi
+.B XftTextExtents8
+computes the pixel extents of "string" when drawn with "font".
+.PP
+.nf
+XftDraw *
+XftDrawCreate (Display *dpy,
+ Drawable drawable,
+ Visual *visual,
+ Colormap colormap);
+.fi
+.B XtDrawCreate
+creates a structure that can be used to render text and rectangles
+to the screen.
+.PP
+.nf
void
-XftExtentsString (Display *dpy,
- XftFont *font,
- unsigned char *string,
- int len,
- XGlyphInfo *extents);
-
+XftDrawString8 (XftDraw *d,
+ XRenderColor *color,
+ XftFont *font,
+ int x,
+ int y,
+ unsigned char *string,
+ int len);
+.fi
+.B XftDrawString8
+draws "string" using "font" in "color" at "x, y".
+.PP
+.nf
void
-XftDrawString (Display *dpy,
- Picture src,
- XftFont *font,
- Picture dst,
- int srcx,
- int srcy,
- int x,
- int y,
- char *string,
- int len);
-
+XftDrawRect (XftDraw *d,
+ XRenderColor *color,
+ int x,
+ int y,
+ unsigned int width,
+ unsigned int height);
+.fi
+.B XftDrawRect
+fills a solid rectangle in the specified color.
.SH XftConfig
The
.B XftConfig
-file contains instructions for converting an XftFontName structure into
-a usable set of glyphs. XftFontNames are refined through a series of
-matching and editing steps.
-
-ents : ents ent
- |
- ;
-ent : edit
- | path
- | dir
+file contains configuration information for the Xft library consisting of
+directories to look at for font information as well as instructions on
+editing program specified font patterns before attempting to match the
+available fonts.
+.PP
+.nf
+config : "dir" STRING
+ | "include" STRING
+ | "includeif" STRING
+ | "match" tests "edit" edits
;
-edit : MATCH patterns EDIT patterns
+test : qual FIELD-NAME COMPARE CONSTANT
;
-patterns: pattern patterns
- |
+qual : "any"
+ | "all"
;
-pattern : FACE EQUAL STRING
- | ENCODING EQUAL STRING
- | FILE EQUAL STRING
- | SIZE EQUAL NUMBER
- | ROTATION EQUAL NUMBER
- | SPACING EQUAL NUMBER
+edit : FIELD-NAME ASSIGN expr SEMI
;
-path : PATH STRING
- ;
-dir : DIR STRING
- ;
-
+.fi
+.PP
+STRINGs are double-quote delimited. FIELD-NAMEs are identifiers,
+ASSIGN is one of "=", "+=" or "=+". expr can contain the usual
+arithmetic operators and can include FIELD-NAMEs.
+.PP
+"dir" adds a directory to the list of places Xft will look for fonts.
+There is no particular order implied by the list; Xft treats all fonts about
+the same.
+.PP
+"include" and "includeif" cause Xft to load more configuration parameters
+from the indicated file. "includeif" doesn't elicit a complaint if the file
+doesn't exist. If the file name begins with a '~' character, it refers to a
+path relative to the home directory of the user.
+.PP
+If the tests in a "match" statement all match a user-specified pattern, the
+pattern will be edited with the specified instructions.
+.PP
+Where ASSIGN is "=", the matching value in the pattern will be replaced by
+the given expression. "+="/"=+" will prepend/append a new value to the list
+of values for the indicated field.
.SH RESTRICTIONS
.B Xft
diff --git a/xc/lib/Xft/XftFreetype.h b/xc/lib/Xft/XftFreetype.h
index ca69287e3..8cd1e7dfd 100644
--- a/xc/lib/Xft/XftFreetype.h
+++ b/xc/lib/Xft/XftFreetype.h
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/XftFreetype.h,v 1.1 2000/11/29 08:39:20 keithp Exp $
+ * $XFree86: xc/lib/Xft/XftFreetype.h,v 1.4 2000/12/02 10:02:04 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -45,11 +45,31 @@ struct _XftFontStruct {
Bool monospace;
int rgba;
Bool antialias;
+ Bool encoded; /* use charmap */
XRenderPictFormat *format;
XGlyphInfo **realized;
int nrealized;
};
+/* xftglyphs.c */
+void
+XftGlyphLoad (Display *dpy,
+ XftFontStruct *font,
+ unsigned long *glyphs,
+ int nglyph);
+
+void
+XftGlyphCheck (Display *dpy,
+ XftFontStruct *font,
+ unsigned long glyph,
+ unsigned long *missing,
+ int *nmissing);
+
+Bool
+XftFreeTypeGlyphExists (Display *dpy,
+ XftFontStruct *font,
+ unsigned int glyph);
+
/* xftrender.c */
void
@@ -71,7 +91,7 @@ XftRenderString32 (Display *dpy, Picture src,
XftFontStruct *font, Picture dst,
int srcx, int srcy,
int x, int y,
- unsigned long *string, int len);
+ unsigned int *string, int len);
void
XftRenderExtents8 (Display *dpy,
@@ -90,7 +110,7 @@ XftRenderExtents16 (Display *dpy,
void
XftRenderExtents32 (Display *dpy,
XftFontStruct *font,
- unsigned long *string,
+ unsigned int *string,
int len,
XGlyphInfo *extents);
diff --git a/xc/lib/Xft/xftcfg.c b/xc/lib/Xft/xftcfg.c
index f362582da..9d15207eb 100644
--- a/xc/lib/Xft/xftcfg.c
+++ b/xc/lib/Xft/xftcfg.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftcfg.c,v 1.1 2000/11/29 08:39:21 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftcfg.c,v 1.4 2000/12/03 19:05:27 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -125,7 +125,7 @@ _XftConfigPromote (XftValue v)
return v;
}
-static Bool
+Bool
_XftConfigCompareValue (XftValue m,
XftOp op,
XftValue v)
@@ -414,6 +414,86 @@ _XftConfigEvaluate (XftPattern *p, XftExpr *e)
return v;
}
+static Bool
+_XftConfigAdd (XftValueList **head,
+ XftValueList *position,
+ Bool append,
+ XftValue value)
+{
+ XftValueList *new, **prev;
+
+ new = (XftValueList *) malloc (sizeof (XftValueList));
+ if (!new)
+ goto bail0;
+
+ if (value.type == XftTypeString)
+ {
+ value.u.s = _XftSaveString (value.u.s);
+ if (!value.u.s)
+ goto bail1;
+
+ }
+ new->value = value;
+ new->next = 0;
+
+ if (append)
+ {
+ prev = &position->next;
+ }
+ else
+ {
+ for (prev = head; *prev; prev = &(*prev)->next)
+ {
+ if (*prev == position)
+ break;
+ }
+#ifdef XFT_DEBUG
+ if (!*prev)
+ printf ("position not on list\n");
+#endif
+ }
+
+#ifdef XFT_DEBUG_EDIT
+ printf ("%s list before ", append ? "Append" : "Prepend");
+ XftValueListPrint (*head);
+ printf ("\n");
+#endif
+
+ new->next = *prev;
+ *prev = new;
+
+#ifdef XFT_DEBUG_EDIT
+ printf ("%s list after ", append ? "Append" : "Prepend");
+ XftValueListPrint (*head);
+ printf ("\n");
+#endif
+
+ return True;
+
+bail1:
+ free (new);
+bail0:
+ return False;
+}
+
+static void
+_XftConfigDel (XftValueList **head,
+ XftValueList *position)
+{
+ XftValueList **prev;
+
+ for (prev = head; *prev; prev = &(*prev)->next)
+ {
+ if (*prev == position)
+ {
+ *prev = position->next;
+ position->next = 0;
+ XftValueListDestroy (position);
+ break;
+ }
+ }
+}
+
Bool
XftConfigSubstitute (XftPattern *p)
{
@@ -453,7 +533,12 @@ XftConfigSubstitute (XftPattern *p)
break;
}
if (t)
+ {
+#ifdef XFT_DEBUG_EDIT
+ printf ("No match\n");
+#endif
continue;
+ }
#ifdef XFT_DEBUG_EDIT
printf ("Substitute ");
XftSubstPrint (s);
@@ -470,8 +555,8 @@ XftConfigSubstitute (XftPattern *p)
case XftOpAssign:
if (t)
{
- XftValueDestroy (st[i].value->value);
- st[i].value->value = v;
+ _XftConfigAdd (&st[i].elt->values, st[i].value, True, v);
+ _XftConfigDel (&st[i].elt->values, st[i].value);
}
else
{
@@ -480,10 +565,16 @@ XftConfigSubstitute (XftPattern *p)
}
break;
case XftOpPrepend:
- XftPatternAdd (p, e->field, v, False);
+ if (t)
+ _XftConfigAdd (&st[i].elt->values, st[i].value, False, v);
+ else
+ XftPatternAdd (p, e->field, v, False);
break;
case XftOpAppend:
- XftPatternAdd (p, e->field, v, True);
+ if (t)
+ _XftConfigAdd (&st[i].elt->values, st[i].value, True, v);
+ else
+ XftPatternAdd (p, e->field, v, True);
break;
default:
break;
diff --git a/xc/lib/Xft/xftcore.c b/xc/lib/Xft/xftcore.c
index 8360831af..692e17ad6 100644
--- a/xc/lib/Xft/xftcore.c
+++ b/xc/lib/Xft/xftcore.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftcore.c,v 1.1 2000/11/29 08:39:21 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftcore.c,v 1.3 2000/12/02 10:02:04 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -46,7 +46,7 @@ XftCoreConvert16 (unsigned short *string,
}
XChar2b *
-XftCoreConvert32 (unsigned long *string,
+XftCoreConvert32 (unsigned int *string,
int len,
XChar2b xcloc[XFT_CORE_N16LOCAL])
{
@@ -128,7 +128,7 @@ XftCoreExtents16 (Display *dpy,
void
XftCoreExtents32 (Display *dpy,
XFontStruct *fs,
- unsigned long *string,
+ unsigned int *string,
int len,
XGlyphInfo *extents)
{
@@ -156,3 +156,23 @@ XftCoreExtents32 (Display *dpy,
extents->yOff = 0;
}
+Bool
+XftCoreGlyphExists (Display *dpy,
+ XFontStruct *fs,
+ unsigned int glyph)
+{
+ int direction;
+ int ascent, descent;
+ XCharStruct overall;
+ XChar2b xc;
+
+ XftCoreConvert32 (&glyph, 1, &xc);
+ XTextExtents16 (fs, &xc, 1, &direction,
+ &ascent, &descent, &overall);
+ return (overall.lbearing != 0 ||
+ overall.rbearing != 0 ||
+ overall.width != 0 ||
+ overall.ascent != 0 ||
+ overall.descent != 0);
+}
+
diff --git a/xc/lib/Xft/xftdraw.c b/xc/lib/Xft/xftdraw.c
index f90c489c7..daeb09488 100644
--- a/xc/lib/Xft/xftdraw.c
+++ b/xc/lib/Xft/xftdraw.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftdraw.c,v 1.1 2000/11/29 08:39:22 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftdraw.c,v 1.4 2000/12/01 21:32:01 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -47,6 +47,22 @@ XftDrawCreate (Display *dpy,
}
void
+XftDrawChange (XftDraw *draw,
+ Drawable drawable)
+{
+ draw->drawable = drawable;
+ if (draw->render_able)
+ {
+ XRenderPictFormat *format;
+
+ XRenderFreePicture (draw->dpy, draw->render.pict);
+ format = XRenderFindVisualFormat (draw->dpy, draw->visual);
+ draw->render.pict = XRenderCreatePicture (draw->dpy, draw->drawable,
+ format, 0, 0);
+ }
+}
+
+void
XftDrawDestroy (XftDraw *draw)
{
if (draw->render_able)
@@ -56,22 +72,14 @@ XftDrawDestroy (XftDraw *draw)
XRenderFreePicture (draw->dpy, draw->render.fg_pict);
}
if (draw->core_set)
- {
- int i;
-
XFreeGC (draw->dpy, draw->core.draw_gc);
- for (i = 0; i < CACHE_SIZE; i++)
- if (draw->core.u.cache[i].use >= 0)
- XFreeColors (draw->dpy, draw->colormap,
- &draw->core.u.cache[i].pixel, 1, 0);
- }
free (draw);
}
Bool
-XftDrawRenderPrepare (XftDraw *draw,
- XRenderColor *color,
- XftFont *font)
+XftDrawRenderPrepare (XftDraw *draw,
+ XftColor *color,
+ XftFont *font)
{
if (!draw->render_set)
{
@@ -101,129 +109,39 @@ XftDrawRenderPrepare (XftDraw *draw,
draw->render.fg_pix,
pix_format,
CPRepeat, &pa);
- draw->render.fg_color.red = ~color->red;
+ draw->render.fg_color.red = ~color->color.red;
}
}
if (!draw->render_able)
return False;
- if (memcmp (color, &draw->render.fg_color, sizeof (XRenderColor)))
+ if (memcmp (&color->color, &draw->render.fg_color, sizeof (XRenderColor)))
{
XRenderFillRectangle (draw->dpy, PictOpSrc, draw->render.fg_pict,
- color, 0, 0, 1, 1);
- draw->render.fg_color = *color;
+ &color->color, 0, 0, 1, 1);
+ draw->render.fg_color = color->color;
}
return True;
}
-static short
-maskbase (unsigned long m)
-{
- short i;
-
- if (!m)
- return 0;
- i = 0;
- while (!(m&1))
- {
- m>>=1;
- i++;
- }
- return i;
-}
-
-static short
-masklen (unsigned long m)
-{
- unsigned long y;
-
- y = (m >> 1) &033333333333;
- y = m - y - ((y >>1) & 033333333333);
- return (short) (((y + (y >> 3)) & 030707070707) % 077);
-}
-
Bool
-XftDrawCorePrepare (XftDraw *draw,
- XRenderColor *color,
- XftFont *font)
+XftDrawCorePrepare (XftDraw *draw,
+ XftColor *color,
+ XftFont *font)
{
- int i;
- unsigned long pixel;
XGCValues gcv;
if (!draw->core_set)
{
draw->core_set = True;
- if (draw->visual->class == TrueColor)
- {
- draw->core.u.truecolor.red_shift = maskbase (draw->visual->red_mask);
- draw->core.u.truecolor.red_len = masklen (draw->visual->red_mask);
- draw->core.u.truecolor.green_shift = maskbase (draw->visual->green_mask);
- draw->core.u.truecolor.green_len = masklen (draw->visual->green_mask);
- draw->core.u.truecolor.blue_shift = maskbase (draw->visual->blue_mask);
- draw->core.u.truecolor.blue_len = masklen (draw->visual->blue_mask);
- }
- else
- {
- for (i = 0; i < CACHE_SIZE; i++)
- draw->core.u.cache[i].use = -1;
- }
- draw->core.draw_gc = XCreateGC (draw->dpy, draw->drawable, 0, 0);
- }
- if (draw->visual->class == TrueColor)
- {
- pixel = (((color->red >> (16 - draw->core.u.truecolor.red_len)) <<
- draw->core.u.truecolor.red_shift) |
- ((color->green >> (16 - draw->core.u.truecolor.green_len)) <<
- draw->core.u.truecolor.green_shift) |
- ((color->blue >> (16 - draw->core.u.truecolor.blue_len)) <<
- draw->core.u.truecolor.blue_shift));
- }
- else
- {
- int oldest, newest;
- int match;
- XColor xcolor;
-
- oldest = newest = 0;
- match = -1;
- for (i = 1; i < CACHE_SIZE; i++)
- {
- if (draw->core.u.cache[i].use < draw->core.u.cache[oldest].use)
- oldest = i;
- if (draw->core.u.cache[i].use > draw->core.u.cache[newest].use)
- newest = i;
- if (draw->core.u.cache[i].use >= 0 &&
- !memcmp (&draw->core.u.cache[i].color, color,
- sizeof (XRenderColor)))
- match = i;
- }
- if (match < 0)
- {
- match = oldest;
- if (draw->core.u.cache[match].use >= 0)
- {
- XFreeColors (draw->dpy, draw->colormap,
- &draw->core.u.cache[match].pixel, 1, 0);
- draw->core.u.cache[match].use = -1;
- }
- xcolor.red = color->red;
- xcolor.green = color->green;
- xcolor.blue = color->blue;
- xcolor.flags = DoRed|DoGreen|DoBlue;
- if (!XAllocColor (draw->dpy, draw->colormap, &xcolor))
- return False;
- draw->core.u.cache[match].pixel = xcolor.pixel;
- draw->core.u.cache[match].color = *color;
- draw->core.u.cache[match].use = draw->core.u.cache[newest].use + 1;
- }
- else if (match != newest)
- draw->core.u.cache[match].use = draw->core.u.cache[newest].use + 1;
- pixel = draw->core.u.cache[match].pixel;
+ draw->core.fg = color->pixel;
+ gcv.foreground = draw->core.fg;
+ draw->core.draw_gc = XCreateGC (draw->dpy, draw->drawable,
+ GCForeground, &gcv);
+
}
- XGetGCValues (draw->dpy, draw->core.draw_gc, GCForeground|GCFont, &gcv);
- if (gcv.foreground != pixel)
- XSetForeground (draw->dpy, draw->core.draw_gc, pixel);
+ if (draw->core.fg != color->pixel)
+ XSetForeground (draw->dpy, draw->core.draw_gc, color->pixel);
if (font && gcv.font != font->u.core.font->fid)
XSetFont (draw->dpy, draw->core.draw_gc, font->u.core.font->fid);
return True;
@@ -231,7 +149,7 @@ XftDrawCorePrepare (XftDraw *draw,
void
XftDrawString8 (XftDraw *draw,
- XRenderColor *color,
+ XftColor *color,
XftFont *font,
int x,
int y,
@@ -255,7 +173,7 @@ XftDrawString8 (XftDraw *draw,
void
XftDrawString16 (XftDraw *draw,
- XRenderColor *color,
+ XftColor *color,
XftFont *font,
int x,
int y,
@@ -283,11 +201,11 @@ XftDrawString16 (XftDraw *draw,
void
XftDrawString32 (XftDraw *draw,
- XRenderColor *color,
+ XftColor *color,
XftFont *font,
int x,
int y,
- unsigned long *string,
+ unsigned int *string,
int len)
{
if (font->core)
@@ -311,7 +229,7 @@ XftDrawString32 (XftDraw *draw,
void
XftDrawRect (XftDraw *draw,
- XRenderColor *color,
+ XftColor *color,
int x,
int y,
unsigned int width,
@@ -320,7 +238,7 @@ XftDrawRect (XftDraw *draw,
if (XftDrawRenderPrepare (draw, color, 0))
{
XRenderFillRectangle (draw->dpy, PictOpSrc, draw->render.pict,
- color, x, y, width, height);
+ &color->color, x, y, width, height);
}
else
{
diff --git a/xc/lib/Xft/xftextent.c b/xc/lib/Xft/xftextent.c
index 3a775bf21..ce1963cbc 100644
--- a/xc/lib/Xft/xftextent.c
+++ b/xc/lib/Xft/xftextent.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftextent.c,v 1.1 2000/11/29 08:39:22 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftextent.c,v 1.2 2000/12/01 21:32:02 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -61,7 +61,7 @@ XftTextExtents16 (Display *dpy,
void
XftTextExtents32 (Display *dpy,
XftFont *font,
- unsigned long *string,
+ unsigned int *string,
int len,
XGlyphInfo *extents)
{
diff --git a/xc/lib/Xft/xftfont.c b/xc/lib/Xft/xftfont.c
index 5182d36ba..682c3cde2 100644
--- a/xc/lib/Xft/xftfont.c
+++ b/xc/lib/Xft/xftfont.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftfont.c,v 1.1 2000/11/29 08:39:22 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftfont.c,v 1.3 2000/12/02 10:02:04 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -165,6 +165,29 @@ XftFontOpenName (Display *dpy, int screen, const char *name)
return font;
}
+XftFont *
+XftFontOpenXlfd (Display *dpy, int screen, const char *xlfd)
+{
+ XftPattern *pat;
+ XftPattern *match;
+ XftResult result;
+ XftFont *font;
+
+ pat = XftXlfdParse (xlfd, False, False);
+ if (!pat)
+ return 0;
+ match = XftFontMatch (dpy, screen, pat, &result);
+ XftPatternDestroy (pat);
+ if (!match)
+ return 0;
+
+ font = XftFontOpenPattern (dpy, match);
+ if (!font)
+ XftPatternDestroy (match);
+
+ return font;
+}
+
void
XftFontClose (Display *dpy, XftFont *font)
{
@@ -176,3 +199,12 @@ XftFontClose (Display *dpy, XftFont *font)
XftPatternDestroy (font->pattern);
free (font);
}
+
+Bool
+XftGlyphExists (Display *dpy, XftFont *font, unsigned int glyph)
+{
+ if (font->core)
+ return XftCoreGlyphExists (dpy, font->u.core.font, glyph);
+ else
+ return XftFreeTypeGlyphExists (dpy, font->u.ft.font, glyph);
+}
diff --git a/xc/lib/Xft/xftfreetype.c b/xc/lib/Xft/xftfreetype.c
index 1519ab1a9..bf80f6414 100644
--- a/xc/lib/Xft/xftfreetype.c
+++ b/xc/lib/Xft/xftfreetype.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftfreetype.c,v 1.1 2000/11/29 08:39:22 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftfreetype.c,v 1.3 2000/12/03 19:03:22 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -35,6 +35,7 @@ XftFtEncoding xftFtEncoding[] = {
{ "iso10646-1", ft_encoding_unicode, },
{ "iso8859-1", ft_encoding_unicode, },
{ "adobe-fontspecific", ft_encoding_symbol, },
+ { "glyphs-fontspecific",ft_encoding_none, },
};
#define NUM_FT_ENCODINGS (sizeof xftFtEncoding / sizeof xftFtEncoding[0])
@@ -127,6 +128,11 @@ XftFreeTypeQuery (const char *file, int id, int *count)
}
}
+ if (!XftPatternAddString (pat, XFT_ENCODING,
+ "glyphs-fontspecific"))
+ goto bail1;
+
+
FT_Done_Face (face);
return pat;
@@ -147,7 +153,9 @@ XftFreeTypeOpen (Display *dpy, XftPattern *pattern)
double size;
int rgba;
int spacing;
+ int char_width;
Bool antialias;
+ Bool encoded;
char *encoding_name;
FT_Face face;
XftFontStruct *font;
@@ -194,6 +202,12 @@ XftFreeTypeOpen (Display *dpy, XftPattern *pattern)
goto bail0;
}
+ if (XftPatternGetInteger (pattern, XFT_CHAR_WIDTH,
+ 0, &char_width) != XftResultMatch)
+ {
+ char_width = 0;
+ }
+
if (antialias)
{
if (rgba)
@@ -273,18 +287,24 @@ XftFreeTypeOpen (Display *dpy, XftPattern *pattern)
break;
}
- for (charmap = 0; charmap < face->num_charmaps; charmap++)
- if (face->charmaps[charmap]->encoding == encoding)
- break;
-
- if (charmap == face->num_charmaps)
- goto bail2;
+ if (encoding == ft_encoding_none)
+ encoded = False;
+ else
+ {
+ encoded = True;
+ for (charmap = 0; charmap < face->num_charmaps; charmap++)
+ if (face->charmaps[charmap]->encoding == encoding)
+ break;
- error = FT_Set_Charmap(face,
- face->charmaps[charmap]);
+ if (charmap == face->num_charmaps)
+ goto bail2;
- if (error)
- goto bail2;
+ error = FT_Set_Charmap(face,
+ face->charmaps[charmap]);
+
+ if (error)
+ goto bail2;
+ }
height = face->height;
ascent = face->ascender;
@@ -312,6 +332,11 @@ XftFreeTypeOpen (Display *dpy, XftPattern *pattern)
font->max_advance_width = face->max_advance_width * font->size / (64 * div);
font->monospace = (face->face_flags & FT_FACE_FLAG_FIXED_WIDTH) != 0;
+ if (char_width)
+ {
+ font->max_advance_width = char_width;
+ font->monospace = True;
+ }
switch (XftPatternGetInteger (pattern, XFT_SPACING, 0, &spacing)) {
case XftResultNoMatch:
break;
@@ -330,6 +355,7 @@ XftFreeTypeOpen (Display *dpy, XftPattern *pattern)
font->nrealized = 0;
font->rgba = rgba;
font->antialias = antialias;
+ font->encoded = encoded;
font->face = face;
return font;
diff --git a/xc/lib/Xft/xftglyphs.c b/xc/lib/Xft/xftglyphs.c
index 1e99d4727..c400f821d 100644
--- a/xc/lib/Xft/xftglyphs.c
+++ b/xc/lib/Xft/xftglyphs.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftglyphs.c,v 1.1 2000/11/29 08:39:23 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftglyphs.c,v 1.3 2000/12/03 19:03:22 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -53,6 +53,7 @@ XftGlyphLoad (Display *dpy,
#ifdef FREETYPE2
FT_Error error;
FT_ULong charcode;
+ FT_UInt glyphindex;
FT_GlyphSlot glyph;
XGlyphInfo *gi;
Glyph g;
@@ -83,19 +84,45 @@ XftGlyphLoad (Display *dpy,
while (nglyph--)
{
charcode = (FT_ULong) *glyphs++;
- error = FT_Load_Char (font->face, charcode, 0/*|FT_LOAD_NO_HINTING */);
+ if (font->encoded)
+ {
+ glyphindex = FT_Get_Char_Index (font->face, charcode);
+ if (!glyphindex)
+ continue;
+ }
+ else
+ glyphindex = (FT_UInt) charcode;
+ error = FT_Load_Glyph (font->face, glyphindex, 0/*|FT_LOAD_NO_HINTING */);
if (error)
continue;
-#define FLOOR(x) ((x) & -64)
-#define CEIL(x) (((x)+63) & -64)
-#define TRUNC(x) ((x) >> 6)
+#define FLOOR(x) ((x) & -64)
+#define CEIL(x) (((x)+63) & -64)
+#define TRUNC(x) ((x) >> 6)
+#define ROUND(x) (((x)+32) & -64)
glyph = font->face->glyph;
left = FLOOR( glyph->metrics.horiBearingX );
right = CEIL( glyph->metrics.horiBearingX + glyph->metrics.width );
width = TRUNC(right - left);
+ /*
+ * Try to keep monospace fonts ink-inside
+ */
+ if (font->monospace)
+ {
+ if (TRUNC(right) > font->max_advance_width)
+ {
+ int adjust;
+
+ adjust = right - (font->max_advance_width << 6);
+ if (adjust > left)
+ adjust = left;
+ left -= adjust;
+ right -= adjust;
+ width = font->max_advance_width;
+ }
+ }
top = CEIL( glyph->metrics.horiBearingY );
bottom = FLOOR( glyph->metrics.horiBearingY - glyph->metrics.height );
@@ -204,9 +231,9 @@ XftGlyphLoad (Display *dpy,
gi->x = -TRUNC(left);
gi->y = TRUNC(top);
if (font->monospace)
- gi->xOff = font->face->max_advance_width * font->size / (64 * font->face->units_per_EM);
+ gi->xOff = font->max_advance_width;
else
- gi->xOff = ((glyph->metrics.horiAdvance + 0x20) >> 6);
+ gi->xOff = TRUNC(ROUND(glyph->metrics.horiAdvance));
gi->yOff = 0;
g = charcode;
@@ -330,3 +357,18 @@ XftGlyphCheck (Display *dpy,
}
#endif
}
+
+Bool
+XftFreeTypeGlyphExists (Display *dpy,
+ XftFontStruct *font,
+ unsigned int glyph)
+{
+#ifdef FREETYPE2
+ if (font->encoded)
+ return FT_Get_Char_Index (font->face, (FT_ULong) glyph) != 0;
+ else
+ return glyph && glyph <= font->face->num_glyphs;
+#else
+ return False;
+#endif
+}
diff --git a/xc/lib/Xft/xftgram.y b/xc/lib/Xft/xftgram.y
index bcf7df2cd..bcf399a2a 100644
--- a/xc/lib/Xft/xftgram.y
+++ b/xc/lib/Xft/xftgram.y
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftgram.y,v 1.1 2000/11/29 08:39:23 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftgram.y,v 1.2 2000/11/30 23:30:00 dawes Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -25,6 +25,7 @@
%{
#include <stdlib.h>
+#include <stdio.h>
#include "xftint.h"
%}
diff --git a/xc/lib/Xft/xftint.h b/xc/lib/Xft/xftint.h
index b4c305e60..cae06ebae 100644
--- a/xc/lib/Xft/xftint.h
+++ b/xc/lib/Xft/xftint.h
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftint.h,v 1.3 2000/11/29 08:39:23 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftint.h,v 1.8 2000/12/02 10:02:05 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -38,8 +38,6 @@ typedef struct _XftSymbolic {
int value;
} XftSymbolic;
-#define CACHE_SIZE 3
-
struct _XftDraw {
Display *dpy;
Drawable drawable;
@@ -49,25 +47,14 @@ struct _XftDraw {
Bool render_set;
Bool render_able;
struct {
- Picture pict;
- Pixmap fg_pix;
- Picture fg_pict;
+ Picture pict;
+ Pixmap fg_pix;
+ Picture fg_pict;
XRenderColor fg_color;
} render;
struct {
- GC draw_gc;
- union {
- struct {
- unsigned long pixel;
- XRenderColor color;
- int use;
- } cache[CACHE_SIZE];
- struct {
- short red_shift, red_len;
- short green_shift, green_len;
- short blue_shift, blue_len;
- } truecolor;
- } u;
+ GC draw_gc;
+ unsigned long fg;
} core;
};
@@ -152,7 +139,9 @@ Bool
XftConfigAddEdit (XftTest *test, XftEdit *edit);
Bool
-XftConfigSubstitute (XftPattern *p);
+_XftConfigCompareValue (XftValue m,
+ XftOp op,
+ XftValue v);
/* xftcore.c */
@@ -164,7 +153,7 @@ XftCoreConvert16 (unsigned short *string,
XChar2b xcloc[XFT_CORE_N16LOCAL]);
XChar2b *
-XftCoreConvert32 (unsigned long *string,
+XftCoreConvert32 (unsigned int *string,
int len,
XChar2b xcloc[XFT_CORE_N16LOCAL]);
@@ -185,10 +174,15 @@ XftCoreExtents16 (Display *dpy,
void
XftCoreExtents32 (Display *dpy,
XFontStruct *fs,
- unsigned long *string,
+ unsigned int *string,
int len,
XGlyphInfo *extents);
+Bool
+XftCoreGlyphExists (Display *dpy,
+ XFontStruct *fs,
+ unsigned int glyph);
+
/* xftdbg.c */
void
XftOpPrint (XftOp op);
@@ -210,12 +204,6 @@ Bool
XftDirScan (XftFontSet *set, const char *dir);
/* xftdpy.c */
-Bool
-XftDefaultHasRender (Display *dpy);
-
-Bool
-XftDefaultSet (Display *dpy, XftPattern *defaults);
-
int
XftDefaultParseBool (char *v);
@@ -231,19 +219,16 @@ XftDefaultGetDouble (Display *dpy, const char *object, int screen, double def);
XftFontSet *
XftDisplayGetFontSet (Display *dpy);
-void
-XftDefaultSubstitute (Display *dpy, int screen, XftPattern *pattern);
-
/* xftdraw.c */
Bool
-XftDrawRenderPrepare (XftDraw *draw,
- XRenderColor *color,
- XftFont *font);
+XftDrawRenderPrepare (XftDraw *draw,
+ XftColor *color,
+ XftFont *font);
Bool
-XftDrawCorePrepare (XftDraw *draw,
- XRenderColor *color,
- XftFont *font);
+XftDrawCorePrepare (XftDraw *draw,
+ XftColor *color,
+ XftFont *font);
/* xftextent.c */
/* xftfont.c */
@@ -258,28 +243,7 @@ void
XftFreeTypeClose (Display *dpy, XftFontStruct *font);
/* xftfs.c */
-XftFontSet *
-XftFontSetCreate (void);
-
-void
-XftFontSetDestroy (XftFontSet *s);
-
-Bool
-XftFontSetAdd (XftFontSet *s, XftPattern *font);
-
/* xftglyphs.c */
-void
-XftGlyphLoad (Display *dpy,
- XftFontStruct *font,
- unsigned long *glyphs,
- int nglyph);
-
-void
-XftGlyphCheck (Display *dpy,
- XftFontStruct *font,
- unsigned long glyph,
- unsigned long *missing,
- int *nmissing);
/* xftgram.y */
int
XftConfigparse (void);
@@ -330,9 +294,6 @@ XftEditDestroy (XftEdit *e);
Bool
XftInitFtLibrary (void);
-Bool
-XftInit (char *config);
-
/* xftlex.l */
extern int XftConfigLineno;
extern char *XftConfigFile;
@@ -346,30 +307,39 @@ XftConfigLexFile(char *s);
Bool
XftConfigPushInput (char *s, Bool complain);
-/* xftmatch.c */
-XftPattern *
-XftFontSetMatch (XftFontSet **sets,
- int nsets,
- XftPattern *p,
- XftResult *result);
+/* xftlist.c */
+XftObjectSet *
+_XftObjectSetVapBuild (const char *first, va_list *vap);
-/* xftname.c */
Bool
-XftNameConstant (char *string, int *result);
+XftListValueCompare (XftValue v1,
+ XftValue v2);
-XftPattern *
-XftNameParse (const char *name);
+Bool
+XftListValueListCompare (XftValueList *v1orig,
+ XftValueList *v2orig,
+ XftQual qual);
-/* xftpat.c */
+Bool
+XftListMatch (XftPattern *p,
+ XftPattern *font,
+ XftQual qual);
-void
-XftValueDestroy (XftValue v);
+Bool
+XftListAppend (XftFontSet *s,
+ XftPattern *font,
+ XftObjectSet *os);
-void
-XftValueListDestroy (XftValueList *l);
-XftPatternElt *
-XftPatternFind (XftPattern *p, const char *object, Bool insert);
+/* xftmatch.c */
+
+/* xftname.c */
+Bool
+XftNameConstant (char *string, int *result);
+
+/* xftpat.c */
+XftPattern *
+_XftPatternVapBuild (XftPattern *orig, va_list *vap);
/* xftrender.c */
@@ -396,13 +366,7 @@ int
_XftMatchSymbolic (XftSymbolic *s, int n, const char *name, int def);
/* xftxlfd.c */
-XftPattern *
-XftXlfdParse (const char *xlfd_orig, Bool ignore_scalable);
-
Bool
XftCoreAddFonts (XftFontSet *set, Display *dpy, Bool ignore_scalable);
-XFontStruct *
-XftCoreOpen (Display *dpy, XftPattern *pattern);
-
#endif /* _XFT_INT_H_ */
diff --git a/xc/lib/Xft/xftlex.l b/xc/lib/Xft/xftlex.l
index 6c4641653..839ea04c0 100644
--- a/xc/lib/Xft/xftlex.l
+++ b/xc/lib/Xft/xftlex.l
@@ -1,6 +1,6 @@
%{
/*
- * $XFree86: xc/lib/Xft/xftlex.l,v 1.1 2000/11/29 08:39:23 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftlex.l,v 1.2 2000/11/30 23:30:00 dawes Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -25,10 +25,29 @@
#include <string.h>
#include "xftint.h"
+
#include "xftgram.h"
int XftConfigLineno;
+
+static void _XftConfigSkipComment (void);
+
+static void _XftConfigSkipLine (void);
+
+static int _XftConfigPopInput (void);
+
+#define XFT_CONFIG_IN_DEEP 20
+FILE *XftConfigInStack[XFT_CONFIG_IN_DEEP];
+FILE **XftConfigInpt = XftConfigInStack + XFT_CONFIG_IN_DEEP;
+FILE *XftConfigInput;
+int XftConfigLinenos[XFT_CONFIG_IN_DEEP];
+int *XftConfigLinenopt = XftConfigLinenos + XFT_CONFIG_IN_DEEP;
+char *XftConfigFile = "";
+char *XftConfigFileNames[XFT_CONFIG_IN_DEEP];
+char **XftConfigFileNamePt = XftConfigFileNames + XFT_CONFIG_IN_DEEP;
+int XftConfigFiledeep = 0;
+
#undef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
@@ -69,30 +88,10 @@ static void unput (char c)
{
if (c == '\n')
XftConfigLineno--;
- ungetc (XftConfigInput, c);
+ ungetc (c, XftConfigInput);
}
#endif
-#define XFT_CONFIG_IN_DEEP 20
-FILE *XftConfigInStack[XFT_CONFIG_IN_DEEP];
-FILE **XftConfigInpt = XftConfigInStack + XFT_CONFIG_IN_DEEP;
-FILE *XftConfigInput;
-int XftConfigLinenos[XFT_CONFIG_IN_DEEP];
-int *XftConfigLinenopt = XftConfigLinenos + XFT_CONFIG_IN_DEEP;
-char *XftConfigFile = "";
-char *XftConfigFileNames[XFT_CONFIG_IN_DEEP];
-char **XftConfigFileNamePt = XftConfigFileNames + XFT_CONFIG_IN_DEEP;
-int XftConfigFiledeep = 0;
-
-static void
-_XftConfigSkipComment (void);
-
-static void
-_XftConfigSkipLine (void);
-
-static int
-_XftConfigPopInput (void);
-
%}
%%
"/\052" _XftConfigSkipComment();
@@ -126,21 +125,21 @@ all return ALL;
"?" return QUEST;
\"([^\n\"]|\\\")*\" {
yytext[yyleng - 1] = '\0';
- XftConfiglval.sval = yytext+1;
+ yylval.sval = yytext+1;
return STRING;
}
[0-9]+ {
- XftConfiglval.ival = strtol (yytext, 0, 10);
+ yylval.ival = strtol (yytext, 0, 10);
return INTEGER;
}
(([0-9]+((\.[0-9]*(\{[0-9]+\})?)?))|(\.[0-9]+)|(\.[0-9]*\{[0-9]+\}))(([Ee][-+]?[0-9]+)?) {
- XftConfiglval.dval = strtod (yytext, 0);
+ yylval.dval = strtod (yytext, 0);
return DOUBLE;
}
[a-zA-Z][0-9a-zA-Z_]* {
- if (XftNameConstant (yytext, &XftConfiglval.ival))
+ if (XftNameConstant (yytext, &yylval.ival))
return INTEGER;
- XftConfiglval.sval = yytext;
+ yylval.sval = yytext;
return NAME;
}
. ;
diff --git a/xc/lib/Xft/xftname.c b/xc/lib/Xft/xftname.c
index bf9ca0367..bd99f98fe 100644
--- a/xc/lib/Xft/xftname.c
+++ b/xc/lib/Xft/xftname.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftname.c,v 1.1 2000/11/29 08:39:23 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftname.c,v 1.4 2000/12/03 00:45:44 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -72,41 +72,52 @@ XftNameGetType (const char *object)
typedef struct _XftConstant {
const char *name;
+ const char *object;
int value;
} XftConstant;
static XftConstant XftConstants[] = {
- { "light", XFT_WEIGHT_LIGHT, },
- { "medium", XFT_WEIGHT_MEDIUM, },
- { "demibold", XFT_WEIGHT_DEMIBOLD, },
- { "bold", XFT_WEIGHT_BOLD, },
- { "black", XFT_WEIGHT_BLACK, },
-
- { "roman", XFT_SLANT_ROMAN, },
- { "italic", XFT_SLANT_ITALIC, },
- { "oblique", XFT_SLANT_OBLIQUE, },
-
- { "proportional", XFT_PROPORTIONAL, },
- { "mono", XFT_MONO, },
- { "charcell", XFT_CHARCELL, },
-
- { "rgb", XFT_RGBA_RGB, },
- { "bgr", XFT_RGBA_BGR, },
+ { "light", "weight", XFT_WEIGHT_LIGHT, },
+ { "medium", "weight", XFT_WEIGHT_MEDIUM, },
+ { "demibold", "weight", XFT_WEIGHT_DEMIBOLD, },
+ { "bold", "weight", XFT_WEIGHT_BOLD, },
+ { "black", "weight", XFT_WEIGHT_BLACK, },
+
+ { "roman", "slant", XFT_SLANT_ROMAN, },
+ { "italic", "slant", XFT_SLANT_ITALIC, },
+ { "oblique", "slant", XFT_SLANT_OBLIQUE, },
+
+ { "proportional", "spacing", XFT_PROPORTIONAL, },
+ { "mono", "spacing", XFT_MONO, },
+ { "charcell", "spacing", XFT_CHARCELL, },
+
+ { "rgb", "rgba", XFT_RGBA_RGB, },
+ { "bgr", "rgba", XFT_RGBA_BGR, },
};
#define NUM_XFT_CONSTANTS (sizeof XftConstants/sizeof XftConstants[0])
+static XftConstant *
+_XftNameConstantLookup (char *string)
+{
+ int i;
+
+ for (i = 0; i < NUM_XFT_CONSTANTS; i++)
+ if (!strcmp (string, XftConstants[i].name))
+ return &XftConstants[i];
+ return 0;
+}
+
Bool
XftNameConstant (char *string, int *result)
{
- int i;
+ XftConstant *c;
- for (i = 0; i < NUM_XFT_CONSTANTS; i++)
- if (!strcmp (string, XftConstants[i].name))
- {
- *result = XftConstants[i].value;
- return True;
- }
+ if ((c = _XftNameConstantLookup(string)))
+ {
+ *result = c->value;
+ return True;
+ }
return False;
}
@@ -136,6 +147,25 @@ _XftNameConvert (XftType type, char *string)
return v;
}
+static const char *
+_XftNameFindNext (const char *cur, const char *delim, char *save, char *last)
+{
+ char c;
+
+ while (*cur && !strchr (delim, *cur))
+ {
+ c = *cur++;
+ if (isupper (c))
+ c = tolower (c);
+ *save++ = c;
+ }
+ *save = 0;
+ *last = *cur;
+ if (*cur)
+ cur++;
+ return cur;
+}
+
XftPattern *
XftNameParse (const char *name)
{
@@ -143,8 +173,10 @@ XftNameParse (const char *name)
XftPattern *pat;
double d;
char *e;
+ char delim;
XftValue v;
const XftObjectType *t;
+ XftConstant *c;
save = malloc (strlen (name) + 1);
if (!save)
@@ -155,41 +187,58 @@ XftNameParse (const char *name)
for (;;)
{
- name = _XftSplitValue (name, save);
- if (!XftPatternAddString (pat, XFT_FAMILY, save))
- goto bail2;
- if (*name != ',')
+ name = _XftNameFindNext (name, "-,:", save, &delim);
+ if (save[0])
+ {
+ if (!XftPatternAddString (pat, XFT_FAMILY, save))
+ goto bail2;
+ }
+ if (delim != ',')
break;
}
- if (*name)
+ if (delim == '-')
{
- _XftSplitStr (name, save);
- d = strtod (save, &e);
- if (e != save)
+ for (;;)
{
- if (!XftPatternAddDouble (pat, XFT_SIZE, d))
- goto bail2;
+ name = _XftNameFindNext (name, "-,:", save, &delim);
+ d = strtod (save, &e);
+ if (e != save)
+ {
+ if (!XftPatternAddDouble (pat, XFT_SIZE, d))
+ goto bail2;
+ }
+ if (delim != ',')
+ break;
}
- name = strchr (name, '-');
- if (name)
- ++name;
- while (name && *name)
+ }
+ while (delim == ':')
+ {
+ name = _XftNameFindNext (name, "=-:", save, &delim);
+ if (save[0])
{
- name = _XftSplitField (name, save);
- t = XftNameGetType (save);
- if (*name == '=')
+ if (delim == '=' || delim == '-')
{
- do
+ t = XftNameGetType (save);
+ for (;;)
{
- name++;
- name = _XftSplitValue (name, save);
- if (t)
+ name = _XftNameFindNext (name, ":,", save, &delim);
+ if (save[0] && t)
{
v = _XftNameConvert (t->type, save);
- XftPatternAdd (pat, t->object, v, True);
+ if (!XftPatternAdd (pat, t->object, v, True))
+ goto bail2;
}
+ if (delim != ',')
+ break;
+ }
+ }
+ else
+ {
+ if ((c = _XftNameConstantLookup (save)))
+ {
+ if (!XftPatternAddInteger (pat, c->object, c->value))
+ goto bail2;
}
- while (*name == ',');
}
}
}
diff --git a/xc/lib/Xft/xftpat.c b/xc/lib/Xft/xftpat.c
index 7d9caa151..2c8045bb0 100644
--- a/xc/lib/Xft/xftpat.c
+++ b/xc/lib/Xft/xftpat.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftpat.c,v 1.1 2000/11/29 08:39:23 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftpat.c,v 1.2 2000/11/30 06:59:45 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -339,8 +339,9 @@ bail0:
}
XftPattern *
-XftPatternVaBuild (XftPattern *orig, va_list va)
+_XftPatternVapBuild (XftPattern *orig, va_list *vap)
{
+ va_list va = *vap;
const char *object;
XftValue v;
XftPattern *p;
@@ -377,6 +378,7 @@ XftPatternVaBuild (XftPattern *orig, va_list va)
if (!XftPatternAdd (p, object, v, True))
goto bail;
}
+ *vap = va;
return p;
bail:
if (!orig)
@@ -385,12 +387,18 @@ bail:
}
XftPattern *
+XftPatternVaBuild (XftPattern *orig, va_list va)
+{
+ return _XftPatternVapBuild (orig, &va);
+}
+
+XftPattern *
XftPatternBuild (XftPattern *orig, ...)
{
va_list va;
va_start (va, orig);
- orig = XftPatternVaBuild (orig, va);
+ orig = _XftPatternVapBuild (orig, &va);
va_end (va);
return orig;
}
diff --git a/xc/lib/Xft/xftrender.c b/xc/lib/Xft/xftrender.c
index e95d5bd8e..baa120a81 100644
--- a/xc/lib/Xft/xftrender.c
+++ b/xc/lib/Xft/xftrender.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftrender.c,v 1.2 2000/11/29 17:40:37 dawes Exp $
+ * $XFree86: xc/lib/Xft/xftrender.c,v 1.3 2000/12/01 21:32:02 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -69,7 +69,7 @@ XftRenderString16 (Display *dpy, Picture src,
XftGlyphLoad (dpy, font, missing, nmissing);
XRenderCompositeString16 (dpy, PictOpOver, src, dst,
font->format, font->glyphset,
- srcx, srcy, x, y, (unsigned short *) string, len);
+ srcx, srcy, x, y, string, len);
}
void
@@ -77,11 +77,11 @@ XftRenderString32 (Display *dpy, Picture src,
XftFontStruct *font, Picture dst,
int srcx, int srcy,
int x, int y,
- unsigned long *string, int len)
+ unsigned int *string, int len)
{
unsigned long missing[XFT_NMISSING];
int nmissing;
- unsigned long *s;
+ unsigned int *s;
int l;
s = string;
@@ -93,7 +93,7 @@ XftRenderString32 (Display *dpy, Picture src,
XftGlyphLoad (dpy, font, missing, nmissing);
XRenderCompositeString32 (dpy, PictOpOver, src, dst,
font->format, font->glyphset,
- srcx, srcy, x, y, (unsigned long *) string, len);
+ srcx, srcy, x, y, string, len);
}
void
@@ -209,13 +209,13 @@ XftRenderExtents16 (Display *dpy,
void
XftRenderExtents32 (Display *dpy,
XftFontStruct *font,
- unsigned long *string,
+ unsigned int *string,
int len,
XGlyphInfo *extents)
{
unsigned long missing[XFT_NMISSING];
int nmissing;
- unsigned long *s;
+ unsigned int *s;
int l;
XGlyphInfo *gi;
int x, y;
diff --git a/xc/lib/Xft/xftxlfd.c b/xc/lib/Xft/xftxlfd.c
index 3e6c6e26a..8885dd2f1 100644
--- a/xc/lib/Xft/xftxlfd.c
+++ b/xc/lib/Xft/xftxlfd.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/Xft/xftxlfd.c,v 1.1 2000/11/29 08:39:24 keithp Exp $
+ * $XFree86: xc/lib/Xft/xftxlfd.c,v 1.3 2000/12/02 10:02:06 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -47,7 +47,7 @@ static XftSymbolic XftXlfdSlants[] = {
#define NUM_XLFD_SLANTS (sizeof XftXlfdSlants/sizeof XftXlfdSlants[0])
XftPattern *
-XftXlfdParse (const char *xlfd_orig, Bool ignore_scalable)
+XftXlfdParse (const char *xlfd_orig, Bool ignore_scalable, Bool complete)
{
XftPattern *pat;
const char *xlfd = xlfd_orig;
@@ -64,6 +64,7 @@ XftXlfdParse (const char *xlfd_orig, Bool ignore_scalable)
int resx;
int resy;
int slant_value, weight_value;
+ double dpixel;
if (*xlfd != '-')
return 0;
@@ -96,9 +97,14 @@ XftXlfdParse (const char *xlfd_orig, Bool ignore_scalable)
return 0;
if (!XftPatternAddString (pat, XFT_XLFD, xlfd_orig)) goto bail;
- if (!XftPatternAddBool (pat, XFT_CORE, True)) goto bail;
- if (!XftPatternAddString (pat, XFT_FOUNDRY, _XftSplitStr (foundry, save))) goto bail;
- if (!XftPatternAddString (pat, XFT_FAMILY, _XftSplitStr (family, save))) goto bail;
+
+ _XftSplitStr (foundry, save);
+ if (save[0] && strcmp (save, "*") != 0)
+ if (!XftPatternAddString (pat, XFT_FOUNDRY, save)) goto bail;
+
+ _XftSplitStr (family, save);
+ if (save[0] && strcmp (save, "*") != 0)
+ if (!XftPatternAddString (pat, XFT_FAMILY, save)) goto bail;
weight_value = _XftMatchSymbolic (XftXlfdWeights, NUM_XLFD_WEIGHTS,
_XftSplitStr (weight_name, save),
@@ -112,36 +118,54 @@ XftXlfdParse (const char *xlfd_orig, Bool ignore_scalable)
if (!XftPatternAddInteger (pat, XFT_SLANT, slant_value))
goto bail;
- /*
- * Build a style name
- */
- style[0] = '\0';
- switch (weight_value) {
- case XFT_WEIGHT_LIGHT: strcat (style, "light"); break;
- case XFT_WEIGHT_DEMIBOLD: strcat (style, "demibold"); break;
- case XFT_WEIGHT_BOLD: strcat (style, "bold"); break;
- case XFT_WEIGHT_BLACK: strcat (style, "black"); break;
+ dpixel = (double) pixel;
+
+ if (complete)
+ {
+ /*
+ * Build a style name
+ */
+ style[0] = '\0';
+ switch (weight_value) {
+ case XFT_WEIGHT_LIGHT: strcat (style, "light"); break;
+ case XFT_WEIGHT_DEMIBOLD: strcat (style, "demibold"); break;
+ case XFT_WEIGHT_BOLD: strcat (style, "bold"); break;
+ case XFT_WEIGHT_BLACK: strcat (style, "black"); break;
+ }
+ if (slant_value != XFT_SLANT_ROMAN) {
+ if (style[0])
+ strcat (style, " ");
+ switch (slant_value) {
+ case XFT_SLANT_ITALIC: strcat (style, "italic"); break;
+ case XFT_SLANT_OBLIQUE: strcat (style, "oblique"); break;
+ }
+ }
+ if (!style[0])
+ strcat (style, "regular");
+
+ if (!XftPatternAddString (pat, XFT_STYLE, style))
+ goto bail;
+ if (!XftPatternAddBool (pat, XFT_SCALABLE, pixel == 0)) goto bail;
+ if (!XftPatternAddBool (pat, XFT_CORE, True)) goto bail;
}
- if (slant_value != XFT_SLANT_ROMAN) {
- if (style[0])
- strcat (style, " ");
- switch (slant_value) {
- case XFT_SLANT_ITALIC: strcat (style, "italic"); break;
- case XFT_SLANT_OBLIQUE: strcat (style, "oblique"); break;
+ else
+ {
+ if (point > 0)
+ {
+ if (!XftPatternAddDouble (pat, XFT_SIZE, ((double) point) / 10.0)) goto bail;
+ if (pixel <= 0 && resy > 0)
+ {
+ dpixel = (double) point * (double) resy / 720.0;
+ }
}
}
- if (!style[0])
- strcat (style, "regular");
- if (!XftPatternAddString (pat, XFT_STYLE, style))
- goto bail;
+ if (dpixel > 0)
+ if (!XftPatternAddDouble (pat, XFT_PIXEL_SIZE, dpixel)) goto bail;
- if (pixel)
- if (!XftPatternAddDouble (pat, XFT_PIXEL_SIZE, (double) pixel)) goto bail;
-
- if (!XftPatternAddBool (pat, XFT_SCALABLE, pixel == 0)) goto bail;
-
- if (!XftPatternAddString (pat, XFT_ENCODING, _XftDownStr (registry, save))) goto bail;
+ _XftDownStr (registry, save);
+ if (registry[0] && !strchr (registry, '*'))
+ if (!XftPatternAddString (pat, XFT_ENCODING, save)) goto bail;
free (save);
return pat;
@@ -169,15 +193,14 @@ XftCoreAddFonts (XftFontSet *set, Display *dpy, Bool ignore_scalable)
ret = True;
for (i = 0; ret && i < num; i++)
{
- font = XftXlfdParse (xlfds[i], ignore_scalable);
+ font = XftXlfdParse (xlfds[i], ignore_scalable, True);
if (font)
{
-#if 0
- printf ("xlfd %s ", xlfds[i]);
- XftPatternPrint (font);
-#endif
if (!XftFontSetAdd (set, font))
+ {
+ XftPatternDestroy (font);
ret = False;
+ }
}
}
diff --git a/xc/nls/XLC_LOCALE/iscii-dev b/xc/nls/XLC_LOCALE/iscii-dev
index 06a69572e..9910e7133 100644
--- a/xc/nls/XLC_LOCALE/iscii-dev
+++ b/xc/nls/XLC_LOCALE/iscii-dev
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/nls/XLC_LOCALE/iscii-dev,v 1.1 2000/10/27 18:30:53 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/iscii-dev,v 1.2 2000/12/01 17:43:03 dawes Exp $
XCOMM XLocale Database Sample for mulelao-1.
XCOMM
@@ -8,8 +8,13 @@ XCOMM
XLC_FONTSET
XCOMM fs0 class (7 bit ASCII)
fs0 {
- charset ISO8859-1:GL
- font ISCII-DEV:GL; ISO8859-1:GL
+ charset {
+ name ISO8859-1:GL
+ }
+ font {
+ primary ISCII-DEV:GL
+ substitute ISO8859-1:GL
+ }
}
XCOMM fs1 class
fs1 {
@@ -18,6 +23,19 @@ fs1 {
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name ISCII-DEV
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
+
XCOMM
XCOMM XLC_XLOCALE category
XCOMM
@@ -34,6 +52,10 @@ wc_encoding_mask \x00008080
wc_shift_bits 8
#endif
+#ifndef X_LOCALE
+use_stdc_env True
+#endif
+
XCOMM cs0 class
cs0 {
side GL:Default
@@ -52,7 +74,7 @@ cs1 {
#else
wc_encoding \x00008080
#endif
- ct_encoding ISCII-DEV:GR; ISO8859-1:GR
+ ct_encoding ISCII-DEV:GR
}
END XLC_XLOCALE
diff --git a/xc/nls/XLC_LOCALE/isiri-3342 b/xc/nls/XLC_LOCALE/isiri-3342
index 5d6817afa..d76a03596 100644
--- a/xc/nls/XLC_LOCALE/isiri-3342
+++ b/xc/nls/XLC_LOCALE/isiri-3342
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/nls/XLC_LOCALE/isiri-3342,v 1.1 2000/10/27 18:30:55 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/isiri-3342,v 1.2 2000/12/01 17:43:03 dawes Exp $
XCOMM XLocale Database Sample for mulelao-1.
XCOMM
@@ -8,8 +8,13 @@ XCOMM
XLC_FONTSET
XCOMM fs0 class (7 bit ASCII)
fs0 {
- charset ISO8859-1:GL
- font ISIRI-3342:GL; ISO8859-1:GL
+ charset {
+ name ISO8859-1:GL
+ }
+ font {
+ primary ISIRI-3342:GL
+ substitute ISO8859-1:GL
+ }
}
XCOMM fs1 class
fs1 {
@@ -18,6 +23,19 @@ fs1 {
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name ISIRI-3342
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
+
XCOMM
XCOMM XLC_XLOCALE category
XCOMM
@@ -34,6 +52,10 @@ wc_encoding_mask \x00008080
wc_shift_bits 8
#endif
+#ifndef X_LOCALE
+use_stdc_env True
+#endif
+
XCOMM cs0 class
cs0 {
side GL:Default
@@ -52,7 +74,7 @@ cs1 {
#else
wc_encoding \x00008080
#endif
- ct_encoding ISIRI-3342:GR; ISO8859-1:GR
+ ct_encoding ISIRI-3342:GR
}
END XLC_XLOCALE
diff --git a/xc/nls/XLC_LOCALE/iso8859-9e b/xc/nls/XLC_LOCALE/iso8859-9e
index 3b0e5a8d1..8157a2f32 100644
--- a/xc/nls/XLC_LOCALE/iso8859-9e
+++ b/xc/nls/XLC_LOCALE/iso8859-9e
@@ -1,7 +1,7 @@
XCOMM $XConsortium: iso8859-9e /main/7 1996/09/28 16:51:50 rws $
XCOMM XLocale Database Sample for iso8859-9e.
XCOMM
-XCOMM $XFree86: xc/nls/XLC_LOCALE/iso8859-9e,v 1.2 2000/10/28 00:34:03 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/iso8859-9e,v 1.3 2000/12/01 17:43:03 dawes Exp $
XCOMM
XCOMM XLC_FONTSET category
@@ -28,6 +28,18 @@ fs1 {
}
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name ISO8859-9E
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
XCOMM
XCOMM XLC_XLOCALE category
diff --git a/xc/nls/XLC_LOCALE/koi8-c b/xc/nls/XLC_LOCALE/koi8-c
index ffe2b2ec1..4941705d7 100644
--- a/xc/nls/XLC_LOCALE/koi8-c
+++ b/xc/nls/XLC_LOCALE/koi8-c
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/nls/XLC_LOCALE/koi8-c,v 1.1 2000/10/27 18:30:56 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/koi8-c,v 1.2 2000/12/01 17:43:03 dawes Exp $
XCOMM XLocale Database Sample for koi8-c.
XCOMM
@@ -8,8 +8,13 @@ XCOMM
XLC_FONTSET
XCOMM fs0 class (7 bit ASCII)
fs0 {
- charset ISO8859-1:GL
- font KOI8-C:GL; ISO8859-1:GL
+ charset {
+ name ISO8859-1:GL
+ }
+ font {
+ primary KOI8-C:GL
+ substitute ISO8859-1:GL
+ }
}
XCOMM fs1 class
fs1 {
@@ -18,6 +23,19 @@ fs1 {
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name KOI8-C
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
+
XCOMM
XCOMM XLC_XLOCALE category
XCOMM
@@ -34,6 +52,10 @@ wc_encoding_mask \x00008080
wc_shift_bits 8
#endif
+#ifndef X_LOCALE
+use_stdc_env True
+#endif
+
XCOMM cs0 class
cs0 {
side GL:Default
@@ -52,7 +74,7 @@ cs1 {
#else
wc_encoding \x00008080
#endif
- ct_encoding KOI8-C:GR; ISO8859-1:GR
+ ct_encoding KOI8-C:GR
}
END XLC_XLOCALE
diff --git a/xc/nls/XLC_LOCALE/microsoft-cp1251 b/xc/nls/XLC_LOCALE/microsoft-cp1251
index 98a3ffad2..3725553c0 100644
--- a/xc/nls/XLC_LOCALE/microsoft-cp1251
+++ b/xc/nls/XLC_LOCALE/microsoft-cp1251
@@ -1,7 +1,7 @@
XCOMM $TOG: microsoft-cp1251 /main/1 1998/05/20 14:49:21 kaleb $
XCOMM XLocale Database Sample for microsoft-cp1251.
XCOMM
-XCOMM $XFree86: xc/nls/XLC_LOCALE/microsoft-cp1251,v 1.1 2000/10/27 18:30:56 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/microsoft-cp1251,v 1.2 2000/12/01 17:43:03 dawes Exp $
XCOMM
XCOMM XLC_FONTSET category
@@ -29,6 +29,19 @@ fs1 {
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name MICROSOFT-CP1251
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
+
XCOMM
XCOMM XLC_XLOCALE category
XCOMM
diff --git a/xc/nls/XLC_LOCALE/microsoft-cp1255 b/xc/nls/XLC_LOCALE/microsoft-cp1255
index ad84b5edd..da9103069 100644
--- a/xc/nls/XLC_LOCALE/microsoft-cp1255
+++ b/xc/nls/XLC_LOCALE/microsoft-cp1255
@@ -1,7 +1,7 @@
XCOMM $TOG: microsoft-cp1255 /main/1 1998/05/20 14:49:21 kaleb $
XCOMM XLocale Database Sample for microsoft-cp1255.
XCOMM
-XCOMM $XFree86: xc/nls/XLC_LOCALE/microsoft-cp1255,v 1.1 2000/10/27 18:30:56 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/microsoft-cp1255,v 1.2 2000/12/01 17:43:03 dawes Exp $
XCOMM
XCOMM XLC_FONTSET category
@@ -29,6 +29,19 @@ fs1 {
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name MICROSOFT-CP1255
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
+
XCOMM
XCOMM XLC_XLOCALE category
XCOMM
diff --git a/xc/nls/XLC_LOCALE/microsoft-cp1256 b/xc/nls/XLC_LOCALE/microsoft-cp1256
index 661af1066..3fb6dc961 100644
--- a/xc/nls/XLC_LOCALE/microsoft-cp1256
+++ b/xc/nls/XLC_LOCALE/microsoft-cp1256
@@ -1,7 +1,7 @@
XCOMM $TOG: microsoft-cp1256 /main/1 1998/05/20 14:49:21 kaleb $
XCOMM XLocale Database Sample for microsoft-cp1256.
XCOMM
-XCOMM $XFree86: xc/nls/XLC_LOCALE/microsoft-cp1256,v 1.1 2000/10/27 18:30:57 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/microsoft-cp1256,v 1.2 2000/12/01 17:43:03 dawes Exp $
XCOMM
XCOMM XLC_FONTSET category
@@ -29,6 +29,19 @@ fs1 {
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name MICROSOFT-CP1256
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
+
XCOMM
XCOMM XLC_XLOCALE category
XCOMM
diff --git a/xc/nls/XLC_LOCALE/nokhchi-1 b/xc/nls/XLC_LOCALE/nokhchi-1
index 8ff4933ed..8750b3bab 100644
--- a/xc/nls/XLC_LOCALE/nokhchi-1
+++ b/xc/nls/XLC_LOCALE/nokhchi-1
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/nls/XLC_LOCALE/nokhchi-1,v 1.1 2000/10/27 18:30:57 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/nokhchi-1,v 1.2 2000/12/01 17:43:03 dawes Exp $
XCOMM XLocale Database Sample for mulelao-1.
XCOMM
@@ -8,8 +8,13 @@ XCOMM
XLC_FONTSET
XCOMM fs0 class (7 bit ASCII)
fs0 {
- charset ISO8859-1:GL
- font NOKHCHI-1:GL; ISO8859-1:GL
+ charset {
+ name ISO8859-1:GL
+ }
+ font {
+ primary NOKHCHI-1:GL
+ substitute ISO8859-1:GL
+ }
}
XCOMM fs1 class
fs1 {
@@ -18,6 +23,19 @@ fs1 {
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name NOKHCHI-1
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
+
XCOMM
XCOMM XLC_XLOCALE category
XCOMM
@@ -34,6 +52,10 @@ wc_encoding_mask \x00008080
wc_shift_bits 8
#endif
+#ifndef X_LOCALE
+use_stdc_env True
+#endif
+
XCOMM cs0 class
cs0 {
side GL:Default
@@ -52,7 +74,7 @@ cs1 {
#else
wc_encoding \x00008080
#endif
- ct_encoding NOKHCHI-1:GR; ISO8859-1:GR
+ ct_encoding NOKHCHI-1:GR
}
END XLC_XLOCALE
diff --git a/xc/nls/XLC_LOCALE/tatar-cyr b/xc/nls/XLC_LOCALE/tatar-cyr
index b1960dee0..17f9893f2 100644
--- a/xc/nls/XLC_LOCALE/tatar-cyr
+++ b/xc/nls/XLC_LOCALE/tatar-cyr
@@ -1,7 +1,7 @@
XCOMM $TOG: tatar-cyr /main/1 1998/05/20 14:49:21 kaleb $
XCOMM XLocale Database Sample for tatar-cyr.
XCOMM
-XCOMM $XFree86: xc/nls/XLC_LOCALE/tatar-cyr,v 1.1 2000/10/27 18:30:57 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/tatar-cyr,v 1.2 2000/12/01 17:43:03 dawes Exp $
XCOMM
XCOMM XLC_FONTSET category
@@ -29,6 +29,19 @@ fs1 {
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name TATAR-CYR
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
+
XCOMM
XCOMM XLC_XLOCALE category
XCOMM
diff --git a/xc/nls/XLC_LOCALE/tscii-0 b/xc/nls/XLC_LOCALE/tscii-0
index 05197e899..19b610c3b 100644
--- a/xc/nls/XLC_LOCALE/tscii-0
+++ b/xc/nls/XLC_LOCALE/tscii-0
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/nls/XLC_LOCALE/tscii-0,v 1.1 2000/10/27 18:30:57 dawes Exp $
+XCOMM $XFree86: xc/nls/XLC_LOCALE/tscii-0,v 1.2 2000/12/01 17:43:03 dawes Exp $
XCOMM XLocale Database Sample for mulelao-1.
XCOMM
@@ -8,8 +8,13 @@ XCOMM
XLC_FONTSET
XCOMM fs0 class (7 bit ASCII)
fs0 {
- charset ISO8859-1:GL
- font TSCII-0:GL; ISO8859-1:GL
+ charset {
+ name ISO8859-1:GL
+ }
+ font {
+ primary TSCII-0:GL
+ substitute ISO8859-1:GL
+ }
}
XCOMM fs1 class
fs1 {
@@ -18,6 +23,19 @@ fs1 {
}
END XLC_FONTSET
+XCOMM
+XCOMM XLC_CHARSET_DEFINE category
+XCOMM
+XLC_CHARSET_DEFINE
+csd0 {
+ charset_name TSCII-0
+ side GR
+ length 1
+ string_encoding False
+ sequence \x1b%/1
+}
+END XLC_CHARSET_DEFINE
+
XCOMM
XCOMM XLC_XLOCALE category
XCOMM
@@ -34,6 +52,10 @@ wc_encoding_mask \x00008080
wc_shift_bits 8
#endif
+#ifndef X_LOCALE
+use_stdc_env True
+#endif
+
XCOMM cs0 class
cs0 {
side GL:Default
@@ -52,7 +74,7 @@ cs1 {
#else
wc_encoding \x00008080
#endif
- ct_encoding TSCII-0:GR; ISO8859-1:GR
+ ct_encoding TSCII-0:GR
}
END XLC_XLOCALE
diff --git a/xc/programs/Xserver/Imakefile b/xc/programs/Xserver/Imakefile
index 4f5e56dbb..d115da4b2 100644
--- a/xc/programs/Xserver/Imakefile
+++ b/xc/programs/Xserver/Imakefile
@@ -2,7 +2,7 @@ XCOMM $TOG: Imakefile /main/249 1997/12/11 11:18:14 kaleb $
/*
* Server Master Makefile
*/
-XCOMM $XFree86: xc/programs/Xserver/Imakefile,v 3.203 2000/11/18 19:37:05 tsi Exp $
+XCOMM $XFree86: xc/programs/Xserver/Imakefile,v 3.204 2000/11/30 23:30:01 dawes Exp $
#ifndef InstallXserverSetUID
#define InstallXserverSetUID NO
@@ -263,12 +263,14 @@ XPFBLIBS = dix/LibraryTargetName(xpstubs)
#ifdef ServerExtraSysLibs
EXTRASYSLIBS = ServerExtraSysLibs
#endif
-#if SystemV4 || defined(SGIArchitecture) || UseRgbTxt
- SYSLIBS = $(ZLIB) MathLibrary Krb5Libraries $(USB) $(EXTRASYSLIBS)
-#else
- SYSLIBS = $(ZLIB) MathLibrary Krb5Libraries DBMLibrary $(USB) \
- $(EXTRASYSLIBS)
+#if HasPam && HasPamMisc
+ PAMLIBS = PamLibraries PamMiscLibraries
+#endif
+#if !(SystemV4 || defined(SGIArchitecture) || UseRgbTxt)
+ DBMLIBS = DBMLibrary
#endif
+ SYSLIBS = $(ZLIB) MathLibrary Krb5Libraries $(DBMLIBS) $(USB) \
+ $(PAMLIBS) $(EXTRASYSLIBS)
CBRT = mi/LibraryTargetName(cbrt)
STDDIRS = include dix os mi $(XPDDXDIR) $(EXTDIRS)
diff --git a/xc/programs/Xserver/hw/darwin/Imakefile b/xc/programs/Xserver/hw/darwin/Imakefile
index 2a1f2430a..9039d531b 100644
--- a/xc/programs/Xserver/hw/darwin/Imakefile
+++ b/xc/programs/Xserver/hw/darwin/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/hw/darwin/Imakefile,v 1.2 2000/11/16 03:22:18 dawes Exp $
+XCOMM $XFree86: xc/programs/Xserver/hw/darwin/Imakefile,v 1.3 2000/12/01 19:47:37 dawes Exp $
#include <Server.tmpl>
#define IHaveSubdirs
@@ -17,6 +17,13 @@ INCLUDES = -I. -I$(SERVERSRC)/mi -I$(SERVERSRC)/mfb -I$(SERVERSRC)/cfb \
-I$(SERVERSRC)/include -I$(XINCLUDESRC) -I$(SERVERSRC)/os \
-I$(INCLUDESRC) -I$(FONTINCSRC)
+#if defined(XFree86CustomVersion)
+CUSTOMVERSION = XFree86CustomVersion
+CUSTOMVERDEF = -DXF86_CUSTOM_VERSION='$(CUSTOMVERSION)'
+#endif
+
+DEFINES = $(CUSTOMVERDEF)
+
NormalLibraryObjectRule()
NormalLibraryTarget(darwin,$(OBJS))
diff --git a/xc/programs/Xserver/hw/darwin/Xdarwin.man b/xc/programs/Xserver/hw/darwin/Xdarwin.man
index aee06c433..b1062791c 100644
--- a/xc/programs/Xserver/hw/darwin/Xdarwin.man
+++ b/xc/programs/Xserver/hw/darwin/Xdarwin.man
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/darwin/Xdarwin.man,v 1.1 2000/11/15 01:36:13 dawes Exp $
+.\" $XFree86: xc/programs/Xserver/hw/darwin/Xdarwin.man,v 1.2 2000/12/01 19:47:38 dawes Exp $
.\"
.TH XDARWIN 1 "Release 6.4" "X Version 11"
.SH NAME
@@ -36,6 +36,12 @@ per pixel are supported.
.TP 8
.B "\-refresh \fIrate\fP"
Gives the refresh rate to use in Hz. For LCD displays this should be 0.
+.TP 8
+.B \-showconfig
+Print out the server version and patchlevel.
+.TP 8
+.B \-version
+Same as \fB\-showconfig\fP.
.SH "SEE ALSO"
.PP
X(1), Xserver(1), xdm(1), xinit(1)
diff --git a/xc/programs/Xserver/hw/darwin/darwin.c b/xc/programs/Xserver/hw/darwin/darwin.c
index a28d07d70..a62405f72 100644
--- a/xc/programs/Xserver/hw/darwin/darwin.c
+++ b/xc/programs/Xserver/hw/darwin/darwin.c
@@ -8,7 +8,7 @@
* Significantly rewritten for XFree86 4.0.1 by Torrey Lyons
*
**************************************************************/
-/* $XFree86: xc/programs/Xserver/hw/darwin/darwin.c,v 1.1 2000/11/15 01:36:13 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/darwin/darwin.c,v 1.2 2000/12/01 19:47:38 dawes Exp $ */
#define NDEBUG 1
@@ -22,6 +22,8 @@
#include "mibstore.h"
#include "mipointer.h"
#include "micmap.h"
+#include "site.h"
+#include "xf86Version.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -70,6 +72,44 @@ static PixmapFormatRec formats[] = {
};
const int NUMFORMATS = sizeof(formats)/sizeof(formats[0]);
+#ifndef OSNAME
+#define OSNAME " Darwin"
+#endif
+#ifndef OSVENDOR
+#define OSVENDOR ""
+#endif
+#ifndef PRE_RELEASE
+#define PRE_RELEASE (XF86_VERSION_BETA || XF86_VERSION_ALPHA)
+#endif
+
+static void
+DarwinPrintBanner()
+{
+#if PRE_RELEASE
+ ErrorF("\n"
+ "This is a pre-release version of XFree86, and is not supported in any\n"
+ "way. Bugs may be reported to XFree86@XFree86.Org and patches submitted\n"
+ "to fixes@XFree86.Org. Before reporting bugs in pre-release versions,\n"
+ "please check the latest version in the XFree86 CVS repository\n"
+ "(http://www.XFree86.Org/cvs)\n");
+#endif
+ ErrorF("\nXFree86 Version%s", XF86_VERSION);
+#ifdef XF86_CUSTOM_VERSION
+ ErrorF("(%s) ", XF86_CUSTOM_VERSION);
+#endif
+ ErrorF("/ X Window System\n");
+ ErrorF("(protocol Version %d, revision %d, vendor release %d)\n",
+ X_PROTOCOL, X_PROTOCOL_REVISION, VENDOR_RELEASE );
+ ErrorF("Release Date: %s\n", XF86_DATE);
+ ErrorF("\tIf the server is older than 6-12 months, or if your hardware is\n"
+ "\tnewer than the above date, look for a newer version before\n"
+ "\treporting problems. (See http://www.XFree86.Org/FAQ)\n");
+ ErrorF("Operating System:%s%s\n", OSNAME, OSVENDOR);
+#if defined(BUILDERSTRING)
+ ErrorF("%s \n",BUILDERSTRING);
+#endif
+}
+
static Bool DarwinSaveScreen(ScreenPtr pScreen, int on)
{ // FIXME
if (on == SCREEN_SAVER_FORCER) {
@@ -623,8 +663,8 @@ static void *DarwinHIDThread(void *arg);
* Register the keyboard and mouse devices
*/
void InitInput( int argc, char **argv )
-{ static int initialized = 0;
- if (!initialized) {
+{
+ if (serverGeneration == 1) {
int fd[2];
assert( pipe(fd) == 0 );
@@ -645,14 +685,6 @@ mach_port_t masterPort;
mach_port_t notificationPort;
IONotificationPortRef NotificationPortRef;
-static void InitIOKit(void)
-{
- kern_return_t kr;
-
- kr = IOMasterPort(bootstrap_port, &masterPort);
- kern_assert( kr );
-}
-
static void ClearEvent(NXEvent * ep)
{
static NXEvent nullEvent = {NX_NULLEVENT, {0, 0 }, 0, -1, 0 };
@@ -891,44 +923,44 @@ void SetupFBandHID(void)
/*
- * InitOutput --
+ * InitOutput
* Initialize screenInfo for all actually accessible framebuffers.
- *
- * FIXME: why does this get called multiple times when a session is starting?
*/
void InitOutput( ScreenInfo *pScreenInfo, int argc, char **argv )
-{ int i;
- static int initialized = 0;
-// static PixmapFormatRec darwinFormat;
-
- // perform one-time-only initialization
- if ( !initialized ) {
- initialized = 1;
- // do our appkit or darwin device driver work to open and map a screen
- InitIOKit();
- SetupFBandHID();
- }
-
- pScreenInfo->imageByteOrder = IMAGE_BYTE_ORDER;
- pScreenInfo->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT;
- pScreenInfo->bitmapScanlinePad = BITMAP_SCANLINE_PAD;
- pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
+{
+ int i;
- // list how we want common pixmap formats to be padded
- pScreenInfo->numPixmapFormats = NUMFORMATS;
- for (i = 0; i < NUMFORMATS; i++)
- pScreenInfo->formats[i] = formats[i];
+ pScreenInfo->imageByteOrder = IMAGE_BYTE_ORDER;
+ pScreenInfo->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT;
+ pScreenInfo->bitmapScanlinePad = BITMAP_SCANLINE_PAD;
+ pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER;
+ // list how we want common pixmap formats to be padded
+ pScreenInfo->numPixmapFormats = NUMFORMATS;
+ for (i = 0; i < NUMFORMATS; i++)
+ pScreenInfo->formats[i] = formats[i];
- AddScreen( DarwinAddScreen, argc, argv );
+ AddScreen( DarwinAddScreen, argc, argv );
}
void OsVendorFatalError( void )
-{ ErrorF( " OsVendorFatalError\n" );
+{ ErrorF( " OsVendorFatalError\n" );
}
+/*
+ * OSVendorInit
+ * One-time initialization of Darwin support.
+ * Connect to framebuffer and HID system.
+ */
void OsVendorInit(void)
{
+ kern_return_t kr;
+
+ kr = IOMasterPort(bootstrap_port, &masterPort);
+ kern_assert( kr );
+
+ DarwinPrintBanner();
+ SetupFBandHID();
}
/*
@@ -999,7 +1031,7 @@ int ddxProcessArgument( int argc, char *argv[], int i )
return 2;
}
- if ( !strcmp( argv[i], "-refresh" ) ) {
+ if ( !strcmp( argv[i], "-refresh" ) ) {
if ( i == argc-1 ) {
FatalError( "-refresh must be followed by a number" );
}
@@ -1012,7 +1044,12 @@ int ddxProcessArgument( int argc, char *argv[], int i )
return 2;
}
- return 0;
+ if (!strcmp( argv[i], "-showconfig" ) || !strcmp( argv[i], "-version" )) {
+ DarwinPrintBanner();
+ exit(0);
+ }
+
+ return 0;
}
/*
@@ -1034,6 +1071,7 @@ void ddxUseMsg( void )
ErrorF("-size <height> <width> : use a screen resolution of <height> x <width>.\n");
ErrorF("-depth <8,15,24> : use this bit depth.\n");
ErrorF("-refresh <rate> : use a monitor refresh rate of <rate> Hz.\n");
+ ErrorF("-version : show the server version\n");
ErrorF("\n");
}
diff --git a/xc/programs/Xserver/hw/darwin/utils/Imakefile b/xc/programs/Xserver/hw/darwin/utils/Imakefile
index 7947a14ce..72acc9e80 100644
--- a/xc/programs/Xserver/hw/darwin/utils/Imakefile
+++ b/xc/programs/Xserver/hw/darwin/utils/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/hw/darwin/utils/Imakefile,v 1.2 2000/11/16 03:22:18 dawes Exp $
+XCOMM $XFree86: xc/programs/Xserver/hw/darwin/utils/Imakefile,v 1.3 2000/12/01 19:47:38 dawes Exp $
SRCS = dumpkeymap.c
OBJS = dumpkeymap.o
@@ -6,6 +6,5 @@ EXTRA_LOAD_FLAGS = -framework IOKit
AllTarget(ProgramTargetName(dumpkeymap))
-SingleProgramTarget(dumpkeymap,$(OBJS),NullParameter,NullParameter)
-InstallProgram(dumpkeymap,$(BINDIR))
+SimpleProgramTarget(dumpkeymap)
diff --git a/xc/programs/Xserver/hw/darwin/utils/dumpkeymap.c b/xc/programs/Xserver/hw/darwin/utils/dumpkeymap.c
index a3b96ea45..22fcf6179 100644
--- a/xc/programs/Xserver/hw/darwin/utils/dumpkeymap.c
+++ b/xc/programs/Xserver/hw/darwin/utils/dumpkeymap.c
@@ -1,5 +1,4 @@
-// $XFree86: xc/programs/Xserver/hw/darwin/utils/dumpkeymap.c,v 1.1 2000/11/15 01:36:14 dawes Exp $
-//
+// $XFree86: xc/programs/Xserver/hw/darwin/utils/dumpkeymap.c,v 1.2 2000/12/04 20:21:18 dawes Exp $
//=============================================================================
//
// Copyright (C) 1999,2000 by Eric Sunshine <sunshine@sunshineco.com>
@@ -31,271 +30,88 @@
//-----------------------------------------------------------------------------
// dumpkeymap.c
//
-// Prints a textual representation of an Apple/NeXT .keymapping file, or
-// the currently active key map in use by the WindowServer and the AppKit
-// on the local machine.
-//
-// KEY MAPPING DESCRIPTION
-//
-// Types and Data
-// --------------
-// The following type definitions are employed throughout this
-// discussion:
-//
-// typedef unsigned char byte;
-// typedef unsigned short word;
-// typedef unsigned long dword;
-//
-// Additionally, the type definition `number' is used generically to
-// indicate a numeric value. The actual size of the `number' type may be
-// one or two bytes depending upon how the data is stored in the key map.
-// Although most key maps use byte-sized numeric values, word-sized
-// values are also allowed.
-//
-// Multi-byte values in a key mapping file are stored in big-endian byte
-// order.
-//
-// Key Mapping File and Device Mapping
-// -----------------------------------
-// A key mapping file begins with a magic-number and continues with a
-// variable number of device-specific key mappings.
-//
-// struct KeyMappingFile {
-// char magic_number[4]; // "KYM1"
-// DeviceMapping maps[...] // Variable number of maps
-// };
-//
-// struct DeviceMapping {
-// dword interface; // NX_EVS_DEVICE_INTERFACE_ACE, etc.
-// dword handler_id; // Interface subtype (0=101, 1=102 key, etc.)
-// dword map_size; // Byte count following this address
-// KeyMapping map;
-// };
-//
-// Together, `interface' and `handler_id' identify the exact keyboard
-// hardware to which this mapping applies. The `interface' value
-// represents a family of keyboard device types (such as Intel, ADB,
-// NeXT, Sun Type5, etc.) and `handler_id' represents a specific keyboard
-// layout within that family. On MacOS/X and Darwin, `interface'
-// constants can be found in IOHIDTypes.h, whereas on MacOS/X Server,
-// OpenStep, and NextStep, they can be found in ev_types.h. Programs
-// which display a visual representation of a keyboard layout, match
-// `interface' and `handler_id' from the .keymapping file against the
-// `interface' and `handler_id' values found in each .keyboard file.
-//
-// Key Mapping
-// -----------
-// A key mapping completely defines the relationship of all scan codes
-// with their associated functionality. A KeyMapping structure is
-// embedded within the DeviceMapping structure in a KeyMappingFile. The
-// currently active key mapping in use by the WindowServer and AppKit is
-// also represented by a KeyMapping structure, and can be referred to
-// directly by calling NXGetKeyMapping() and accessing the `mapping' data
-// member of the returned NXKeyMapping structure.
-//
-// struct KeyMapping {
-// word number_size; // 0=1 byte, non-zero=2 bytes
-// number num_modifier_groups; // Modifier groups
-// ModifierGroup modifier_groups[...];
-// number num_scan_codes; // Scan groups
-// ScanGroup scan_table[...];
-// number num_sequence_lists; // Sequence lists
-// Sequence sequence_lists[...];
-// number num_special_keys; // Special keys
-// SpecialKey special_key[...];
-// };
-//
-// The `number_size' flag determines the size, in bytes, of all remaining
-// numeric values (denoted by the type definition `number') within the
-// key mapping. If its value is zero, then numbers are represented by a
-// single byte. If it is non-zero, then numbers are represented by a
-// word (two bytes).
-//
-// Modifier Group
-// --------------
-// A modifier group defines all scan codes which map to a particular type
-// of modifier, such as "shift", "control", etc.
-//
-// enum Modifier {
-// ALPHALOCK = 0,
-// SHIFT,
-// CONTROL,
-// ALTERNATE,
-// COMMAND,
-// KEYPAD,
-// HELP
-// };
-//
-// struct ModifierGroup {
-// number modifier; // A Modifier constant
-// number num_scan_codes;
-// number scan_codes[...]; // Variable number of scan codes
-// };
-//
-// The scan_codes[] array contains a list of all scan codes which map to
-// the specified modifier. The "shift", "command", and "alternate"
-// modifiers are frequently mapped to two different scan codes, apiece,
-// since these modifiers often appear on both the left and right sides of
-// the keyboard.
-//
-// Scan Group
-// ----------
-// There is one ScanGroup for each scan code generated by the given
-// keyboard. This number is given by KeyMapping::num_scan_codes. The
-// first scan group represents hardware scan code 0, the second
-// represents scan code 1, etc.
-//
-// enum ModifierMask {
-// ALPHALOCK_MASK = 1 << 0,
-// SHIFT_MASK = 1 << 1,
-// CONTROL_MASK = 1 << 2,
-// ALTERNATE_MASK = 1 << 3,
-// CARRIAGE_RETURN_MASK = 1 << 4
-// };
-// #define NOT_BOUND 0xff
-//
-// struct ScanGroup {
-// number mask;
-// Character characters[...];
-// };
-//
-// For each scan code, `mask' defines which modifier combinations
-// generate characters. If `mask' is NOT_BOUND (0xff) then then this
-// scan code does not generate any characters ever, and its characters[]
-// array is zero length. Otherwise, the characters[] array contains one
-// Character record for each modifier combination.
-//
-// The number of records in characters[] is determined by computing
-// (1 << bits_set_in_mask). In other words, if mask is zero, then zero
-// bits are set, so characters[] contains only one record. If `mask' is
-// (SHIFT_MASK | CONTROL_MASK), then two bits are set, so characters[]
-// contains four records.
-//
-// The first record always represents the character which is generated by
-// that key when no modifiers are active. The remaining records
-// represent characters generated by the various modifier combinations.
-// Using the example with the "shift" and "control" masks set, record two
-// would represent the character with the shift modifier active; record
-// three, the control modifier active; and record four, both the shift
-// and control modifiers active.
-//
-// As a special case, ALPHALOCK_MASK implies SHIFT_MASK, though only
-// ALPHALOCK_MASK appears in `mask'. In this case the same character is
-// generated for both the shift and alpha-lock modifiers, but only needs
-// to appear once in the characters[] array.
-//
-// Character
-// ---------
-// Each Character record indicates the character generated when this key
-// is pressed, as well as the character set which contains the character.
-// Well known character Sets are "ASCII" and "Symbol". The character set
-// can also be one of the meta values FUNCTION_KEY or KEY_SEQUENCE. If
-// it is FUNCTION_KEY then `char_code' represents a generally well-known
-// function key such as those enumerated by FunctionKey. If the
-// character set is KEY_SEQUENCE then `char_code' represents is a
-// zero-base index into KeyMapping::sequence_lists[].
+// Prints a textual representation of each Apple/NeXT .keymapping file
+// mentioned on the command-line. If no files are mentioned and if the
+// local machine is an Apple or NeXT installation, then the key mapping
+// currently in use by the WindowServer and the AppKit is printed
+// instead.
//
-// enum CharacterSet {
-// ASCII = 0x00,
-// SYMBOL = 0x01,
-// ...
-// FUNCTION_KEY = 0xfe,
-// KEY_SEQUENCE = 0xff
-// };
+// Invoke dumpkeymap with one of the options listed below in order to
+// view detailed documentation about .keymapping files and the use of
+// this program.
//
-// struct Character {
-// number set; // CharacterSet of generated character
-// number char_code; // Actual character generated
-// };
-//
-// enum FunctionKey {
-// F1 = 0x20, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
-// INSERT, DELETE, HOME, END, PAGE_UP, PAGE_DOWN, PRINT_SCREEN,
-// SCROLL_LOCK, PAUSE, SYS_REQUEST, BREAK, RESET, STOP, MENU, USER,
-// SYSTEM, PRINT, CLEAR_LINE, CLEAR_DISPLAY, INSERT_LINE,
-// DELETE_LINE, INSERT_CHAR, DELETE_CHAR, PREV, NEXT, SELECT
-// };
-//
-// Sequence
-// --------
-// When Character::set contains the meta value KEY_SEQUENCE, the scan
-// code is bound to a sequence of keys rather than a single character. A
-// sequence is a series of modifiers and characters which are
-// automatically generated when the associated key is depressed. Each
-// generated Character is represented as previously described, with the
-// exception that MODIFIER_KEY may appear in place of KEY_SEQUENCE. When
-// the value of Character::set is MODIFIER_KEY then Character::char_code
-// represents a modifier key rather than an actual character. If the
-// modifier represented by `char_code' is non-zero, then it indicates
-// that the associated modifier key has been depressed. In this case,
-// the value is one of the constants enumerated by Modifier (SHIFT,
-// CONTROL, ALTERNATE, etc.). If the value is zero then it means that
-// the modifier keys have been released.
-//
-// #define MODIFIER_KEY 0xff
-//
-// struct Sequence {
-// number num_chars;
-// Character characters[...];
-// };
-//
-// Special Key
-// -----------
-// A special key is one which is scanned directly by the Mach kernel
-// rather than by the WindowServer. In general, events are not generated
-// for special keys.
-//
-// enum SpecialKeyType {
-// VOLUME_UP = 0,
-// VOLUME_DOWN,
-// BRIGHTNESS_UP,
-// BRIGHTNESS_DOWN,
-// ALPHA_LOCK,
-// HELP,
-// POWER,
-// SECONDARY_ARROW_UP,
-// SECONDARY_ARROW_DOWN
-// };
-//
-// struct SpecialKey {
-// number type; // A SpecialKeyType constant
-// number scan_code; // Actual scan code
-// };
+// --help: Usage summary.
+// --help-keymapping: Detailed discussion of the internal format of a
+// .keymapping file.
+// --help-output: Explanation of dumpkeymap's output.
+// --help-files: List of key mapping-related files and directories.
+// --help-diagnostics: Explanation of diagnostic messages.
//
// COMPILATION INSTRUCTIONS
//
// MacOS/X, Darwin
// cc -Wall -o dumpkeymap dumpkeymap.c -framework IOKit
//
+// MacOS/X DP4 (Developer Preview 4)
+// cc -Wall -o dumpkeymap dumpkeymap.c -FKernel -framework IOKit
+//
// MacOS/X Server, OpenStep, NextStep
// cc -Wall -o dumpkeymap dumpkeymap.c
//
-// USAGE INSTRUCTIONS
-//
-// Usage: dumpkeymap [path-to-keymap ...]
+// By default, dumpkeymap is configured to interface with the HID driver
+// (Apple) or event-status driver (NeXT), thus allowing it to dump the
+// key mapping which is currently in use by the WindowServer and AppKit.
+// However, these facilities are specific to Apple/NeXT. In order to
+// build dumpkeymap for non-Apple/NeXT platforms, you must define the
+// DUMPKEYMAP_FILE_ONLY flag when compiling the program. This flag
+// inhibits use of the HID and event-status drivers and configures
+// dumpkeymap to work strictly with raw key mapping files.
//
-// When provided with no arguments, this program dumps the currently
-// active key map. Otherwise, it prints out the contents of each
-// .keymapping files mentioned as an argument on the command line.
+// For example, to compile for Linux:
+// gcc -Wall -DDUMPKEYMAP_FILE_ONLY -o dumpkeymap dumpkeymap.c
//
// CONCLUSION
//
// This program and its accompanying documentation were written by Eric
// Sunshine and are copyright (C)1999,2000 by Eric Sunshine
-// <sunshine@sunshineco.com>. It is based on information gathered on
-// September 3, 1997 by Eric Sunshine and Paul S. McCarthy
-// <zarnuk@zarnuk.com> while reverse engineering the NeXT .keymapping
-// file format.
+// <sunshine@sunshineco.com>.
+//
+// The implementation of dumpkeymap is based upon information gathered
+// on September 3, 1997 by Eric Sunshine <sunshine@sunshineco.com> and
+// Paul S. McCarthy <zarnuk@zarnuk.com> during an effort to reverse
+// engineer the format of the NeXT .keymapping file.
//
// HISTORY
//
+// 2000/11/28 Eric Sunshine <sunshine@sunshineco.com>
+// Considerably expanded the documentation.
+// Augmented the existing description of .keymapping internals.
+// Added these new documentation topics:
+// - Output: Very important section describing how to interpret
+// the output of dumpkeymap.
+// - Files: Lists files and directories related to key mappings.
+// - Diagnostics: Explains diagnostic messages issued by
+// dumpkeymap.
+// Created a manual page (dumpkeymap.1) which contains the complete
+// set of documentation for key mapping files and dumpkeymap.
+// Added command-line options (--help, --help-keymapping,
+// --help-output, --help-files, --help-diagnostics) which allow
+// access to all key mapping documentation. Previously the
+// description of the internal layout of a .keymapping file was
+// only available as source code comments.
+// Added --version option.
+// Ported to non-Apple/NeXT platforms. Defining the pre-processor
+// flag DUMPKEYMAP_FILE_ONLY at compilation time inhibits use of
+// Apple/NeXT-specific API.
+// Added a README file.
+//
// 2000/11/13 Eric Sunshine <sunshine@sunshineco.com>
// Converted from C++ to plain-C.
// Now parses and takes into account the "number-size" flag stored
// with each key map. This flag indicates the size, in bytes, of
// all remaining numeric values in the mapping. Updated all code
-// to respect the this flag. (Previously, the purpose of this
-// field was unknown, and it was thus denoted as
+// to respect this flag. (Previously, the purpose of this field
+// was unknown, and it was thus denoted as
// `KeyMapping::fill[2]'.)
// Updated all documentation; especially the "KEY MAPPING
// DESCRIPTION" section. Added discussion of the "number-size"
@@ -316,11 +132,13 @@
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
-#include <drivers/event_status_driver.h>
#include <sys/stat.h>
+#if !defined(DUMPKEYMAP_FILE_ONLY)
+#include <drivers/event_status_driver.h>
+#endif
#define PROG_NAME "dumpkeymap"
-#define PROG_VERSION 2
+#define PROG_VERSION "3"
#define AUTHOR_NAME "Eric Sunshine"
#define AUTHOR_EMAIL "sunshine@sunshineco.com"
#define AUTHOR_INFO AUTHOR_NAME " <" AUTHOR_EMAIL ">"
@@ -336,6 +154,12 @@ typedef dword number;
#define BIND_FUNCTION 0xfe
#define BIND_SPECIAL 0xff
+#define OPT_SWITCH(X) { char const* switched_str__=(X); if (0) {
+#define OPT_CASE(X,Y) } else if (strcmp(switched_str__,(#X)) == 0 || \
+ strcmp(switched_str__,(#Y)) == 0) {
+#define OPT_DEFAULT } else {
+#define OPT_SWITCH_END }}
+
//-----------------------------------------------------------------------------
// Translation Tables
//-----------------------------------------------------------------------------
@@ -482,7 +306,7 @@ static void expect_nbytes( DataStream* s, int nbytes )
{
if (s->data + nbytes > s->data_end)
{
- fprintf( stderr, "Insufficient data in keymapping data stream.\n" );
+ fputs( "Insufficient data in keymapping data stream.\n", stderr );
exit(-1);
}
}
@@ -575,7 +399,7 @@ static number bits_set( number mask )
static void unparse_modifiers( DataStream* s )
{
number nmod = get_number(s); // Modifier count
- printf( "\nMODIFIERS [%lu]\n", nmod );
+ printf( "MODIFIERS [%lu]\n", nmod );
while (nmod-- > 0)
{
number nscan;
@@ -586,6 +410,7 @@ static void unparse_modifiers( DataStream* s )
printf( " 0x%02x", (natural)get_number(s) );
putchar( '\n' );
}
+ putchar( '\n' );
}
@@ -640,18 +465,18 @@ static void unparse_key_special( number code )
printf( "{seq#%lu}", code );
}
-static void unparse_keys( DataStream* s )
+static void unparse_characters( DataStream* s )
{
number const NOT_BOUND = 0xff;
- number const nkeys = get_number(s);
+ number const nscans = get_number(s);
number scan;
- printf( "\nKEYS [%lu]\n", nkeys );
- for (scan = 0; scan < nkeys; scan++)
+ printf( "CHARACTERS [%lu]\n", nscans );
+ for (scan = 0; scan < nscans; scan++)
{
number const mask = get_number(s);
printf( "scan 0x%02x: ", (natural)scan );
if (mask == NOT_BOUND)
- printf( "not-bound\n" );
+ fputs( "not-bound\n", stdout );
else
{
number const bits = bits_set( mask );
@@ -661,6 +486,7 @@ static void unparse_keys( DataStream* s )
putchar( '\n' );
}
}
+ putchar( '\n' );
}
@@ -676,14 +502,15 @@ static void unparse_sequences( DataStream* s )
{
number const nseqs = get_number(s);
number seq;
- printf( "\nSEQUENCES [%lu]\n", nseqs );
+ printf( "SEQUENCES [%lu]\n", nseqs );
for (seq = 0; seq < nseqs; seq++)
{
number const nchars = get_number(s);
- printf( "sequence %lu: ", seq );
+ printf( "sequence %lu:", seq );
unparse_char_codes( s, nchars, unparse_sequence_special );
putchar( '\n' );
}
+ putchar( '\n' );
}
@@ -693,13 +520,14 @@ static void unparse_sequences( DataStream* s )
static void unparse_specials( DataStream* s )
{
number nspecials = get_number(s);
- printf( "\nSPECIALS [%lu]\n", nspecials );
+ printf( "SPECIALS [%lu]\n", nspecials );
while (nspecials-- > 0)
{
number const special = get_number(s);
number const scan = get_number(s);
printf( "%s: 0x%02x\n", special_code_desc(special), (natural)scan );
}
+ putchar( '\n' );
}
@@ -720,7 +548,7 @@ static void unparse_keymap_data( DataStream* s )
{
unparse_numeric_size(s);
unparse_modifiers(s);
- unparse_keys(s);
+ unparse_characters(s);
unparse_sequences(s);
unparse_specials(s);
}
@@ -729,12 +557,13 @@ static void unparse_keymap_data( DataStream* s )
//-----------------------------------------------------------------------------
// Unparse the active key map.
//-----------------------------------------------------------------------------
+#if !defined(DUMPKEYMAP_FILE_ONLY)
static int unparse_active_keymap( void )
{
int rc = 1;
NXEventHandle const h = NXOpenEventStatus();
if (h == 0)
- fprintf( stderr, "Unable to open event status driver.\n" );
+ fputs( "Unable to open event status driver.\n", stderr );
else
{
NXKeyMapping km;
@@ -745,11 +574,13 @@ static int unparse_active_keymap( void )
{
km.mapping = (char*)malloc( km.size );
if (NXGetKeyMapping( h, &km ) == 0)
- fprintf( stderr, "Unable to get current key mapping.\n" );
+ fputs( "Unable to get current key mapping.\n", stderr );
else
{
DataStream* stream =
new_data_stream( (byte const*)km.mapping, km.size );
+ fputs( "=============\nACTIVE KEYMAP\n=============\n\n",
+ stdout);
unparse_keymap_data( stream );
destroy_data_stream( stream );
rc = 0;
@@ -760,6 +591,7 @@ static int unparse_active_keymap( void )
}
return rc;
}
+#endif
//-----------------------------------------------------------------------------
@@ -770,7 +602,7 @@ static void unparse_keymap( DataStream* s )
dword const interface = get_dword(s);
dword const handler_id = get_dword(s);
dword const map_size = get_dword(s);
- printf( "interface=0x%02lx handler_id=0x%02lx map_size=%lu bytes\n",
+ printf( "interface: 0x%02lx\nhandler_id: 0x%02lx\nmap_size: %lu bytes\n\n",
interface, handler_id, map_size );
unparse_keymap_data(s);
}
@@ -796,16 +628,16 @@ static int unparse_keymaps( DataStream* s )
int rc = 0;
if (check_magic_number(s))
{
- int n = 0;
+ int n = 1;
while (!end_of_stream(s))
{
- printf( "\nKEYMAP #%d: ", n++ );
+ printf( "---------\nKEYMAP #%d\n---------\n", n++ );
unparse_keymap(s);
}
}
else
{
- fprintf( stderr, "Bad magic number.\n" );
+ fputs( "Bad magic number.\n", stderr );
rc = 1;
}
return rc;
@@ -819,20 +651,20 @@ static int unparse_keymap_file( char const* const path )
{
int rc = 1;
FILE* file;
- printf( "\nKEYMAP FILE: %s\n", path );
+ printf( "===========\nKEYMAP FILE\n===========\n%s\n\n", path );
file = fopen( path, "rb" );
if (file == 0)
- perror( "Unable to open keymap" );
+ perror( "Unable to open key mapping file" );
else
{
struct stat st;
if (fstat( fileno(file), &st ) != 0)
- perror( "Unable to determine file size" );
+ perror( "Unable to determine key mapping file size" );
else
{
byte* buffer = (byte*)malloc( st.st_size );
if (fread( buffer, st.st_size, 1, file ) != 1)
- perror( "Unable to read keymap" );
+ perror( "Unable to read key mapping file" );
else
{
DataStream* stream = new_data_stream(buffer, (int)st.st_size);
@@ -850,30 +682,763 @@ static int unparse_keymap_file( char const* const path )
//-----------------------------------------------------------------------------
+// Handle the case when no documents are mentioned on the command-line. For
+// Apple/NeXT platforms, dump the currently active key mapping; else display
+// an error message.
+//-----------------------------------------------------------------------------
+static int handle_empty_document_list( void )
+ {
+#if !defined(DUMPKEYMAP_FILE_ONLY)
+ return unparse_active_keymap();
+#else
+ fputs( "ERROR: Must specify at least one .keymapping file.\n\n", stderr );
+ return 1;
+#endif
+ }
+
+
+//-----------------------------------------------------------------------------
+// Print a detailed description of the internal layout of a key mapping.
+//-----------------------------------------------------------------------------
+static void print_internal_layout_info( FILE* f )
+ {
+ fputs(
+"What follows is a detailed descriptions of the internal layout of an\n"
+"Apple/NeXT .keymapping file.\n"
+"\n"
+"Types and Data\n"
+"--------------\n"
+"The following type definitions are employed throughout this discussion:\n"
+"\n"
+" typedef unsigned char byte;\n"
+" typedef unsigned short word;\n"
+" typedef unsigned long dword;\n"
+"\n"
+"Additionally, the type definition `number' is used generically to indicate\n"
+"a numeric value. The actual size of the `number' type may be one or two\n"
+"bytes depending upon how the data is stored in the key map. Although most\n"
+"key maps use byte-sized numeric values, word-sized values are also allowed.\n"
+"\n"
+"Multi-byte values in a key mapping file are stored in big-endian byte\n"
+"order.\n"
+"\n"
+"Key Mapping File and Device Mapping\n"
+"-----------------------------------\n"
+"A key mapping file begins with a magic-number and continues with a variable\n"
+"number of device-specific key mappings.\n"
+"\n"
+" struct KeyMappingFile {\n"
+" char magic_number[4]; // `KYM1'\n"
+" DeviceMapping maps[...]; // Variable number of maps\n"
+" };\n"
+"\n"
+" struct DeviceMapping {\n"
+" dword interface; // Interface type\n"
+" dword handler_id; // Interface subtype\n"
+" dword map_size; // Byte count of `map' (below)\n"
+" KeyMapping map;\n"
+" };\n"
+"\n"
+"The value of `interface' represents a family of keyboard device types\n"
+"(such as Intel PC, ADB, NeXT, Sun Type5, etc.), and is generally\n"
+"specified as one of the constant values NX_EVS_DEVICE_INTERFACE_ADB,\n"
+"NX_EVS_DEVICE_INTERFACE_ACE, etc., which are are defined in IOHIDTypes.h on\n"
+"MacOS/X and Darwin, and in ev_types.h on MacOS/X Server, OpenStep, and\n"
+"NextStep.\n"
+"\n"
+"The value of `handler_id' represents a specific keyboard layout within the\n"
+"much broader `interface' family. For instance, for a 101-key Intel PC\n"
+"keyboard (of type NX_EVS_DEVICE_INTERFACE_ACE) the `handler_id' is '0',\n"
+"whereas for a 102-key keyboard it is `1'.\n"
+"\n"
+"Together, `interface' and `handler_id' identify the exact keyboard hardware\n"
+"to which this mapping applies. Programs which display a visual\n"
+"representation of a keyboard layout, match `interface' and `handler_id'\n"
+"from the .keymapping file against the `interface' and `handler_id' values\n"
+"found in each .keyboard file.\n"
+"\n"
+"Key Mapping\n"
+"-----------\n"
+"A key mapping completely defines the relationship of all scan codes with\n"
+"their associated functionality. A KeyMapping structure is embedded within\n"
+"the DeviceMapping structure in a KeyMappingFile. The key mapping currently\n"
+"in use by the WindowServer and AppKit is also represented by a KeyMapping\n"
+"structure, and can be referred to directly by calling NXGetKeyMapping() and\n"
+"accessing the `mapping' data member of the returned NXKeyMapping structure.\n"
+"\n"
+" struct KeyMapping {\n"
+" word number_size; // 0=1 byte, non-zero=2 bytes\n"
+" number num_modifier_groups; // Modifier groups\n"
+" ModifierGroup modifier_groups[...];\n"
+" number num_scan_codes; // Scan groups\n"
+" ScanGroup scan_table[...];\n"
+" number num_sequence_lists; // Sequence lists\n"
+" Sequence sequence_lists[...];\n"
+" number num_special_keys; // Special keys\n"
+" SpecialKey special_key[...];\n"
+" };\n"
+"\n"
+"The `number_size' flag determines the size, in bytes, of all remaining\n"
+"numeric values (denoted by the type definition `number') within the key\n"
+"mapping. If its value is zero, then numbers are represented by a single\n"
+"byte. If it is non-zero, then numbers are represented by a word (two\n"
+"bytes).\n"
+"\n"
+"Modifier Group\n"
+"--------------\n"
+"A modifier group defines all scan codes which map to a particular type of\n"
+"modifier, such as `shift', `control', etc.\n"
+"\n"
+" enum Modifier {\n"
+" ALPHALOCK = 0,\n"
+" SHIFT,\n"
+" CONTROL,\n"
+" ALTERNATE,\n"
+" COMMAND,\n"
+" KEYPAD,\n"
+" HELP\n"
+" };\n"
+"\n"
+" struct ModifierGroup {\n"
+" number modifier; // A Modifier constant\n"
+" number num_scan_codes;\n"
+" number scan_codes[...]; // Variable number of scan codes\n"
+" };\n"
+"\n"
+"The scan_codes[] array contains a list of all scan codes which map to the\n"
+"specified modifier. The `shift', `command', and `alternate' modifiers are\n"
+"frequently mapped to two different scan codes, apiece, since these\n"
+"modifiers often appear on both the left and right sides of the keyboard.\n"
+"\n"
+"Scan Group\n"
+"----------\n"
+"There is one ScanGroup for each scan code generated by the given keyboard.\n"
+"This number is given by KeyMapping::num_scan_codes. The first scan group\n"
+"represents hardware scan code 0, the second represents scan code 1, etc.\n"
+"\n"
+" enum ModifierMask {\n"
+" ALPHALOCK_MASK = 1 << 0,\n"
+" SHIFT_MASK = 1 << 1,\n"
+" CONTROL_MASK = 1 << 2,\n"
+" ALTERNATE_MASK = 1 << 3,\n"
+" CARRIAGE_RETURN_MASK = 1 << 4\n"
+" };\n"
+" #define NOT_BOUND 0xff\n"
+"\n"
+" struct ScanGroup {\n"
+" number mask;\n"
+" Character characters[...];\n"
+" };\n"
+"\n"
+"For each scan code, `mask' defines which modifier combinations generate\n"
+"characters. If `mask' is NOT_BOUND (0xff) then then this scan code does\n"
+"not generate any characters ever, and its characters[] array is zero\n"
+"length. Otherwise, the characters[] array contains one Character record\n"
+"for each modifier combination.\n"
+"\n"
+"The number of records in characters[] is determined by computing (1 <<\n"
+"bits_set_in_mask). In other words, if mask is zero, then zero bits are\n"
+"set, so characters[] contains only one record. If `mask' is (SHIFT_MASK |\n"
+"CONTROL_MASK), then two bits are set, so characters[] contains four\n"
+"records.\n"
+"\n"
+"The first record always represents the character which is generated by that\n"
+"key when no modifiers are active. The remaining records represent\n"
+"characters generated by the various modifier combinations. Using the\n"
+"example with the `shift' and `control' masks set, record two would\n"
+"represent the character with the `shift' modifier active; record three, the\n"
+"`control' modifier active; and record four, both the `shift' and `control'\n"
+"modifiers active.\n"
+"\n"
+"As a special case, ALPHALOCK_MASK implies SHIFT_MASK, though only\n"
+"ALPHALOCK_MASK appears in `mask'. In this case the same character is\n"
+"generated for both the `shift' and `alpha-lock' modifiers, but only needs\n"
+"to appear once in the characters[] array.\n"
+"\n"
+"CARRIAGE_RETURN_MASK does not actually refer to a modifier key. Instead,\n"
+"it is used to distinguish the scan code which is given the special\n"
+"pseudo-designation of `carriage return' key. Typically, this mask appears\n"
+"solo in a ScanGroup record and only the two Character records for control-M\n"
+"and control-C follow. This flag may be a throwback to an earlier time or\n"
+"may be specially interpreted by the low-level keyboard driver, but its\n"
+"purpose is otherwise enigmatic.\n"
+"Character\n"
+"---------\n"
+"Each Character record indicates the character generated when this key is\n"
+"pressed, as well as the character set which contains the character. Well\n"
+"known character sets are `ASCII' and `Symbol'. The character set can also\n"
+"be one of the meta values FUNCTION_KEY or KEY_SEQUENCE. If it is\n"
+"FUNCTION_KEY then `char_code' represents a generally well-known function\n"
+"key such as those enumerated by FunctionKey. If the character set is\n"
+"KEY_SEQUENCE then `char_code' represents a zero-base index into\n"
+"KeyMapping::sequence_lists[].\n"
+"\n"
+" enum CharacterSet {\n"
+" ASCII = 0x00,\n"
+" SYMBOL = 0x01,\n"
+" ...\n"
+" FUNCTION_KEY = 0xfe,\n"
+" KEY_SEQUENCE = 0xff\n"
+" };\n"
+"\n"
+" struct Character {\n"
+" number set; // CharacterSet of generated character\n"
+" number char_code; // Actual character generated\n"
+" };\n"
+"\n"
+" enum FunctionKey {\n"
+" F1 = 0x20, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,\n"
+" INSERT, DELETE, HOME, END, PAGE_UP, PAGE_DOWN, PRINT_SCREEN,\n"
+" SCROLL_LOCK, PAUSE, SYS_REQUEST, BREAK, RESET, STOP, MENU, USER,\n"
+" SYSTEM, PRINT, CLEAR_LINE, CLEAR_DISPLAY, INSERT_LINE,\n"
+" DELETE_LINE, INSERT_CHAR, DELETE_CHAR, PREV, NEXT, SELECT\n"
+" };\n"
+"\n"
+"Sequence\n"
+"--------\n"
+"When Character::set contains the meta value KEY_SEQUENCE, the scan code is\n"
+"bound to a sequence of keys rather than a single character. A sequence is\n"
+"a series of modifiers and characters which are automatically generated when\n"
+"the associated key is depressed.\n"
+"\n"
+" #define MODIFIER_KEY 0xff\n"
+"\n"
+" struct Sequence {\n"
+" number num_chars;\n"
+" Character characters[...];\n"
+" };\n"
+"\n"
+"Each generated Character is represented as previously described, with the\n"
+"exception that MODIFIER_KEY may appear in place of KEY_SEQUENCE. When the\n"
+"value of Character::set is MODIFIER_KEY then Character::char_code\n"
+"represents a modifier key rather than an actual character. If the modifier\n"
+"represented by `char_code' is non-zero, then it indicates that the\n"
+"associated modifier key has been depressed. In this case, the value is one\n"
+"of the constants enumerated by Modifier (SHIFT, CONTROL, ALTERNATE, etc.).\n"
+"If the value is zero then it means that the modifier keys have been\n"
+"released.\n"
+"\n"
+"Special Key\n"
+"-----------\n"
+"A special key is one which is scanned directly by the Mach kernel rather\n"
+"than by the WindowServer. In general, events are not generated for special\n"
+"keys.\n"
+"\n"
+" enum SpecialKeyType {\n"
+" VOLUME_UP = 0,\n"
+" VOLUME_DOWN,\n"
+" BRIGHTNESS_UP,\n"
+" BRIGHTNESS_DOWN,\n"
+" ALPHA_LOCK,\n"
+" HELP,\n"
+" POWER,\n"
+" SECONDARY_ARROW_UP,\n"
+" SECONDARY_ARROW_DOWN\n"
+" };\n"
+"\n"
+" struct SpecialKey {\n"
+" number type; // A SpecialKeyType constant\n"
+" number scan_code; // Actual scan code\n"
+" };\n"
+"\n", f );
+ }
+
+
+//-----------------------------------------------------------------------------
+// Print an explanation of the output generated by this program.
+//-----------------------------------------------------------------------------
+static void print_output_info( FILE* f )
+ {
+ fputs(
+"What follows is an explanation and description of the various pieces of\n"
+"information emitted by dumpkeymap.\n"
+"\n"
+"For a more thorough discussion of any particular piece of information\n"
+"described here, refer to the detailed description of the internal layout of\n"
+"a key mapping given by the --help-layout option.\n"
+"\n"
+"Conventions\n"
+"-----------\n"
+"Depending upon context, some numeric values are displayed in decimal\n"
+"notation, whereas others are displayed in hexadecimal notation.\n"
+"Hexadecimal numbers are denoted by a `0x' prefix (for instance, `0x7b'),\n"
+"except when explicitly noted otherwise.\n"
+"\n"
+"Key Mapping Source\n"
+"------------------\n"
+"The first piece of information presented about a particular key mapping is\n"
+"the source from which the data was gleaned. For a .keymapping file, the\n"
+"title `KEYMAP FILE' is emitted along with the path and name of the file in\n"
+"question. For the key mapping currently in use by the WindowServer and\n"
+"AppKit, the title `ACTIVE KEYMAP' is emitted instead.\n"
+"\n"
+"Device Information\n"
+"------------------\n"
+"Each .keymapping file may contain one or more raw key mappings. For\n"
+"example, a file which maps keys to a Dvorak-style layout might contain raw\n"
+"mappings for Intel PC, ADB, NeXT, and Sun Type5 keyboards.\n"
+"\n"
+"For each raw mapping, the following information is emitted:\n"
+"\n"
+" o The title `KEYMAP' along with the mapping's relative position in the\n"
+" .keymapping file.\n"
+" o The `interface' identifier.\n"
+" o The `handler_id' sub-identifier.\n"
+" o The size of the raw mapping resource counted in bytes.\n"
+"\n"
+"The `interface' and `handler_id' values, taken together, define a specific\n"
+"keyboard device. A .keyboard file, which describes the visual layout of a\n"
+"keyboard, also contains `interface' and `handler_id' identifiers. The\n"
+".keyboard file corresponding to a particular key mapping can be found by\n"
+"matching the `interface' and `handler_id' values from each resource.\n"
+"\n"
+"Modifiers\n"
+"---------\n"
+"Each mapping may contain zero or more modifier records which associate\n"
+"hardware scan codes with modifier descriptions such as `shift', `control',\n"
+"`alternate', etc. The title `MODIFIERS' is printed along with the count of\n"
+"modifier records which follow. For each modifier record, the modifier's\n"
+"name is printed along with a list of scan codes, in hexadecimal format,\n"
+"which generate that modifier value. For example:\n"
+"\n"
+" MODIFIERS [4]\n"
+" alternate: 0x1d 0x60\n"
+" control: 0x3a\n"
+" keypad: 0x52 0x53 ... 0x63 0x62\n"
+" shift: 0x2a 0x36\n"
+"\n"
+"Characters\n"
+"----------\n"
+"Each mapping may contain zero or more character records which associate\n"
+"hardware scan codes with the actual characters generated by those scan\n"
+"codes in the presence or absence of various modifier combinations. The\n"
+"title `CHARACTERS' is printed along with the count of character records\n"
+"which follow. Here is a highly abbreviated example:\n"
+"\n"
+" CHARACTERS [9]\n"
+" scan 0x00: -AC-L \"a\" \"A\" \"^A\" \"^A\" ca c7 \"^A\" \"^A\"\n"
+" scan 0x07: -AC-L \"x\" \"X\" \"^X\" \"^X\" 01/b4 01/ce \"^X\" \"^X\"\n"
+" scan 0x0a: ---S- \"<\" \">\"\n"
+" scan 0x13: -ACS- \"2\" \"@\" \"^@\" \"^@\" b2 b3 \"^@\" \"^@\"\n"
+" scan 0x24: R---- \"^M\" \"^C\"\n"
+" scan 0x3e: ----- [F4]\n"
+" scan 0x4a: ----- [page up]\n"
+" scan 0x60: ----- {seq#3}\n"
+" scan 0x68: not-bound\n"
+"\n"
+"For each record, the hexadecimal value of the hardware scan code is\n"
+"printed, followed by a list of modifier flag combinations and the actual\n"
+"characters generated by this scan code with and without modifiers applied.\n"
+"\n"
+"The modifier flags field is composed of a combination of single letter\n"
+"representations of the various modifier types. The letters stand for:\n"
+"\n"
+" L - alpha-lock\n"
+" S - shift\n"
+" C - control\n"
+" A - alternate\n"
+" R - carriage-return\n"
+"\n"
+"As a special case, the `alpha-lock' flag also implies the `shift' flag, so\n"
+"these two flags never appear together in the same record.\n"
+"\n"
+"The combination of modifier flags determines the meaning and number of\n"
+"fields which follow. The first field after the modifier flags always\n"
+"represents the character that will be generated if no modifier keys are\n"
+"depressed. The remaining fields represent characters generated by the\n"
+"various modifier combinations. The order of the fields follows this\n"
+"general pattern:\n"
+"\n"
+" o The character generated by this scan code when no modifiers are in\n"
+" effect is listed first.\n"
+"\n"
+" o If the `L' or `S' flag is active, then the shifted character\n"
+" generated by this scan code is listed next.\n"
+"\n"
+" o If the `C' flag is active, then the control-character generated by\n"
+" this scan code is listed next. Furthermore, if the `L' or `S' flag\n"
+" is also active, then the shifted control-character is listed after\n"
+" that.\n"
+"\n"
+" o If the `A' flag is active, then the alternate-character generated by\n"
+" this scan code is listed next. Furthermore, if the `L' or `S' flag\n"
+" is active, then the shifted alternate-character is listed after that.\n"
+" If the `C' flag is also active, then the alternate-control-character\n"
+" is listed next. Finally, if the `C' and `L' or `C' and `S' flags are\n"
+" also active, then the shifted alternate-control-character is listed.\n"
+"\n"
+"The `R' flag does not actually refer to a modifier key. Instead, it is\n"
+"used to distinguish the scan code which is given the special\n"
+"pseudo-designation of `carriage return' key. Typically, this mask appears\n"
+"solo and only the two fields for control-M and control-C follow. This flag\n"
+"may be a throwback to an earlier time or may be specially interpreted by\n"
+"the low-level keyboard driver, but its purpose is otherwise enigmatic.\n"
+"\n"
+"Recalling the example from above, the following fields can be identified:\n"
+"\n"
+" scan 0x00: -AC-L \"a\" \"A\" \"^A\" \"^A\" ca c7 \"^A\" \"^A\"\n"
+"\n"
+" o Lower-case `a' is generated when no modifiers are active.\n"
+" o Upper-case `A' is generated when `shift' or `alpha-lock' are active.\n"
+" o Control-A is generated when `control' is active.\n"
+" o Control-A is generated when `control' and `shift' are active.\n"
+" o The character represented by the hexadecimal code 0xca is generated\n"
+" when `alternate' is active.\n"
+" o The character represented by 0xc7 is generated when `alternate' and\n"
+" `shift' (or `alpha-lock') are active.\n"
+" o Control-A is generated when `alternate' and `control' are active.\n"
+" o Control-A is generated when `alternate', `control' and `shift' (or\n"
+" `alpha-lock') are active.\n"
+"\n"
+"The notation used to represent a particular generated character varies.\n"
+"\n"
+" o Printable ASCII characters are quoted, as in \"x\" or \"X\".\n"
+"\n"
+" o Control-characters are quoted and prefixed with `^', as in \"^X\".\n"
+"\n"
+" o Characters with values greater than 127 (0x7f) are displayed as\n"
+" hexadecimal values without the `0x' prefix.\n"
+"\n"
+" o Characters in a non-ASCII character set (such as `Symbol') are\n"
+" displayed as two hexadecimal numbers separated by a slash, as in\n"
+" `01/4a'. The first number is the character set's identification code\n"
+" (such as `01' for the `Symbol' set), and the second number is the\n"
+" value of the generated character.\n"
+"\n"
+" o Non-printing special function characters are displayed with the\n"
+" function's common name enclosed in brackets, as in `[page up]' or\n"
+" `[F4]'.\n"
+"\n"
+" o If the binding represents a key sequence rather than a single\n"
+" character, then the sequence's identification number is enclosed in\n"
+" braces, as in `{seq#3}'.\n"
+"\n"
+"Recalling a few examples from above, the following interpretations can be\n"
+"made:\n"
+"\n"
+" scan 0x07: -AC-L \"x\" \"X\" \"^X\" \"^X\" 01/b4 01/ce \"^X\" \"^X\"\n"
+" scan 0x3e: ----- [F4]\n"
+" scan 0x4a: ----- [page up]\n"
+" scan 0x60: ----- {seq#3}\n"
+"\n"
+" o \"x\" and \"X\" are printable ASCII characters.\n"
+" o \"^X\" is a control-character.\n"
+" o `01/b4' and `01/ce' represent the character codes 0xb4 and 0xce in\n"
+" the `Symbol' character set.\n"
+" o Scan code 0x3e generates function-key `F4', and scan code 0x4a\n"
+" generates function-key `page up'.\n"
+" o Scan code 0x60 is bound to key sequence #3.\n"
+"\n"
+"Finally, if a scan code is not bound to any characters, then it is\n"
+"annotated with the label `not-bound', as with example scan code 0x68 from\n"
+"above.\n"
+"\n"
+"Sequences\n"
+"---------\n"
+"A scan code (modified and unmodified) can be bound to a key sequence rather\n"
+"than generating a single character or acting as a modifier. When it is\n"
+"bound to a key sequence, a series of character invocations and modifier\n"
+"actions are automatically generated rather than a single keystroke.\n"
+"\n"
+"Each mapping may contain zero or more key sequence records. The title\n"
+"`SEQUENCES' is printed along with the count of sequence records which\n"
+"follow. For example:\n"
+"\n"
+" SEQUENCES [3]\n"
+" sequence 0: \"f\" \"o\" \"o\"\n"
+" sequence 1: {alternate} \"b\" \"a\" \"r\" {unmodify}\n"
+" sequence 2: [home] \"b\" \"a\" \"z\"\n"
+"\n"
+"The notation used to represent the sequence of generated characters is\n"
+"identical to the notation already described in the `Characters' section\n"
+"above, with the exception that modifier actions may be interposed between\n"
+"generated characters. Such modifier actions are represented by the\n"
+"modifier's name enclosed in braces. The special name `{unmodify}'\n"
+"indicates the release of the modifier keys.\n"
+"\n"
+"Thus, the sequences in the above example can be interpreted as follows:\n"
+"\n"
+" o Sequence #0 generates `foo'.\n"
+" o Sequence #1 invokes the `alternate' modifier, generates `bar', and\n"
+" then releases `alternate'.\n"
+" o Sequence #2 invokes the `home' key and then generates `baz'. In a\n"
+" text editor, this would probably result in `baz' being prepended to\n"
+" the line of text on which the cursor resides.\n"
+"\n"
+"Special Keys\n"
+"------------\n"
+"Certain keyboards feature keys which perform some type of special purpose\n"
+"function rather than generating a character or acting as a modifier. For\n"
+"instance, Apple keyboards often contain a `power' key, and NeXT keyboards\n"
+"have historically featured screen brightness and volume control keys.\n"
+"\n"
+"Each mapping may contain zero or more special-key records which associate\n"
+"hardware scan codes with such special purpose functions. The title\n"
+"`SPECIALS' is printed along with the count of records which follow. For\n"
+"each record, the special function's name is printed along with a list of\n"
+"scan codes, in hexadecimal format, which are bound to that function. For\n"
+"example:\n"
+"\n"
+" SPECIALS [6]\n"
+" alpha-lock: 0x39\n"
+" brightness-down: 0x79\n"
+" brightness-up: 0x74\n"
+" power: 0x7f\n"
+" sound-down: 0x77\n"
+" sound-up: 0x73\n"
+"\n", f );
+ }
+
+
+//-----------------------------------------------------------------------------
+// Print a summary of the various files and directories which are related to
+// key mappings.
+//-----------------------------------------------------------------------------
+static void print_files_info( FILE* f )
+ {
+ fputs(
+"This is a summary of the various files and directories which are related to\n"
+"key mappings.\n"
+"\n"
+"*.keymapping\n"
+" A key mapping file which precisely defines the relationship of all\n"
+" hardware-specific keyboard scan-codes with their associated\n"
+" functionality.\n"
+"\n"
+"*.keyboard\n"
+" A file describing the physical layout of keys on a particular type of\n"
+" keyboard. Each `key' token in this file defines the position and shape\n"
+" of the key on the keyboard, as well as the associated scan code which\n"
+" that key generates. A .keymapping file, on the other hand, defines the\n"
+" characters which are generated by a particular scan code depending upon\n"
+" the state of the various modifier keys (such as shift, control, etc.).\n"
+" The `interface' and `handler_id' values from a .keymapping file are\n"
+" matched against those in each .keyboard file in order to associate a\n"
+" particular .keyboard file with a key mapping. Various GUI programs use\n"
+" the .keyboard file to display a visual representation of a keyboard for\n"
+" the user. Since these files are just plain text, they can be easily\n"
+" viewed and interpreted without the aid of a specialized program, thus\n"
+" dumpkeymap leaves these files alone.\n"
+"\n"
+"/System/Library/Keyboards\n"
+"/Network/Library/Keyboards\n"
+"/Local/Library/Keyboards\n"
+"/Library/Keyboards\n"
+" Repositories for .keymapping and .keyboard files for MacOS/X, Darwin,\n"
+" and MacOS/X Server.\n"
+"\n"
+"/NextLibrary/Keyboards\n"
+"/LocalLibrary/Keyboards\n"
+" Repositories for .keymapping and .keyboard files for OpenStep and\n"
+" NextStep.\n"
+"\n"
+"$(HOME)/Library/Keyboards\n"
+" Repository for personal .keymapping and .keyboard files.\n"
+"\n", f );
+ }
+
+
+//-----------------------------------------------------------------------------
+// Print a list of the various diagnostic messages which may be emitted.
+//-----------------------------------------------------------------------------
+static void print_diagnostics_info( FILE* f )
+ {
+ fputs(
+"The following diagnostic messages may be issued to the standard error\n"
+"stream.\n"
+"\n"
+"Unrecognized option.\n"
+" An unrecognized option was specified on the command-line. Invoke\n"
+" dumpkeymap with the --help option to view a list of valid options.\n"
+"\n"
+"Insufficient data in keymapping data stream.\n"
+" The key mapping file or data stream is corrupt. Either the file has\n"
+" been incorrectly truncated or a field, such as those which indicates\n"
+" the number of variable records which follow, contains a corrupt value.\n"
+"\n"
+"The following diagnostic messages have significance only when trying to\n"
+"print .keymapping files mentioned on the command-line.\n"
+"\n"
+"Bad magic number.\n"
+" The mentioned file is not a .keymapping file. The file's content does\n"
+" not start with the string `KYM1'.\n"
+"\n"
+"Unable to open key mapping file.\n"
+" The call to fopen() failed; probably because the specified path is\n"
+" invalid or dumpkeymap does not have permission to read the file.\n"
+"\n"
+"Unable to determine key mapping file size.\n"
+" The call to fstat() failed, thus memory can not be allocated for\n"
+" loading the file.\n"
+"\n"
+"Unable to read key mapping file.\n"
+" The call to fread() failed.\n"
+"\n"
+"The following diagnostic messages have significance only when trying to\n"
+"print the currently active key mapping when no .keymapping files have been\n"
+"mentioned on the command-line.\n"
+"\n"
+"Unable to open event status driver.\n"
+" The call to NXOpenEventStatus() failed.\n"
+"\n"
+"Bad key mapping length.\n"
+" The call to NXKeyMappingLength() returned a bogus value.\n"
+"\n"
+"Unable to get current key mapping.\n"
+" The call to NXGetKeyMapping() failed.\n"
+"\n"
+"The following diagnostic messages have significance only when using\n"
+"dumpkeymap on a non-Apple/NeXT platform.\n"
+"\n"
+"Must specify at least one .keymapping file.\n"
+" No .keymapping files were mentioned on the command-line. On\n"
+" non-Apple/NeXT platforms, there is no concept of a currently active\n"
+" .keymapping file, so at least one file must be mentioned on the\n"
+" command-line.\n"
+"\n", f );
+ }
+
+
+//-----------------------------------------------------------------------------
+// Print warranty.
+//-----------------------------------------------------------------------------
+static void print_warranty( FILE* f )
+ {
+ fputs(
+"This software is provided by the author `AS IS' and any express or implied\n"
+"WARRANTIES, including, but not limited to, the implied warranties of\n"
+"MERCHANTABILITY and FITNESS FOR A PARTICULAR PURPOSE are DISCLAIMED. In NO\n"
+"EVENT shall the author be LIABLE for any DIRECT, INDIRECT, INCIDENTAL,\n"
+"SPECIAL, EXEMPLARY, or CONSEQUENTIAL damages (including, but not limited\n"
+"to, procurement of substitute goods or services; loss of use, data, or\n"
+"profits; or business interruption) however caused and on any theory of\n"
+"liability, whether in contract, strict liability, or tort (including\n"
+"negligence or otherwise) arising in any way out of the use of this\n"
+"software, even if advised of the possibility of such damage.\n"
+"\n", f );
+ }
+
+
+//-----------------------------------------------------------------------------
+// Print this program's version number.
+//-----------------------------------------------------------------------------
+static void print_version( FILE* f )
+ {
+ fputs( "Version " PROG_VERSION " (built " __DATE__ ")\n\n", f );
+ }
+
+
+//-----------------------------------------------------------------------------
+// Print a usage summary.
+//-----------------------------------------------------------------------------
+static void print_usage( FILE* f )
+ {
+ fputs(
+"Usage: dumpkeymap [options] [-] [file ...]\n"
+"\n"
+"Prints a textual representation of each Apple/NeXT .keymapping file\n"
+"mentioned on the command-line. If no files are mentioned and if the local\n"
+"machine is an Apple or NeXT installation, then the key mapping currently in\n"
+"use by the WindowServer and the AppKit is printed instead.\n"
+"\n"
+"Options:\n"
+" -h --help\n"
+" Display general program instructions and option summary.\n"
+"\n"
+" -k --help-keymapping\n"
+" Display a detailed description of the internal layout of a\n"
+" .keymapping file.\n"
+"\n"
+" -o --help-output\n"
+" Display an explanation of the output generated by dumpkeymap when\n"
+" dissecting a .keymapping file.\n"
+"\n"
+" -f --help-files\n"
+" Display a summary of the various files and directories which are\n"
+" related to key mappings.\n"
+"\n"
+" -d --help-diagnostics\n"
+" Display a list of the various diagnostic messages which may be\n"
+" emitted by dumpkeymap.\n"
+"\n"
+" -v --version\n"
+" Display the dumpkeymap version number and warranty information.\n"
+"\n"
+" - --\n"
+" Inhibit processing of options at this point in the argument list.\n"
+" An occurrence of `-' or `--' in the argument list causes all\n"
+" following arguments to be treated as file names even if an argument\n"
+" begins with a `-' character.\n"
+"\n", f );
+ }
+
+
+//-----------------------------------------------------------------------------
// Print an informational banner.
//-----------------------------------------------------------------------------
-static void print_banner( void )
+static void print_banner( FILE* f )
{
- printf( "\n" PROG_NAME " v%d by " AUTHOR_INFO "\n" COPYRIGHT "\n",
- PROG_VERSION );
+ fputs( "\n" PROG_NAME " v" PROG_VERSION " by " AUTHOR_INFO "\n"
+ COPYRIGHT "\n\n", f );
}
//-----------------------------------------------------------------------------
-// Master dispatcher.
+// Process command-line arguments. Examine options first; collecting files
+// along the way. If all is well, process collected file list.
//-----------------------------------------------------------------------------
int main( int const argc, char const* const argv[] )
{
- int rc = 0;
- print_banner();
- if (argc == 1) // No arguments, unparse keymap currently in use.
- rc = unparse_active_keymap();
- else // Unparse keymaps specified on command line.
+ int rc = 0, i, nfiles = 0, more_options = 1, process_files = 1;
+ int* files = (int*)calloc( argc - 1, sizeof(int) );
+ print_banner( stdout );
+
+ for (i = 1; i < argc; i++)
+ {
+ char const* const s = argv[i];
+ if (!more_options || *s != '-')
+ files[ nfiles++ ] = i;
+ else
+ {
+ OPT_SWITCH(s)
+ OPT_CASE(-,--)
+ more_options = 0;
+ OPT_CASE(-h,--help)
+ print_usage( stdout );
+ process_files = 0;
+ OPT_CASE(-k,--help-keymapping)
+ print_internal_layout_info( stdout );
+ process_files = 0;
+ OPT_CASE(-o,--help-output)
+ print_output_info( stdout );
+ process_files = 0;
+ OPT_CASE(-f,--help-files)
+ print_files_info( stdout );
+ process_files = 0;
+ OPT_CASE(-d,--help-diagnostics)
+ print_diagnostics_info( stdout );
+ process_files = 0;
+ OPT_CASE(-v,--version)
+ print_version( stdout );
+ print_warranty( stdout );
+ process_files = 0;
+ OPT_DEFAULT
+ fprintf( stderr, "ERROR: Unrecognized option: %s\n\n", s );
+ process_files = 0;
+ rc = 1;
+ OPT_SWITCH_END
+ }
+ }
+
+ if (process_files)
{
- int i;
- for (i = 1; i < argc; i++)
- rc |= unparse_keymap_file( argv[i] );
+ if (nfiles == 0)
+ rc = handle_empty_document_list();
+ else
+ for (i = 0; i < nfiles; i++)
+ rc |= unparse_keymap_file( argv[files[i]] );
}
+
+ free( files );
return rc;
}
-
diff --git a/xc/programs/Xserver/hw/kdrive/vesa/Xvesa.man b/xc/programs/Xserver/hw/kdrive/vesa/Xvesa.man
index 04ae7f154..7c046733e 100644
--- a/xc/programs/Xserver/hw/kdrive/vesa/Xvesa.man
+++ b/xc/programs/Xserver/hw/kdrive/vesa/Xvesa.man
@@ -1,7 +1,7 @@
-.\" $XFree86: xc/programs/Xserver/hw/kdrive/vesa/Xvesa.man,v 1.3 2000/10/20 00:19:50 keithp Exp $
+.\" $XFree86: xc/programs/Xserver/hw/kdrive/vesa/Xvesa.man,v 1.4 2000/12/01 00:01:32 keithp Exp $
.TH Xvesa 1
.SH NAME
-Xvesa \- VESA VBE tiny X server
+Xvesa \- VESA Bios Extensions tiny X server
.SH SYNOPSIS
.B Xvesa
.RI [ :display ]
@@ -13,15 +13,14 @@ is a generic X server for Linux on the x86 platform.
doesn't know about any particular hardware, and sets the video mode by
running the video BIOS in VM86 mode.
.B Xvesa
-therefore runs untrusted code with full priviledges, and is one of the
-most insecure X servers available.
+can use both standard VGA BIOS modes and any modes advertised by a
+VESA BIOS if available.
.B Xvesa
-uses both standard VGA BIOS modes and any modes advertised by a VESA 2.0
-BIOS if available.
+runs untrusted code with full privileges, and is therefore a fairly
+insecure X server.
.B Run at your own risk.
.SH OPTIONS
-In addition to the normal tiny-X server's options (to be described in
-a separate man page),
+In addition to the normal KDrive server's options (see Xkdrive(1)),
.B Xvesa
accepts the following command line switches:
.TP 8
@@ -30,13 +29,13 @@ specifies the VESA video mode to use. If mode
.I n
is not supported by your BIOS and hardware,
.B Xvesa
-will fail, hang your system, or make your monitor explode; you are on
-your own. This option overrides any
+will fail, hang your system, or cause your monitor to explode; you are
+on your own. This option overrides any
.B -screen
options.
.TP 8
.B -listmodes
-tells the server to list all supported video modes. If
+list all supported video modes. If
.B -force
was specified before
.BR -listmodes ,
@@ -46,12 +45,12 @@ the
server won't be able to use.
.TP 8
.B -force
-disables some sanity checks and use the specified mode even if the
+disable some sanity checks and use the specified mode even if the
BIOS claims not to support it.
.TP 8
.B -shadow
use a shadow framebuffer even if it is not strictly necessary. This
-may dramatically improve performance on some machines.
+may dramatically improve performance on some hardware.
.TP 8
.B -nolinear
don't use a linear framebuffer even if one is available. You don't
@@ -59,22 +58,19 @@ want to use this option.
.TP 8
.B -swaprgb
pass RGB values in the order that works on broken BIOSes. Use this if
-the colours are wrong in PseudoColor modes.
+the colours are wrong in PseudoColor and 16 colour modes.
.TP 8
.B -verbose
emit diagnostic messages during BIOS initialization and teardown.
.SH KEYBOARD
-Xvesa handles the keyboard in the same manner as the
-.B Xfbdev
-Linux X server. See Xfbdev(1) (not yet written) for more information.
+To be written.
.SH BUGS
.B Xvesa
-opens all IO ports and runs your VESA BIOS, which may safely be
-assumed to be buggy. Allowing your users to run
+opens all IO ports and runs your VESA BIOS, which may be assumed to be
+buggy. Allowing your users to run
.B Xvesa
-is a major security hole. Allowing yourself to run
-.B Xvesa
-is probably a mistake.
+is probably a security hole.
+
.B Xvesa
records the current BIOS mode when it starts and restores that mode on
termination; if the video card has been reprogrammed by another application,
@@ -82,10 +78,9 @@ the display will almost certainly be trashed. The alternative of saving and
restoring the complete video card state has proven unreliable on most video
cards.
.SH SEE ALSO
-X(1), Xserver(1), xdm(1), xinit(1), Xfbdev(1).
+X(1), Xserver(1), Xkdrive(1), xdm(1), xinit(1).
.SH AUTHORS
-The tiny-X server was written by Keith Packard, and the VESA driver
-was added by Juliusz Chroboczek who didn't realise what he was doing
-until it was too late. Tiny-X uses code from XFree86, which in turn
-is based on the Sample Implementation. Keith Packard then added support for
-standard VGA BIOS modes and is especially proud of 320x200 16 color mode.
+The VESA driver was written by Juliusz Chroboczek who didn't realise
+what he was doing until it was too late. Keith Packard then added
+support for standard VGA BIOS modes and is especially proud of 320x200
+16 colour mode.
diff --git a/xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h b/xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h
index e933a3017..6cd7d1278 100644
--- a/xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h
+++ b/xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h,v 1.79 2000/11/29 09:16:17 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h,v 1.82 2000/12/04 18:49:52 dawes Exp $ */
/*
* PCI Probe
*
@@ -324,6 +324,8 @@
#define PCI_CHIP_8420 0x8420
#define PCI_CHIP_8500 0x8500
#define PCI_CHIP_8520 0x8520
+#define PCI_CHIP_8600 0x8600
+#define PCI_CHIP_8620 0x8620
#define PCI_CHIP_9320 0x9320
#define PCI_CHIP_9388 0x9388
#define PCI_CHIP_9397 0x9397
@@ -534,13 +536,19 @@
#define PCI_CHIP_Trio3D_2X 0x8A13
#define PCI_CHIP_VIRGE_DXGX 0x8A01
#define PCI_CHIP_VIRGE_GX2 0x8A10
-#define PCI_CHIP_Savage3D 0x8A20
-#define PCI_CHIP_Savage3D_MV 0x8A21
-#define PCI_CHIP_Savage4 0x8A22
-#define PCI_CHIP_Savage2000 0x9102
+#define PCI_CHIP_SAVAGE3D 0x8A20
+#define PCI_CHIP_SAVAGE3D_MV 0x8A21
+#define PCI_CHIP_SAVAGE4 0x8A22
+#define PCI_CHIP_SAVAGE2000 0x9102
#define PCI_CHIP_VIRGE_MX 0x8C01
#define PCI_CHIP_VIRGE_MXPLUS 0x8C01
#define PCI_CHIP_VIRGE_MXP 0x8C03
+#define PCI_CHIP_PROSAVAGE_PM 0x8A25
+#define PCI_CHIP_PROSAVAGE_KM 0x8A26
+#define PCI_CHIP_SAVAGE_MX_MV 0x8c10
+#define PCI_CHIP_SAVAGE_MX 0x8c11
+#define PCI_CHIP_SAVAGE_IX_MV 0x8c12
+#define PCI_CHIP_SAVAGE_IX 0x8c13
/* ARK Logic */
#define PCI_CHIP_1000PV 0xA091
@@ -905,6 +913,8 @@ static pciVendorDeviceInfo xf86PCIVendorInfoData[] = {
{PCI_CHIP_8420, "CyberBlade/DSTN/i7",0},
{PCI_CHIP_8500, "CyberBlade/i1",0},
{PCI_CHIP_8520, "CyberBlade/DSTN/i1",0},
+ {PCI_CHIP_8600, "CyberBlade/Ai1",0},
+ {PCI_CHIP_8620, "CyberBlade/DSTN/Ai1",0},
{0x0000, NULL,0}}},
#ifdef VENDOR_INCLUDE_NONVIDEO
{PCI_VENDOR_ALI, {
@@ -1383,10 +1393,16 @@ static pciVendorDeviceInfo xf86PCIVendorInfoData[] = {
{PCI_CHIP_VIRGE_VX, "ViRGE/VX",0},
{PCI_CHIP_VIRGE_DXGX, "ViRGE/DX or /GX",0},
{PCI_CHIP_VIRGE_GX2, "ViRGE/GX2",0},
- {PCI_CHIP_Savage3D, "Savage3D (86E391)",0},
- {PCI_CHIP_Savage3D_MV, "Savage3D+MacroVision (86E390)",0},
- {PCI_CHIP_Savage4, "Savage4",0},
- {PCI_CHIP_Savage2000, "Savage2000",0},
+ {PCI_CHIP_SAVAGE3D, "Savage3D (86E391)",0},
+ {PCI_CHIP_SAVAGE3D_MV, "Savage3D+MacroVision (86E390)",0},
+ {PCI_CHIP_SAVAGE4, "Savage4",0},
+ {PCI_CHIP_SAVAGE2000, "Savage2000",0},
+ {PCI_CHIP_SAVAGE_MX, "Savage/MX",0},
+ {PCI_CHIP_SAVAGE_MX_MV, "Savage/MX-MV",0},
+ {PCI_CHIP_SAVAGE_IX, "Savage/IX",0},
+ {PCI_CHIP_SAVAGE_IX_MV, "Savage/IX-MV",0},
+ {PCI_CHIP_PROSAVAGE_PM, "ProSavage PM133",0},
+ {PCI_CHIP_PROSAVAGE_KM, "ProSavage KM133",0},
{PCI_CHIP_VIRGE_MX, "ViRGE/MX",0},
{PCI_CHIP_VIRGE_MXPLUS, "ViRGE/MX+",0},
{PCI_CHIP_VIRGE_MXP, "ViRGE/MX+MV",0},
diff --git a/xc/programs/Xserver/hw/xfree86/common/xf86sbusBus.c b/xc/programs/Xserver/hw/xfree86/common/xf86sbusBus.c
index 9b221349d..5f711f87b 100644
--- a/xc/programs/Xserver/hw/xfree86/common/xf86sbusBus.c
+++ b/xc/programs/Xserver/hw/xfree86/common/xf86sbusBus.c
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86sbusBus.c,v 3.3 2000/06/20 16:01:20 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86sbusBus.c,v 3.4 2000/12/01 15:28:10 dawes Exp $ */
#include <ctype.h>
#include <stdio.h>
@@ -436,7 +436,7 @@ xf86MatchSbusInstances(const char *driverName, int sbusDevId,
int actualcards = 0;
for (i = 0; i < allocatedInstances; i++) {
actualcards++;
- pGDev = xf86AddBusDeviceToConfigure(driverName, BUS_SBUS,
+ pGDev = xf86AddBusDeviceToConfigure(drvp->driverName, BUS_SBUS,
instances[i].sbus, -1);
if (pGDev) {
/*
diff --git a/xc/programs/Xserver/hw/xfree86/doc/Install b/xc/programs/Xserver/hw/xfree86/doc/Install
index 1522642a6..ced646815 100644
--- a/xc/programs/Xserver/hw/xfree86/doc/Install
+++ b/xc/programs/Xserver/hw/xfree86/doc/Install
@@ -1,4 +1,4 @@
- Installation Details for XFree86[tm] 4.0.1
+ Installation Details for XFree86[tm] 4.0.2
The XFree86 Project, Inc
@@ -19,11 +19,11 @@ balls" identified by the .tgz suffix). Along with the binaries we provide a
customized version of the GNU tar utility called "extract" and an installa-
tion script. We recommend that these be used to install the binaries.
-2. Downloading the XFree86 4.0.1 binaries
+2. Downloading the XFree86 4.0.2 binaries
-We, The XFree86 Project, provide XFree86 4.0.1 binaries for a range of oper-
+We, The XFree86 Project, provide XFree86 4.0.2 binaries for a range of oper-
ating systems at our ftp site
-<URL:ftp://ftp.xfree86.org/pub/XFree86/4.0.1/binaries/>. Often during
+<URL:ftp://ftp.xfree86.org/pub/XFree86/4.0.2/binaries/>. Often during
releases, our ftp site is heavily loaded. Instead of downloading directly
from us we recommend that instead you use one of our mirror sites. Another
advantage of using our mirror sites is that some of them support http access
@@ -108,9 +108,9 @@ NOTES:
If you miss some and want to install them later, go to the Manual Installa-
tion (section 4., page 1) section.
-3. Installing XFree86 4.0.1 using the Xinstall.sh script
+3. Installing XFree86 4.0.2 using the Xinstall.sh script
-We strongly recommend that our XFree86 4.0.1 binaries be installed using the
+We strongly recommend that our XFree86 4.0.2 binaries be installed using the
Xinstall.sh script that we provide. There are a lot of steps in the manual
installation process, and those steps can vary according to the platform and
hardware setup. There is a description of the manual installation process
@@ -227,7 +227,7 @@ later that you need it, you can create it easily by running:
The next step is to configure the X server. That is covered in detail in an
as-yet unwritten document :-(. In the meantime, there are two ways to create
-a basic X server configuration file for XFree86 4.0.1. One is to run the
+a basic X server configuration file for XFree86 4.0.2. One is to run the
xf86config utility. Another is to use the new -configure X server option:
XFree86 -configure
@@ -241,9 +241,9 @@ old XF86_* and/or XF98_* X server binaries from /usr/X11R6/bin.
After the X server configuration is done, it may be advisable to reboot,
especially if you run xdm (or equivalent) or the font server (xfs).
-4. Installing XFree86 4.0.1 manually
+4. Installing XFree86 4.0.2 manually
-This section describes how to manually install the XFree86 4.0.1 binary dis-
+This section describes how to manually install the XFree86 4.0.2 binary dis-
tributions. You should only use this method if you know what you're doing.
The information here covers some common cases, but not every possible case.
@@ -347,4 +347,4 @@ Once that's done, the main part of the installation can be done:
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml,v 1.7 2000/07/03 16:51:11 dawes Exp $
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/Install,v 1.6 2000/07/03 16:51:32 dawes Exp $
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/Install,v 1.7 2000/12/01 19:47:44 dawes Exp $
diff --git a/xc/programs/Xserver/hw/xfree86/doc/README.DRIcomp b/xc/programs/Xserver/hw/xfree86/doc/README.DRIcomp
index 8a0a8ea33..d2d81ddea 100644
--- a/xc/programs/Xserver/hw/xfree86/doc/README.DRIcomp
+++ b/xc/programs/Xserver/hw/xfree86/doc/README.DRIcomp
@@ -51,97 +51,112 @@ You'll need the following:
o ssh (secure shell) for registered developer downloading of the DRI
source tree
+ o A recent Linux Kernel. See below for details.
+
+ o FreeBSD support is not currently being maintained and may not work.
+
For 3dfx Voodoo3 hardware, you'll also need:
o Glide3x headers and runtime library if you want to use the 3dfx driver.
These can be obtained from linux.3dfx.com.
- o Linux kernel 2.2.x. The DRI developers have been using stock RedHat 6.1
- systems (kernel 2.2.12-20). Later kernel versions will be supported in
- the future.
+ o A recent Linux 2.4.x kernel. AGP support is not required.
For Matrox G200/G400 hardware, you'll also need:
- o Linux kernel 2.3.51. Older kernel versions will not work.
+ o A recent Linux 2.4.x kernel with AGP support.
For Intel i810 hardware, you'll also need:
- o Linux kernel 2.3.99-pre6. Older kernel versions will not work.
+ o A recent Linux 2.4.x kernel with AGP support.
For ATI Rage hardware, you'll also need:
- o Linux kernel 2.3.51. Other kernel versions may work but this one is
- known to work.
+ o A recent Linux 2.4.x kernel with AGP support.
+
+4. Linux Kernel Preparation
-4. Kernel preparation
+The DRI project closely tracks Linux kernel development. Since the internal
+Linux data structures change frequently in the 2.4 development branch it's
+important to have use the most recent Linux kernel. As of this writing (Nov
+2000), 2.4.0-test11-pre5 is the most recent version of Linux which the DRI is
+synchronized to.
-You may have to upgrade your Linux kernel in order to use the DRI. This is
-because you need a kernel version which supports AGP. Building a new Linux
-kernel can be difficult for beginners but there are resources on the Internet
-to help. This document assumes experience with configuring, building and
-installing Linux kernels.
+Most of the DRI drivers require AGP support and using Intel Pentium III SSE
+optimizations also requires an up-to-date Linux kernel.
+
+Building a new Linux kernel can be difficult for beginners but there are
+resources on the Internet to help. This document assumes experience with
+configuring, building and installing Linux kernels.
Linux kernels can be downloaded from www.kernel.org
-Download the needed kernel and put it in /usr/src. Create a directory for
-the source and unpack it. For example:
+Here are the basic steps for kernel setup.
+
+ o Download the needed kernel and put it in /usr/src. Create a directory
+ for the source and unpack it. For example:
- cd /usr/src
- rm -f linux
- mkdir linux-2.3.51
- ln -s linux-2.3.51 linux
- bzcat linux-2.3.51.tar.bz2 | tar xf -
+ cd /usr/src
+ rm -f linux
+ mkdir linux-2.4.x
+ ln -s linux-2.4.x linux
+ bzcat linux-2.4.x.tar.bz2 | tar xf -
-Now configure your kernel. You might, for example, use make menuconfig and
-do the following:
+ o Configure your kernel. You might, for example, use make menuconfig and
+ do the following:
- o Go to Code maturity level options
+ o Go to Code maturity level options
- o Enable Prompt for development and/or incomplete code/drivers
+ o Enable Prompt for development and/or incomplete code/drivers
- o hit ESC
+ o hit ESC to return to the top-level menu
- o Go to Character devices
+ o Go to Character devices
- o Disable Direct Rendering Manager (XFree86 DRI support) since we'll use
- the DRI module from the XFree86/DRI tree.
+ o Disable Direct Rendering Manager (XFree86 DRI support) since we'll
+ use the DRI module from the XFree86/DRI tree.
- o Go to /dev/agpgart (AGP Support) (EXPERIMENTAL) (NEW)
+ o Go to /dev/agpgart (AGP Support) (EXPERIMENTAL) (NEW)
- o Hit SPACE twice
+ o Hit SPACE twice to build AGP support into the kernel
- o Enable all chipsets' support for AGP
+ o Enable all chipsets' support for AGP
-It's recommended that you turn on MTRRs under Processor type and Features,
-but not required.
+ o It's recommended that you turn on MTRRs under Processor type and
+ Features, but not required.
-Configure the rest of the kernel as required for your system (i.e. Ethernet,
-SCSI, etc)
+ o Configure the rest of the kernel as required for your system (i.e. Eth-
+ ernet, SCSI, etc)
-Exit, saving your kernel configuration.
+ o Exit, saving your kernel configuration.
-Edit your /etc/lilo.conf file. Make sure you have an image entry as follows
-(or similar):
+ o Edit your /etc/lilo.conf file. Make sure you have an image entry as
+ follows (or similar):
- image=/boot/vmlinuz
- label=linux.2.3.51
- read-only
- root=/dev/hda1
+ image=/boot/vmlinuz
+ label=linux.2.4.x
+ read-only
+ root=/dev/hda1
-The important part is that you have /boot/vmlinuz without a trailing version
-number. If this is the first entry in your /etc/lilo.conf AND you haven't
-set a default, then this will be your default kernel.
+ The important part is that you have /boot/vmlinuz without a trailing
+ version number. If this is the first entry in your /etc/lilo.conf AND
+ you haven't set a default, then this will be your default kernel.
-Now compile the new kernel:
+ o Compile the new kernel.
- cd /usr/src/linux-2.3.51
- make dep ; make bzImage
- make modules ; make modules_install
- make install
+ cd /usr/src/linux-2.4.x
+ make dep
+ make bzImage
+ make modules
+ make modules_install
+ make install
-Note that the final part, make install, will automatically run lilo for you.
+ Note that last make command will automatically run lilo for you.
-Now reboot to use this new kernel.
+ o Upgrade your modutils package for Linux 2.4.x if you're upgrading from
+ Linux 2.2.x.
+
+ o Now reboot to use the new kernel.
5. Downloading the XFree86/DRI CVS Sources
@@ -323,12 +338,12 @@ using the right version of the Linux kernel. The most recent kernels are not
always supported.
If your build machine is running a different version of the kernel than your
-target machine (i.e. 2.2.12-20 vs. 2.3.99-pre6), make will select the wrong
-kernel headers. This can be fixed by explicitly setting the value of TREE.
-If the path to your kernel source is /bigdisk/linux-2.3.99-pre6,
+target machine (i.e. 2.2.x vs. 2.4.x), make will select the wrong kernel
+headers. This can be fixed by explicitly setting the value of TREE. If the
+path to your kernel source is /usr/src/linux-2.4.x,
cd ~/DRI-CVS/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel
- make TREE=/bigdisk/linux-2.3.99-pre6
+ make TREE=/usr/src/linux-2.4
or alternatively, edit Makefile to include this change.
@@ -336,6 +351,18 @@ After fixing the errors, run make World again. Later, you might just compile
parts of the source tree but it's important that the whole tree will build
first.
+7.5 DRI kernel module installation
+
+The DRI kernel modules are in ~/DRI-CVS/build/xc/pro-
+grams/Xserver/hw/xfree86/os-support/linux/drm/kernel/.
+
+To load the appropriate DRI module in your running kernel you can either use
+ismod and restart your X server or copy the kernel module to /lib/mod-
+ules/2.4.x/kernel/driver/char/drm/ then run depmod and restart your X server.
+
+Make sure you first unload any older DRI kernel modules that might be already
+loaded.
+
8. Normal Installation and Configuration
Most users will want to install the new X server and use it instead of the
@@ -486,7 +513,7 @@ At this point your X server should be up and running with hardware-acceler-
ated direct rendering. Please read the DRI User Guide for information about
trouble shooting and how to use the DRI-enabled X server for 3D applications.
- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml,v 1.7 2000/11/08 05:03:03 dawes Exp $
+ Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml,v 1.8 2000/12/01 14:28:55 dawes Exp $
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.DRIcomp,v 3.4 2000/11/16 15:50:04 dawes Exp $
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.DRIcomp,v 3.5 2000/12/01 19:47:46 dawes Exp $
diff --git a/xc/programs/Xserver/hw/xfree86/doc/README.i810 b/xc/programs/Xserver/hw/xfree86/doc/README.i810
index b02c18bf9..7807628d9 100644
--- a/xc/programs/Xserver/hw/xfree86/doc/README.i810
+++ b/xc/programs/Xserver/hw/xfree86/doc/README.i810
@@ -107,4 +107,4 @@ http://www.precisioninsight.com
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/i810.sgml,v 1.2 2000/03/04 00:00:30 dawes Exp $
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.i810,v 1.4 2000/06/17 17:44:22 dawes Exp $
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.i810,v 1.5 2000/12/01 19:47:49 dawes Exp $
diff --git a/xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml b/xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml
index 4a533cc4a..c9ed15581 100644
--- a/xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml
+++ b/xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml
@@ -15,7 +15,7 @@
<date>20 November 2000
<ident>
- $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml,v 1.12 2000/11/16 18:36:25 dawes Exp $
+ $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml,v 1.13 2000/12/01 14:28:55 dawes Exp $
</ident>
<toc>
diff --git a/xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml b/xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml
index d8974f398..ec394effa 100644
--- a/xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml
+++ b/xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml
@@ -15,7 +15,7 @@
<date>29 October 2000
<ident>
- $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml,v 1.7 2000/11/08 05:03:03 dawes Exp $
+ $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml,v 1.8 2000/12/01 14:28:55 dawes Exp $
</ident>
<toc>
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ark/ark_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/ark/ark_driver.c
index b7e765b5c..ed7dbc03c 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ark/ark_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ark/ark_driver.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ark/ark_driver.c,v 1.8 2000/11/15 23:13:09 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ark/ark_driver.c,v 1.9 2000/12/02 15:30:31 tsi Exp $ */
/*
* Copyright 2000 Ani Joshi <ajoshi@unixbox.com>
*
@@ -209,7 +209,7 @@ static void ARKIdentify(int flags)
static Bool ARKProbe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -225,8 +225,7 @@ static Bool ARKProbe(DriverPtr drv, int flags)
devSections, numDevSections, drv,
&usedChips);
- if (devSections)
- xfree(devSections);
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128.h b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128.h
index 41624f25c..aaae5390c 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128.h,v 1.3 2000/11/18 19:37:10 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128.h,v 1.6 2000/12/04 19:21:52 dawes Exp $ */
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
@@ -40,6 +40,8 @@
#include "xf86str.h"
+#include "xf86_OSproc.h"
+
/* PCI support */
#include "xf86Pci.h"
@@ -218,6 +220,7 @@ typedef struct {
R128SaveRec SavedReg; /* Original (text) mode */
R128SaveRec ModeReg; /* Current mode */
Bool (*CloseScreen)(int, ScreenPtr);
+ void (*BlockHandler)(int, pointer, pointer, pointer);
Bool PaletteSavedOnVT; /* Palette saved on last VT switch */
@@ -343,6 +346,9 @@ typedef struct {
#endif
XF86VideoAdaptorPtr adaptor;
+ void (*VideoTimerCallback)(ScrnInfoPtr, Time);
+ int videoKey;
+ Bool showCache;
} R128InfoRec, *R128InfoPtr;
#define R128WaitForFifo(pScrn, entries) \
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c
index 73511b939..6a2d75aef 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c,v 1.3 2000/11/18 19:37:10 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c,v 1.4 2000/12/04 19:21:52 dawes Exp $ */
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c
index e11d9996d..55b2a24db 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c,v 1.5 2000/11/21 23:10:33 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c,v 1.6 2000/12/04 19:21:52 dawes Exp $ */
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.h b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.h
index 52e28aad5..c9c9a7543 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.h,v 1.3 2000/11/18 19:37:11 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.h,v 1.4 2000/12/04 19:21:52 dawes Exp $ */
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c
index 81841f8d5..ada2af0b0 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,v 1.6 2000/11/28 17:25:12 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,v 1.8 2000/12/04 19:21:52 dawes Exp $ */
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
@@ -95,11 +95,13 @@
#include "xf86PciInfo.h"
#include "xf86RAC.h"
#include "xf86cmap.h"
+#include "xf86xv.h"
#include "vbe.h"
/* fbdevhw & vgahw */
#include "fbdevhw.h"
#include "vgaHW.h"
+#include "dixstruct.h"
#ifndef MAX
#define MAX(a,b) ((a)>(b)?(a):(b))
@@ -139,7 +141,9 @@ typedef enum {
OPTION_PANEL_WIDTH,
OPTION_PANEL_HEIGHT,
OPTION_PROG_FP_REGS,
- OPTION_FBDEV
+ OPTION_FBDEV,
+ OPTION_VIDEO_KEY,
+ OPTION_SHOW_CACHE
} R128Opts;
OptionInfoRec R128Options[] = {
@@ -166,6 +170,8 @@ OptionInfoRec R128Options[] = {
{ OPTION_PANEL_HEIGHT, "PanelHeight", OPTV_INTEGER, {0}, FALSE },
{ OPTION_PROG_FP_REGS, "ProgramFPRegs", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_FBDEV, "UseFBDev", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_VIDEO_KEY, "VideoKey", OPTV_INTEGER, {0}, FALSE },
+ { OPTION_SHOW_CACHE, "ShowCache", OPTV_BOOLEAN, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
@@ -1317,6 +1323,18 @@ Bool R128PreInit(ScrnInfoPtr pScrn, int flags)
if (!R128PreInitWeight(pScrn)) goto fail;
+ if(xf86GetOptValInteger(R128Options, OPTION_VIDEO_KEY, &(info->videoKey))) {
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n",
+ info->videoKey);
+ } else {
+ info->videoKey = 0x1E;
+ }
+
+ if (xf86ReturnOptValBool(R128Options, OPTION_SHOW_CACHE, FALSE)) {
+ info->showCache = TRUE;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "ShowCache enabled\n");
+ }
+
if (xf86ReturnOptValBool(R128Options, OPTION_FBDEV, FALSE)) {
info->FBDev = TRUE;
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
@@ -1430,6 +1448,22 @@ static void R128LoadPalette(ScrnInfoPtr pScrn, int numColors,
}
}
+static void
+R128BlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask)
+{
+ ScreenPtr pScreen = screenInfo.screens[i];
+ ScrnInfoPtr pScrn = xf86Screens[i];
+ R128InfoPtr info = R128PTR(pScrn);
+
+ pScreen->BlockHandler = info->BlockHandler;
+ (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
+ pScreen->BlockHandler = R128BlockHandler;
+
+ if(info->VideoTimerCallback) {
+ (*info->VideoTimerCallback)(pScrn, currentTime.milliseconds);
+ }
+}
+
/* Called at the start of each server generation. */
Bool R128ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
{
@@ -1876,6 +1910,9 @@ Bool R128ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
}
#endif
+ info->BlockHandler = pScreen->BlockHandler;
+ pScreen->BlockHandler = R128BlockHandler;
+
return TRUE;
}
@@ -2730,6 +2767,9 @@ void R128AdjustFrame(int scrnIndex, int x, int y, int flags)
unsigned char *R128MMIO = info->MMIO;
int Base;
+ if(info->showCache && y && pScrn->vtSema)
+ y += pScrn->virtualY - 1;
+
Base = y * info->CurrentLayout.displayWidth + x;
switch (info->CurrentLayout.pixel_code) {
@@ -2846,9 +2886,16 @@ static Bool R128CloseScreen(int scrnIndex, ScreenPtr pScreen)
if (info->DGAModes) xfree(info->DGAModes);
info->DGAModes = NULL;
+
+ if (info->adaptor) {
+ xfree(info->adaptor->pPortPrivates[0].ptr);
+ xf86XVFreeVideoAdaptorRec(info->adaptor);
+ info->adaptor = NULL;
+ }
pScrn->vtSema = FALSE;
+ pScreen->BlockHandler = info->BlockHandler;
pScreen->CloseScreen = info->CloseScreen;
return (*pScreen->CloseScreen)(scrnIndex, pScreen);
}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c
index 053835976..ab11ae374 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c,v 1.4 2000/11/28 17:25:13 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c,v 1.5 2000/12/02 15:30:33 tsi Exp $ */
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
@@ -109,7 +109,7 @@ R128Probe(DriverPtr drv, int flags)
int numUsed;
int numDevSections, nATIGDev, nR128GDev;
int *usedChips;
- GDevPtr *devSections, *ATIGDevs = NULL, *R128GDevs = NULL;
+ GDevPtr *devSections, *ATIGDevs, *R128GDevs;
EntityInfoPtr pEnt;
Bool foundScreen = FALSE;
int i;
@@ -193,7 +193,7 @@ R128Probe(DriverPtr drv, int flags)
xfree(pEnt);
}
- if (numUsed) xfree(usedChips);
+ xfree(usedChips);
xfree(devSections);
return foundScreen;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h
index e8bfb6f4e..436c3d93b 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h,v 1.3 2000/11/18 19:37:11 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_reg.h,v 1.4 2000/12/04 19:21:53 dawes Exp $ */
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_sarea.h b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_sarea.h
index fab53ad08..1dbc5088a 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_sarea.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_sarea.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_sarea.h,v 1.3 2000/11/18 19:37:11 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_sarea.h,v 1.4 2000/12/04 19:21:53 dawes Exp $ */
/*
* Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
* Precision Insight, Inc., Cedar Park, Texas, and
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c
index 84f48ba86..76a3cc758 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c
@@ -1,51 +1,10 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c,v 1.4 2000/11/21 23:10:34 tsi Exp $ */
-/*
- * Copyright 2000 Stuart R. Anderson and Metro Link, Inc.
- *
- * All Rights Reserved.
- *
- * 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 on
- * 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * ATI, PRECISION INSIGHT AND/OR THEIR SUPPLIERS 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.
- */
-
-/*
- * Authors:
- * Stuart R. Anderson <anderson@metrolink.com>
- *
- * Credits:
- *
- * This code is derived primarily from the GATOS Project run by Stea Greene.
- * The initial version of this code was done by Vladimir Dergacheb.
- *
- * This code was simplified from the GATOS code primarily because I didn't
- * have the right hardware handy to test anything beyond simple overlays,
- * and because I wanted to complete it in a short time frame that I had
- * available.
- *
- * My apologies to Vladimir as there is more good work in his code that
- * should be brought forward.
- */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c,v 1.11 2000/12/03 23:41:57 mvojkovi Exp $ */
#include "r128.h"
#include "r128_reg.h"
#include "xf86.h"
+#include "dixstruct.h"
#include "Xv.h"
#include "fourcc.h"
@@ -59,62 +18,58 @@
#define TIMER_MASK (OFF_TIMER | FREE_TIMER)
+
#ifndef XvExtension
void R128InitVideo(ScreenPtr pScreen) {}
#else
-static XF86VideoAdaptorPtr R128SetupImageVideo(ScreenPtr);
-static int R128SetPortAttribute(ScrnInfoPtr, Atom, INT32, pointer);
-static int R128GetPortAttribute(ScrnInfoPtr, Atom ,INT32 *, pointer);
+static XF86VideoAdaptorPtr R128SetupImageVideo(ScreenPtr);
+static int R128SetPortAttribute(ScrnInfoPtr, Atom, INT32, pointer);
+static int R128GetPortAttribute(ScrnInfoPtr, Atom ,INT32 *, pointer);
static void R128StopVideo(ScrnInfoPtr, pointer, Bool);
-static void R128QueryBestSize(ScrnInfoPtr, Bool,
- short, short, short, short, unsigned int *, unsigned int *, pointer);
-static int R128PutImage( ScrnInfoPtr,
- short, short, short, short, short, short, short, short,
- int, unsigned char*, short, short, Bool, RegionPtr, pointer);
-static int R128QueryImageAttributes(ScrnInfoPtr,
- int, unsigned short *, unsigned short *, int *, int *);
+static void R128QueryBestSize(ScrnInfoPtr, Bool, short, short, short, short,
+ unsigned int *, unsigned int *, pointer);
+static int R128PutImage(ScrnInfoPtr, short, short, short, short, short,
+ short, short, short, int, unsigned char*, short,
+ short, Bool, RegionPtr, pointer);
+static int R128QueryImageAttributes(ScrnInfoPtr, int, unsigned short *,
+ unsigned short *, int *, int *);
+
+
+static void R128ResetVideo(ScrnInfoPtr);
+
+static void R128VideoTimerCallback(ScrnInfoPtr pScrn, Time time);
+
#define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE)
-#define IMAGE_MAX_WIDTH 2048
-#define IMAGE_MAX_HEIGHT 2048
-#define Y_BUF_SIZE (IMAGE_MAX_WIDTH * IMAGE_MAX_HEIGHT)
+static Atom xvBrightness, xvColorKey, xvSaturation, xvDoubleBuffer;
-static Atom xvColorKey;
typedef struct {
- int videoStatus;
- unsigned char brightness;
- unsigned char contrast;
-
- RegionRec clip;
- CARD32 colorKey;
- CARD8 overlay_pixel_size;
- CARD8 current_buffer;
- int overlay_pad;
- CARD32 overlay_id;
- CARD32 overlay_width;
-
- CARD32 scale_cntl;
- CARD32 video_format;
- FBLinearPtr linear;
- } R128PortPrivRec, *R128PortPrivPtr;
+ int brightness;
+ int saturation;
+ Bool doubleBuffer;
+ unsigned char currentBuffer;
+ FBLinearPtr linear;
+ RegionRec clip;
+ CARD32 colorKey;
+ CARD32 videoStatus;
+ Time offTime;
+ Time freeTime;
+} R128PortPrivRec, *R128PortPrivPtr;
+
void R128InitVideo(ScreenPtr pScreen)
{
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ R128InfoPtr info = R128PTR(pScrn);
XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL;
XF86VideoAdaptorPtr newAdaptor = NULL;
int num_adaptors;
- R128TRACE(("R128InitVideo called\n"));
-
- /* Determine if the card supports this */
- if (pScrn->bitsPerPixel != 8)
- {
+ if(info->accel && info->accel->FillSolidRects)
newAdaptor = R128SetupImageVideo(pScreen);
- }
num_adaptors = xf86XVListGenericAdaptors(pScrn, &adaptors);
@@ -143,39 +98,43 @@ void R128InitVideo(ScreenPtr pScreen)
}
/* client libraries expect an encoding */
-static XF86VideoEncodingRec DummyEncoding[1] =
+static XF86VideoEncodingRec DummyEncoding =
{
- {
0,
"XV_IMAGE",
- IMAGE_MAX_WIDTH, IMAGE_MAX_HEIGHT,
+ 2048, 2048,
{1, 1}
- }
};
-#define NUM_FORMATS 3
+#define NUM_FORMATS 12
static XF86VideoFormatRec Formats[NUM_FORMATS] =
{
- {15, TrueColor},
- {16, TrueColor},
- {32, TrueColor}
+ {8, TrueColor}, {8, DirectColor}, {8, PseudoColor},
+ {8, GrayScale}, {8, StaticGray}, {8, StaticColor},
+ {15, TrueColor}, {16, TrueColor}, {24, TrueColor},
+ {15, DirectColor}, {16, DirectColor}, {24, DirectColor}
};
-#define NUM_ATTRIBUTES 1
+
+#define NUM_ATTRIBUTES 4
static XF86AttributeRec Attributes[NUM_ATTRIBUTES] =
{
- {XvSettable | XvGettable, 0, (1<<24)-1, "XV_COLORKEY"},
+ {XvSettable | XvGettable, 0, (1 << 24) - 1, "XV_COLORKEY"},
+ {XvSettable | XvGettable, -64, 63, "XV_BRIGHTNESS"},
+ {XvSettable | XvGettable, 0, 31, "XV_SATURATION"},
+ {XvSettable | XvGettable, 0, 1, "XV_DOUBLE_BUFFER"}
};
-#define NUM_IMAGES 3
+#define NUM_IMAGES 4
static XF86ImageRec Images[NUM_IMAGES] =
{
XVIMAGE_YUY2,
+ XVIMAGE_UYVY,
XVIMAGE_YV12,
- XVIMAGE_UYVY
+ XVIMAGE_I420
};
static void
@@ -185,52 +144,53 @@ R128ResetVideo(ScrnInfoPtr pScrn)
unsigned char *R128MMIO = info->MMIO;
R128PortPrivPtr pPriv = info->adaptor->pPortPrivates[0].ptr;
- R128TRACE(("R128ResetVideo called\n"));
- /* Initialize some of the HW here */
- OUTREG(R128_OV0_EXCLUSIVE_HORZ,0); /* disable exclusive mode */
- OUTREG(R128_OV0_VIDEO_KEY_MSK,0xffff);
+ OUTREG(R128_OV0_SCALE_CNTL, 0x80000000);
+ OUTREG(R128_OV0_EXCLUSIVE_HORZ, 0);
+ OUTREG(R128_OV0_AUTO_FLIP_CNTL, 0); /* maybe */
+ OUTREG(R128_OV0_FILTER_CNTL, 0x0000000f);
+ OUTREG(R128_OV0_COLOUR_CNTL, (pPriv->brightness & 0x7f) |
+ (pPriv->saturation << 8) |
+ (pPriv->saturation << 16));
+ OUTREG(R128_OV0_GRAPHICS_KEY_MSK, (1 << pScrn->depth) - 1);
+ OUTREG(R128_OV0_GRAPHICS_KEY_CLR, pPriv->colorKey);
OUTREG(R128_OV0_KEY_CNTL, R128_GRAPHIC_KEY_FN_NE);
- OUTREG(R128_OV0_GRAPHICS_KEY_CLR,pPriv->colorKey);
- /* Only using one buffer for now
- OUTREG(R128_OV0_AUTO_FLIP_CNTL,pAPriv->Port[0].auto_flip_cntl);
- */
- switch(pScrn->depth){
- case 8:
- OUTREG(R128_OV0_GRAPHICS_KEY_MSK,0xff);
- break;
- case 15:
- OUTREG(R128_OV0_GRAPHICS_KEY_MSK,0x7fff);
- break;
- case 16:
- OUTREG(R128_OV0_GRAPHICS_KEY_MSK,0xffff);
- break;
- case 24:
- OUTREG(R128_OV0_GRAPHICS_KEY_MSK,0xffffff);
- break;
- case 32:
- OUTREG(R128_OV0_GRAPHICS_KEY_MSK,0xffffffff);
- break;
+ OUTREG(R128_OV0_TEST, 0);
+}
+
+
+static XF86VideoAdaptorPtr
+R128AllocAdaptor(ScrnInfoPtr pScrn)
+{
+ XF86VideoAdaptorPtr adapt;
+ R128InfoPtr info = R128PTR(pScrn);
+ R128PortPrivPtr pPriv;
+
+ if(!(adapt = xf86XVAllocateVideoAdaptorRec(pScrn)))
+ return NULL;
+
+ if(!(pPriv = xcalloc(1, sizeof(R128PortPrivRec) + sizeof(DevUnion))))
+ {
+ xfree(adapt);
+ return NULL;
}
- OUTREG(R128_OV0_REG_LOAD_CNTL,0x0);
- OUTREG(R128_OV0_DEINTERLACE_PATTERN,0xAAAAA);
- OUTREG(R128_OV0_P1_V_ACCUM_INIT,(2<<20)|1);
- OUTREG(R128_OV0_P23_V_ACCUM_INIT,(2<<20)|1);
- OUTREG(R128_OV0_P1_H_ACCUM_INIT,(3<<28));
- OUTREG(R128_OV0_P23_H_ACCUM_INIT,(2<<28));
- OUTREG(R128_OV0_STEP_BY,1|(1<<8));
- OUTREG(R128_OV0_FILTER_CNTL,0xf); /* use hardcoded coeff's */
- OUTREG(R128_OV0_FILTER_CNTL,0x0); /* use programmable coeff's */
- OUTREG(R128_OV0_FOUR_TAP_COEF_0 , 0x00002000);
- OUTREG(R128_OV0_FOUR_TAP_COEF_1 , 0x0D06200D);
- OUTREG(R128_OV0_FOUR_TAP_COEF_2 , 0x0D0A1C0D);
- OUTREG(R128_OV0_FOUR_TAP_COEF_3 , 0x0C0E1A0C);
- OUTREG(R128_OV0_FOUR_TAP_COEF_4 , 0x0C14140C);
- OUTREG(R128_OV0_COLOUR_CNTL,(1<<12)|(1<<20));
- OUTREG(R128_OV0_TEST,0);
- OUTREG(R128_OV0_SCALE_CNTL,pPriv->scale_cntl|pPriv->video_format);
- OUTREG(R128_CAP0_TRIG_CNTL,0);
+ adapt->pPortPrivates = (DevUnion*)(&pPriv[1]);
+ adapt->pPortPrivates[0].ptr = (pointer)pPriv;
+
+ xvBrightness = MAKE_ATOM("XV_BRIGHTNESS");
+ xvSaturation = MAKE_ATOM("XV_SATURATION");
+ xvColorKey = MAKE_ATOM("XV_COLORKEY");
+ xvDoubleBuffer = MAKE_ATOM("XV_DOUBLE_BUFFER");
+
+ pPriv->colorKey = info->videoKey;
+ pPriv->doubleBuffer = TRUE;
+ pPriv->videoStatus = 0;
+ pPriv->brightness = 0;
+ pPriv->saturation = 16;
+ pPriv->currentBuffer = 0;
+
+ return adapt;
}
static XF86VideoAdaptorPtr
@@ -238,32 +198,23 @@ R128SetupImageVideo(ScreenPtr pScreen)
{
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
R128InfoPtr info = R128PTR(pScrn);
- XF86VideoAdaptorPtr adapt;
R128PortPrivPtr pPriv;
+ XF86VideoAdaptorPtr adapt;
- R128TRACE(("R128SetupImageVideo called\n"));
-
- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) +
- sizeof(R128PortPrivRec) +
- sizeof(DevUnion))))
+ if(!(adapt = R128AllocAdaptor(pScrn)))
return NULL;
adapt->type = XvWindowMask | XvInputMask | XvImageMask;
adapt->flags = VIDEO_OVERLAID_IMAGES | VIDEO_CLIP_TO_VIEWPORT;
- adapt->name = "R128 Video Overlay";
+ adapt->name = "ATI Rage128 Video Overlay";
adapt->nEncodings = 1;
- adapt->pEncodings = DummyEncoding;
+ adapt->pEncodings = &DummyEncoding;
adapt->nFormats = NUM_FORMATS;
adapt->pFormats = Formats;
adapt->nPorts = 1;
- adapt->pPortPrivates = (DevUnion*)(&adapt[1]);
-
- pPriv = (R128PortPrivPtr)(&adapt->pPortPrivates[1]);
-
- adapt->pPortPrivates[0].ptr = (pointer)(pPriv);
+ adapt->nAttributes = NUM_ATTRIBUTES;
adapt->pAttributes = Attributes;
adapt->nImages = NUM_IMAGES;
- adapt->nAttributes = NUM_ATTRIBUTES;
adapt->pImages = Images;
adapt->PutVideo = NULL;
adapt->PutStill = NULL;
@@ -276,24 +227,17 @@ R128SetupImageVideo(ScreenPtr pScreen)
adapt->PutImage = R128PutImage;
adapt->QueryImageAttributes = R128QueryImageAttributes;
- /* gotta uninit this someplace */
- REGION_INIT(pScreen, &pPriv->clip, NullBox, 0);
-
info->adaptor = adapt;
- pPriv->colorKey = 0x01; /* a touch of blue */
- pPriv->video_format = R128_SCALER_SOURCE_VYUY422;
- pPriv->scale_cntl = R128_SCALER_PRG_LOAD_START|R128_SCALER_DOUBLE_BUFFER;
- pPriv->scale_cntl|= R128_SCALER_SMART_SWITCH|R128_SCALER_PIX_EXPAND;
- pPriv->scale_cntl|= R128_SCALER_SMART_SWITCH;
-
- xvColorKey = MAKE_ATOM("XV_COLORKEY");
+ pPriv = (R128PortPrivPtr)(adapt->pPortPrivates[0].ptr);
+ REGION_INIT(pScreen, &(pPriv->clip), NullBox, 0);
R128ResetVideo(pScrn);
return adapt;
}
+/* I really should stick this in miregion */
static Bool
RegionsEqual(RegionPtr A, RegionPtr B)
{
@@ -323,28 +267,119 @@ RegionsEqual(RegionPtr A, RegionPtr B)
return TRUE;
}
+
+/* R128ClipVideo -
+
+ Takes the dst box in standard X BoxRec form (top and left
+ edges inclusive, bottom and right exclusive). The new dst
+ box is returned. The source boundaries are given (x1, y1
+ inclusive, x2, y2 exclusive) and returned are the new source
+ boundaries in 16.16 fixed point.
+*/
+
+#define DummyScreen screenInfo.screens[0]
+
+static Bool
+R128ClipVideo(
+ BoxPtr dst,
+ INT32 *x1,
+ INT32 *x2,
+ INT32 *y1,
+ INT32 *y2,
+ RegionPtr reg,
+ INT32 width,
+ INT32 height
+){
+ INT32 vscale, hscale, delta;
+ BoxPtr extents = REGION_EXTENTS(DummyScreen, reg);
+ int diff;
+
+ hscale = ((*x2 - *x1) << 16) / (dst->x2 - dst->x1);
+ vscale = ((*y2 - *y1) << 16) / (dst->y2 - dst->y1);
+
+ *x1 <<= 16; *x2 <<= 16;
+ *y1 <<= 16; *y2 <<= 16;
+
+ diff = extents->x1 - dst->x1;
+ if(diff > 0) {
+ dst->x1 = extents->x1;
+ *x1 += diff * hscale;
+ }
+ diff = dst->x2 - extents->x2;
+ if(diff > 0) {
+ dst->x2 = extents->x2;
+ *x2 -= diff * hscale;
+ }
+ diff = extents->y1 - dst->y1;
+ if(diff > 0) {
+ dst->y1 = extents->y1;
+ *y1 += diff * vscale;
+ }
+ diff = dst->y2 - extents->y2;
+ if(diff > 0) {
+ dst->y2 = extents->y2;
+ *y2 -= diff * vscale;
+ }
+
+ if(*x1 < 0) {
+ diff = (- *x1 + hscale - 1)/ hscale;
+ dst->x1 += diff;
+ *x1 += diff * hscale;
+ }
+ delta = *x2 - (width << 16);
+ if(delta > 0) {
+ diff = (delta + hscale - 1)/ hscale;
+ dst->x2 -= diff;
+ *x2 -= diff * hscale;
+ }
+ if(*x1 >= *x2) return FALSE;
+
+ if(*y1 < 0) {
+ diff = (- *y1 + vscale - 1)/ vscale;
+ dst->y1 += diff;
+ *y1 += diff * vscale;
+ }
+ delta = *y2 - (height << 16);
+ if(delta > 0) {
+ diff = (delta + vscale - 1)/ vscale;
+ dst->y2 -= diff;
+ *y2 -= diff * vscale;
+ }
+ if(*y1 >= *y2) return FALSE;
+
+ if((dst->x1 != extents->x1) || (dst->x2 != extents->x2) ||
+ (dst->y1 != extents->y1) || (dst->y2 != extents->y2))
+ {
+ RegionRec clipReg;
+ REGION_INIT(DummyScreen, &clipReg, dst, 1);
+ REGION_INTERSECT(DummyScreen, reg, reg, &clipReg);
+ REGION_UNINIT(DummyScreen, &clipReg);
+ }
+ return TRUE;
+}
+
static void
-R128StopVideo(ScrnInfoPtr pScrn, pointer data, Bool Exit)
+R128StopVideo(ScrnInfoPtr pScrn, pointer data, Bool cleanup)
{
- R128InfoPtr info = R128PTR(pScrn);
- unsigned char *R128MMIO = info->MMIO;
- R128PortPrivPtr pPriv = (R128PortPrivPtr) data;
-
- R128TRACE(("R128StopVideo called\n"));
+ R128InfoPtr info = R128PTR(pScrn);
+ unsigned char *R128MMIO = info->MMIO;
+ R128PortPrivPtr pPriv = (R128PortPrivPtr)data;
- REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
+ REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
- if (Exit) {
- if(pPriv->videoStatus & CLIENT_VIDEO_ON) {
- OUTREG(R128_OV0_SCALE_CNTL,pPriv->scale_cntl|pPriv->video_format);
- }
- if(pPriv->linear) {
- xf86FreeOffscreenLinear(pPriv->linear);
- pPriv->linear = NULL;
- }
+ if(cleanup) {
+ if(pPriv->videoStatus & CLIENT_VIDEO_ON) {
+ OUTREG(R128_OV0_SCALE_CNTL, 0);
+ }
+ if(pPriv->linear) {
+ xf86FreeOffscreenLinear(pPriv->linear);
+ pPriv->linear = NULL;
+ }
pPriv->videoStatus = 0;
} else {
if(pPriv->videoStatus & CLIENT_VIDEO_ON) {
+ pPriv->videoStatus |= OFF_TIMER;
+ pPriv->offTime = currentTime.milliseconds + OFF_DELAY;
}
}
}
@@ -355,22 +390,40 @@ R128SetPortAttribute(
Atom attribute,
INT32 value,
pointer data
-)
-{
- R128InfoPtr info = R128PTR(pScrn);
- unsigned char *R128MMIO = info->MMIO;
- R128PortPrivPtr pPriv = (R128PortPrivPtr) data;
-
- R128TRACE(("R128SetPortAttribute called\n"));
-
- if (attribute == xvColorKey) {
+){
+ R128InfoPtr info = R128PTR(pScrn);
+ unsigned char *R128MMIO = info->MMIO;
+ R128PortPrivPtr pPriv = (R128PortPrivPtr)data;
+
+ if(attribute == xvBrightness) {
+ if((value < -64) || (value > 63))
+ return BadValue;
+ pPriv->brightness = value;
+ OUTREG(R128_OV0_COLOUR_CNTL, (pPriv->brightness & 0x7f) |
+ (pPriv->saturation << 8) |
+ (pPriv->saturation << 16));
+ } else
+ if(attribute == xvSaturation) {
+ if((value < 0) || (value > 31))
+ return BadValue;
+ pPriv->saturation = value;
+ OUTREG(R128_OV0_COLOUR_CNTL, (pPriv->brightness & 0x7f) |
+ (pPriv->saturation << 8) |
+ (pPriv->saturation << 16));
+ } else
+ if(attribute == xvDoubleBuffer) {
+ if((value < 0) || (value > 1))
+ return BadValue;
+ pPriv->doubleBuffer = value;
+ } else
+ if(attribute == xvColorKey) {
pPriv->colorKey = value;
- OUTREG(R128_OV0_GRAPHICS_KEY_CLR,pPriv->colorKey);
- R128TRACE(("Setting ColorKey to %d\n", pPriv->colorKey));
- return Success;
- }
+ OUTREG(R128_OV0_GRAPHICS_KEY_CLR, pPriv->colorKey);
- return Success;
+ REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
+ } else return BadMatch;
+
+ return Success;
}
static int
@@ -379,21 +432,26 @@ R128GetPortAttribute(
Atom attribute,
INT32 *value,
pointer data
-)
-{
- R128PortPrivPtr pPriv = (R128PortPrivPtr) data;
-
- R128TRACE(("R128GetPortAttribute called\n"));
-
- if (attribute == xvColorKey) {
- R128TRACE(("Getting ColorKey %d\n", pPriv->colorKey));
+){
+ R128PortPrivPtr pPriv = (R128PortPrivPtr)data;
+
+ if(attribute == xvBrightness) {
+ *value = pPriv->brightness;
+ } else
+ if(attribute == xvSaturation) {
+ *value = pPriv->saturation;
+ } else
+ if(attribute == xvDoubleBuffer) {
+ *value = pPriv->doubleBuffer ? 1 : 0;
+ } else
+ if(attribute == xvColorKey) {
*value = pPriv->colorKey;
- return Success;
- }
+ } else return BadMatch;
- return Success;
+ return Success;
}
+
static void
R128QueryBestSize(
ScrnInfoPtr pScrn,
@@ -402,80 +460,11 @@ R128QueryBestSize(
short drw_w, short drw_h,
unsigned int *p_w, unsigned int *p_h,
pointer data
-)
-{
- R128TRACE(("R128QueryBestSize called\n"));
+){
*p_w = drw_w;
*p_h = drw_h;
}
-static void
-R128DisplayVideo(
- ScrnInfoPtr pScrn,
- short width, short height,
- int xa, int ya, int xb, int yb,
- short src_w, short src_h,
- short drw_w, short drw_h,
- int fboffset
-)
-{
- R128InfoPtr info = R128PTR(pScrn);
- unsigned char *R128MMIO = info->MMIO;
- R128PortPrivPtr pPriv = info->adaptor->pPortPrivates[0].ptr;
- int step_by, vert_inc, horz_inc;
-
- R128TRACE(("R128DisplayVideo called\n"));
-
- /* calculate step_by factor */
- step_by=src_w/(drw_w*2);
- switch(step_by){
- case 0:
- OUTREG(R128_OV0_STEP_BY,0x101);
- step_by=1;
- break;
- case 1:
- OUTREG(R128_OV0_STEP_BY,0x202);
- step_by=2;
- break;
- case 2:
- case 3:
- OUTREG(R128_OV0_STEP_BY,0x303);
- step_by=4;
- break;
- default:
- OUTREG(R128_OV0_STEP_BY,0x404);
- step_by=8;
- break;
- }
-
- vert_inc=(src_h<<12)/(drw_h);
- horz_inc=(src_w<<12)/(drw_w*step_by);
-
- OUTREG(R128_OV0_Y_X_START,((xa))|(ya<<16)|(1<<31));
- OUTREG(R128_OV0_Y_X_END,((xb))|((yb)<<16));
- OUTREG(R128_OV0_H_INC,(horz_inc)|((horz_inc<<15)));
- OUTREG(R128_OV0_V_INC,(vert_inc<<8));
- OUTREG(R128_OV0_P1_BLANK_LINES_AT_TOP,0xfff|((src_h-1)<<16));
- OUTREG(R128_OV0_P23_BLANK_LINES_AT_TOP,0xfff|((src_h-1)<<16));
- OUTREG(R128_OV0_VID_BUF_PITCH0_VALUE,width<<1);
- OUTREG(R128_OV0_VID_BUF_PITCH1_VALUE,width<<1);
- OUTREG(R128_OV0_P1_X_START_END,(src_w-1)|((xa&0xf)<<16));
- OUTREG(R128_OV0_P2_X_START_END,(src_w-1)|((xa&0xf)<<16));
- OUTREG(R128_OV0_P3_X_START_END,(src_w-1)|((xa&0xf)<<16));
-
- OUTREG(R128_OV0_VID_BUF0_BASE_ADRS,(fboffset)&(~0xf));
- OUTREG(R128_OV0_VID_BUF1_BASE_ADRS,(fboffset)&(~0xf));
- OUTREG(R128_OV0_VID_BUF2_BASE_ADRS,(fboffset)&(~0xf));
-
-#if 0
- /* Enable this when double buffering is implemented */
- OUTREG(R128_OV0_VID_BUF3_BASE_ADRS,(fboffset2)&(~0xf));
- OUTREG(R128_OV0_VID_BUF4_BASE_ADRS,(fboffset2)&(~0xf));
- OUTREG(R128_OV0_VID_BUF5_BASE_ADRS,(fboffset2)&(~0xf));
-#endif
-
- OUTREG(R128_OV0_SCALE_CNTL,pPriv->scale_cntl|R128_SCALER_ENABLE|pPriv->video_format);
-}
static void
R128CopyData(
@@ -485,8 +474,7 @@ R128CopyData(
int dstPitch,
int h,
int w
- )
-{
+){
w <<= 1;
while(h--) {
memcpy(dst, src, w);
@@ -506,8 +494,7 @@ R128CopyMungedData(
int dstPitch,
int h,
int w
- )
-{
+){
CARD32 *dst = (CARD32*)dst1;
int i, j;
@@ -528,18 +515,16 @@ R128CopyMungedData(
}
}
+
static FBLinearPtr
R128AllocateMemory(
- ScrnInfoPtr pScrn,
- FBLinearPtr linear,
- int size
-)
-{
+ ScrnInfoPtr pScrn,
+ FBLinearPtr linear,
+ int size
+){
ScreenPtr pScreen;
FBLinearPtr new_linear;
- R128TRACE(("R128AllocateMemory(%x,%d) called\n",linear,size));
-
if(linear) {
if(linear->size >= size)
return linear;
@@ -552,27 +537,99 @@ R128AllocateMemory(
pScreen = screenInfo.screens[pScrn->scrnIndex];
- new_linear = xf86AllocateOffscreenLinear(pScreen, size, 4,
- NULL, NULL, NULL);
+ new_linear = xf86AllocateOffscreenLinear(pScreen, size, 8,
+ NULL, NULL, NULL);
if(!new_linear) {
int max_size;
- xf86QueryLargestOffscreenLinear(pScreen, &max_size, 4,
- PRIORITY_EXTREME);
+ xf86QueryLargestOffscreenLinear(pScreen, &max_size, 8,
+ PRIORITY_EXTREME);
- if(max_size < size) return NULL;
+ if(max_size < size)
+ return NULL;
xf86PurgeUnlockedOffscreenAreas(pScreen);
- new_linear = xf86AllocateOffscreenLinear(pScreen, size, 4,
- NULL, NULL, NULL);
+ new_linear = xf86AllocateOffscreenLinear(pScreen, size, 8,
+ NULL, NULL, NULL);
}
- R128TRACE(("returning %x(%x)\n",new_linear,new_linear->offset));
-
return new_linear;
}
+static void
+R128DisplayVideo(
+ ScrnInfoPtr pScrn,
+ int id,
+ int offset,
+ short width, short height,
+ int pitch,
+ int left, int right, int top,
+ BoxPtr dstBox,
+ short src_w, short src_h,
+ short drw_w, short drw_h
+){
+ R128InfoPtr info = R128PTR(pScrn);
+ unsigned char *R128MMIO = info->MMIO;
+ int v_inc, h_inc, step_by, tmp;
+ int p1_h_accum_init, p23_h_accum_init;
+ int p1_v_accum_init;
+
+ v_inc = (src_h << 20) / drw_h;
+ h_inc = (src_w << 12) / drw_w;
+ step_by = 1;
+
+ while(h_inc >= (2 << 12)) {
+ step_by++;
+ h_inc >>= 1;
+ }
+
+ /* keep everything in 16.16 */
+
+ offset += ((left >> 16) & ~7) << 1;
+
+ tmp = (left & 0x0003ffff) + 0x00028000 + (h_inc << 3);
+ p1_h_accum_init = ((tmp << 4) & 0x000f8000) |
+ ((tmp << 12) & 0xf0000000);
+
+ tmp = ((left >> 1) & 0x0001ffff) + 0x00028000 + (h_inc << 2);
+ p23_h_accum_init = ((tmp << 4) & 0x000f8000) |
+ ((tmp << 12) & 0x70000000);
+
+ tmp = (top & 0x0000ffff) + 0x00018000;
+ p1_v_accum_init = ((tmp << 4) & 0x03ff8000) | 0x00000001;
+
+ left = (left >> 16) & 7;
+
+
+ OUTREG(R128_OV0_REG_LOAD_CNTL, 1);
+ while(!(INREG(R128_OV0_REG_LOAD_CNTL) & (1 << 3)));
+
+ OUTREG(R128_OV0_H_INC, h_inc | ((h_inc >> 1) << 16));
+ OUTREG(R128_OV0_STEP_BY, step_by | (step_by << 8));
+ OUTREG(R128_OV0_Y_X_START, dstBox->x1 | (dstBox->y1 << 16));
+ OUTREG(R128_OV0_Y_X_END, dstBox->x2 | (dstBox->y2 << 16));
+ OUTREG(R128_OV0_V_INC, v_inc);
+ OUTREG(R128_OV0_P1_BLANK_LINES_AT_TOP, 0x00000fff | ((src_h - 1) << 16));
+ OUTREG(R128_OV0_VID_BUF_PITCH0_VALUE, pitch);
+ OUTREG(R128_OV0_P1_X_START_END, (src_w + left - 1) | (left << 16));
+ left >>= 1; src_w >>= 1;
+ OUTREG(R128_OV0_P2_X_START_END, (src_w + left - 1) | (left << 16));
+ OUTREG(R128_OV0_P3_X_START_END, (src_w + left - 1) | (left << 16));
+ OUTREG(R128_OV0_VID_BUF0_BASE_ADRS, offset & 0xfffffff0);
+ OUTREG(R128_OV0_P1_V_ACCUM_INIT, p1_v_accum_init);
+ OUTREG(R128_OV0_P1_H_ACCUM_INIT, p1_h_accum_init);
+ OUTREG(R128_OV0_P23_H_ACCUM_INIT, p23_h_accum_init);
+
+ if(id == FOURCC_UYVY)
+ OUTREG(R128_OV0_SCALE_CNTL, 0x41008C03);
+ else
+ OUTREG(R128_OV0_SCALE_CNTL, 0x41008B03);
+
+ OUTREG(R128_OV0_REG_LOAD_CNTL, 0);
+}
+
+
static int
R128PutImage(
ScrnInfoPtr pScrn,
@@ -584,174 +641,147 @@ R128PutImage(
short width, short height,
Bool Sync,
RegionPtr clipBoxes, pointer data
-)
-{
- R128InfoPtr info = R128PTR(pScrn);
- unsigned char *R128MMIO = info->MMIO;
- R128PortPrivPtr pPriv = (R128PortPrivPtr)data;
- INT32 xa, xb, ya, yb;
- INT32 d_x,d_y,d_width,d_height;
- int srcPitch = 0, srcPitch2 = 0;
- int dstPitch = 0;
- int offset,offset2 = 0,offset3 = 0,fboffset;
- int top, left, npixels, nlines, size;
- CARD32 video_format;
-
- R128TRACE(("R128PutImage called\n"));
-
- switch(id) {
- case FOURCC_YV12:
- case FOURCC_UYVY:
- video_format=R128_SCALER_SOURCE_VYUY422;
- break;
- case FOURCC_YUY2:
- video_format=R128_SCALER_SOURCE_YVYU422;
- break;
- default:
- return BadValue;
- }
+){
+ R128InfoPtr info = R128PTR(pScrn);
+ R128PortPrivPtr pPriv = (R128PortPrivPtr)data;
+ INT32 x1, x2, y1, y2;
+ unsigned char *dst_start;
+ int pitch, new_size, offset, offset2 = 0, offset3 = 0;
+ int srcPitch, srcPitch2 = 0, dstPitch;
+ int top, left, npixels, nlines, bpp;
+ BoxRec dstBox;
+ CARD32 tmp;
+
+ if(src_w > (drw_w << 4))
+ drw_w = src_w >> 4;
+ if(src_h > (drw_h << 4))
+ drw_h = src_h >> 4;
/* Clip */
- d_x=drw_x;
- d_y=drw_y;
- d_width=drw_w;
- d_height=drw_h;
- if(drw_x<0){
- drw_w+=drw_x;
- drw_x=0;
- }
- if(drw_y<0){
- drw_h+=drw_y;
- drw_y=0;
- }
- if(drw_x+drw_w>pScrn->pScreen->width){
- drw_w=pScrn->pScreen->width-drw_x;
- }
- if(drw_y+drw_h>pScrn->pScreen->height){
- drw_h=pScrn->pScreen->height-drw_y;
- }
- if((drw_w<=0)||(drw_h<=0)){
- /* this should not happen,
- since we are outside of visible screen,
- but just in case */
- return Success;
- }
+ x1 = src_x;
+ x2 = src_x + src_w;
+ y1 = src_y;
+ y2 = src_y + src_h;
- xa = src_x;
- xb = src_x + src_w;
- ya = src_y;
- yb = src_y + src_h;
+ dstBox.x1 = drw_x;
+ dstBox.x2 = drw_x + drw_w;
+ dstBox.y1 = drw_y;
+ dstBox.y2 = drw_y + drw_h;
- dstPitch = width*info->CurrentLayout.pixel_bytes;
- srcPitch=width;
+ if(!R128ClipVideo(&dstBox, &x1, &x2, &y1, &y2, clipBoxes, width, height))
+ return Success;
- switch(id) {
- case FOURCC_YV12:
- size = width * height * 2; /* 16bpp */
- break;
- case FOURCC_UYVY:
- case FOURCC_YUY2:
- default:
- size = width * height * 1.5;
- break;
- }
+ dstBox.x1 -= pScrn->frameX0;
+ dstBox.x2 -= pScrn->frameX0;
+ dstBox.y1 -= pScrn->frameY0;
+ dstBox.y2 -= pScrn->frameY0;
- if(!(pPriv->linear = R128AllocateMemory(pScrn, pPriv->linear,size)))
- return BadAlloc;
+ bpp = pScrn->bitsPerPixel >> 3;
+ pitch = bpp * pScrn->displayWidth;
- /* copy data */
- top = ya >> 16;
- left = (xa >> 16) & ~1;
- npixels = ((((xb + 0xffff) >> 16) + 1) & ~1) - left;
+ dstPitch = ((width << 1) + 15) & ~15;
+ new_size = ((dstPitch * height) + bpp - 1) / bpp;
- switch(id) {
- case FOURCC_YV12:
+ switch(id) {
+ case FOURCC_YV12:
+ case FOURCC_I420:
srcPitch = (width + 3) & ~3;
offset2 = srcPitch * height;
srcPitch2 = ((width >> 1) + 3) & ~3;
offset3 = (srcPitch2 * (height >> 1)) + offset2;
- nlines = ((((yb + 0xffff) >> 16) + 1) & ~1) - top;
break;
- case FOURCC_UYVY:
- case FOURCC_YUY2:
- default:
- buf += (top * srcPitch) + left;
- nlines = ((yb + 0xffff) >> 16) - top;
+ case FOURCC_UYVY:
+ case FOURCC_YUY2:
+ default:
srcPitch = (width << 1);
break;
- }
- nlines=src_h;
- npixels=src_w;
- if(npixels>width) npixels=width;
- if(nlines>height) nlines=height;
+ }
+
+ if(!(pPriv->linear = R128AllocateMemory(pScrn, pPriv->linear,
+ pPriv->doubleBuffer ? (new_size << 1) : new_size)))
+ {
+ return BadAlloc;
+ }
- /* adjust source rectangle */
- src_x+=((drw_x-d_x)*src_w)/d_width;
- src_y+=((drw_y-d_y)*src_h)/d_height;
+ pPriv->currentBuffer ^= 1;
- src_w=(src_w * drw_w)/d_width;
- src_h=(src_h * drw_h)/d_height;
+ /* copy data */
+ top = y1 >> 16;
+ left = (x1 >> 16) & ~1;
+ npixels = ((((x2 + 0xffff) >> 16) + 1) & ~1) - left;
+ left <<= 1;
- offset=(src_x+src_y*width)*info->CurrentLayout.pixel_bytes;
- fboffset=pPriv->linear->offset*info->CurrentLayout.pixel_bytes;
+ offset = pPriv->linear->offset * bpp;
+ if(pPriv->doubleBuffer)
+ offset += pPriv->currentBuffer * new_size * bpp;
+ dst_start = info->FB + offset + left + (top * dstPitch);
- if(!(INREG(R128_CRTC_STATUS)&2)){
- xf86DrvMsg(pScrn->scrnIndex,X_INFO,"too fast");
- return Success;
+ switch(id) {
+ case FOURCC_YV12:
+ case FOURCC_I420:
+ top &= ~1;
+ tmp = ((top >> 1) * srcPitch2) + (left >> 2);
+ offset2 += tmp;
+ offset3 += tmp;
+ if(id == FOURCC_I420) {
+ tmp = offset2;
+ offset2 = offset3;
+ offset3 = tmp;
}
+ nlines = ((((y2 + 0xffff) >> 16) + 1) & ~1) - top;
+ R128CopyMungedData(buf + (top * srcPitch) + (left >> 1),
+ buf + offset2, buf + offset3, dst_start,
+ srcPitch, srcPitch2, dstPitch, nlines, npixels);
+ break;
+ case FOURCC_UYVY:
+ case FOURCC_YUY2:
+ default:
+ buf += (top * srcPitch) + left;
+ nlines = ((y2 + 0xffff) >> 16) - top;
+ R128CopyData(buf, dst_start, srcPitch, dstPitch, nlines, npixels);
+ break;
+ }
- R128DisplayVideo(pScrn, width, height,
- drw_x, drw_y, drw_x+drw_w, drw_y+drw_h,
- src_w, src_h, drw_w, drw_h, fboffset);
/* update cliplist */
if(!RegionsEqual(&pPriv->clip, clipBoxes)) {
REGION_COPY(pScreen, &pPriv->clip, clipBoxes);
/* draw these */
- (*info->accel->FillSolidRects)(pScrn, pPriv->colorKey,
- GXcopy, (CARD32)(~0),
+ (*info->accel->FillSolidRects)(pScrn, pPriv->colorKey, GXcopy, ~0,
REGION_NUM_RECTS(clipBoxes),
REGION_RECTS(clipBoxes));
}
-
- switch(id) {
- case FOURCC_YV12:
- R128CopyMungedData(buf + (top * srcPitch) + (left >> 1),
- buf + offset2, buf + offset3, info->FB+fboffset,
- srcPitch, srcPitch2, dstPitch, nlines, npixels);
- break;
- case FOURCC_UYVY:
- case FOURCC_YUY2:
- default:
- R128CopyData(buf,info->FB+fboffset,srcPitch,dstPitch,
- nlines,npixels);
- break;
- }
+ offset += top * dstPitch;
+ R128DisplayVideo(pScrn, id, offset, width, height, dstPitch,
+ x1, x2, y1, &dstBox, src_w, src_h, drw_w, drw_h);
pPriv->videoStatus = CLIENT_VIDEO_ON;
+
+ info->VideoTimerCallback = R128VideoTimerCallback;
+
return Success;
}
+
static int
R128QueryImageAttributes(
- ScrnInfoPtr pScrn,
- int id,
- unsigned short *w, unsigned short *h,
- int *pitches, int *offsets
-)
-{
+ ScrnInfoPtr pScrn,
+ int id,
+ unsigned short *w, unsigned short *h,
+ int *pitches, int *offsets
+){
int size, tmp;
- R128TRACE(("R128QueryImageAtrributes called\n"));
- if(*w > IMAGE_MAX_WIDTH) *w = IMAGE_MAX_WIDTH;
- if(*h > IMAGE_MAX_HEIGHT) *h = IMAGE_MAX_HEIGHT;
+ if(*w > 2048) *w = 2048;
+ if(*h > 2048) *h = 2048;
*w = (*w + 1) & ~1;
if(offsets) offsets[0] = 0;
switch(id) {
case FOURCC_YV12:
+ case FOURCC_I420:
*h = (*h + 1) & ~1;
size = (*w + 3) & ~3;
if(pitches) pitches[0] = size;
@@ -775,4 +805,34 @@ R128QueryImageAttributes(
return size;
}
-#endif
+
+static void
+R128VideoTimerCallback(ScrnInfoPtr pScrn, Time time)
+{
+ R128InfoPtr info = R128PTR(pScrn);
+ R128PortPrivPtr pPriv = info->adaptor->pPortPrivates[0].ptr;
+
+ if(pPriv->videoStatus & TIMER_MASK) {
+ if(pPriv->videoStatus & OFF_TIMER) {
+ if(pPriv->offTime < time) {
+ unsigned char *R128MMIO = info->MMIO;
+ OUTREG(R128_OV0_SCALE_CNTL, 0);
+ pPriv->videoStatus = FREE_TIMER;
+ pPriv->freeTime = time + FREE_DELAY;
+ }
+ } else { /* FREE_TIMER */
+ if(pPriv->freeTime < time) {
+ if(pPriv->linear) {
+ xf86FreeOffscreenLinear(pPriv->linear);
+ pPriv->linear = NULL;
+ }
+ pPriv->videoStatus = 0;
+ info->VideoTimerCallback = NULL;
+ }
+ }
+ } else /* shouldn't get here */
+ info->VideoTimerCallback = NULL;
+}
+
+
+#endif /* !XvExtension */
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h b/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h
index a90f09a6f..10451e9b0 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h,v 1.4 2000/11/18 19:37:12 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon.h,v 1.5 2000/12/01 08:56:03 alanh Exp $ */
/*
* Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
* VA Linux Systems Inc., Fremont, California.
@@ -40,6 +40,8 @@
#include "xf86str.h"
+#include "xf86_OSproc.h"
+
/* PCI support */
#include "xf86Pci.h"
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c b/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c
index 64d00ade2..4f1b91deb 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c,v 1.3 2000/11/18 19:37:12 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c,v 1.4 2000/12/02 15:30:34 tsi Exp $ */
/*
* Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
* VA Linux Systems Inc., Fremont, California.
@@ -96,7 +96,7 @@ RADEONProbe(DriverPtr drv, int flags)
int numUsed;
int numDevSections, nATIGDev, nRadeonGDev;
int *usedChips;
- GDevPtr *devSections, *ATIGDevs = NULL, *RadeonGDevs = NULL;
+ GDevPtr *devSections, *ATIGDevs, *RadeonGDevs;
EntityInfoPtr pEnt;
Bool foundScreen = FALSE;
int i;
@@ -180,7 +180,7 @@ RADEONProbe(DriverPtr drv, int flags)
xfree(pEnt);
}
- if (numUsed) xfree(usedChips);
+ xfree(usedChips);
xfree(devSections);
return foundScreen;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c
index 827aaad3d..146c87113 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c
@@ -28,7 +28,7 @@
* this work is sponsored by S.u.S.E. GmbH, Fuerth, Elsa GmbH, Aachen,
* Siemens Nixdorf Informationssysteme and Appian Graphics.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c,v 1.99 2000/11/14 17:32:59 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c,v 1.100 2000/12/02 15:30:39 tsi Exp $ */
#include "fb.h"
#include "cfb8_32.h"
@@ -593,7 +593,7 @@ GLINTProbe(DriverPtr drv, int flags)
{
int i;
pciVideoPtr pPci, *checkusedPci;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int numDevSections;
int numUsed,bus,device,func;
char *dev;
@@ -686,9 +686,7 @@ GLINTProbe(DriverPtr drv, int flags)
numUsed = xf86MatchPciInstances(GLINT_NAME, 0,
GLINTChipsets, GLINTPciChipsets, devSections,
numDevSections, drv, &usedChips);
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
foundScreen = TRUE;
@@ -743,7 +741,7 @@ GLINTProbe(DriverPtr drv, int flags)
}
}
- if (usedChips) xfree(usedChips);
+ xfree(usedChips);
TRACE_EXIT("GLINTProbe");
return foundScreen;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c
index fa65fcdc3..0a583347e 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c
@@ -22,7 +22,7 @@
*
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c,v 1.13 2000/11/06 02:56:03 robin Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i128/i128_driver.c,v 1.15 2000/12/02 15:30:40 tsi Exp $ */
/* All drivers should typically include these */
@@ -385,14 +385,12 @@ I128Probe(DriverPtr drv, int flags)
/* Free it since we don't need that list after this */
xfree(devSections);
- devSections = NULL;
if (numUsed <= 0)
return FALSE;
if (flags & PROBE_DETECT) {
- if (usedChips)
- xfree(usedChips);
+ xfree(usedChips);
return FALSE;
}
@@ -422,8 +420,7 @@ I128Probe(DriverPtr drv, int flags)
foundScreen = TRUE;
}
- if (usedChips)
- xfree(usedChips);
+ xfree(usedChips);
return foundScreen;
}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/i810/i810.h b/xc/programs/Xserver/hw/xfree86/drivers/i810/i810.h
index 528344b8f..4a28dafed 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/i810/i810.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/i810/i810.h
@@ -25,7 +25,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810.h,v 1.18 2000/10/24 22:45:06 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810.h,v 1.19 2000/12/01 14:28:56 dawes Exp $ */
/*
* Authors:
@@ -270,6 +270,8 @@ extern void I810FreeGARTMemory( ScrnInfoPtr pScrn );
extern Bool I810BindGARTMemory( ScrnInfoPtr pScrn );
extern Bool I810UnbindGARTMemory( ScrnInfoPtr pScrn );
+extern int I810CheckAvailableMemory(ScrnInfoPtr pScrn);
+
extern Bool I810SwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
extern void I810AdjustFrame(int scrnIndex, int x, int y, int flags);
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c b/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c
index ccc01e0d0..89e21850d 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c,v 1.12 2000/09/24 13:51:26 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_dri.c,v 1.13 2000/12/01 14:28:56 dawes Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
@@ -601,7 +601,10 @@ Bool I810DRIScreenInit(ScreenPtr pScreen)
}
/* Allocate FrontBuffer etc. */
- I810AllocateFront(pScrn);
+ if (!I810AllocateFront(pScrn)) {
+ DRICloseScreen(pScreen);
+ return FALSE;
+ }
/* Allocate buffer memory */
I810AllocHigh( &(pI810->BufferMem), &(pI810->SysMem),
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c
index 7f0d32958..5f9416924 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c
@@ -25,7 +25,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c,v 1.35 2000/11/13 23:06:08 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c,v 1.39 2000/12/02 15:30:42 tsi Exp $ */
/*
* Authors:
@@ -122,7 +122,8 @@ typedef enum {
OPTION_SW_CURSOR,
OPTION_COLOR_KEY,
OPTION_CACHE_LINES,
- OPTION_DAC_6BIT
+ OPTION_DAC_6BIT,
+ OPTION_DRI
} I810Opts;
static OptionInfoRec I810Options[] = {
@@ -131,6 +132,7 @@ static OptionInfoRec I810Options[] = {
{ OPTION_COLOR_KEY, "ColorKey", OPTV_INTEGER, {0}, FALSE },
{ OPTION_CACHE_LINES, "CacheLines", OPTV_INTEGER, {0}, FALSE},
{ OPTION_DAC_6BIT, "Dac6Bit", OPTV_BOOLEAN, {0}, FALSE},
+ { OPTION_DRI, "DRI", OPTV_BOOLEAN, {0}, FALSE},
{ -1, NULL, OPTV_NONE, {0}, FALSE}
};
@@ -405,8 +407,8 @@ I810Probe(DriverPtr drv, int flags) {
foundScreen = TRUE;
}
}
- if (numUsed) xfree(usedChips);
+ xfree(usedChips);
xfree(devSections);
return foundScreen;
@@ -438,6 +440,7 @@ I810PreInit(ScrnInfoPtr pScrn, int flags) {
MessageType from;
int flags24;
rgb defaultWeight = {0, 0, 0};
+ int mem;
if (pScrn->numEntities != 1) return FALSE;
@@ -627,12 +630,30 @@ I810PreInit(ScrnInfoPtr pScrn, int flags) {
* Changed to 8 Meg so we can have acceleration by default (Mark).
*/
pScrn->videoRam = 8192;
- from = X_PROBED;
+ from = X_DEFAULT;
if (pI810->pEnt->device->videoRam) {
pScrn->videoRam = pI810->pEnt->device->videoRam;
from = X_CONFIG;
}
+ mem = I810CheckAvailableMemory(pScrn);
+ if (mem > 0 && mem < pScrn->videoRam) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "%dk of memory was requested,"
+ " but the\n\t maximum AGP memory available is %dk.\n",
+ pScrn->videoRam, mem);
+ from = X_PROBED;
+ if (mem > (6 * 1024)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Reducing video memory to 4MB\n");
+ pScrn->videoRam = 4096;
+ } else {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Less than 6MB of AGP memory"
+ "is available. Cannot proceed.\n");
+ I810FreeRec(pScrn);
+ return FALSE;
+ }
+ }
+
xf86DrvMsg(pScrn->scrnIndex, from, "Will alloc AGP framebuffer: %d kByte\n",
pScrn->videoRam);
@@ -1536,15 +1557,23 @@ I810AllocateFront(ScrnInfoPtr pScrn) {
xf86GetOptValInteger(I810Options, OPTION_CACHE_LINES, &cache_lines);
- if(cache_lines >= 0)
- pI810->FbMemBox.y2 += cache_lines;
- else {
- /* make sure there is enough for two DVD sized YUV buffers */
- pI810->FbMemBox.y2 += (pScrn->depth == 24) ? 256 : 384;
- if (pScrn->displayWidth <= 1024)
- pI810->FbMemBox.y2 += (pScrn->depth == 24) ? 256 : 384;
- cache_lines = pI810->FbMemBox.y2 - pScrn->virtualY;
+ if (cache_lines < 0) {
+ /* make sure there is enough for two DVD sized YUV buffers */
+ cache_lines = (pScrn->depth == 24) ? 256 : 384;
+ if (pScrn->displayWidth <= 1024)
+ cache_lines *= 2;
}
+ /* Make sure there's enough space for cache_lines. */
+ {
+ int maxCacheLines;
+
+ maxCacheLines = ((pScrn->videoRam - 256) * 1024 /
+ (pScrn->bitsPerPixel / 8) /
+ pScrn->displayWidth) - pScrn->virtualY;
+ if (maxCacheLines >= 0 && cache_lines > maxCacheLines)
+ cache_lines = maxCacheLines;
+ }
+ pI810->FbMemBox.y2 += cache_lines;
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Adding %i scanlines for pixmap caching\n", cache_lines);
@@ -1553,11 +1582,16 @@ I810AllocateFront(ScrnInfoPtr pScrn) {
* of memory so we can have nice alignment for the tiled regions at
* the start of memory.
*/
- I810AllocLow( &(pI810->FrontBuffer),
+
+ if (!I810AllocLow( &(pI810->FrontBuffer),
&(pI810->SysMem),
((pI810->FbMemBox.x2 *
pI810->FbMemBox.y2 *
- pI810->cpp) + 4095) & ~4095);
+ pI810->cpp) + 4095) & ~4095)) {
+ xf86DrvMsg(pScrn->scrnIndex,
+ X_WARNING, "Framebuffer allocation failed\n");
+ return FALSE;
+ }
memset( &(pI810->LpRing), 0, sizeof( I810RingBuffer ) );
if(I810AllocLow( &(pI810->LpRing.mem), &(pI810->SysMem), 16*4096 )) {
@@ -1631,7 +1665,8 @@ I810ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) {
* InitGLXVisuals call back.
*/
- if (!xf86ReturnOptValBool(I810Options, OPTION_NOACCEL, FALSE)) {
+ if (!xf86ReturnOptValBool(I810Options, OPTION_NOACCEL, FALSE) &&
+ xf86ReturnOptValBool(I810Options, OPTION_DRI, TRUE)) {
pI810->directRenderingEnabled = I810DRIScreenInit(pScreen);
} else {
pI810->directRenderingEnabled = FALSE;
@@ -1640,8 +1675,9 @@ I810ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) {
#else
pI810->directRenderingEnabled = FALSE;
if (!I810AllocateGARTMemory( pScrn ))
- return FALSE;
- I810AllocateFront(pScrn);
+ return FALSE;
+ if (!I810AllocateFront(pScrn))
+ return FALSE;
#endif
if (!I810MapMem(pScrn)) return FALSE;
@@ -1684,11 +1720,17 @@ I810ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) {
xf86SetBlackWhitePixels(pScreen);
#ifdef XF86DRI
+ if (pI810->LpRing.mem.Start == 0 && pI810->directRenderingEnabled) {
+ pI810->directRenderingEnabled = 0;
+ I810DRICloseScreen(pScreen);
+ }
+
if (!pI810->directRenderingEnabled) {
pI810->DoneFrontAlloc = FALSE;
if (!I810AllocateGARTMemory( pScrn ))
return FALSE;
- I810AllocateFront(pScrn);
+ if (!I810AllocateFront(pScrn))
+ return FALSE;
}
#endif
@@ -1750,11 +1792,6 @@ I810ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) {
I810InitVideo(pScreen);
#ifdef XF86DRI
- if (pI810->LpRing.mem.Start == 0 && pI810->directRenderingEnabled) {
- pI810->directRenderingEnabled = 0;
- I810DRICloseScreen(pScreen);
- }
-
if (pI810->directRenderingEnabled) {
/* Now that mi, cfb, drm and others have done their thing,
* complete the DRI setup.
@@ -1942,6 +1979,7 @@ I810CloseScreen(int scrnIndex, ScreenPtr pScreen)
*/
pI810->SysMem = pI810->SavedSysMem;
pI810->DcacheMem = pI810->SavedDcacheMem;
+ pI810->DoneFrontAlloc = FALSE;
pScrn->vtSema=FALSE;
pScreen->CloseScreen = pI810->CloseScreen;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c b/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c
index e37ade8b5..ee79e66f1 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c,v 1.16 2000/09/24 13:51:26 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_memory.c,v 1.18 2000/12/02 15:25:38 dawes Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -325,3 +325,29 @@ I810UnbindGARTMemory( ScrnInfoPtr pScrn )
}
return TRUE;
}
+
+int
+I810CheckAvailableMemory(ScrnInfoPtr pScrn)
+{
+ AgpInfoPtr agpinf;
+ int maxPages;
+
+ if (!xf86AgpGARTSupported())
+ return -1;
+
+ if (!xf86AcquireGART(pScrn->scrnIndex))
+ return -1;
+
+ if ((agpinf = xf86GetAGPInfo(pScrn->scrnIndex)) == NULL)
+ return -1;
+
+ if (!xf86ReleaseGART(pScrn->scrnIndex))
+ return -1;
+
+ maxPages = agpinf->totalPages - agpinf->usedPages;
+ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2,
+ "I810CheckAvailableMemory: %dk available\n", maxPages * 4);
+
+ return maxPages * 4;
+}
+
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c
index 62ae5e47a..b1db68fe4 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c,v 1.9 2000/08/23 22:10:13 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/imstt/imstt_driver.c,v 1.10 2000/12/02 15:30:43 tsi Exp $ */
/*
* Copyright 2000 Ani Joshi <ajoshi@unixbox.com>
@@ -276,7 +276,7 @@ static void IMSTTIdentify(int flags)
static Bool IMSTTProbe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -294,9 +294,7 @@ static Bool IMSTTProbe(DriverPtr drv, int flags)
devSections, numDevSections, drv,
&usedChips);
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h b/xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h
index 429010ca6..b1b05e1e5 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h,v 1.67 2000/11/08 05:03:04 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga.h,v 1.69 2000/12/03 01:51:05 mvojkovi Exp $ */
/*
* MGA Millennium (MGA2064W) functions
*
@@ -80,8 +80,8 @@ typedef struct {
} MGARegRec, *MGARegPtr;
typedef struct {
- unsigned char brightness;
- unsigned char contrast;
+ int brightness;
+ int contrast;
FBLinearPtr linear;
RegionRec clip;
CARD32 colorKey;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c b/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c
index ce3d45611..5b1d6ddc6 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c,v 1.12 2000/11/13 23:31:39 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c,v 1.13 2000/12/01 14:28:57 dawes Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c
index 83f21d7fa..5cfefa728 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c
@@ -43,7 +43,7 @@
* Fixed 32bpp hires 8MB horizontal line glitch at middle right
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c,v 1.181 2000/11/16 19:44:55 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c,v 1.183 2000/12/02 15:30:43 tsi Exp $ */
/*
* This is a first cut at a non-accelerated version to work with the
@@ -541,7 +541,7 @@ static Bool
MGAProbe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips = NULL;
int numDevSections;
int numUsed;
@@ -597,9 +597,7 @@ MGAProbe(DriverPtr drv, int flags)
MGAChipsets, MGAPciChipsets, devSections,
numDevSections, drv, &usedChips);
/* Free it since we don't need that list after this */
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
@@ -675,8 +673,8 @@ MGAProbe(DriverPtr drv, int flags)
pMgaEnt->lastInstance);
}
}
- if (usedChips)
- xfree(usedChips);
+
+ xfree(usedChips);
return foundScreen;
}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c
index 339ffffb7..1bbb6f7e7 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c
@@ -26,7 +26,7 @@ Silicon Motion shall not be used in advertising or otherwise to promote the
sale, use or other dealings in this Software without prior written
authorization from The XFree86 Project or Silicon Motion.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c,v 1.1 2000/11/28 20:59:19 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c,v 1.4 2000/12/02 15:30:50 tsi Exp $ */
#include "xf86Resources.h"
#include "xf86RAC.h"
@@ -84,7 +84,7 @@ static void SMI_FreeScreen(int ScrnIndex, int flags);
static void SMI_ProbeDDC(ScrnInfoPtr pScrn, int index);
-#define SILICONMOTION_NAME "Silicon Motion"
+#define SILICONMOTION_NAME "Silicon Motion"
#define SILICONMOTION_DRIVER_NAME "siliconmotion"
#define SILICONMOTION_VERSION_NAME "1.1.8"
#define SILICONMOTION_VERSION_MAJOR 1
@@ -411,7 +411,7 @@ static Bool
SMI_Probe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -439,11 +439,7 @@ SMI_Probe(DriverPtr drv, int flags)
numDevSections, drv, &usedChips);
/* Free it since we don't need that list after this */
- if (devSections)
- {
- xfree(devSections);
- }
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
{
LEAVE_PROC("SMI_Probe");
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sis/init300.c b/xc/programs/Xserver/hw/xfree86/drivers/sis/init300.c
index 261d29ee1..c80dc34ae 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sis/init300.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sis/init300.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init300.c,v 1.4 2000/09/26 15:57:14 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init300.c,v 1.6 2000/12/02 15:30:50 tsi Exp $ */
#include "xf86.h"
#include "xf86PciInfo.h"
@@ -43,19 +43,29 @@ Bool SiSSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
SetReg1(P3c4, 0x20, 0xa1);
SetReg1(P3c4, 0x1E, 0x5A);
- if(pSiS->LVDSFlags)
+ if(pSiS->VBFlags & VB_LVDS)
IF_DEF_LVDS = 1;
else
IF_DEF_LVDS = 0;
+ if(pSiS->VBFlags & VB_CHRONTEL)
+ IF_DEF_CH7005 = 1;
+ else
+ IF_DEF_CH7005 = 0;
+
+
+/* ynlai begin */
+ IF_DEF_HiVision=0;
+/* ynlai end */
PresetScratchregister(P3d4); /* add for CRT2 */
/* replace GetSenseStatus,SetTVSystem,SetDisplayInfo */
+ DisplayOff();
SetReg1(P3c4,0x05,0x86); /* 1.Openkey */
temp=SearchModeID(ROMAddr,ModeNo); /* 2.Get ModeID Table */
if(temp==0) return(0);
- SetTVSystem(); /* add for CRT2 */
+ /* SetTVSystem(); */ /* add for CRT2 */
/*GetLCDDDCInfo(pScrn);*/ /* add for CRT2 */
GetVBInfo(BaseAddr,ROMAddr); /* add for CRT2 */
GetLCDResInfo(ROMAddr, P3d4); /* add for CRT2 */
@@ -95,10 +105,14 @@ Bool SiSSetMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
if(((cr30flag&0x01)==1)||((cr30flag&0x03)==0x02)||
(((cr30flag&0x03)==0x00)&&((cr31flag&0x20)==0x20))) {
/* if CR30 d[0]=1 or d[1:0]=10, set CRT2 or cr30 cr31== 0x00 0x20 */
- SetCRT2Group(BaseAddr,ROMAddr,ModeNo, pScrn); /* add for CRT2 */
+ SetCRT2Group(BaseAddr,ROMAddr,ModeNo, pScrn); /* add for CRT2 */
}
+/* ynlai begin test */
+/* ynlai end test */
+
SetPitch(pScrn, BaseAddr); /* 16.SetPitch */
+ WaitVertical();
DisplayOn(); /* 17.DisplayOn */
return TRUE;
}
@@ -166,6 +180,13 @@ VOID SetSeqRegs(ULONG ROMAddr)
StandTable=StandTable+0x05;
SRdata=*((UCHAR *)(ROMAddr+StandTable)); /* Get SR01 from file */
if(IF_DEF_LVDS==1){
+ if(IF_DEF_CH7005==1) {
+ if(VBInfo&SetCRT2ToTV) {
+ if(VBInfo&SetInSlaveMode) {
+ SRdata=SRdata|0x01;
+ }
+ }
+ }
if(VBInfo&SetCRT2ToLCD){
if(VBInfo&SetInSlaveMode){
if(LCDInfo&LCDNonExpanding){
@@ -217,13 +238,16 @@ VOID SetATTRegs(ULONG ROMAddr)
StandTable++;
ARdata=*((UCHAR *)(ROMAddr+StandTable)); /* Get AR for file */
if(IF_DEF_LVDS==1){ /*for LVDS*/
+ if(IF_DEF_CH7005==1) {
+ if(VBInfo&SetCRT2ToTV) {
+ if(VBInfo&SetInSlaveMode) {
+ if(i==0x13) ARdata=0;
+ }
+ }
+ }
if(VBInfo&SetCRT2ToLCD){
if(VBInfo&SetInSlaveMode){
- if(LCDInfo&LCDNonExpanding){
- if(i==0x13){
- ARdata=0;
- }
- }
+ if(i==0x13) ARdata=0;
}
}
}
@@ -231,15 +255,7 @@ VOID SetATTRegs(ULONG ROMAddr)
SetReg3(P3c0,i); /* set index */
SetReg3(P3c0,ARdata); /* set data */
}
- if(IF_DEF_LVDS==1){ /*for LVDS*/
- if(VBInfo&SetCRT2ToLCD){
- if(VBInfo&SetInSlaveMode){
- if(LCDInfo&LCDNonExpanding){
-
- }
- }
- }
- }
+
GetReg2(P3da); /* reset 3da */
SetReg3(P3c0,0x14); /* set index */
SetReg3(P3c0,0x00); /* set data */
@@ -623,6 +639,15 @@ VOID DisplayOn()
SetReg1(P3c4,0x01,data);
}
+VOID DisplayOff()
+{
+ USHORT data;
+
+ data=GetReg1(P3c4,0x01);
+ data=data|0x20;
+ SetReg1(P3c4,0x01,data);
+}
+
VOID SetReg1(USHORT port, USHORT index, USHORT data)
{
outb(port ,(UCHAR)(index & 0xff));
@@ -1076,3 +1101,19 @@ USHORT CalcRefreshRate(ScrnInfoPtr pScrn, DisplayModePtr mode)
Rate |= Rate << 4;
return(Rate);
}
+
+VOID WaitVertical(VOID)
+{
+ USHORT tempax,tempdx;
+
+/* tempdx=0x3da;
+ do {
+ tempax=GetReg2(tempdx);
+ } while(!(tempax&01));
+
+ do {
+ tempax=GetReg2(tempdx);
+ } while(!(tempax&01));
+*/
+
+}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sis/init300.h b/xc/programs/Xserver/hw/xfree86/drivers/sis/init300.h
index 76de15da2..ffb754ac5 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sis/init300.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sis/init300.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init300.h,v 1.3 2000/09/22 11:35:46 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init300.h,v 1.4 2000/12/02 01:16:16 dawes Exp $ */
#include "initdef.h"
@@ -74,6 +74,8 @@ int RAMType;
int ModeIDOffset,StandTable,CRT1Table,ScreenOffset,VCLKData,MCLKData, ECLKData;
int REFIndex,ModeType;
USHORT IF_DEF_LVDS;
+USHORT IF_DEF_HiVision;
+USHORT IF_DEF_CH7005;
USHORT VBInfo,LCDResInfo,LCDTypeInfo,LCDInfo;
USHORT CalcRefreshRate(ScrnInfoPtr, DisplayModePtr);
@@ -96,6 +98,7 @@ VOID SetCRT1FIFO2(ULONG);
VOID SetCRT1VCLK(ULONG);
VOID LoadDAC(ULONG);
VOID DisplayOn();
+VOID DisplayOff();
VOID SetPitch(ScrnInfoPtr, USHORT);
VOID SetCRT1ModeRegs(ULONG, USHORT);
VOID SetVCLKState(ULONG, USHORT);
@@ -105,6 +108,7 @@ USHORT GetRefindexLength(ULONG, USHORT);
VOID SetInterlace(ULONG, USHORT);
USHORT CalcDelay2(ULONG ,USHORT);
USHORT CalcDelay(ULONG ,USHORT);
+VOID WaitVertical(VOID);
extern BOOLEAN SetCRT2Group(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,ScrnInfoPtr pScrn);
extern VOID GetVBInfo(USHORT BaseAddr,ULONG ROMAddr);
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c b/xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c
index e2ff6bea7..5cde319e6 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c,v 1.2 2000/09/22 11:35:46 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c,v 1.3 2000/12/02 01:16:16 dawes Exp $ */
#include "xf86.h"
#include "xf86PciInfo.h"
@@ -34,12 +34,13 @@ BOOLEAN SetCRT2Group(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo, ScrnInfoPtr pS
}
SetGroup1(BaseAddr,ROMAddr,ModeNo,pScrn);
if(IF_DEF_LVDS==0) {
- SetGroup2(BaseAddr,ROMAddr);
- SetGroup3(BaseAddr);
+ SetGroup2(BaseAddr,ROMAddr,ModeNo);
+ SetGroup3(BaseAddr,ROMAddr);
SetGroup4(BaseAddr,ROMAddr,ModeNo);
SetGroup5(BaseAddr,ROMAddr);
}
else {
+ if(IF_DEF_CH7005==1) SetCHTVReg(ROMAddr,ModeNo);
ModCRT1CRTC(ROMAddr,ModeNo);
SetCRT2ECLK(ROMAddr,ModeNo);
}
@@ -73,22 +74,35 @@ VOID SetDefCRT2ExtRegs(USHORT BaseAddr)
}
USHORT GetRatePtrCRT2(ULONG ROMAddr, USHORT ModeNo)
-{ /* return bit0=>0:standard mode 1:extended mode */
- SHORT index; /* bit1=>0:crt2 no support this mode */
- USHORT temp; /* 1:crt2 support this mode */
+{ /* return bit0=>0:standard mode 1:extended mode */
+ SHORT index; /* bit1=>0:crt2 no support this mode */
+ USHORT temp; /* 1:crt2 support this mode */
USHORT ulRefIndexLength;
- USHORT temp1;
+ USHORT temp1,modeflag1,Flag;
SHORT LCDRefreshIndex[2]={0x03,0x01};
- if(ModeNo<0x14) return(0); /* Mode No <= 13h then return */
+ if(IF_DEF_CH7005==1) {
+ if(VBInfo&SetCRT2ToTV) {
+ modeflag1=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
+ if(modeflag1&HalfDCLK) return(0);
+ }
+ }
+ if(ModeNo<0x14) return(0); /* Mode No <= 13h then return */
- index=GetReg1(P3d4,0x33); /* Get 3d4 CRTC33 */
- index=index>>SelectCRT2Rate; /* For CRT2,cl=SelectCRT2Rate=4, shr ah,cl */
- index=index&0x0F; /* Frame rate index */
+ index=GetReg1(P3d4,0x33); /* Get 3d4 CRTC33 */
+ index=index>>SelectCRT2Rate; /* For CRT2,cl=SelectCRT2Rate=4, shr ah,cl */
+ index=index&0x0F; /* Frame rate index */
if(index!=0) index--;
if(SetFlag&ProgrammingCRT2){
- if(VBInfo&SetCRT2ToLCD){
+ Flag=1;
+ if(IF_DEF_CH7005==1) {
+ if(VBInfo&SetCRT2ToTV) {
+ index=0;
+ Flag=0;
+ }
+ }
+ if((Flag)&&(VBInfo&SetCRT2ToLCD)){
if(IF_DEF_LVDS==0) {
temp=LCDResInfo;
temp1=LCDRefreshIndex[temp];
@@ -132,14 +146,13 @@ USHORT GetRatePtrCRT2(ULONG ROMAddr, USHORT ModeNo)
temp1=0;
}
-/* REFIndex=0x2598; */
return(0x01|(temp1<<1));
}
BOOLEAN AjustCRT2Rate(ULONG ROMAddr)
{
- USHORT tempax,tempbx=0,temp;
- USHORT tempextinfoflag;
+ USHORT tempax,tempbx=0,temp,resinfo;
+ USHORT tempextinfoflag,Flag;
tempax=0;
if(IF_DEF_LVDS==0) {
if(VBInfo&SetCRT2ToRAMDAC){
@@ -149,41 +162,55 @@ BOOLEAN AjustCRT2Rate(ULONG ROMAddr)
tempax=tempax|SupportLCD;
if(LCDResInfo!=Panel1280x1024){
temp=*((UCHAR *)(ROMAddr+ModeIDOffset+0x09)); /* si+Ext_ResInfo */
- if(temp>=9){
- tempax=0;
+ if(temp>=9) tempax=0;
+ }
+ }
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) {
+ tempax=tempax|SupportHiVisionTV;
+ if(VBInfo&SetInSlaveMode){
+ resinfo=*((UCHAR *)(ROMAddr+ModeIDOffset+0x09)); /*si+Ext_ResInfo */
+ if(resinfo==4) return(0);
+ if(resinfo==3) {
+ if(SetFlag&TVSimuMode) return(0);
}
+ if(resinfo>7) return(0);
}
}
- if(VBInfo&(SetCRT2ToAVIDEO|SetCRT2ToSVIDEO|SetCRT2ToSCART)){
- tempax=tempax|SupportTV;
- if(!(VBInfo&SetPALTV)){
- tempextinfoflag=*((USHORT *)(ROMAddr+REFIndex+0x0)); /* di+Ext_InfoFlag */
- if(tempextinfoflag&NoSupportSimuTV){
- if(VBInfo&SetInSlaveMode){
- if(!(VBInfo&SetNotSimuTVMode)){
- return 0;
+ else {
+ if(VBInfo&(SetCRT2ToAVIDEO|SetCRT2ToSVIDEO|SetCRT2ToSCART)){
+ tempax=tempax|SupportTV;
+ if(!(VBInfo&SetPALTV)){
+ tempextinfoflag=*((USHORT *)(ROMAddr+REFIndex+0x0)); /* di+Ext_InfoFlag */
+ if(tempextinfoflag&NoSupportSimuTV){
+ if(VBInfo&SetInSlaveMode){
+ if(!(VBInfo&SetNotSimuMode)){
+ return 0;
+ }
}
}
}
}
}
+/* ynlai end */
tempbx=*((USHORT *)(ROMAddr+ModeIDOffset+0x04)); /* si+Ext_point */
}
- else {
+ else { /* for LVDS */
+ Flag=1;
+ if(IF_DEF_CH7005==1) {
+ if(VBInfo&SetCRT2ToTV) {
+ tempax=tempax|SupportCHTV;
+ Flag=0;
+ }
+ }
tempbx=*((USHORT *)(ROMAddr+ModeIDOffset+0x04));
- if(VBInfo&SetCRT2ToLCD){
+ if((Flag)&&(VBInfo&SetCRT2ToLCD)){
tempax=tempax|SupportLCD;
temp=*((UCHAR *)(ROMAddr+ModeIDOffset+0x09)); /*si+Ext_ResInfo */
- if(temp>0x08){ /*1024x768 */
- return 0;
- }
+ if(temp>0x08) return(0); /*1024x768 */
if(LCDResInfo<Panel1024x768){
- if(temp>0x07){ /*800x600 */
- return 0;
- }
- if(temp==0x04){ /*512x384 */
- return 0;
- }
+ if(temp>0x07) return(0); /*800x600 */
+ if(temp==0x04) return(0); /*512x384 */
}
}
}
@@ -241,7 +268,7 @@ VOID DisableBridge(USHORT BaseAddr)
if(IF_DEF_LVDS==0) {
part2_02=(UCHAR)GetReg1(Part2Port,0x02);
part2_05=(UCHAR)GetReg1(Part2Port,0x05);
- if(!WaitVBRetrace(BaseAddr)) /* return 0:no enable read dram */
+/* if(!WaitVBRetrace(BaseAddr)) */ /* return 0:no enable read dram */
{
LongWait();
DisableLockRegs();
@@ -326,7 +353,7 @@ VOID GetCRT2DataLVDS(ULONG ROMAddr,USHORT ModeNo)
VOID GetCRT2Data301(ULONG ROMAddr,USHORT ModeNo)
{
USHORT tempax,tempbx,modeflag1,OldREFIndex;
- USHORT tempal,tempah,tempbl;
+ USHORT tempal,tempah,tempbl,resinfo;
OldREFIndex=REFIndex; /* push di */
RVBHRS=50;NewFlickerMode=0;RY1COE=0;
@@ -367,7 +394,6 @@ VOID GetCRT2Data301(ULONG ROMAddr,USHORT ModeNo)
tempax=*((USHORT *)(ROMAddr+REFIndex+6));
tempax=((tempax>>4)&0x07FF);
VDE=tempax;
- /* skipp something about hivisiontv */
tempax=*((USHORT *)(ROMAddr+REFIndex+8));
tempbl=(tempax>>8);
tempax=tempax&0x0FFF;
@@ -376,21 +402,50 @@ VOID GetCRT2Data301(ULONG ROMAddr,USHORT ModeNo)
tempax=*((USHORT *)(ROMAddr+REFIndex+10));
}
RVBHRS=tempax;
- NewFlickerMode=(tempbl&0x080);
-
- tempax=*((USHORT *)(ROMAddr+REFIndex+12));
- RY1COE=(tempax&0x00FF);
- RY2COE=((tempax&0xFF00)>>8);
- tempax=*((USHORT *)(ROMAddr+REFIndex+14));
- RY3COE=(tempax&0x00FF);
- RY4COE=((tempax&0xFF00)>>8);
- if(!(VBInfo&SetPALTV)){
- tempax=NTSCHT;
- tempbx=NTSCVT;
- }else{
- tempax=PALHT;
- tempbx=PALVT;
+/* ynlai begin */
+ tempbl=tempbl&0x80;
+ if(IF_DEF_HiVision==1) {
+ resinfo=*((UCHAR *)(ROMAddr+ModeIDOffset+0x09)); /* si+Ext_ResInfo */
+ if(resinfo==8) tempbl=0x40;
+ else if(resinfo==9) tempbl=0x40;
+ else if(resinfo==10) tempbl=0x40;
}
+/* ynlai end */
+ NewFlickerMode=tempbl;
+
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) {
+ if(VGAVDE==350) SetFlag=SetFlag|TVSimuMode;
+ tempax=ExtHiTVHT;
+ tempbx=ExtHiTVVT;
+ if(VBInfo&SetInSlaveMode) {
+ if(SetFlag&TVSimuMode) {
+ tempax=StHiTVHT;
+ tempbx=StHiTVVT;
+ modeflag1=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
+ if(!(modeflag1&Charx8Dot)){
+ tempax=StHiTextTVHT;
+ tempbx=StHiTextTVVT;
+ }
+ }
+ }
+ }
+ else {
+ tempax=*((USHORT *)(ROMAddr+REFIndex+12));
+ RY1COE=(tempax&0x00FF);
+ RY2COE=((tempax&0xFF00)>>8);
+ tempax=*((USHORT *)(ROMAddr+REFIndex+14));
+ RY3COE=(tempax&0x00FF);
+ RY4COE=((tempax&0xFF00)>>8);
+ if(!(VBInfo&SetPALTV)){
+ tempax=NTSCHT;
+ tempbx=NTSCVT;
+ }else{
+ tempax=PALHT;
+ tempbx=PALVT;
+ }
+ }
+/* ynlai end */
}
HT=tempax;
VT=tempbx;
@@ -530,20 +585,37 @@ VOID GetRAMDAC2DATA(ULONG ROMAddr,USHORT ModeNo)
VOID GetCRT2Ptr(ULONG ROMAddr,USHORT ModeNo)
{
USHORT tempcl,tempbx,tempal,tempax,CRT2PtrData=0;
+ USHORT Flag;
+
if(IF_DEF_LVDS==0) {
if(VBInfo&SetCRT2ToLCD){ /* LCD */
tempbx=LCDResInfo;
tempcl=LCDDataLen;
tempbx=tempbx-Panel1024x768;
if(!(SetFlag&LCDVESATiming)) tempbx+=5;
- }else if(VBInfo&SetPALTV){
- tempcl=TVDataLen;
- tempbx=3;
- }else{
- tempbx=4;
- tempcl=TVDataLen;
}
-
+/* ynlai begin */
+ else {
+ if(IF_DEF_HiVision==1) {
+ if(VGAVDE>480) SetFlag=SetFlag&(!TVSimuMode);
+ tempcl=HiTVDataLen;
+ tempbx=2;
+ if(VBInfo&SetInSlaveMode) {
+ if(!(SetFlag&TVSimuMode)) tempbx=10;
+ }
+ }
+ else {
+ if(VBInfo&SetPALTV){
+ tempcl=TVDataLen;
+ tempbx=3;
+ }
+ else{
+ tempbx=4;
+ tempcl=TVDataLen;
+ }
+ }
+ }
+/* ynlai end */
if(SetFlag&TVSimuMode){
tempbx=tempbx+4;
}
@@ -558,17 +630,26 @@ VOID GetCRT2Ptr(ULONG ROMAddr,USHORT ModeNo)
REFIndex=*((USHORT *)(ROMAddr + 0x20E + tempbx*2));
REFIndex+=tempax;
}
- else {
- tempcl=LVDSDataLen;
- tempbx=LCDResInfo-Panel800x600;
- if(LCDInfo&LCDNonExpanding){
- tempbx=tempbx+3;
- }
- if(ModeNo<=0x13){
- tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
- }else{
- tempal=*((UCHAR *)(ROMAddr+REFIndex+0x04)); /* di+Ext_CRT2CRTC */
+ else { /* LVDS */
+ Flag=1;
+ tempbx=0;
+ if(IF_DEF_CH7005==1) {
+ if(!(VBInfo&SetCRT2ToLCD)) {
+ Flag=0;
+ tempbx=7;
+ if(VBInfo&SetPALTV) tempbx=tempbx+2;
+ if(VBInfo&SetCHTVOverScan) tempbx=tempbx+1;
+ }
}
+ tempcl=LVDSDataLen;
+ if(Flag==1) {
+ tempbx=LCDResInfo-Panel800x600;
+ if(LCDInfo&LCDNonExpanding){
+ tempbx=tempbx+3;
+ }
+ }
+ if(ModeNo<=0x13) tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
+ else tempal=*((UCHAR *)(ROMAddr+REFIndex+0x04)); /* di+Ext_CRT2CRTC */
tempal=tempal&0x1F;
tempax=tempal*tempcl;
CRT2PtrData=*((USHORT *)(ROMAddr+ADR_CRT2PtrData)); /*ADR_CRT2PtrData is defined in init.def */
@@ -652,6 +733,27 @@ VOID SetCRT2ModeRegs(USHORT BaseAddr,USHORT ModeNo)
temp3=temp3&(~0x0BF);
temp3=temp3|tempah;
SetReg1(Part4Port,0x0D,(USHORT)temp3);
+
+/* ynlai begin */
+ tempah=0;
+ if(VBInfo&SetCRT2ToTV) {
+ if(VBInfo&SetInSlaveMode) {
+ if(!(SetFlag&TVSimuMode)) {
+ if(IF_DEF_HiVision==0) {
+ SetFlag=SetFlag|RPLLDIV2XO;
+ tempah=tempah|0x40;
+ }
+ }
+ }
+ else {
+ SetFlag=SetFlag|RPLLDIV2XO;
+ tempah=tempah|0x40;
+ }
+ }
+ if(LCDResInfo==Panel1280x1024) tempah=tempah|0x80;
+ if(LCDResInfo==Panel1280x960) tempah=tempah|0x80;
+ SetReg1(Part4Port,0x0C,(USHORT)temp3);
+/* ynlai end */
}
else {
tempah=0;
@@ -717,9 +819,15 @@ VOID SetGroup1_LVDS(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,
SetReg1(Part1Port,0x0D,tempcl); /*BTVGA2HRE 0x0D */
tempcx=(VGAVT-1);
tempah=tempcx&0x0FF;
+ if(IF_DEF_CH7005==1) {
+ if(VBInfo&0x0C) tempah=tempah-1;
+ }
SetReg1(Part1Port,0x0E,tempah); /*BTVGA2TV 0x0E,0x12 */
tempbx=VGAVDE-1;
tempah=tempbx&0x0FF;
+ if(IF_DEF_CH7005==1) {
+ if(VBInfo&0x0C) tempah=tempah-1;
+ }
SetReg1(Part1Port,0x0F,tempah); /*BTVGA2VDEE 0x0F,0x12 */
tempah=((tempbx&0xFF00)<<3)>>8;
tempah=tempah|((tempcx&0xFF00)>>8);
@@ -784,14 +892,13 @@ VOID SetGroup1_LVDS(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,
tempbx=LCDVDES; /*VGAVDES */
temppush1=tempbx; /*push bx temppush1 */
if(IF_DEF_TRUMPION==0){
- if(LCDResInfo==Panel800x600){
- tempax=600;
- }else{
- tempax=768;
+ if(IF_DEF_CH7005==1) tempax=VGAVDE;
+ if(VBInfo&SetCRT2ToLCD) {
+ if(LCDResInfo==Panel800x600) tempax=600;
+ else tempax=768;
}
- }else{
- tempax=VGAVDE;
}
+ else tempax=VGAVDE;
tempbx=tempbx+tempax;
tempax=VT; /*VT */
if(tempbx>=VT){
@@ -935,7 +1042,7 @@ VOID SetGroup1_301(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,ScrnInfoPtr pScrn
SISPtr pSiS = SISPTR(pScrn);
USHORT temp1,temp2,tempcl,tempch,tempbl,tempbh,tempal,tempah,tempax,tempbx;
USHORT tempcx,OldREFIndex;
- USHORT Part1Port;
+ USHORT Part1Port,resinfo,modeflag;
Part1Port=BaseAddr+IND_SIS_CRT2_PORT_04;
OldREFIndex=REFIndex; /* push di */
@@ -1011,16 +1118,16 @@ VOID SetGroup1_301(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,ScrnInfoPtr pScrn
if( pSiS->Chipset == PCI_CHIP_SIS300 ){
tempah=0x10;
- if((LCDResInfo!=Panel1024x768)&&(LCDResInfo==Panel1280x1024)){
- tempah=0x20;
- }
- }else{
- tempah=0x20;
+ if((LCDResInfo!=Panel1024x768)&&(LCDResInfo==Panel1280x1024)) tempah=0x20;
}
- if(VBInfo&SetCRT2ToTV){
- tempah=0x08;
+ else tempah=0x20;
+ if(VBInfo&SetCRT2ToTV) tempah=0x08;
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) {
+ if(VBInfo&SetInSlaveMode) tempah=0x2c;
+ else tempah=0x20;
}
-
+/* ynlai end */
SetRegANDOR(Part1Port,0x13,~0x03C,tempah);
if(!(VBInfo&SetInSlaveMode)){
@@ -1060,42 +1167,62 @@ VOID SetGroup1_301(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,ScrnInfoPtr pScrn
if(VBInfo&SetCRT2ToTV){
tempah=tempah+2;
}
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) {
+ resinfo=*(USHORT *)(ROMAddr+ModeIDOffset+0x09); /* si+Ext_ResInfo */
+ if(resinfo==7) tempah=tempah-2;
+ }
+/* ynlai end */
SetReg1(Part1Port,0x05,tempah); /* 0x05 Horizontal Display Start */
SetReg1(Part1Port,0x06,0x03); /* 0x06 Horizontal Blank end */
/* 0x07 horizontal Retrace Start */
- tempcx=(tempbl+tempbh)>>1;
- tempah=(tempcx&0xFF)+2;
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) {
+ tempah=tempbl-1;
+ modeflag=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
+ if(!(modeflag&HalfDCLK)) {
+ tempah=tempah-6;
+ if(SetFlag&TVSimuMode) {
+ tempah=tempah-4;
+ if(ModeNo>0x13) tempah=tempah-10;
+ }
+ }
+ }
+/* ynlai end */
+ else {
+ tempcx=(tempbl+tempbh)>>1;
+ tempah=(tempcx&0xFF)+2;
- if(VBInfo&SetCRT2ToTV){
- tempah=tempah-1;
- if(!(temp1&HalfDCLK)){
- if((temp1&Charx8Dot)){
- tempah=tempah+4;
- if(VGAHDE>=800){
- tempah=tempah-6;
+ if(VBInfo&SetCRT2ToTV){
+ tempah=tempah-1;
+ if(!(temp1&HalfDCLK)){
+ if((temp1&Charx8Dot)){
+ tempah=tempah+4;
+ if(VGAHDE>=800){
+ tempah=tempah-6;
+ }
}
}
- }
- }else{
- if(!(temp1&HalfDCLK)){
- tempah=tempah-4;
- if(VGAHDE>=800){
- tempah=tempah-7;
- if(ModeType==ModeEGA){
- if(VGAVDE==1024){
- tempah=tempah+15;
- if(LCDResInfo!=Panel1280x1024){
- tempah=tempah+7;
+ }else{
+ if(!(temp1&HalfDCLK)){
+ tempah=tempah-4;
+ if(VGAHDE>=800){
+ tempah=tempah-7;
+ if(ModeType==ModeEGA){
+ if(VGAVDE==1024){
+ tempah=tempah+15;
+ if(LCDResInfo!=Panel1280x1024){
+ tempah=tempah+7;
+ }
}
}
- }
- if(VGAHDE>=1280){
- tempah=tempah+28;
+ if(VGAHDE>=1280){
+ tempah=tempah+28;
+ }
}
}
- }
+ }
}
-
SetReg1(Part1Port,0x07,tempah); /* 0x07 Horizontal Retrace Start */
SetReg1(Part1Port,0x08,0); /* 0x08 Horizontal Retrace End */
@@ -1138,6 +1265,8 @@ VOID SetGroup1_301(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,ScrnInfoPtr pScrn
temp2=tempax; /* push ax */
tempax=tempax<<1;
tempbx=tempax+tempbx;
+/* ynlai begin */
+/* ynlai end */
if((SetFlag&TVSimuMode)&&(VBInfo&SetPALTV)&&(VGAHDE==800)){
tempbx=tempbx+40;
}
@@ -1300,7 +1429,10 @@ VOID SetCRT2FIFO(USHORT Part1Port,ULONG ROMAddr,USHORT ModeNo,ScrnInfoPtr pScrn
temp1=(temp1&(~0x1F))|0x16;
SetReg1(Part1Port,0x01,temp1);
- if(temp2<=6) temp2=6;
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) { if(temp2<=10) temp2=10; }
+ else { if(temp2<=6) temp2=6; }
+/* ynlai end */
if(temp2>0x14) temp2=0x14;
temp1=(UCHAR)GetReg1(Part1Port,0x02); /* part1port index 02 */
temp1=(temp1&(~0x1F))|temp2;
@@ -1338,7 +1470,7 @@ USHORT GetQueueConfig()
USHORT GetVCLKPtr(ULONG ROMAddr,USHORT ModeNo)
{
- USHORT tempal;
+ USHORT tempal=0;
if(IF_DEF_LVDS==0) {
tempal=(UCHAR)GetReg2((USHORT)(P3ca+0x02)); /* Port 3cch */
tempal=((tempal>>2)&0x03);
@@ -1437,35 +1569,77 @@ USHORT CalcDelayVB()
USHORT GetVCLK2Ptr(ULONG ROMAddr,USHORT ModeNo)
{
- USHORT tempal;
+ USHORT tempal,tempbx,temp;
USHORT LCDXlat1VCLK[4]={VCLK65,VCLK65,VCLK65,VCLK65};
USHORT LCDXlat2VCLK[4]={VCLK108_2,VCLK108_2,VCLK108_2,VCLK108_2};
+ USHORT LVDSXlat1VCLK[4]={VCLK40,VCLK40,VCLK40,VCLK40};
+ USHORT LVDSXlat2VCLK[4]={VCLK65,VCLK65,VCLK65,VCLK65};
+ USHORT LVDSXlat3VCLK[4]={VCLK65,VCLK65,VCLK65,VCLK65};
- if(ModeNo<=0x13){
- tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
- }else{
- tempal=*((UCHAR *)(ROMAddr+REFIndex+0x04)); /* di+Ext_CRT2CRTC */
- }
- tempal=tempal>>6;
- if(LCDResInfo!=Panel1024x768){
- tempal=LCDXlat2VCLK[tempal];
- }else{
- tempal=LCDXlat1VCLK[tempal];
- }
-
- if(VBInfo&SetCRT2ToLCD){
- tempal=tempal;
- }else if(VBInfo&SetCRT2ToTV){
- if(SetFlag&RPLLDIV2XO){
- tempal=TVVCLKDIV2;
+ if(IF_DEF_LVDS==0) {
+ if(ModeNo<=0x13){
+ tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
}else{
- tempal=TVVCLK;
+ tempal=*((UCHAR *)(ROMAddr+REFIndex+0x04)); /* di+Ext_CRT2CRTC */
}
- }else{
- tempal=(UCHAR)GetReg2((USHORT)(P3ca+0x02)); /* Port 3cch */
- tempal=((tempal>>2)&0x03);
- if(ModeNo>0x13){
- tempal=*((UCHAR *)(ROMAddr+REFIndex+0x03)); /* di+Ext_CRTVCLK */
+ tempal=tempal>>6;
+ if(LCDResInfo!=Panel1024x768){
+ tempal=LCDXlat2VCLK[tempal];
+ }else{
+ tempal=LCDXlat1VCLK[tempal];
+ }
+
+ if(VBInfo&SetCRT2ToLCD){
+ tempal=tempal;
+ }
+/* ynlai begin */
+ else { /* for TV */
+ if(VBInfo&SetCRT2ToTV) {
+ if(IF_DEF_HiVision==1) {
+ if(SetFlag&RPLLDIV2XO) tempal=HiTVVCLKDIV2;
+ else tempal=HiTVVCLK;
+ if(SetFlag&TVSimuMode){
+ temp=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
+ if(temp&Charx8Dot) tempal=HiTVSimuVCLK;
+ else tempal=HiTVTextVCLK;
+ }
+ }
+ else {
+ if(VBInfo&SetCRT2ToTV){
+ if(SetFlag&RPLLDIV2XO) tempal=TVVCLKDIV2;
+ else tempal=TVVCLK;
+ }
+ else {
+ tempal=(UCHAR)GetReg2((USHORT)(P3ca+0x02)); /* Port 3cch */
+ tempal=((tempal>>2)&0x03);
+ if(ModeNo>0x13) tempal=*((UCHAR *)(ROMAddr+REFIndex+0x03)); /* di+Ext_CRTVCLK */
+ }
+ }
+ }
+ }
+ }
+/* ynlai end */
+ else { /* LVDS */
+ if(ModeNo<=0x13) tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04));
+ else tempal=*((UCHAR *)(ROMAddr+REFIndex+0x04));
+ if(IF_DEF_CH7005==1) {
+ if(!(VBInfo&SetCRT2ToLCD)) {
+ tempal=tempal&0x1f;
+ tempbx=0;
+ if(VBInfo&SetPALTV) tempbx=tempbx+2;
+ if(VBInfo&SetCHTVOverScan) tempbx=tempbx+1;
+ tempbx=tempbx<<1;
+ temp=(*((USHORT *)(ROMAddr+ADR_CHTVVCLKPtr)));
+ tempbx=(*((USHORT *)(ROMAddr+temp+tempbx)));
+ tempal=(*((USHORT *)(ROMAddr+tempbx+tempal)));
+ tempal=tempal&0x00FF;
+ }
+ }
+ else {
+ tempal=tempal>>6;
+ if(LCDResInfo==Panel800x600) tempal=LVDSXlat1VCLK[tempal];
+ else if(LCDResInfo==Panel1024x768) tempal=LVDSXlat2VCLK[tempal];
+ else tempal=LVDSXlat3VCLK[tempal];
}
}
VCLKLen=GetVCLKLen(ROMAddr);
@@ -1545,7 +1719,7 @@ USHORT GetVGAHT2()
return((USHORT)temp2);
}
-VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
+VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr, USHORT ModeNo)
{
USHORT tempah,tempbl,tempbh,tempcl,i,j,tempcx,pushcx,tempbx,tempax;
USHORT tempmodeflag,tempflowflag;
@@ -1553,7 +1727,9 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
USHORT *temp2;
USHORT pushbx;
USHORT Part2Port;
+ USHORT modeflag;
long int longtemp;
+
Part2Port=BaseAddr+IND_SIS_CRT2_PORT_10;
tempcx=VBInfo;
tempah=VBInfo&0x0FF;
@@ -1568,15 +1744,29 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
tempah=tempah|tempbl;
tempah=tempah^0x0C;
- if(VBInfo&SetPALTV){
+ if(IF_DEF_HiVision==1) {
temp1=(UCHAR *)(ROMAddr+0x0F1); /* PALPhase */
- temp2=PALTiming;
- }else{
- tempah=tempah|0x10;
- temp1=(UCHAR *)(ROMAddr+0x0ED); /* NTSCPhase */
- temp2=NTSCTiming;
+ tempah=tempah^0x01;
+ if(VBInfo&SetInSlaveMode) {
+ temp2=HiTVSt2Timing;
+ if(SetFlag&TVSimuMode) {
+ modeflag=*((USHORT *)(ROMAddr+ModeIDOffset+0x01));
+ if(modeflag&Charx8Dot) temp2=HiTVSt1Timing;
+ else temp2=HiTVTextTiming;
+ }
+ }
+ else temp2=HiTVExtTiming;
+ }
+ else {
+ if(VBInfo&SetPALTV){
+ temp1=(UCHAR *)(ROMAddr+0x0F1); /* PALPhase */
+ temp2=PALTiming;
+ }else{
+ tempah=tempah|0x10;
+ temp1=(UCHAR *)(ROMAddr+0x0ED); /* NTSCPhase */
+ temp2=NTSCTiming;
+ }
}
-
SetReg1(Part2Port,0x0,tempah);
for(i=0x31;i<=0x34;i++,temp1++){
SetReg1(Part2Port,i,*(UCHAR *)temp1);
@@ -1597,6 +1787,24 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
SetReg1(Part2Port,0x37,RY3COE);
SetReg1(Part2Port,0x38,RY4COE);
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) tempax=950;
+ else {
+ if(VBInfo&SetPALTV) tempax=520;
+ else tempax=440;
+ }
+ if(VDE<=tempax) {
+ tempax=tempax-VDE;
+ tempax=tempax>>2;
+ tempah=(tempax&0xFF00)>>8;
+ tempah=tempah+temp2[0];
+ SetReg1(Part2Port,0x01,tempah);
+ tempah=tempax&0x00FF;
+ tempah=tempah+temp2[1];
+ SetReg1(Part2Port,0x02,tempah);
+ }
+/* begin end */
+
tempcx=HT-1;
tempah=tempcx&0xFF;
SetReg1(Part2Port,0x1B,tempah);
@@ -1607,6 +1815,9 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
pushcx=tempcx; /* push cx */
tempcx=tempcx+7;
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) tempcx=tempcx-4;
+/* ynlai end */
tempah=(tempcx&0xFF);
tempah=(tempah<<4)&0xFF;
SetRegANDOR(Part2Port,0x22,~0x0F0,tempah);
@@ -1621,7 +1832,12 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
SetRegANDOR(Part2Port,0x25,~0x0F0,tempah);
tempbx=tempbx+8;
-
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) {
+ tempbx=tempbx-4;
+ tempcx=tempbx;
+ }
+/* ynlai end */
tempah=((tempbx&0xFF)<<4)&0xFF;
SetRegANDOR(Part2Port,0x29,~0x0F0,tempah);
@@ -1632,7 +1848,9 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
SetRegANDOR(Part2Port,0x28,~0x0F0,tempah);
tempcx=tempcx+8;
-
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) tempcx=tempcx-4;
+/* ynlai end */
tempah=tempcx&0xFF;
tempah=(tempah<<4)&0xFF;
SetRegANDOR(Part2Port,0x2A,~0x0F0,tempah);
@@ -1668,6 +1886,11 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
tempbx=tempbx-2;
tempah=tempbx&0xFF;
+/* ynlai begin */
+ if(IF_DEF_HiVision==1)
+ if(VBInfo&SetInSlaveMode)
+ if(ModeNo==0x2f) tempah=tempah+1;
+/* ynlai end */
SetReg1(Part2Port,0x2F,tempah);
tempah=(tempcx&0xFF00)>>8;
@@ -1675,11 +1898,14 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
tempbh=(tempbh<<6)&0xFF;
tempah=tempah|tempbh;
/* assuming <<ifndef>> hivisiontv */
- tempah=tempah|0x10;
- if(!(VBInfo&SetCRT2ToSVIDEO)){
- tempah=tempah|0x20;
+/* ynlai begin */
+ if(IF_DEF_HiVision==0) {
+ tempah=tempah|0x10;
+ if(!(VBInfo&SetCRT2ToSVIDEO)){
+ tempah=tempah|0x20;
+ }
}
-
+/* ynlai end */
SetReg1(Part2Port,0x30,tempah);
tempbh=0;
@@ -1695,8 +1921,15 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
tempah=0;
}
}
- /* assuming ifdef hivisiontv */
tempcx=0x0101;
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) {
+ if(VGAHDE>=1024) {
+ tempcx=0x1920;
+ if(VGAHDE>=1280) tempcx=0x1420;
+ }
+ }
+/* ynlai end */
if(!(tempbh&0x20)){
if(tempmodeflag&HalfDCLK){
tempcl=((tempcx&0xFF)<<1)&0xFF;
@@ -1725,6 +1958,12 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
tempah=tempbh;
SetRegANDOR(Part2Port,0x45,~0x03F,tempah);
+ if(IF_DEF_HiVision==1) {
+ if(!(VBInfo&SetInSlaveMode)) {
+ SetReg1(Part2Port,0x0B,0x00);
+ }
+ }
+
if(VBInfo&SetCRT2ToTV){
return;
}
@@ -1840,20 +2079,37 @@ VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr)
return;
}
-VOID SetGroup3(USHORT BaseAddr)
+VOID SetGroup3(USHORT BaseAddr,ULONG ROMAddr)
{
USHORT i;
USHORT *tempdi;
USHORT Part3Port;
+ USHORT modeflag;
Part3Port=BaseAddr+IND_SIS_CRT2_PORT_12;
+/* ynlai begin */
+ SetReg1(Part3Port,0x00,0x00);
if(VBInfo&SetPALTV){
- tempdi=PALGroup3Data;
- }else{
- tempdi=NTSCGroup3Data;
+ SetReg1(Part3Port,0x13,0xFA);
+ SetReg1(Part3Port,0x14,0xC8);
}
- for(i=0;i<=0x3E;i++){
- SetReg1(Part3Port,i,tempdi[i]);
+ else {
+ SetReg1(Part3Port,0x13,0xF6);
+ SetReg1(Part3Port,0x14,0xBF);
+ }
+ if(IF_DEF_HiVision==1) {
+ tempdi=HiTVGroup3Data;
+ if(SetFlag&TVSimuMode) {
+ tempdi=HiTVGroup3Simu;
+ modeflag=*((USHORT *)(ROMAddr+ModeIDOffset+0x01));
+ if(!(modeflag&Charx8Dot)) {
+ tempdi=HiTVGroup3Text;
+ }
+ }
+ for(i=0;i<=0x3E;i++){
+ SetReg1(Part3Port,i,tempdi[i]);
+ }
}
+/* ynlai end */
return;
}
@@ -1914,14 +2170,25 @@ VOID SetGroup4(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo)
tempbx=tempbx>>1;
}
- if(VBInfo&SetCRT2ToLCD){
- tempah=0;
- if(tempbx>800){
- tempah=0x60;
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) {
+ tempah=0xA0;
+ if(tempbx!=1024) {
+ tempah=0xC0;
+ if(tempbx!=1280) tempah=0;
+ }
+ }
+ else {
+ if(VBInfo&SetCRT2ToLCD){
+ tempah=0;
+ if(tempbx>800){
+ tempah=0x60;
+ }
+ }else{
+ tempah=0x080;
}
- }else{
- tempah=0x080;
}
+/* ynlai end */
if(LCDResInfo!=Panel1280x1024){
tempah=tempah|0x0A;
}
@@ -1930,6 +2197,12 @@ VOID SetGroup4(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo)
tempebx=VDE;
+/* ynlai begin */
+ if(IF_DEF_HiVision==1) {
+ if(!(tempah&0xE0)) tempbx=tempbx>>1;
+ }
+/* ynlai end */
+
tempcx=RVBHRS;
tempah=tempcx&0xFF;
SetReg1(Part4Port,0x18,tempah);
@@ -1968,7 +2241,8 @@ VOID SetCRT2VCLK(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo)
USHORT vclk2ptr;
USHORT tempah,temp1;
USHORT Part4Port;
- Part4Port=BaseAddr+IND_SIS_CRT2_PORT_14;
+
+ Part4Port=BaseAddr+IND_SIS_CRT2_PORT_14;
vclk2ptr=GetVCLK2Ptr(ROMAddr,ModeNo);
SetReg1(Part4Port,0x0A,0x01);
tempah=*((UCHAR *)(ROMAddr+vclk2ptr+0x01)); /* di+1 */
@@ -2134,7 +2408,7 @@ VOID SetLockRegs()
VOID EnableBridge(USHORT BaseAddr)
{
USHORT part2_02,part2_05;
- USHORT Part2Port,Part1Port=0;
+ USHORT Part2Port;
Part2Port=BaseAddr+IND_SIS_CRT2_PORT_10;
if(IF_DEF_LVDS==0) {
@@ -2157,7 +2431,7 @@ VOID EnableBridge(USHORT BaseAddr)
VOID GetVBInfo(USHORT BaseAddr,ULONG ROMAddr)
{
- USHORT flag1,tempbx,tempbl,tempbh,tempah;
+ USHORT flag1,tempbx,tempbl,tempbh,tempah,temp;
SetFlag=0;
tempbx=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
@@ -2165,7 +2439,7 @@ VOID GetVBInfo(USHORT BaseAddr,ULONG ROMAddr)
ModeType=tempbl;
tempbx=0;
flag1=GetReg1(P3c4,0x38); /* call BridgeisOn */
- if(IF_DEF_LVDS==0) {
+ if(IF_DEF_LVDS==0) { /* for 301 */
if(!(flag1&0x20)){
VBInfo=CRT2DisplayFlag;
return;
@@ -2173,25 +2447,24 @@ VOID GetVBInfo(USHORT BaseAddr,ULONG ROMAddr)
}
tempbl=GetReg1(P3d4,0x30);
tempbh=GetReg1(P3d4,0x31);
- if(IF_DEF_LVDS==0) {
- tempah=SetInSlaveMode;
- tempah=tempah>>8;
- tempah=tempah^0xFF;
- tempbh=tempbh&tempah;
+
+ tempah=((SetCHTVOverScan>>8)|(SetInSlaveMode>>8)|(DisableCRT2Display>>8));
+ tempah=tempah^0xFF;
+ tempbh=tempbh&tempah;
+/* ynlai begin */
+ if(IF_DEF_LVDS==1){ /* for LVDS */
+ if(IF_DEF_CH7005==1) temp=SetCRT2ToLCD|SetCRT2ToTV;
+ else temp=SetCRT2ToLCD;
}
else {
- tempbh=tempbh&(!(SetInSlaveMode>>8));
+ if(IF_DEF_HiVision==1) temp=0xFC;
+ else temp=0x7C;
}
- if(!(tempbl&0x07C)){
- VBInfo=CRT2DisplayFlag;
+ if(!(tempbl&temp)) {
+ VBInfo=DisableCRT2Display;
return;
}
- if(IF_DEF_LVDS==1){ /* or LVDS */
- if(!(tempbl&SetCRT2ToLCD)){
- VBInfo=CRT2DisplayFlag;
- return;
- }
- }
+/* ynlai end */
if(IF_DEF_LVDS==0) {
if(tempbl&SetCRT2ToRAMDAC){
tempbl=tempbl&(SetCRT2ToRAMDAC|SwitchToCRT2|SetSimuScanMode);
@@ -2199,14 +2472,21 @@ VOID GetVBInfo(USHORT BaseAddr,ULONG ROMAddr)
tempbl=tempbl&(SetCRT2ToLCD|SwitchToCRT2|SetSimuScanMode);
}else if(tempbl&SetCRT2ToSCART){
tempbl=tempbl&(SetCRT2ToSCART|SwitchToCRT2|SetSimuScanMode);
+ tempbh=tempbh|(SetPALTV>>8);
}else if(tempbl&SetCRT2ToHiVisionTV){
tempbl=tempbl&(SetCRT2ToHiVisionTV|SwitchToCRT2|SetSimuScanMode);
+/* ynlai begin */
+ tempbh=tempbh|(SetPALTV>>8);
+/* ynlai end */
}
}
else {
- if(tempbl&SetCRT2ToLCD){
+ if(IF_DEF_CH7005==1) {
+ if(tempbl&SetCRT2ToTV)
+ tempbl=tempbl&(SetCRT2ToTV|SwitchToCRT2|SetSimuScanMode);
+ }
+ if(tempbl&SetCRT2ToLCD)
tempbl=tempbl&(SetCRT2ToLCD|SwitchToCRT2|SetSimuScanMode);
- }
}
tempah=GetReg1(P3d4,0x31);
if(tempah&(CRT2DisplayFlag>>8)){
@@ -2228,17 +2508,34 @@ VOID GetVBInfo(USHORT BaseAddr,ULONG ROMAddr)
}
}
}
+ else {
+ flag1=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
+ if(!(flag1&CRT2Mode)) {
+ VBInfo=VBInfo|SetSimuScanMode;
+ }
+ }
}
- if(!((VBInfo&(SetSimuScanMode|SwitchToCRT2)))){
- return;
- }
- if(!(VBInfo&DriverMode)){
- VBInfo=VBInfo|SetInSlaveMode;
- return;
- }
- flag1=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
- if(!(flag1&(CRT2Mode|CRT2DisplayFlag))){
- VBInfo=VBInfo|SetInSlaveMode;
+ if(!(VBInfo&DisableCRT2Display)) {
+ if(VBInfo&DriverMode) {
+ if(VBInfo&SetSimuScanMode) {
+ flag1=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
+ if(!(flag1&CRT2Mode)) {
+ VBInfo=VBInfo|SetInSlaveMode;
+ }
+ }
+ }
+ else {
+ VBInfo=VBInfo|SetSimuScanMode;
+ if(IF_DEF_LVDS==0) {
+ if(VBInfo&SetCRT2ToTV) {
+ if(!(VBInfo&SetNotSimuMode)) SetFlag=SetFlag|TVSimuMode;
+ }
+ }
+ }
+ }
+ if(IF_DEF_CH7005==1) {
+ tempah=GetReg1(P3d4,0x35);
+ if(tempah&TVOverScan) VBInfo=VBInfo|SetCHTVOverScan;
}
}
@@ -2322,7 +2619,7 @@ BOOLEAN GetLCDResInfo(ULONG ROMAddr,USHORT P3d4)
return 1;
}
if(VBInfo&SetInSlaveMode){
- if(VBInfo&SetNotSimuTVMode){
+ if(VBInfo&SetNotSimuMode){
SetFlag=SetFlag|LCDVESATiming;
}
}else{
@@ -2469,19 +2766,16 @@ VOID SetCRT2ECLK(ULONG ROMAddr, USHORT ModeNo)
{
USHORT OldREFIndex,tempah,tempal;
USHORT P3cc=P3c9+3;
+
OldREFIndex=(USHORT)REFIndex;
if(IF_DEF_TRUMPION==0){ /*no trumpion */
tempal=GetReg2(P3cc);
tempal=tempal&0x0C;
-/* SetReg3(P3c2,tempal); */
- REFIndex=GetVCLKPtr(ROMAddr,ModeNo);
+ REFIndex=GetVCLK2Ptr(ROMAddr,ModeNo);
}else{ /*trumpion */
SetFlag=SetFlag&(~ProgrammingCRT2);
tempal=*((UCHAR *)(ROMAddr+REFIndex+0x03)); /*&di+Ext_CRTVCLK */
- /*[6/8/2000],Mars Wen,for vbios version >=v1.03.00 */
tempal=tempal&0x03F;
- /*~[6/8/2000],Mars Wen,for vbios version >=v1.03.00 */
- /* tempal=tempal&0x01F; */
if(tempal==0x02){ /*31.5MHz */
REFIndex=REFIndex-Ext2StructSize;
}
@@ -2507,16 +2801,27 @@ VOID SetCRT2ECLK(ULONG ROMAddr, USHORT ModeNo)
USHORT GetLVDSDesPtr(ULONG ROMAddr,USHORT ModeNo)
{
USHORT tempcl,tempbx,tempal,tempptr,LVDSDesPtrData;
+ USHORT Flag;
+
+ Flag=1;
+ tempbx=0;
+ if(IF_DEF_CH7005==1) {
+ if(!(VBInfo&SetCRT2ToLCD)) {
+ Flag=0;
+ tempbx=32;
+ if(VBInfo&SetPALTV) tempbx=tempbx+2;
+ if(VBInfo&SetCHTVOverScan) tempbx=tempbx+1;
+ }
+ }
tempcl=LVDSDesDataLen;
- tempbx=LCDTypeInfo;
- if(LCDInfo&LCDNonExpanding){
- tempbx=tempbx+16;
- }
- if(ModeNo<=0x13){
- tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
- }else{
- tempal=*((UCHAR *)(ROMAddr+REFIndex+4)); /*di+Ext_CRT2CRTC */
- }
+ if(Flag) {
+ tempbx=LCDTypeInfo;
+ if(LCDInfo&LCDNonExpanding){
+ tempbx=tempbx+16;
+ }
+ }
+ if(ModeNo<=0x13) tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
+ else tempal=*((UCHAR *)(ROMAddr+REFIndex+4)); /*di+Ext_CRT2CRTC */
tempal=tempal&0x1F;
tempal=tempal*tempcl;
tempbx=tempbx<<1;
@@ -2530,27 +2835,32 @@ USHORT GetLVDSDesPtr(ULONG ROMAddr,USHORT ModeNo)
BOOLEAN GetLVDSCRT1Ptr(ULONG ROMAddr,USHORT ModeNo)
{
USHORT tempal,tempbx,modeflag1;
- USHORT LVDSCRT1DataPtr;
+ USHORT LVDSCRT1DataPtr,Flag;
if(!(VBInfo&SetInSlaveMode)){
/* return 0; */
}
- if(ModeNo<=0x13){
- tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
- }else{
- tempal=*((UCHAR *)(ROMAddr+REFIndex+4)); /*di+Ext_CRT2CRTC */
+ Flag=1;
+ tempbx=0;
+ if(IF_DEF_CH7005==1) {
+ if(!(VBInfo&SetCRT2ToLCD)) {
+ Flag=0;
+ tempbx=12;
+ if(VBInfo&SetPALTV) tempbx=tempbx+2;
+ if(VBInfo&SetCHTVOverScan) tempbx=tempbx+1;
+ }
+ }
+ if(Flag) {
+ tempbx=LCDResInfo;
+ tempbx=tempbx-Panel800x600;
+ if(LCDInfo&LCDNonExpanding) tempbx=tempbx+6;
+ modeflag1=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
+ if(modeflag1&HalfDCLK) tempbx=tempbx+3;
}
+ if(ModeNo<=0x13) tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
+ else tempal=*((UCHAR *)(ROMAddr+REFIndex+4)); /*di+Ext_CRT2CRTC */
tempal=tempal&0x3F;
- tempbx=LCDResInfo;
- tempbx=tempbx-Panel800x600;
- if(LCDInfo&LCDNonExpanding){
- tempbx=tempbx+6;
- }
- modeflag1=*((USHORT *)(ROMAddr+ModeIDOffset+0x01)); /* si+St_ModeFlag */
- if(modeflag1&HalfDCLK){
- tempbx=tempbx+3;
- }
tempbx=tempbx<<1;
LVDSCRT1DataPtr=*((USHORT *)(ROMAddr+ADR_LVDSCRT1DataPtr));
REFIndex=*((USHORT *)(ROMAddr+LVDSCRT1DataPtr+tempbx));
@@ -2560,5 +2870,281 @@ BOOLEAN GetLVDSCRT1Ptr(ULONG ROMAddr,USHORT ModeNo)
}
+VOID SetCHTVReg(ULONG ROMAddr,USHORT ModeNo)
+{
+ USHORT old_REFIndex,temp,tempbx,tempcl;
+
+ old_REFIndex=(USHORT)REFIndex; /*push di */
+ GetCHTVRegPtr(ROMAddr,ModeNo);
+
+ if(VBInfo&SetPALTV) {
+ SetCH7005(0x4304);
+ SetCH7005(0x6909);
+ }
+ else {
+ SetCH7005(0x0304);
+ SetCH7005(0x7109);
+ }
+
+ temp=*((USHORT *)(ROMAddr+REFIndex+0x00));
+ tempbx=((temp&0x00FF)<<8)|0x00;
+ SetCH7005(tempbx);
+ temp=*((USHORT *)(ROMAddr+REFIndex+0x01));
+ tempbx=((temp&0x00FF)<<8)|0x07;
+ SetCH7005(tempbx);
+ temp=*((USHORT *)(ROMAddr+REFIndex+0x02));
+ tempbx=((temp&0x00FF)<<8)|0x08;
+ SetCH7005(tempbx);
+ temp=*((USHORT *)(ROMAddr+REFIndex+0x03));
+ tempbx=((temp&0x00FF)<<8)|0x0A;
+ SetCH7005(tempbx);
+ temp=*((USHORT *)(ROMAddr+REFIndex+0x04));
+ tempbx=((temp&0x00FF)<<8)|0x0B;
+ SetCH7005(tempbx);
+
+ SetCH7005(0x2801);
+ SetCH7005(0x3103);
+ SetCH7005(0x003D);
+ SetCHTVRegANDOR(0x0010,0x1F);
+ SetCHTVRegANDOR(0x0211,0xF8);
+ SetCHTVRegANDOR(0x001C,0xEF);
+
+ if(!(VBInfo&SetPALTV)) {
+ if(ModeNo<=0x13) tempcl=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
+ else tempcl=*((UCHAR *)(ROMAddr+REFIndex+4)); /* di+Ext_CRT2CRTC */
+ tempcl=tempcl&0x3F;
+ if(VBInfo&SetCHTVOverScan) {
+ if(tempcl==0x04) { /* 640x480 underscan */
+ SetCHTVRegANDOR(0x0020,0xEF);
+ SetCHTVRegANDOR(0x0121,0xFE);
+ }
+ else {
+ if(tempcl==0x05) { /* 800x600 underscan */
+ SetCHTVRegANDOR(0x0118,0xF0);
+ SetCHTVRegANDOR(0x0C19,0xF0);
+ SetCHTVRegANDOR(0x001A,0xF0);
+ SetCHTVRegANDOR(0x001B,0xF0);
+ SetCHTVRegANDOR(0x001C,0xF0);
+ SetCHTVRegANDOR(0x001D,0xF0);
+ SetCHTVRegANDOR(0x001E,0xF0);
+ SetCHTVRegANDOR(0x001F,0xF0);
+ SetCHTVRegANDOR(0x0120,0xEF);
+ SetCHTVRegANDOR(0x0021,0xFE);
+ }
+ }
+ }
+ else {
+ if(tempcl==0x04) { /* 640x480 overscan */
+ SetCHTVRegANDOR(0x0020,0xEF);
+ SetCHTVRegANDOR(0x0121,0xFE);
+ }
+ else {
+ if(tempcl==0x05) { /* 800x600 overscan */
+ SetCHTVRegANDOR(0x0118,0xF0);
+ SetCHTVRegANDOR(0x0F19,0xF0);
+ SetCHTVRegANDOR(0x011A,0xF0);
+ SetCHTVRegANDOR(0x0C1B,0xF0);
+ SetCHTVRegANDOR(0x071C,0xF0);
+ SetCHTVRegANDOR(0x011D,0xF0);
+ SetCHTVRegANDOR(0x0C1E,0xF0);
+ SetCHTVRegANDOR(0x071F,0xF0);
+ SetCHTVRegANDOR(0x0120,0xEF);
+ SetCHTVRegANDOR(0x0021,0xFE);
+ }
+ }
+ }
+ }
+
+ REFIndex=old_REFIndex;
+}
+
+VOID SetCHTVRegANDOR(USHORT tempax,USHORT tempbh)
+{
+ USHORT tempal,tempah,tempbl;
+
+ tempal=tempax&0x00FF;
+ tempah=(tempax>>8)&0x00FF;
+ tempbl=GetCH7005(tempal);
+ tempbl=(((tempbl&tempbh)|tempah)<<8|tempal);
+ SetCH7005(tempbl);
+}
+
+VOID GetCHTVRegPtr(ULONG ROMAddr,USHORT ModeNo)
+{
+ USHORT tempbx,tempal,tempcl,CHTVRegDataPtr;
+
+ if(VBInfo&SetCRT2ToTV) {
+ tempbx=0;
+ if(VBInfo&SetPALTV) tempbx=tempbx+2;
+ if(VBInfo&SetCHTVOverScan) tempbx=tempbx+1;
+
+ if(ModeNo<=0x13) tempal=*((UCHAR *)(ROMAddr+ModeIDOffset+0x04)); /* si+St_CRT2CRTC */
+ else tempal=*((UCHAR *)(ROMAddr+REFIndex+4)); /* di+Ext_CRT2CRTC */
+ tempal=tempal&0x3F;
+
+ tempcl=CHTVRegDataLen;
+ tempal=tempal*tempcl;
+ tempbx=tempbx<<1;
+
+ CHTVRegDataPtr=*((USHORT *)(ROMAddr+ADR_CHTVRegDataPtr));
+ REFIndex=*((USHORT *)(ROMAddr+CHTVRegDataPtr+tempbx));
+ REFIndex=REFIndex+tempal;
+ }
+}
+
+VOID SetCH7005(USHORT tempbx)
+{
+ USHORT tempah,temp;
+
+ DDC_Port=0x3c4;
+ DDC_Index=0x11;
+ DDC_DataShift=0x00;
+ DDC_DeviceAddr=0xEA;
+
+ SetSwitchDDC2();
+ SetStart();
+ tempah=DDC_DeviceAddr;
+ temp=WriteDDC2Data(tempah);
+ tempah=tempbx&0x00FF;
+ temp=WriteDDC2Data(tempah);
+ tempah=(tempbx&0xFF00)>>8;
+ temp=WriteDDC2Data(tempah);
+ SetStop();
+}
+
+USHORT GetCH7005(USHORT tempbx)
+{
+ USHORT tempah;
+
+ DDC_Port=0x3c4;
+ DDC_Index=0x11;
+ DDC_DataShift=0x00;
+ DDC_DeviceAddr=0xEA;
+ DDC_ReadAddr=tempbx;
+
+ SetSwitchDDC2();
+ SetStart();
+ tempah=DDC_DeviceAddr;
+ WriteDDC2Data(tempah);
+ tempah=DDC_ReadAddr;
+ WriteDDC2Data(tempah);
+
+ SetStart();
+ tempah=DDC_DeviceAddr;
+ tempah=tempah|0x01;
+ if(WriteDDC2Data(tempah)) {
+ }
+ tempah=ReadDDC2Data(tempah);
+ SetStop();
+ return(tempah);
+}
+
+VOID SetSwitchDDC2(VOID)
+{
+ USHORT i;
+
+ SetSCLKHigh();
+ for(i=0;i<1000;i++) {
+ GetReg1(DDC_Port,0x05);
+ }
+ SetSCLKLow();
+ for(i=0;i<1000;i++) {
+ GetReg1(DDC_Port,0x05);
+ }
+}
+
+
+VOID SetStart(VOID)
+{
+ USHORT temp;
+
+ SetSCLKLow();
+ SetRegANDOR(DDC_Port,DDC_Index,0xFD,0x02); /* SetSDA(0x01); */
+ SetSCLKHigh();
+ SetRegANDOR(DDC_Port,DDC_Index,0xFD,0x00); /* SetSDA(0x00); */
+ SetSCLKHigh();
+}
+
+VOID SetStop(VOID)
+{
+ SetSCLKLow();
+ SetRegANDOR(DDC_Port,DDC_Index,0xFD,0x00); /* SetSDA(0x00); */
+ SetSCLKHigh();
+ SetRegANDOR(DDC_Port,DDC_Index,0xFD,0x02); /* SetSDA(0x01); */
+ SetSCLKHigh();
+}
+
+USHORT WriteDDC2Data(USHORT tempax)
+{
+ USHORT i,flag,temp;
+
+ flag=0x80;
+ for(i=0;i<8;i++) {
+ SetSCLKLow();
+ if(tempax&flag) {
+ SetRegANDOR(DDC_Port,DDC_Index,0xFD,0x02);
+ }
+ else {
+ SetRegANDOR(DDC_Port,DDC_Index,0xFD,0x00);
+ }
+ SetSCLKHigh();
+ flag=flag>>1;
+ }
+ return(CheckACK());
+}
+
+USHORT ReadDDC2Data(USHORT tempax)
+{
+ USHORT i,temp,getdata;
+ getdata=0;
+ for(i=0;i<8;i++) {
+ getdata=getdata<<1;
+ SetSCLKLow();
+ SetRegANDOR(DDC_Port,DDC_Index,0xFD,0x02);
+ SetSCLKHigh();
+ temp=GetReg1(DDC_Port,DDC_Index);
+ if(temp&0x02) getdata=getdata|0x01;
+ }
+ return(getdata);
+}
+VOID SetSCLKLow(VOID)
+{
+ SetRegANDOR(DDC_Port,DDC_Index,0xFE,0x00); /* SetSCLKLow() */
+ DDC2Delay();
+}
+
+
+VOID SetSCLKHigh(VOID)
+{
+ USHORT temp;
+
+ SetRegANDOR(DDC_Port,DDC_Index,0xFE,0x01); /* SetSCLKLow() */
+ do {
+ temp=GetReg1(DDC_Port,DDC_Index);
+ } while(!(temp&0x01));
+ DDC2Delay();
+}
+
+VOID DDC2Delay(VOID)
+{
+ USHORT i;
+
+ for(i=0;i<DDC2DelayTime;i++) {
+ GetReg1(P3c4,0x05);
+ }
+}
+
+USHORT CheckACK(VOID)
+{
+ USHORT tempah;
+
+ SetSCLKLow();
+ SetRegANDOR(DDC_Port,DDC_Index,0xFD,0x02);
+ SetSCLKHigh();
+ tempah=GetReg1(DDC_Port,DDC_Index);
+ SetSCLKLow();
+ if(tempah&0x01) return(1);
+ else return(0);
+}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sis/init301.h b/xc/programs/Xserver/hw/xfree86/drivers/sis/init301.h
index a2cb8f174..d47e35ca8 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sis/init301.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sis/init301.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init301.h,v 1.3 2000/09/22 11:35:46 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init301.h,v 1.4 2000/12/02 01:16:17 dawes Exp $ */
#include "initdef.h"
@@ -6,6 +6,13 @@ USHORT VBInfo,SetFlag,RVBHCFACT,RVBHCMAX,VGAVT,VGAHT,VT,HT,VGAVDE,VGAHDE;
USHORT VDE,HDE,RVBHRS,NewFlickerMode,RY1COE,RY2COE,RY3COE,RY4COE;
USHORT LCDResInfo,LCDTypeInfo,LCDInfo,VCLKLen;
USHORT LCDHDES,LCDVDES;
+USHORT DDC_Port;
+USHORT DDC_Index;
+USHORT DDC_DataShift;
+USHORT DDC_DeviceAddr;
+USHORT DDC_Flag;
+USHORT DDC_ReadAddr;
+USHORT DDC_Buffer;
USHORT StResInfo[5][2]={{640,400},{640,350},{720,400},{720,350},{640,480}};
USHORT ModeResInfo[15][4]={{320,200,8,8},{320,240,8,8},{320,400,8,8},
@@ -14,6 +21,74 @@ USHORT ModeResInfo[15][4]={{320,200,8,8},{320,240,8,8},{320,400,8,8},
{1280,1024,8,16},{1600,1200,8,16},{1920,1440,8,16},
{720,480,8,16},{720,576,8,16},{1280,960,8,16}};
+USHORT HiTVExtTiming[61]={0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x64,
+ 0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
+ 0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
+ 0x64,0x90,0x33,0x8C,0x18,0x36,0x3E,0x13,
+ 0x2A,0xDE,0x2A,0x44,0x40,0x2A,0x44,0x40,
+ 0x8E,0x8E,0x82,0x07,0x0B,
+ 0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
+ 0x60,0x14,0x3D,0x63,0x4F,
+ 0x027,0xFFFC,0x6A};
+
+USHORT HiTVSt1Timing[61]={0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x65,
+ 0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
+ 0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
+ 0x65,0x90,0x7B,0xA8,0x03,0xF0,0x87,0x03,
+ 0x11,0x15,0x11,0xCF,0x10,0x11,0xCF,0x10,
+ 0x35,0x35,0x3B,0x69,0x1D,
+ 0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
+ 0x60,0x04,0x86,0xAF,0x5D,
+ 0xE,0xFFFC,0x2D};
+
+USHORT HiTVSt2Timing[61]={0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x64,
+ 0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
+ 0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
+ 0x64,0x90,0x33,0x8C,0x18,0x36,0x3E,0x13,
+ 0x2A,0xDE,0x2A,0x44,0x40,0x2A,0x44,0x40,
+ 0x8E,0x8E,0x82,0x07,0x0B,
+ 0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
+ 0x60,0x14,0x3D,0x63,0x4F,
+ 0x27,0xFFFC,0x6A};
+
+USHORT HiTVTextTiming[61]={0x32,0x65,0x2C,0x5F,0x08,0x31,0x3A,0x65,
+ 0x28,0x02,0x01,0x3D,0x06,0x3E,0x35,0x6D,
+ 0x06,0x14,0x3E,0x35,0x6D,0x00,0xC5,0x3F,
+ 0x65,0x90,0xE7,0xBC,0x03,0x0C,0x97,0x03,
+ 0x14,0x78,0x14,0x08,0x20,0x14,0x08,0x20,
+ 0xC8,0xC8,0x3B,0xD2,0x26,
+ 0x92,0x0F,0x40,0x60,0x80,0x14,0x90,0x8C,
+ 0x60,0x04,0x96,0x72,0x5C,
+ 0x11,0xFFFC,0x32};
+
+USHORT HiTVGroup3Data[63]={0x00,0x1A,0x22,0x63,0x62,0x22,0x08,0x5F,
+ 0x05,0x21,0xB2,0xB2,0x55,0x77,0x2A,0xA6,
+ 0x25,0x2F,0x47,0xFA,0xC8,0xFF,0x8E,0x20,
+ 0x8C,0x6E,0x60,0x2E,0x58,0x48,0x72,0x44,
+ 0x56,0x36,0x4F,0x6E,0x3F,0x80,0x00,0x80,
+ 0x4F,0x7F,0x03,0xA8,0x7D,0x20,0x1A,0xA9,
+ 0x14,0x05,0x03,0x7E,0x64,0x31,0x14,0x75,
+ 0x18,0x05,0x18,0x05,0x4C,0xA8,0x01};
+
+USHORT HiTVGroup3Simu[63]={0x00,0x1A,0x22,0x63,0x62,0x22,0x08,0x95,
+ 0xDB,0x20,0xB8,0xB8,0x55,0x47,0x2A,0xA6,
+ 0x25,0x2F,0x47,0xFA,0xC8,0xFF,0x8E,0x20,
+ 0x8C,0x6E,0x60,0x15,0x26,0xD3,0xE4,0x11,
+ 0x56,0x36,0x4F,0x6E,0x3F,0x80,0x00,0x80,
+ 0x67,0x36,0x01,0x47,0x0E,0x10,0xBE,0xB4,
+ 0x01,0x05,0x03,0x7E,0x65,0x31,0x14,0x75,
+ 0x18,0x05,0x18,0x05,0x4C,0xA8,0x01};
+
+USHORT HiTVGroup3Text[63]={0x00,0x1A,0x22,0x63,0x62,0x22,0x08,0xA7,
+ 0xF5,0x20,0xCE,0xCE,0x55,0x47,0x2A,0xA6,
+ 0x25,0x2F,0x47,0xFA,0xC8,0xFF,0x8E,0x20,
+ 0x8C,0x6E,0x60,0x18,0x2C,0x0C,0x20,0x22,
+ 0x56,0x36,0x4F,0x6E,0x3F,0x80,0x00,0x80,
+ 0x93,0x3C,0x01,0x50,0x2F,0x10,0xF4,0xCA,
+ 0x01,0x05,0x03,0x7E,0x65,0x31,0x14,0x75,
+ 0x18,0x05,0x18,0x05,0x4C,0xA8,0x01};
+
+
USHORT NTSCTiming[61]={0x017,0x01D,0x003,0x009,0x005,0x006,0x00C,0x00C,
0x094,0x049,0x001,0x00A,0x006,0x00D,0x004,0x00A,
0x006,0x014,0x00D,0x004,0x00A,0x000,0x085,0x01B,
@@ -94,8 +169,8 @@ VOID SetCRT2Sync(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo);
VOID GetCRT1Ptr(ULONG ROMAddr);
VOID SetRegANDOR(USHORT Port,USHORT Index,USHORT DataAND,USHORT DataOR);
USHORT GetVGAHT2(VOID);
-VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr);
-VOID SetGroup3(USHORT BaseAddr);
+VOID SetGroup2(USHORT BaseAddr,ULONG ROMAddr, USHORT ModeNo);
+VOID SetGroup3(USHORT BaseAddr,ULONG ROMAddr);
VOID SetGroup4(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo);
VOID SetCRT2VCLK(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo);
VOID SetGroup5(USHORT BaseAddr,ULONG ROMAddr);
@@ -126,6 +201,20 @@ VOID SetGroup1_LVDS(USHORT BaseAddr,ULONG ROMAddr,USHORT ModeNo,ScrnInfoPtr pScr
VOID SetTPData();
BOOLEAN GetPanelID();
BOOLEAN GetLVDSCRT1Ptr(ULONG ROMAddr,USHORT ModeNo);
+VOID SetCHTVReg(ULONG ROMAddr,USHORT ModeNo);
+VOID SetCHTVRegANDOR(USHORT tempax,USHORT tempbh);
+VOID GetCHTVRegPtr(ULONG ROMAddr,USHORT ModeNo);
+VOID SetCH7005(USHORT tempax);
+USHORT GetCH7005(USHORT tempax);
+VOID SetSwitchDDC2(VOID);
+VOID SetStart(VOID);
+VOID SetStop(VOID);
+VOID DDC2Delay(VOID);
+VOID SetSCLKLow(VOID);
+VOID SetSCLKHigh(VOID);
+USHORT ReadDDC2Data(USHORT tempax);
+USHORT WriteDDC2Data(USHORT tempax);
+USHORT CheckACK(VOID);
extern USHORT MDA_DAC[];
extern USHORT CGA_DAC[];
@@ -139,6 +228,8 @@ extern int ModeIDOffset,StandTable,CRT1Table,ScreenOffset,VCLKData,MCLKData
extern int REFIndex,ModeType;
extern USHORT VBInfo,LCDResInfo,LCDTypeInfo,LCDInfo;
extern USHORT IF_DEF_LVDS;
+extern USHORT IF_DEF_HiVision;
+extern USHORT IF_DEF_CH7005;
extern VOID SetReg1(USHORT, USHORT, USHORT);
extern VOID SetReg3(USHORT, USHORT);
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sis/initdef.h b/xc/programs/Xserver/hw/xfree86/drivers/sis/initdef.h
index 5fdb37121..d3fd81d78 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sis/initdef.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sis/initdef.h
@@ -1,77 +1,149 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/initdef.h,v 1.3 2000/09/22 11:35:46 alanh Exp $ */
-
-#define ModeInfoFlag 0x07
-#define MemoryInfoFlag 0x1E0
-#define MemorySizeShift 0x05
-#define ModeText 0x00
-#define ModeCGA 0x01
-#define ModeEGA 0x02
-#define ModeVGA 0x03
-#define Mode15Bpp 0x04
-#define Mode16Bpp 0x05
-#define Mode24Bpp 0x06
-#define Mode32Bpp 0x07
-#define CRT1Len 17
-#define DoubleScanMode 0x8000
-
-#define ULONG unsigned long
-#define USHORT unsigned short
-#define SHORT short
-#define UCHAR unsigned char
-#define VOID void
-#define BOOLEAN Bool
-
-#define InterlaceMode 0x80
-#define HalfDCLK 0x1000
-#define DACInfoFlag 0x18
-#define LineCompareOff 0x400
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/initdef.h,v 1.4 2000/12/02 01:16:17 dawes Exp $ */
+
+#define ULONG unsigned long
+#define USHORT unsigned short
+#define SHORT short
+#define UCHAR unsigned char
+#define VOID void
+#define BOOLEAN Bool
+
+#define CRT1Len 17
+#define LVDSCRT1Len 15
+#define CHTVRegDataLen 5
+
+#define ModeInfoFlag 0x07
+#define IsTextMode 0x07
+#define ModeText 0x00
+#define ModeCGA 0x01
+#define ModeEGA 0x02
+#define ModeVGA 0x03
+#define Mode15Bpp 0x04
+#define Mode16Bpp 0x05
+#define Mode24Bpp 0x06
+#define Mode32Bpp 0x07
+
+#define DACInfoFlag 0x18
+#define MemoryInfoFlag 0x1E0
+#define MemorySizeShift 0x05
-#define SelectCRT2Rate 0x4
-#define ProgrammingCRT2 0x1
-#define CRT2DisplayFlag 0x2000
-#define SetCRT2ToRAMDAC 0x0040
#define Charx8Dot 0x0200
-#define LCDDataLen 8
+#define LineCompareOff 0x0400
+#define CRT2Mode 0x0800
+#define HalfDCLK 0x1000
+#define NoSupportSimuTV 0x2000
+#define DoubleScanMode 0x8000
+
+#define SupportAllCRT2 0x0078
+#define SupportTV 0x0008
+#define SupportHiVisionTV 0x0010
+#define SupportLCD 0x0020
+#define SupportRAMDAC2 0x0040
+#define NoSupportTV 0x0070
+#define NoSupportHiVisionTV 0x0060
+#define NoSupportLCD 0x0058
+#define SupportCHTV 0x0800
+#define InterlaceMode 0x0080
+#define SyncPP 0x0000
+#define SyncPN 0x4000
+#define SyncNP 0x8000
+#define SyncNN 0xc000
+#define ECLKindex0 0x0000
+#define ECLKindex1 0x0100
+#define ECLKindex2 0x0200
+#define ECLKindex3 0x0300
+#define ECLKindex4 0x0400
+
+#define SetSimuScanMode 0x0001
+#define SwitchToCRT2 0x0002
+#define SetCRT2ToTV 0x009C
+#define SetCRT2ToAVIDEO 0x0004
+#define SetCRT2ToSVIDEO 0x0008
+#define SetCRT2ToSCART 0x0010
#define SetCRT2ToLCD 0x0020
+#define SetCRT2ToRAMDAC 0x0040
#define SetCRT2ToHiVisionTV 0x0080
+#define SetNTSCTV 0x0000
+#define SetPALTV 0x0100
+#define SetInSlaveMode 0x0200
+#define SetNotSimuMode 0x0400
+#define SetDispDevSwitch 0x0800
+#define LoadDACFlag 0x1000
+#define DisableCRT2Display 0x2000
+#define DriverMode 0x4000
+#define HotKeySwitch 0x8000
+#define SetCHTVOverScan 0x8000
+
+#define TVOverScan 0x10
+#define TVOverScanShift 4
+#define ClearBufferFlag 0x20
+
+#define SetSCARTOutput 0x01
+#define BoardTVType 0x02
+
+#define ProgrammingCRT2 0x01
+#define TVSimuMode 0x02
+#define RPLLDIV2XO 0x04
+#define LCDVESATiming 0x08
+#define EnableLVDSDDA 0x10
+#define SetDispDevSwitchFlag 0x20
+#define CheckWinDos 0x40
+#define SetJDOSMode 0x80
+
+#define Panel800x600 0x01
+#define Panel1024x768 0x02
+#define Panel1280x1024 0x03
+#define Panel1280x960 0x04
+#define Panel640x480 0x05
+#define LCDRGB18Bit 0x01
+#define ExtChipType 0x0e
+#define ExtChip301 0x02
+#define ExtChipLVDS 0x04
+#define ExtChipTrumpion 0x06
+#define ExtChipCH7005 0x08
+#define ExtChipMitacTV 0x0a
+#define LCDNonExpanding 0x10
+#define LCDNonExpandingShift 4
+#define LCDSync 0x20
+#define LCDSyncBit 0xe0
+#define LCDSyncshift 6
+
+#define DDC2DelayTime 10
+
+#define CRT2DisplayFlag 0x2000
+#define LCDDataLen 8
#define HiTVDataLen 12
#define TVDataLen 16
#define SetPALTV 0x0100
-#define SetInSlaveMode 0x0200
-#define SetCRT2ToTV 0x009C
-#define SetNotSimuTVMode 0x0400
-#define SetSimuScanMode 0x0001
-#define DriverMode 0x4000
-#define CRT2Mode 0x0800
#define HalfDCLK 0x1000
#define NTSCHT 1716
#define NTSCVT 525
#define PALHT 1728
#define PALVT 625
+#define StHiTVHT 892
+#define StHiTVVT 1126
+#define StHiTextTVHT 1000
+#define StHiTextTVVT 1126
+#define ExtHiTVHT 2100
+#define ExtHiTVVT 1125
+#define SelectCRT2Rate 0x4
#define VCLKStartFreq 25
#define SoftDramType 0x80
#define VCLK40 0x04
#define VCLK65 0x09
#define VCLK108_2 0x14
-#define TVSimuMode 0x02
-#define SetCRT2ToSVIDEO 0x08
#define LCDRGB18Bit 0x01
-#define Panel1280x1024 0x03
-#define Panel1024x768 0x02
-#define Panel800x600 0x01
-#define RPLLDIV2XO 0x04
#define LoadDACFlag 0x1000
#define AfterLockCRT2 0x4000
-#define SupportRAMDAC2 0x0040
-#define SupportLCD 0x0020
#define SetCRT2ToAVIDEO 0x0004
#define SetCRT2ToSCART 0x0010
-#define NoSupportSimuTV 0x2000
#define Ext2StructSize 5
-#define SupportTV 0x0008
#define TVVCLKDIV2 0x021
#define TVVCLK 0x022
+#define HiTVVCLKDIV2 0x023
+#define HiTVVCLK 0x024
+#define HiTVSimuVCLK 0x025
+#define HiTVTextVCLK 0x026
#define SwitchToCRT2 0x0002
#define LCDVESATiming 0x08
#define SetSCARTOutput 0x01
@@ -92,28 +164,23 @@
#define IF_DEF_TRUMPION 0
#define LCDNonExpanding 0x10
-#define LVDSCRT1Len 15
#define ADR_CRT2PtrData 0x20E
-#define offset_Zurac 0x210
+#define offset_Zurac 0x210
#define ADR_LVDSDesPtrData 0x212
#define ADR_LVDSCRT1DataPtr 0x214
+#define ADR_CHTVVCLKPtr 0x216
+#define ADR_CHTVRegDataPtr 0x218
-#define ExtChip301 0x02
-#define ExtChipLVDS 0x04
-#define ExtChipTrumpion 0x06
-#define LCDNonExpanding 0x10
-#define LCDNonExpandingShift 4
#define LVDSDataLen 6
#define EnableLVDSDDA 0x10
-#define LCDSync 0x20
-#define SyncPP 0x0000
-#define LCDSyncBit 0xE0
#define LVDSDesDataLen 3
-#define LVDSCRT1Len 15
#define ActiveNonExpanding 0x40
#define ActiveNonExpandingShift 6
#define ModeSwitchStatus 0x0F
#define SoftTVType 0x40
+
+#define SelectCRT1Rate 0x4
+#define SelectCRT2Rate 0x4
#define PanelType00 0x00
#define PanelType01 0x08
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c b/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c
index 1ef028274..79cb34251 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c,v 1.7 2000/11/09 11:32:21 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/sis_dri.c,v 1.8 2000/12/02 01:16:17 dawes Exp $ */
/* modified from tdfx_dri.c, mga_dri.c */
@@ -179,29 +179,6 @@ Bool SISDRIScreenInit(ScreenPtr pScreen)
DRIInfoPtr pDRIInfo;
SISDRIPtr pSISDRI;
-{
- unsigned int port_3c5_value;
-
-#if 0
- /* Set magic number */
- outb (0x3c4, 0x05);
- if (inb (0x3c5) == 0x21){
- outb (0x3c4, 0x05);
- outb (0x3c5, 0x86);
- }
-
- /* Enable 2D/3D */
- outb (0x3c4, 0x1E);
- port_3c5_value = inb (0x3c5);
- port_3c5_value |= 0x5A;
- outb (0x3c5, port_3c5_value);
-
- /* Enable HW to retry MMIO command */
- outb (0x3c4, 0x22);
- outb (0x3c5, 0xb2);
-#endif
-}
-
/* Check that the GLX, DRI, and DRM modules have been loaded by testing
* for canonical symbols in each module. */
if (!xf86LoaderCheckSymbol("GlxSetVisualConfigs")) return FALSE;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.c b/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.c
index 78ec6efb0..371e43435 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.c,v 1.1 2000/08/01 20:52:26 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.c,v 1.2 2000/12/02 01:16:18 dawes Exp $ */
#include "xf86.h"
#include "xf86_ansic.h"
@@ -14,9 +14,8 @@ void SISLCDPreInit(ScrnInfoPtr pScrn)
SISPtr pSiS = SISPTR(pScrn);
int temp;
-
- inSISIDXREG(pSiS->RelIO+SROFFSET, 0x38, temp);
- if (!(temp & 0x20))
+
+ if (!(pSiS->VBFlags & (VB_301|VB_302|VB_303|VB_LVDS|VB_CHRONTEL)))
return;
inSISIDXREG(pSiS->RelIO+CROFFSET, 0x32, temp);
@@ -25,11 +24,11 @@ void SISLCDPreInit(ScrnInfoPtr pScrn)
inSISIDXREG(pSiS->RelIO+CROFFSET, 0x36, temp);
if (temp == 1)
- pSiS->VBFlags = CRT2_LCD | LCD_800x600;
+ pSiS->VBFlags |= LCD_800x600;
if (temp == 2)
- pSiS->VBFlags = CRT2_LCD | LCD_1024x768;
+ pSiS->VBFlags |= LCD_1024x768;
if (temp == 3)
- pSiS->VBFlags = CRT2_LCD | LCD_1280x1024;
+ pSiS->VBFlags |= LCD_1280x1024;
}
void SISTVPreInit(ScrnInfoPtr pScrn)
@@ -37,22 +36,18 @@ void SISTVPreInit(ScrnInfoPtr pScrn)
SISPtr pSiS = SISPTR(pScrn);
int temp;
- inSISIDXREG(pSiS->RelIO+SROFFSET, 0x38, temp);
- if (!(temp & 0x20))
+ if (!(pSiS->VBFlags & (VB_301|VB_302|VB_303|VB_LVDS|VB_CHRONTEL)))
return;
inSISIDXREG(pSiS->RelIO+CROFFSET, 0x32, temp);
- if (temp & 0x07)
- pSiS->VBFlags |= CRT2_TV;
-
- inSISIDXREG(pSiS->RelIO+CROFFSET, 0x30, temp);
- if (temp & 0x10)
- pSiS->VBFlags = CRT2_TV | TV_SCART;
- else if (temp & 0x08)
- pSiS->VBFlags = CRT2_TV | TV_SVIDEO;
- else if (temp & 0x04)
- pSiS->VBFlags = CRT2_TV | TV_AVIDEO;
- else
+ if (temp & 0x04)
+ pSiS->VBFlags |= (CRT2_TV | TV_SCART);
+ else if (temp & 0x02)
+ pSiS->VBFlags |= (CRT2_TV | TV_SVIDEO);
+ else if (temp & 0x01)
+ pSiS->VBFlags |= (CRT2_TV | TV_AVIDEO);
+ else if (temp & 0x40)
+ pSiS->VBFlags |= (CRT2_TV | TV_HIVISION);
return;
inSISIDXREG(pSiS->RelIO+CROFFSET, 0x31, temp);
@@ -67,8 +62,7 @@ void SISCRT2PreInit(ScrnInfoPtr pScrn)
SISPtr pSiS = SISPTR(pScrn);
int temp;
- inSISIDXREG(pSiS->RelIO+SROFFSET, 0x38, temp);
- if (!(temp & 0x20))
+ if (!(pSiS->VBFlags & (VB_301|VB_302|VB_303|VB_LVDS|VB_CHRONTEL)))
return;
inSISIDXREG(pSiS->RelIO+CROFFSET, 0x32, temp);
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.h b/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.h
index f767c45fd..bd374e186 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.h,v 1.2 2000/08/04 03:51:46 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/sis_vb.h,v 1.3 2000/12/02 01:16:18 dawes Exp $ */
/* CR30 VBInfo = CR31:CR30 */
#define SET_SIMU_SCAN_MODE 0x0001
@@ -27,6 +27,8 @@ extern void EnableBridge(unsigned short);
extern void DisableBridge(unsigned short);
extern void LockCRT2(unsigned short);
extern void UnLockCRT2(unsigned short);
+extern void SetCH7005(unsigned short);
+extern unsigned short GetCH7005(unsigned short);
typedef struct _SiS301Reg {
CARD8 *VBPart1;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunbw2/bw2_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/sunbw2/bw2_driver.c
index 6bfe6916c..0313a249e 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunbw2/bw2_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunbw2/bw2_driver.c
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunbw2/bw2_driver.c,v 1.1 2000/06/30 17:15:14 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunbw2/bw2_driver.c,v 1.2 2000/12/02 15:30:52 tsi Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
@@ -184,7 +184,7 @@ static Bool
BW2Probe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -229,9 +229,7 @@ BW2Probe(DriverPtr drv, int flags)
devSections, numDevSections,
drv, &usedChips);
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
@@ -267,6 +265,7 @@ BW2Probe(DriverPtr drv, int flags)
}
xfree(pEnt);
}
+ xfree(usedChips);
return foundScreen;
}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c
index 542933ce5..6a2468164 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c,v 1.1 2000/06/30 17:15:14 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c,v 1.2 2000/12/02 15:30:53 tsi Exp $ */
#define PSZ 8
#include "xf86.h"
@@ -189,7 +189,7 @@ static Bool
CG14Probe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -234,9 +234,7 @@ CG14Probe(DriverPtr drv, int flags)
devSections, numDevSections,
drv, &usedChips);
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
@@ -272,6 +270,7 @@ CG14Probe(DriverPtr drv, int flags)
}
xfree(pEnt);
}
+ xfree(usedChips);
return foundScreen;
}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/suncg3/cg3_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/suncg3/cg3_driver.c
index a7030d536..a5acd802d 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/suncg3/cg3_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/suncg3/cg3_driver.c
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/suncg3/cg3_driver.c,v 1.1 2000/06/30 17:15:15 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/suncg3/cg3_driver.c,v 1.2 2000/12/02 15:30:54 tsi Exp $ */
#define PSZ 8
#include "xf86.h"
@@ -185,7 +185,7 @@ static Bool
CG3Probe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -230,9 +230,7 @@ CG3Probe(DriverPtr drv, int flags)
devSections, numDevSections,
drv, &usedChips);
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
@@ -268,6 +266,7 @@ CG3Probe(DriverPtr drv, int flags)
}
xfree(pEnt);
}
+ xfree(usedChips);
return foundScreen;
}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/suncg6/cg6_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/suncg6/cg6_driver.c
index ffdf5ff90..228567d3b 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/suncg6/cg6_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/suncg6/cg6_driver.c
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/suncg6/cg6_driver.c,v 1.2 2000/06/30 17:15:15 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/suncg6/cg6_driver.c,v 1.4 2000/12/02 15:30:54 tsi Exp $ */
#define PSZ 8
#include "xf86.h"
@@ -194,7 +194,7 @@ static Bool
CG6Probe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -239,9 +239,7 @@ CG6Probe(DriverPtr drv, int flags)
devSections, numDevSections,
drv, &usedChips);
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
@@ -277,6 +275,7 @@ CG6Probe(DriverPtr drv, int flags)
}
xfree(pEnt);
}
+ xfree(usedChips);
return foundScreen;
}
@@ -611,10 +610,14 @@ CG6CloseScreen(int scrnIndex, ScreenPtr pScreen)
Cg6Ptr pCg6 = GET_CG6_FROM_SCRN(pScrn);
pScrn->vtSema = FALSE;
+
xf86UnmapSbusMem(pCg6->psdp, pCg6->fbc,
CG6_RAM_VOFF - CG6_FBC_VOFF +
(pCg6->psdp->width * pCg6->psdp->height));
+ if (pCg6->HWCursor)
+ xf86SbusHideOsHwCursor(pCg6->psdp);
+
pScreen->CloseScreen = pCg6->CloseScreen;
return (*pScreen->CloseScreen)(scrnIndex, pScreen);
return FALSE;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb.h b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb.h
index 89efd0c14..1a93ec075 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb.h
@@ -24,7 +24,7 @@
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb.h,v 1.4 2000/06/23 19:29:45 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb.h,v 1.5 2000/12/01 00:24:34 dawes Exp $ */
#ifndef FFB_H
#define FFB_H
@@ -192,6 +192,7 @@ typedef struct {
sbusDevicePtr psdp;
Bool HWCursor;
Bool NoAccel;
+ Bool vtSema;
CloseScreenProcPtr CloseScreen;
xf86CursorInfoPtr CursorInfoRec;
unsigned char CursorShiftX, CursorShiftY;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c
index f65b6dcd5..587debf36 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c
@@ -24,7 +24,7 @@
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c,v 1.3 2000/06/23 19:29:45 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c,v 1.4 2000/12/01 00:24:34 dawes Exp $ */
#include <asm/types.h>
#include <math.h>
@@ -328,6 +328,9 @@ CreatorPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
WindowPtr pBgWin;
int depth = pWin->drawable.depth;
+ if (pFfb->vtSema)
+ return;
+
FFBLOG(("CreatorPaintWindow: WIN(%p) what(%d)\n", pWin, what));
pPrivWin = cfbGetWindowPrivate(pWin);
pFfbPrivWin = CreatorGetWindowPrivate(pWin);
@@ -452,6 +455,9 @@ CreatorCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
int i, nbox;
WindowPtr pwinRoot;
+ if (pFfb->vtSema)
+ return;
+
FFBLOG(("CreatorCopyWindow: WIN(%p)\n", pWin));
REGION_INIT(pScreen, &rgnDst, NullBox, 0);
@@ -510,7 +516,10 @@ CreatorSaveAreas(PixmapPtr pPixmap, RegionPtr prgnSave, int xorg, int yorg, Wind
register BoxPtr pBox;
register int i;
PixmapPtr pScrPix;
-
+
+ if (pFfb->vtSema)
+ return;
+
FFBLOG(("CreatorSaveAreas: WIN(%p)\n", pWin));
i = REGION_NUM_RECTS(prgnSave);
pPtsInit = (DDXPointPtr)ALLOCATE_LOCAL(i * sizeof(DDXPointRec));
@@ -556,7 +565,11 @@ CreatorRestoreAreas(PixmapPtr pPixmap, RegionPtr prgnRestore, int xorg, int yorg
cfb8_32WidScreenPtr pScreenPriv =
CFB8_32WID_GET_SCREEN_PRIVATE(pScreen);
PixmapPtr pScrPix;
-
+
+ pFfb = GET_FFB_FROM_SCREEN(pScreen);
+ if (pFfb->vtSema)
+ return;
+
FFBLOG(("CreatorRestoreAreas: WIN(%p)\n", pWin));
i = REGION_NUM_RECTS(prgnRestore);
pPtsInit = (DDXPointPtr)ALLOCATE_LOCAL(i*sizeof(DDXPointRec));
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c
index 21115a100..b9bc424fc 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c,v 1.5 2000/06/30 17:15:16 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c,v 1.7 2000/12/02 15:30:54 tsi Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
@@ -202,7 +202,7 @@ static Bool
FFBProbe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -247,9 +247,7 @@ FFBProbe(DriverPtr drv, int flags)
devSections, numDevSections,
drv, &usedChips);
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
@@ -285,6 +283,7 @@ FFBProbe(DriverPtr drv, int flags)
}
xfree(pEnt);
}
+ xfree(usedChips);
return foundScreen;
}
@@ -979,6 +978,7 @@ FFBEnterVT(int scrnIndex, int flags)
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
FFBPtr pFfb = GET_FFB_FROM_SCRN(pScrn);
+ pFfb->vtSema = FALSE;
if (!pFfb->NoAccel)
CreatorVtChange (pScrn->pScreen, TRUE);
if (pFfb->HWCursor)
@@ -1005,6 +1005,11 @@ FFBLeaveVT(int scrnIndex, int flags)
if (!pFfb->NoAccel)
CreatorVtChange (pScrn->pScreen, FALSE);
+
+ if (pFfb->HWCursor)
+ xf86SbusHideOsHwCursor (pFfb->psdp);
+
+ pFfb->vtSema = TRUE;
return;
}
@@ -1041,6 +1046,9 @@ FFBCloseScreen(int scrnIndex, ScreenPtr pScreen)
xf86UnmapSbusMem(pFfb->psdp, pFfb->dac, 8192);
xf86UnmapSbusMem(pFfb->psdp, (void *)pFfb->strapping_bits, 8192);
+ if (pFfb->HWCursor)
+ xf86SbusHideOsHwCursor (pFfb->psdp);
+
pScreen->CloseScreen = pFfb->CloseScreen;
return (*pScreen->CloseScreen)(scrnIndex, pScreen);
}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_gc.c b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_gc.c
index eb357fac5..235f649e1 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_gc.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_gc.c
@@ -24,7 +24,7 @@
* USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_gc.c,v 1.2 2000/05/23 04:47:44 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_gc.c,v 1.3 2000/12/01 00:24:34 dawes Exp $ */
#include "ffb.h"
#include "ffb_regs.h"
@@ -454,11 +454,13 @@ CreatorValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable)
/* flags for changing the proc vector */
cfbPrivGCPtr devPriv;
CreatorPrivGCPtr gcPriv;
- int oneRect;
+ int oneRect, type;
int accel, drawableChanged;
+ FFBPtr pFfb = GET_FFB_FROM_SCREEN(pDrawable->pScreen);
gcPriv = CreatorGetGCPrivate (pGC);
- if (pDrawable->type != DRAWABLE_WINDOW) {
+ type = pFfb->vtSema ? -1 : pDrawable->type;
+ if (type != DRAWABLE_WINDOW) {
if (gcPriv->type == DRAWABLE_WINDOW) {
extern GCOps cfbNonTEOps;
extern GCOps cfb32NonTEOps;
@@ -472,7 +474,7 @@ CreatorValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable)
changes = (1 << (GCLastBit+1)) - 1;
pGC->stateChanges = changes;
- gcPriv->type = pDrawable->type;
+ gcPriv->type = type;
}
if (pGC->depth == 8)
cfbValidateGC (pGC, changes, pDrawable);
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_wid.c b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_wid.c
index dfc110fdb..f84c0bca1 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_wid.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_wid.c
@@ -21,7 +21,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_wid.c,v 1.2 2000/06/20 05:08:48 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_wid.c,v 1.3 2000/12/01 00:24:34 dawes Exp $ */
#include "ffb.h"
@@ -204,6 +204,9 @@ update_wids(FFBPtr pFfb, int index)
unsigned int base;
int limit;
+ if (pFfb->vtSema)
+ return;
+
if (p->flags & FFB_DAC_PAC1)
base = FFBDAC_PAC1_SPWLUT(index);
else
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo.h b/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo.h
index 46ca45162..70b4f808c 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo.h
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo.h,v 1.2 2000/06/30 17:15:16 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo.h,v 1.3 2000/12/01 00:24:35 dawes Exp $ */
#ifndef LEO_H
#define LEO_H
@@ -77,6 +77,7 @@ typedef struct {
sbusDevicePtr psdp;
Bool HWCursor;
Bool NoAccel;
+ Bool vtSema;
CloseScreenProcPtr CloseScreen;
xf86CursorInfoPtr CursorInfoRec;
unsigned char CursorShiftX, CursorShiftY;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_accel.c b/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_accel.c
index cbe010ca9..e70821732 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_accel.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_accel.c
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_accel.c,v 1.1 2000/05/18 23:21:38 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_accel.c,v 1.2 2000/12/01 00:24:35 dawes Exp $ */
#define PSZ 32
#include <asm/types.h>
@@ -73,6 +73,8 @@ int leoRopTable[16] = {
static void
LeoCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
{
+ ScreenPtr pScreen = pWin->drawable.pScreen;
+ LeoPtr pLeo = LeoGetScreenPrivate (pScreen);
DDXPointPtr pptSrc;
DDXPointPtr ppt;
RegionPtr prgnDst;
@@ -80,7 +82,9 @@ LeoCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
int dx, dy;
int i, nbox;
WindowPtr pwinRoot;
- extern WindowPtr *WindowTable;
+
+ if (pLeo->vtSema)
+ return;
dx = ptOldOrg.x - pWin->drawable.x;
dy = ptOldOrg.y - pWin->drawable.y;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_driver.c
index 6ad57f3b2..513b76a92 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_driver.c
@@ -1,3 +1,4 @@
+
/*
* Leo (ZX) framebuffer driver.
*
@@ -20,7 +21,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_driver.c,v 1.2 2000/05/23 04:47:46 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_driver.c,v 1.4 2000/12/02 15:30:56 tsi Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
@@ -195,7 +196,7 @@ static Bool
LeoProbe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -240,9 +241,7 @@ LeoProbe(DriverPtr drv, int flags)
devSections, numDevSections,
drv, &usedChips);
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
@@ -278,6 +277,7 @@ LeoProbe(DriverPtr drv, int flags)
}
xfree(pEnt);
}
+ xfree(usedChips);
return foundScreen;
}
@@ -604,6 +604,7 @@ LeoEnterVT(int scrnIndex, int flags)
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
LeoPtr pLeo = GET_LEO_FROM_SCRN(pScrn);
+ pLeo->vtSema = FALSE;
LeoVtChange (pScrn->pScreen, TRUE);
if (pLeo->HWCursor)
xf86SbusHideOsHwCursor (pLeo->psdp);
@@ -620,8 +621,10 @@ static void
LeoLeaveVT(int scrnIndex, int flags)
{
ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ LeoPtr pLeo = GET_LEO_FROM_SCRN(pScrn);
LeoVtChange (pScrn->pScreen, FALSE);
+ pLeo->vtSema = TRUE;
}
@@ -640,6 +643,9 @@ LeoCloseScreen(int scrnIndex, ScreenPtr pScreen)
pScrn->vtSema = FALSE;
xf86UnmapSbusMem(pLeo->psdp, pLeo->fb, 0x803000);
+ if (pLeo->HWCursor)
+ xf86SbusHideOsHwCursor (pLeo->psdp);
+
pScreen->CloseScreen = pLeo->CloseScreen;
return (*pScreen->CloseScreen)(scrnIndex, pScreen);
return FALSE;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_gc.c b/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_gc.c
index 2a49d9121..b6010a11b 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_gc.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_gc.c
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_gc.c,v 1.1 2000/05/18 23:21:40 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sunleo/leo_gc.c,v 1.2 2000/12/01 00:24:35 dawes Exp $ */
#define PSZ 32
@@ -233,10 +233,12 @@ LeoValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable)
/* flags for changing the proc vector */
LeoPrivGCPtr gcPriv;
cfbPrivGCPtr devPriv;
- int oneRect;
+ int oneRect, type;
+ LeoPtr pLeo = LeoGetScreenPrivate (pDrawable->pScreen);
gcPriv = LeoGetGCPrivate (pGC);
- if (pDrawable->type != DRAWABLE_WINDOW) {
+ type = pLeo->vtSema ? -1 : pDrawable->type;
+ if (type != DRAWABLE_WINDOW) {
if (gcPriv->type == DRAWABLE_WINDOW) {
extern GCOps cfbNonTEOps;
@@ -244,7 +246,7 @@ LeoValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable)
pGC->ops = &cfbNonTEOps;
changes = (1 << (GCLastBit+1)) - 1;
pGC->stateChanges = changes;
- gcPriv->type = pDrawable->type;
+ gcPriv->type = type;
}
cfbValidateGC (pGC, changes, pDrawable);
return;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/suntcx/tcx_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/suntcx/tcx_driver.c
index 8741adec5..14e689239 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/suntcx/tcx_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/suntcx/tcx_driver.c
@@ -20,7 +20,7 @@
* 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.
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/suntcx/tcx_driver.c,v 1.1 2000/06/30 17:15:16 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/suntcx/tcx_driver.c,v 1.3 2000/12/02 15:30:57 tsi Exp $ */
#define PSZ 8
#include "xf86.h"
@@ -195,7 +195,7 @@ static Bool
TCXProbe(DriverPtr drv, int flags)
{
int i;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int numDevSections;
int numUsed;
@@ -240,9 +240,7 @@ TCXProbe(DriverPtr drv, int flags)
devSections, numDevSections,
drv, &usedChips);
- if (devSections)
- xfree(devSections);
- devSections = NULL;
+ xfree(devSections);
if (numUsed <= 0)
return FALSE;
@@ -278,6 +276,7 @@ TCXProbe(DriverPtr drv, int flags)
}
xfree(pEnt);
}
+ xfree(usedChips);
return foundScreen;
}
@@ -699,6 +698,9 @@ TCXCloseScreen(int scrnIndex, ScreenPtr pScreen)
if (pTcx->thc)
xf86UnmapSbusMem(pTcx->psdp, pTcx->fb, 8192);
+ if (pTcx->HWCursor)
+ xf86SbusHideOsHwCursor (pTcx->psdp);
+
pScreen->CloseScreen = pTcx->CloseScreen;
return (*pScreen->CloseScreen)(scrnIndex, pScreen);
return FALSE;
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/Imakefile b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/Imakefile
index 1593a7166..75347890d 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/Imakefile
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/Imakefile,v 1.17 2000/09/20 00:09:29 keithp Exp $
+XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/Imakefile,v 1.18 2000/12/01 14:28:58 dawes Exp $
XCOMM
XCOMM This is the Imakefile for the TDFX driver.
XCOMM
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.cpp b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.cpp
index 950f10368..847c24b9d 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.cpp
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.cpp
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.cpp,v 1.4 2000/06/14 02:13:15 dawes Exp $
+.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.cpp,v 1.5 2000/12/01 14:28:59 dawes Exp $
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH TDFX __drivermansuffix__ "Version 4.0.1" "XFree86"
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h
index 659134655..3f78a9230 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h
@@ -5,7 +5,7 @@
Copyright: 1998,1999
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h,v 1.11 2000/09/26 15:57:14 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx.h,v 1.13 2000/12/01 16:07:15 dawes Exp $ */
#ifndef _TDFX_H_
#define _TDFX_H_
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c
index 1d72845d5..66af1fda2 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c,v 1.15 2000/09/24 13:51:30 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_accel.c,v 1.16 2000/12/01 14:28:59 dawes Exp $ */
/* All drivers should typically include these */
#include "xf86.h"
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c
index 51d719a27..c64e0d049 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c,v 1.12 2000/09/26 15:57:15 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_dri.c,v 1.13 2000/12/01 14:28:59 dawes Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c
index 5c7f85bab..201a2ff6f 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c
@@ -25,7 +25,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c,v 1.45 2000/11/14 13:12:21 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_driver.c,v 1.47 2000/12/02 15:30:57 tsi Exp $ */
/*
* Authors:
@@ -414,7 +414,7 @@ TDFXProbeDDC(ScrnInfoPtr pScrn, int index)
static Bool
TDFXProbe(DriverPtr drv, int flags) {
int i, numUsed, numDevSections, *usedChips;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
Bool foundScreen = FALSE;
TDFXTRACE("TDFXProbe start\n");
@@ -437,8 +437,7 @@ TDFXProbe(DriverPtr drv, int flags) {
devSections, numDevSections,
drv, &usedChips);
- if (devSections)
- xfree(devSections);
+ xfree(devSections);
if (numUsed<=0) return FALSE;
if (flags & PROBE_DETECT)
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.c b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.c
index ce7a157ec..b5b16978a 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.c,v 1.10 2000/06/21 21:40:04 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.c,v 1.11 2000/12/01 14:29:00 dawes Exp $ */
#include "xf86.h"
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.h b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.h
index 2437de898..a98f86366 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.h,v 1.5 2000/02/18 12:20:05 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_priv.h,v 1.6 2000/12/01 14:29:00 dawes Exp $ */
#ifndef _TDFX_FIFO_H_
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_sli.c b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_sli.c
index 390b9b711..25b87acc0 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_sli.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_sli.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_sli.c,v 1.4 2000/08/25 16:25:36 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfx_sli.c,v 1.5 2000/12/01 14:29:00 dawes Exp $ */
#include "xf86.h"
#include "xf86_ansic.h"
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfxdefs.h b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfxdefs.h
index cf195f16b..cd822f4bf 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfxdefs.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfxdefs.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfxdefs.h,v 1.7 2000/09/24 13:51:31 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tdfx/tdfxdefs.h,v 1.8 2000/12/01 14:29:00 dawes Exp $ */
/*
Voodoo Banshee driver version 1.0.1
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.c b/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.c
index 68b7adf65..edc2421b2 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.c
+++ b/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.c
@@ -26,7 +26,7 @@
*
* Authors: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.c,v 1.6 2000/11/14 16:54:54 dawes Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.c,v 1.8 2000/12/02 15:31:00 tsi Exp $
*/
#include "vesa.h"
@@ -40,7 +40,7 @@
/* Colormap handling */
#include "micmap.h"
#include "xf86cmap.h"
-#define DEBUG
+
/* Mandatory functions */
static OptionInfoPtr VESAAvailableOptions(int chipid, int busid);
static void VESAIdentify(int flags);
@@ -220,7 +220,7 @@ VESAProbe(DriverPtr drv, int flags)
{
Bool foundScreen = FALSE;
int numDevSections, numUsed;
- GDevPtr *devSections = NULL;
+ GDevPtr *devSections;
int *usedChips;
int i;
@@ -240,7 +240,7 @@ VESAProbe(DriverPtr drv, int flags)
drv, &usedChips);
if (numUsed > 0) {
if (flags & PROBE_DETECT)
- return (TRUE);
+ foundScreen = TRUE;
else {
for (i = 0; i < numUsed; i++) {
ScrnInfoPtr pScrn = NULL;
@@ -261,9 +261,9 @@ VESAProbe(DriverPtr drv, int flags)
pScrn->FreeScreen = VESAFreeScreen;
foundScreen = TRUE;
}
- xfree(usedChips);
}
}
+ xfree(usedChips);
}
}
@@ -274,8 +274,8 @@ VESAProbe(DriverPtr drv, int flags)
numDevSections, &usedChips);
if(numUsed > 0) {
if (flags & PROBE_DETECT)
- return (TRUE);
- for (i = 0; i < numUsed; i++) {
+ foundScreen = TRUE;
+ else for (i = 0; i < numUsed; i++) {
ScrnInfoPtr pScrn = NULL;
if ((pScrn = xf86ConfigIsaEntity(pScrn, 0,usedChips[i],
VESAISAchipsets, NULL,
@@ -294,12 +294,11 @@ VESAProbe(DriverPtr drv, int flags)
pScrn->FreeScreen = VESAFreeScreen;
foundScreen = TRUE;
}
- xfree(usedChips);
}
+ xfree(usedChips);
}
- if (devSections)
- xfree(devSections);
+ xfree(devSections);
return (foundScreen);
}
@@ -1165,7 +1164,8 @@ VESAScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
pVesa->bank.nBankDepth = pScrn->depth;
if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY,
pScrn->virtualX, &pVesa->bank)) {
- ErrorF("Bank switch initialization failed!\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Bank switch initialization failed!\n");
return (FALSE);
}
}
@@ -1266,7 +1266,7 @@ VESASetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode)
data->mode &= ~(1 << 11);
}
else {
- ErrorF("Set VBE Mode failed!\n");
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Set VBE Mode failed!\n");
return (FALSE);
}
}
@@ -1313,15 +1313,18 @@ VESAMapVidMem(ScrnInfoPtr pScrn)
pVesa->base = xf86MapVidMem(pScrn->scrnIndex, 0,
pScrn->memPhysBase, pVesa->mapSize);
+ if (pVesa->base) {
+ if (pVesa->mapPhys != 0xa0000)
+ pVesa->VGAbase = xf86MapVidMem(pScrn->scrnIndex, 0,
+ 0xa0000, 0x10000);
+ else
+ pVesa->VGAbase = pVesa->base;
+ }
#ifdef DEBUG
ErrorF("virtual address = %p - physical address = %p - size = %d\n",
pVesa->base, pScrn->memPhysBase, pVesa->mapSize);
#endif
-#if 0
- pVesa->base = xf86int10Addr(pVesa->pInt, 0xa0000);
-#endif
-
return (pVesa->base != NULL);
}
@@ -1334,6 +1337,8 @@ VESAUnmapVidMem(ScrnInfoPtr pScrn)
return;
xf86UnMapVidMem(pScrn->scrnIndex, pVesa->base, pVesa->mapSize);
+ if (pVesa->mapPhys != 0xa0000)
+ xf86UnMapVidMem(pScrn->scrnIndex, pVesa->VGAbase, 0x10000);
pVesa->base = NULL;
}
@@ -1506,18 +1511,18 @@ static void
SaveFonts(ScrnInfoPtr pScrn)
{
VESAPtr pVesa = VESAGetRec(pScrn);
- unsigned char miscOut, attr10, gr4, gr5, gr6, seq2, seq4;
+ unsigned char miscOut, attr10, gr4, gr5, gr6, seq2, seq4, scrn;
if (pVesa->fonts != NULL)
return;
- pVesa->fonts = xalloc(16384);
-
/* If in graphics mode, don't save anything */
attr10 = ReadAttr(0x10);
if (attr10 & 0x01)
return;
+ pVesa->fonts = xalloc(16384);
+
/* save the registers that are needed here */
miscOut = ReadMiscOut();
gr4 = ReadGr(0x04);
@@ -1529,6 +1534,11 @@ SaveFonts(ScrnInfoPtr pScrn)
/* Force into colour mode */
WriteMiscOut(miscOut | 0x01);
+ scrn = ReadSeq(0x01) | 0x20;
+ SeqReset(TRUE);
+ WriteSeq(0x01, scrn);
+ SeqReset(FALSE);
+
WriteAttr(0x10, 0x01); /* graphics mode */
/*font1 */
@@ -1537,7 +1547,7 @@ SaveFonts(ScrnInfoPtr pScrn)
WriteGr(0x04, 0x02); /* read plane 2 */
WriteGr(0x05, 0x00); /* write mode 0, read mode 0 */
WriteGr(0x06, 0x05); /* set graphics */
- slowbcopy_frombus(pVesa->base, pVesa->fonts, 8192);
+ slowbcopy_frombus(pVesa->VGAbase, pVesa->fonts, 8192);
/* font2 */
WriteSeq(0x02, 0x08); /* write to plane 3 */
@@ -1545,7 +1555,12 @@ SaveFonts(ScrnInfoPtr pScrn)
WriteGr(0x04, 0x03); /* read plane 3 */
WriteGr(0x05, 0x00); /* write mode 0, read mode 0 */
WriteGr(0x06, 0x05); /* set graphics */
- slowbcopy_frombus(pVesa->base, pVesa->fonts + 8192, 8192);
+ slowbcopy_frombus(pVesa->VGAbase, pVesa->fonts + 8192, 8192);
+
+ scrn = ReadSeq(0x01) & ~0x20;
+ SeqReset(TRUE);
+ WriteSeq(0x01, scrn);
+ SeqReset(FALSE);
/* Restore clobbered registers */
WriteAttr(0x10, attr10);
@@ -1561,11 +1576,14 @@ static void
RestoreFonts(ScrnInfoPtr pScrn)
{
VESAPtr pVesa = VESAGetRec(pScrn);
- unsigned char miscOut, attr10, gr1, gr3, gr4, gr5, gr6, gr8, seq2, seq4;
+ unsigned char miscOut, attr10, gr1, gr3, gr4, gr5, gr6, gr8, seq2, seq4, scrn;
if (pVesa->fonts == NULL)
return;
+ if (pVesa->mapPhys == 0xa0000 && pVesa->curBank != 0)
+ VESABankSwitch(pScrn->pScreen, 0);
+
/* save the registers that are needed here */
miscOut = ReadMiscOut();
attr10 = ReadAttr(0x10);
@@ -1581,6 +1599,11 @@ RestoreFonts(ScrnInfoPtr pScrn)
/* Force into colour mode */
WriteMiscOut(miscOut | 0x01);
+ scrn = ReadSeq(0x01) | 0x20;
+ SeqReset(TRUE);
+ WriteSeq(0x01, scrn);
+ SeqReset(FALSE);
+
WriteAttr(0x10, 0x01); /* graphics mode */
if (pScrn->depth == 4) {
/* GJA */
@@ -1594,14 +1617,19 @@ RestoreFonts(ScrnInfoPtr pScrn)
WriteGr(0x04, 0x02); /* read plane 2 */
WriteGr(0x05, 0x00); /* write mode 0, read mode 0 */
WriteGr(0x06, 0x05); /* set graphics */
- slowbcopy_tobus(pVesa->fonts, pVesa->base, 8192);
+ slowbcopy_tobus(pVesa->fonts, pVesa->VGAbase, 8192);
WriteSeq(0x02, 0x08); /* write to plane 3 */
WriteSeq(0x04, 0x06); /* enable plane graphics */
WriteGr(0x04, 0x03); /* read plane 3 */
WriteGr(0x05, 0x00); /* write mode 0, read mode 0 */
WriteGr(0x06, 0x05); /* set graphics */
- slowbcopy_tobus(pVesa->fonts + 8192, pVesa->base, 8192);
+ slowbcopy_tobus(pVesa->fonts + 8192, pVesa->VGAbase, 8192);
+
+ scrn = ReadSeq(0x01) & ~0x20;
+ SeqReset(TRUE);
+ WriteSeq(0x01, scrn);
+ SeqReset(FALSE);
/* restore the registers that were changed */
WriteMiscOut(miscOut);
@@ -1973,53 +2001,59 @@ VESASaveRestore(ScrnInfoPtr pScrn, int function)
(void)VESAGetVBEMode(pScrn, &pVesa->stateMode);
SaveFonts(pScrn);
- pVesa->pInt->num = 0x10;
- pVesa->pInt->ax = 0x4f04;
- pVesa->pInt->dx = 0;
- pVesa->pInt->cx = 0x000f;
- xf86ExecX86int10(pVesa->pInt);
- if (pVesa->pInt->ax != 0x4f)
- return (FALSE);
+ if (pVesa->major > 1) {
+ pVesa->pInt->num = 0x10;
+ pVesa->pInt->ax = 0x4f04;
+ pVesa->pInt->dx = 0;
+ pVesa->pInt->cx = 0x000f;
+ xf86ExecX86int10(pVesa->pInt);
+ if (pVesa->pInt->ax != 0x4f)
+ return (FALSE);
- npages = (pVesa->pInt->bx * 64) / 4096 + 1;
- if ((pVesa->state = xf86Int10AllocPages(pVesa->pInt, npages,
- &pVesa->statePage)) == NULL) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
- "Cannot allocate memory to save SVGA state.\n");
- return (FALSE);
+ npages = (pVesa->pInt->bx * 64) / 4096 + 1;
+ if ((pVesa->state = xf86Int10AllocPages(pVesa->pInt, npages,
+ &pVesa->statePage)) == NULL) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Cannot allocate memory to save SVGA state.\n");
+ return (FALSE);
+ }
}
}
/* Save/Restore Super VGA state */
if (function != MODE_QUERY) {
- int ax_reg;
+ int ax_reg = 0;
- pVesa->pInt->num = 0x10;
- pVesa->pInt->ax = 0x4f04;
- pVesa->pInt->dx = function;
- pVesa->pInt->cx = 0x000f;
+ if (pVesa->major > 1) {
+ pVesa->pInt->num = 0x10;
+ pVesa->pInt->ax = 0x4f04;
+ pVesa->pInt->dx = function;
+ pVesa->pInt->cx = 0x000f;
- if (function == MODE_RESTORE)
- memcpy(pVesa->state, pVesa->pstate, pVesa->stateSize);
+ if (function == MODE_RESTORE)
+ memcpy(pVesa->state, pVesa->pstate, pVesa->stateSize);
- pVesa->pInt->es = SEG_ADDR(pVesa->statePage);
- pVesa->pInt->bx = SEG_OFF(pVesa->statePage);
- xf86ExecX86int10(pVesa->pInt);
- ax_reg = pVesa->pInt->ax;
+ pVesa->pInt->es = SEG_ADDR(pVesa->statePage);
+ pVesa->pInt->bx = SEG_OFF(pVesa->statePage);
+ xf86ExecX86int10(pVesa->pInt);
+ ax_reg = pVesa->pInt->ax;
+ }
if (function == MODE_RESTORE) {
VESASetVBEMode(pScrn, pVesa->stateMode, NULL);
RestoreFonts(pScrn);
}
- if (ax_reg != 0x4f)
- return (FALSE);
+ if (pVesa->major > 1) {
+ if (ax_reg != 0x4f)
+ return (FALSE);
- if (function == MODE_SAVE && pVesa->pstate == NULL) {
- /* don't rely on the memory not being touched */
- pVesa->stateSize = pVesa->pInt->bx * 64;
- pVesa->pstate = xalloc(pVesa->stateSize);
- memcpy(pVesa->pstate, pVesa->state, pVesa->stateSize);
+ if (function == MODE_SAVE && pVesa->pstate == NULL) {
+ /* don't rely on the memory not being touched */
+ pVesa->stateSize = pVesa->pInt->bx * 64;
+ pVesa->pstate = xalloc(pVesa->stateSize);
+ memcpy(pVesa->pstate, pVesa->state, pVesa->stateSize);
+ }
}
}
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h b/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h
index 86cab01ae..1233698a1 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h
@@ -1,16 +1,16 @@
/*
* Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com)
- *
+ *
* 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 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
@@ -18,7 +18,7 @@
* 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.
- *
+ *
* Except as contained in this notice, the name of Conectiva Linux shall
* not be used in advertising or otherwise to promote the sale, use or other
* dealings in this Software without prior written authorization from
@@ -26,7 +26,7 @@
*
* Authors: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h,v 1.4 2000/10/27 18:31:05 dawes Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h,v 1.5 2000/12/01 19:56:01 paulo Exp $
*/
#ifndef _VESA_H_
@@ -102,7 +102,7 @@ typedef struct _VESARec
int curBank, bankSwitchWindowB;
CARD16 maxBytesPerScanline;
int mapPhys, mapOff, mapSize; /* video memory */
- void *base;
+ void *base, *VGAbase;
CARD8 *state, *pstate; /* SVGA state */
int statePage, stateSize, stateMode;
int page;
diff --git a/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list b/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list
index 071c399e9..10aaba215 100644
--- a/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list
+++ b/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list
@@ -11,7 +11,7 @@ lib/libPEX5.so
lib/libSM.so.6.0
lib/libSM.so.6
lib/libSM.so
-lib/libX11.so.6.1
+lib/libX11.so.6.2
lib/libX11.so.6
lib/libX11.so
lib/libXIE.so.6.0
@@ -31,7 +31,7 @@ lib/libXfont.so
lib/libXi.so.6.0
lib/libXi.so.6
lib/libXi.so
-lib/libXmu.so.6.1
+lib/libXmu.so.6.2
lib/libXmu.so.6
lib/libXmu.so
lib/libXp.so.6.2
diff --git a/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/set-list b/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/set-list
deleted file mode 100644
index 83d032807..000000000
--- a/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/set-list
+++ /dev/null
@@ -1,5 +0,0 @@
-bin/XF86Setup
-bin/xmseconfig
-lib/X11/XF86Setup
-man/man1/XF86Setup.1x
-man/man1/xmseconfig.1x
diff --git a/xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def b/xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def
index 643edd2ef..e39bb10f6 100644
--- a/xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def
+++ b/xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def
@@ -6,7 +6,7 @@
* - XFree86 doctools package (requires groff)
* - nroff/troff or groff
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def,v 1.5 2000/11/28 18:50:22 dawes Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def,v 1.6 2000/12/05 00:32:03 dawes Exp $
*/
#define HasSgmlFmt YES
@@ -15,8 +15,8 @@
#define BuildSpecsDocs YES
#define SpecsDocDirs BDF CTEXT FSProtocol ICCCM \
- /*XProtocol*/ Xserver X11 XDMCP XLFD Xaw \
- Xmu Xt Xext /*Xi*/ xfs /*PEX5*/ ICE SM xtrans \
- xterm rstart GL Xv /*i18n*/ programs
+ XProtocol Xserver X11 XDMCP XLFD Xaw \
+ Xmu Xt Xext Xi xfs /*PEX5*/ ICE SM xtrans \
+ xterm rstart GL Xv i18n programs
diff --git a/xc/programs/Xserver/hw/xfree86/input/wacom/wacom.cpp b/xc/programs/Xserver/hw/xfree86/input/wacom/wacom.cpp
index 57c7bdf7e..7233cc226 100644
--- a/xc/programs/Xserver/hw/xfree86/input/wacom/wacom.cpp
+++ b/xc/programs/Xserver/hw/xfree86/input/wacom/wacom.cpp
@@ -1,4 +1,4 @@
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/input/wacom/wacom.cpp,v 1.4 2000/06/14 02:13:19 dawes Exp $
+.\" $XFree86: xc/programs/Xserver/hw/xfree86/input/wacom/wacom.cpp,v 1.5 2000/12/01 17:43:06 dawes Exp $
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH WACOM __drivermansuffix__ "Version 4.0.1" "XFree86"
@@ -33,4 +33,4 @@ Config details...
.SH "SEE ALSO"
XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__).
.SH AUTHORS
-Authors include...
+Frederic Lepied
diff --git a/xc/programs/Xserver/hw/xfree86/loader/xf86sym.c b/xc/programs/Xserver/hw/xfree86/loader/xf86sym.c
index a93f6e1ec..0218e73ba 100644
--- a/xc/programs/Xserver/hw/xfree86/loader/xf86sym.c
+++ b/xc/programs/Xserver/hw/xfree86/loader/xf86sym.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c,v 1.173 2000/11/21 23:10:39 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c,v 1.174 2000/12/02 01:16:25 dawes Exp $ */
/*
*
@@ -874,7 +874,7 @@ LOOKUP xfree86LookupTab[] = {
of the X server) easier. */
SYMFUNC(xf86InstallSIGIOHandler)
SYMFUNC(xf86RemoveSIGIOHandler)
-# ifdef __alpha__
+# if defined(__alpha__) && defined(linux)
SYMFUNC(_bus_base)
# endif
#endif
diff --git a/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmR128.c b/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmR128.c
index 0b89d0867..b40299e4a 100644
--- a/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmR128.c
+++ b/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmR128.c
@@ -26,7 +26,7 @@
* Author: Kevin E. Martin <martin@valinux.com>
*
*/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmR128.c,v 1.3 2000/08/24 22:20:18 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmR128.c,v 1.5 2000/12/04 19:21:54 dawes Exp $ */
#ifdef XFree86Server
# include "xf86.h"
diff --git a/xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile b/xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile
index 42026b33d..1ca230f27 100644
--- a/xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile
+++ b/xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile,v 1.11 2000/08/09 02:33:49 tsi Exp $
+XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile,v 1.12 2000/12/02 15:31:01 tsi Exp $
#define IHaveModules
@@ -91,6 +91,7 @@ OBJS = $(OBJS1) xf86x86emu.o linux.o $(X86EMUOBJS)
#if defined(XF86INT10_BUILD) && XF86INT10_BUILD > X86EMU_GENERIC
+ModuleObjectRule()
LibraryModuleTarget(int10, $(OBJS))
InstallLibraryModule(int10,$(MODULEDIR),linux)
diff --git a/xc/programs/Xserver/hw/xfree86/os-support/xf86drmR128.h b/xc/programs/Xserver/hw/xfree86/os-support/xf86drmR128.h
index 6a1ebd912..1e2823c17 100644
--- a/xc/programs/Xserver/hw/xfree86/os-support/xf86drmR128.h
+++ b/xc/programs/Xserver/hw/xfree86/os-support/xf86drmR128.h
@@ -25,7 +25,7 @@
*
* Author: Kevin E. Martin <kevin@precisioninsight.com>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/os-support/xf86drmR128.h,v 3.2 2000/11/18 19:37:21 tsi Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/os-support/xf86drmR128.h,v 3.3 2000/12/04 21:04:47 dawes Exp $
*
*/
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile b/xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile
index 8b81fb207..a893c2643 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile
@@ -1,4 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile,v 1.9 2000/10/23 21:16:51 tsi Exp $
+XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile,v 1.10 2000/11/30 20:55:16 paulo Exp $
XCOMM CDEBUGFLAGS=-g -Wall -ansi -pedantic
@@ -12,6 +12,7 @@ SRCS =\
card-cfg.c\
cards.c\
config.c\
+ expert.c\
help.c\
interface.c\
keyboard-cfg.c\
@@ -31,6 +32,7 @@ OBJS =\
cards.o\
config.o\
card-cfg.o\
+ expert.o\
help.o\
interface.o\
keyboard-cfg.o\
@@ -72,12 +74,14 @@ AllTarget(ProgramTargetName($(PROG)))
#if DoLoadableServer
LOADERLIB = -L../loader -lxloader -L../dummylib -ldummy
-DEFINES = -DUSE_MODULES
+MODULEDEFINES = -DUSE_MODULES
INCLUDES = -I../common -I../loader -I$(XF86OSSRC) \
-I$(SERVERSRC)/include -I$(XINCLUDESRC)
WRAPPERDEFINES = -DSELF_CONTAINED_WRAPPER
#endif
+DEFINES = -DXF86CONFIG=\"XConfigFile\" $(MODULEDEFINES)
+
#if HasDlopen
DLLIB = DlLibrary
#endif
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad b/xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad
index 4702a17e2..7a0bd2059 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad
@@ -26,7 +26,7 @@
!!
!! Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
!!
-!! $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad,v 1.5 2000/10/20 14:59:05 alanh Exp $
+!! $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad,v 1.6 2000/11/30 20:55:16 paulo Exp $
!!
*Form.background: gray85
@@ -178,7 +178,6 @@ lines -1,0,0,0,0,-1
*card.label: Card
*monitor.label: Monitor
-!*commands.background: black
*commands.borderWidth: 0
*commands.defaultDistance: 2
*commands.?.bottom: chainTop
@@ -193,6 +192,10 @@ lines -1,0,0,0,0,-1
*commands.card.tip: Add video card
*commands.monitor.tip: Add monitor
+*hpane.showGrip: False
+*hpane.expert.label: Expert Mode
+*topM.min: 200
+*topM.max: 200
*topM.justify: left
*topM.label: Configure Layout
*topM*layout.label: Configure Layout
@@ -445,6 +448,9 @@ XF86Cfg.translations: #override \
<Message>WM_PROTOCOLS: accessx-close()
.xf86cfg.test.translations: #override \
<Message>WM_PROTOCOLS: testmode-cancel()
+.xf86cfg.Expert.translations: #override \
+<Message>WM_PROTOCOLS: expert-close()
+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Options
@@ -1248,6 +1254,9 @@ font -*-helvetica-bold-o-*-*-8-*-*-*-*-*-*-1;\
draw-string 12,21, "Button";\
draw-string 9,30, "Release"
+*panner.width: 100
+*panner.height: 100
+
*help*text.properties:\
default?family=Times&weight=Medium&slant=R&pixelsize=12&registry=ISO8859&encoding=1,\
b?weight=Bold,\
@@ -1327,3 +1336,434 @@ Press in the <b>Enable ???</b> label to set specific options.\
<p>\
<font color=red>Note</font>: currently, if you press the \
<tt><b>Apply changes</b></tt> button there is no way to undo your changes.</font>
+
+
+*Expert.geometry: 800x600
+*Expert*vpane.min: 64
+*Expert*vpane.max: 64
+*Expert*vpane.showGrip: False
+*Expert*vpane.close.showGrip: False
+*Expert*vpane.close.min: 26
+*Expert*vpane.close.max: 26
+*panner.internalSpace: 1
+*panner.shadowThickness: 0
+*panner.shadowColor: gray60
+*panner.backgroundStipple: black
+*panner.borderColor: gray40
+
+*expert*tree.hSpace: 12
+*expert*tree*Box.hSpace: 4
+*expert*tree*vSpace: 4
+*expert*tree*LogFile.Text.width: 192
+*expert*tree*RgbPath.Text.width: 192
+*expert*tree*ModulePath.Text.width: 192
+
+*expert*tree*Form.defaultDistance: 4
+
+*expert*tree.backgroundPixmap: xlogo64?foreground=gray90&background=gray92
+*expert*tree.foreground: gray45
+
+*expert*tree*Label.backgroundPixmap: ParentRelative
+
+*expert*tree*Box.backgroundPixmap: gradient:vertical?dimension=3&start=gray85&end=gray95
+*expert*tree*Box.borderWidth: 0
+*expert*tree*Box.background: gray85
+*expert*Box.displayList:\
+foreground gray40;\
+lines 1,-1,-1,-1,-1,1;\
+foreground white;\
+lines -1,0,0,0,0,-1
+
+*expert*tree*Form.backgroundPixmap: gradient:vertical?dimension=3&start=gray85&end=gray95
+*expert*tree*Form.borderWidth: 0
+*expert*tree*Form.background: gray85
+*expert*Form.displayList:\
+foreground gray40;\
+lines 1,-1,-1,-1,-1,1;\
+foreground white;\
+lines -1,0,0,0,0,-1
+
+*expert*tree*Text.width: 160
+
+*expert*tree*fontpath.Text.width: 228
+*expert*tree*fontpath.value.fromVert: remove
+*expert*tree*fontpath.valueNew.fromVert: new
+
+*expert*tree*modulepath.Text.width: 228
+*expert*tree*modulepath.value.fromVert: remove
+*expert*tree*modulepath.valueNew.fromVert: new
+
+*expert*tree*module.options.fromHoriz: remove
+*expert*tree*module.label.fromVert: remove
+*expert*tree*module.value.fromHoriz: new
+*expert*tree*module.value.width: 78
+
+*expert*tree*video*Label.justify: left
+*expert*tree*video.options.fromHoriz: remove
+*expert*tree*video.adaptor.fromHoriz: options
+*expert*tree*video.vendorL.width: 78
+*expert*tree*video.vendorL.label: VendorName
+*expert*tree*video.vendorL.fromVert: remove
+*expert*tree*video.vendor.fromVert: remove
+*expert*tree*video.vendor.fromHoriz: vendorL
+*expert*tree*video.boardL.width: 78
+*expert*tree*video.boardL.label: BoardName
+*expert*tree*video.boardL.fromVert: vendor
+*expert*tree*video.board.fromVert: vendor
+*expert*tree*video.board.fromHoriz: boardL
+*expert*tree*video.busidL.width: 78
+*expert*tree*video.busidL.label: BusID
+*expert*tree*video.busidL.fromVert: board
+*expert*tree*video.busid.fromVert: board
+*expert*tree*video.busid.fromHoriz: busidL
+*expert*tree*video.driverL.width: 78
+*expert*tree*video.driverL.label: Driver
+*expert*tree*video.driverL.fromVert: busid
+*expert*tree*video.driver.fromVert: busid
+*expert*tree*video.driver.fromHoriz: driverL
+*expert*tree*video.value.fromHoriz: new
+*expert*tree*video.value.width: 78
+*expert*tree*VideoPort.fromVert: driver
+*expert*tree*VideoPort.horizDistance: 120
+*expert*tree*video.value.width: 149
+
+*expert*tree*port.value.fromHoriz: new
+*expert*tree*port.options.fromHoriz: remove
+*expert*tree*port.label.fromVert: remove
+*expert*tree*port.value.width: 78
+
+*expert*tree*modes.mode.fromHoriz: remove
+*expert*tree*modes.value.fromHoriz: new
+*expert*tree*modes.value.width: 78
+
+*expert*tree*modeline.label.fromHoriz: remove
+*expert*tree*modeline.modeline.fromVert: remove
+*expert*tree*modeline.modeline.width: 480
+*expert*tree*modeline.value.fromHoriz: new
+*expert*tree*modeline.value.width: 120
+*expert*tree*modeline.modelineNew.fromVert: value
+*expert*tree*modeline.modelineNew.width: 480
+
+*expert*tree*monitor.options.fromHoriz: remove
+*expert*tree*monitor.label.fromHoriz: options
+
+*expert*tree*monitor.Label.justify: left
+*expert*tree*monitor.Text.width: 120
+*expert*tree*monitor.vendorL.width: 100
+*expert*tree*monitor.vendorL.label: VendorName
+*expert*tree*monitor.vendorL.fromVert: remove
+*expert*tree*monitor.vendor.fromVert: remove
+*expert*tree*monitor.vendor.fromHoriz: vendorL
+*expert*tree*monitor.modelnameL.width: 100
+*expert*tree*monitor.modelnameL.label: ModelName
+*expert*tree*monitor.modelnameL.fromVert: vendor
+*expert*tree*monitor.modelname.fromVert: vendor
+*expert*tree*monitor.modelname.fromHoriz: modelnameL
+*expert*tree*monitor.widthL.width: 100
+*expert*tree*monitor.widthL.label: Width (mm)
+*expert*tree*monitor.widthL.fromVert: modelname
+*expert*tree*monitor.width.fromVert: modelname
+*expert*tree*monitor.width.fromHoriz: widthL
+*expert*tree*monitor.heightL.width: 100
+*expert*tree*monitor.heightL.label: Height (mm)
+*expert*tree*monitor.heightL.fromVert: width
+*expert*tree*monitor.height.fromVert: width
+*expert*tree*monitor.height.fromHoriz: heightL
+*expert*tree*monitor.hsyncL.width: 100
+*expert*tree*monitor.hsyncL.label: Hsync
+*expert*tree*monitor.hsyncL.fromVert: heightL
+*expert*tree*monitor.hsync.fromVert: height
+*expert*tree*monitor.hsync.fromHoriz: hsyncL
+*expert*tree*monitor.vrefreshL.width: 100
+*expert*tree*monitor.vrefreshL.label: Vrefresh
+*expert*tree*monitor.vrefreshL.fromVert: hsync
+*expert*tree*monitor.vrefresh.fromVert: hsync
+*expert*tree*monitor.vrefresh.fromHoriz: vrefreshL
+*expert*tree*monitor.gammaRedL.width: 100
+*expert*tree*monitor.gammaRedL.label: Gamma (red)
+*expert*tree*monitor.gammaRedL.fromVert: vrefresh
+*expert*tree*monitor.gammaRed.fromVert: vrefresh
+*expert*tree*monitor.gammaRed.fromHoriz: gammaRedL
+*expert*tree*monitor.gammaGreenL.width: 100
+*expert*tree*monitor.gammaGreenL.label: Gamma (green)
+*expert*tree*monitor.gammaGreenL.fromVert: gammaRed
+*expert*tree*monitor.gammaGreen.fromVert: gammaRed
+*expert*tree*monitor.gammaGreen.fromHoriz: gammaGreenL
+*expert*tree*monitor.gammaBlueL.width: 100
+*expert*tree*monitor.gammaBlueL.label: Gamma (blue)
+*expert*tree*monitor.gammaBlueL.fromVert: gammaGreen
+*expert*tree*monitor.gammaBlue.fromVert: gammaGreen
+*expert*tree*monitor.gammaBlue.fromHoriz: gammaBlueL
+*expert*tree*monitor.value.width: 191
+*expert*tree*monitor.value.fromHoriz: new
+
+*expert*tree*device.Label.justify: left
+*expert*tree*device.options.fromHoriz: remove
+*expert*tree*device.label.fromHoriz: options
+*expert*tree*device.vendorL.label: VendorName
+*expert*tree*device.vendorL.width: 100
+*expert*tree*device.vendorL.fromVert: remove
+*expert*tree*device.vendor.fromVert: remove
+*expert*tree*device.vendor.fromHoriz: vendorL
+*expert*tree*device.boardL.label: BoardName
+*expert*tree*device.boardL.width: 100
+*expert*tree*device.boardL.fromVert: vendor
+*expert*tree*device.board.fromVert: vendor
+*expert*tree*device.board.fromHoriz: boardL
+*expert*tree*device.chipsetL.label: Chipset
+*expert*tree*device.chipsetL.width: 100
+*expert*tree*device.chipsetL.fromVert: board
+*expert*tree*device.chipset.fromVert: board
+*expert*tree*device.chipset.fromHoriz: chipsetL
+*expert*tree*device.busidL.label: BusID
+*expert*tree*device.busidL.width: 100
+*expert*tree*device.busidL.fromVert: chipset
+*expert*tree*device.busid.fromVert: chipset
+*expert*tree*device.busid.fromHoriz: chipsetL
+*expert*tree*device.cardL.label: Card
+*expert*tree*device.cardL.width: 100
+*expert*tree*device.cardL.fromVert: busid
+*expert*tree*device.card.fromVert: busid
+*expert*tree*device.card.fromHoriz: cardL
+*expert*tree*device.driverL.label: Driver
+*expert*tree*device.driverL.width: 100
+*expert*tree*device.driverL.fromVert: card
+*expert*tree*device.driver.fromVert: card
+*expert*tree*device.driver.fromHoriz: driverL
+*expert*tree*device.ramdacL.label: Ramdac
+*expert*tree*device.ramdacL.width: 100
+*expert*tree*device.ramdacL.fromVert: driverL
+*expert*tree*device.ramdac.fromVert: driver
+*expert*tree*device.ramdac.fromHoriz: ramdacL
+*expert*tree*device.dacSpeedL.label: DacSpeed
+*expert*tree*device.dacSpeedL.width: 100
+*expert*tree*device.dacSpeedL.fromVert: ramdac
+*expert*tree*device.dacSpeed.fromVert: ramdac
+*expert*tree*device.dacSpeed.fromHoriz: dacSpeedL
+*expert*tree*device.videoRamL.label: VideoRam
+*expert*tree*device.videoRamL.width: 100
+*expert*tree*device.videoRamL.fromVert: dacSpeed
+*expert*tree*device.videoRam.fromVert: dacSpeed
+*expert*tree*device.videoRam.fromHoriz: videoRamL
+*expert*tree*device.textClockFreqL.label: TextClockFreq
+*expert*tree*device.textClockFreqL.width: 100
+*expert*tree*device.textClockFreqL.fromVert: videoRam
+*expert*tree*device.textClockFreq.fromVert: videoRam
+*expert*tree*device.textClockFreq.fromHoriz: textClockFreqL
+*expert*tree*device.biosBaseL.label: BiosBase
+*expert*tree*device.biosBaseL.width: 100
+*expert*tree*device.biosBaseL.fromVert: textClockFreq
+*expert*tree*device.biosBase.fromVert: textClockFreq
+*expert*tree*device.biosBase.fromHoriz: biosBaseL
+*expert*tree*device.memBaseL.label: MemBase
+*expert*tree*device.memBaseL.width: 100
+*expert*tree*device.memBaseL.fromVert: biosBase
+*expert*tree*device.memBase.fromVert: biosBase
+*expert*tree*device.memBase.fromHoriz: memBaseL
+*expert*tree*device.ioBaseL.label: IOBase
+*expert*tree*device.ioBaseL.width: 100
+*expert*tree*device.ioBaseL.fromVert: memBase
+*expert*tree*device.ioBase.fromVert: memBase
+*expert*tree*device.ioBase.fromHoriz: ioBaseL
+*expert*tree*device.clockChipL.label: ClockChip
+*expert*tree*device.clockChipL.width: 100
+*expert*tree*device.clockChipL.fromVert: ioBase
+*expert*tree*device.clockChip.fromVert: ioBase
+*expert*tree*device.clockChip.fromHoriz: clockChipL
+*expert*tree*device.devClockL.label: Clocks
+*expert*tree*device.devClockL.width: 100
+*expert*tree*device.devClockL.fromVert: clockChip
+*expert*tree*device.devClock.fromVert: clockChip
+*expert*tree*device.devClock.fromHoriz: devClockL
+*expert*tree*device.chipIdL.label: ChipId
+*expert*tree*device.chipIdL.width: 100
+*expert*tree*device.chipIdL.fromVert: devClock
+*expert*tree*device.chipId.fromVert: devClock
+*expert*tree*device.chipId.fromHoriz: chipIdL
+*expert*tree*device.chipRevL.label: ChipRev
+*expert*tree*device.chipRevL.width: 100
+*expert*tree*device.chipRevL.fromVert: chipId
+*expert*tree*device.chipRev.fromVert: chipId
+*expert*tree*device.chipRev.fromHoriz: chipRevL
+*expert*tree*device.irqL.label: IRQ
+*expert*tree*device.irqL.width: 100
+*expert*tree*device.irqL.fromVert: chipRev
+*expert*tree*device.irq.fromVert: chipRev
+*expert*tree*device.irq.fromHoriz: irqL
+*expert*tree*device.screenL.label: Screen
+*expert*tree*device.screenL.width: 100
+*expert*tree*device.screenL.fromVert: irq
+*expert*tree*device.screen.fromVert: irq
+*expert*tree*device.screen.fromHoriz: screenL
+*expert*tree*device.value.fromHoriz: new
+
+*expert*tree*screen.Label.justify: left
+*expert*tree*screen.options.fromHoriz: remove
+*expert*tree*screen.label.fromHoriz: options
+*expert*tree*screen.defaultDepthL.label: DefaultDepth
+*expert*tree*screen.defaultDepthL.width: 92
+*expert*tree*screen.defaultDepthL.fromVert: remove
+*expert*tree*screen.defaultDepth.fromVert: remove
+*expert*tree*screen.defaultDepth.fromHoriz: defaultDepthL
+*expert*tree*screen.defaultBppL.label: DefaultBpp
+*expert*tree*screen.defaultBppL.width: 92
+*expert*tree*screen.defaultBppL.fromVert: defaultDepth
+*expert*tree*screen.defaultBpp.fromVert: defaultDepth
+*expert*tree*screen.defaultBpp.fromHoriz: defaultBppL
+*expert*tree*screen.defaultFbBppL.label: DefaultFbBpp
+*expert*tree*screen.defaultFbBppL.width: 92
+*expert*tree*screen.defaultFbBppL.fromVert: defaultBpp
+*expert*tree*screen.defaultFbBpp.fromVert: defaultBpp
+*expert*tree*screen.defaultFbBpp.fromHoriz: defaultFbBppL
+*expert*tree*screen.monitorL.label: Monitor
+*expert*tree*screen.monitorL.width: 92
+*expert*tree*screen.monitorL.fromVert: defaultFbBpp
+*expert*tree*screen.monitor.fromVert: defaultFbBpp
+*expert*tree*screen.monitor.fromHoriz: monitorL
+*expert*tree*screen.deviceL.label: Device
+*expert*tree*screen.deviceL.width: 92
+*expert*tree*screen.deviceL.fromVert: monitor
+*expert*tree*screen.device.fromVert: monitor
+*expert*tree*screen.device.fromHoriz: deviceL
+*expert*tree*screen.value.fromHoriz: new
+
+*expert*tree*adaptor.label.fromHoriz: remove
+
+*expert*tree*display.Label.width: 64
+*expert*tree*display.Label.justify: left
+*expert*tree*display.options.fromHoriz: remove
+*expert*tree*display.viewportL.label: Viewport
+*expert*tree*display.viewportL.fromVert: remove
+*expert*tree*display.viewport.fromVert: remove
+*expert*tree*display.viewport.fromHoriz: viewportL
+*expert*tree*display.virtualL.label: Virtual
+*expert*tree*display.virtualL.fromVert: viewport
+*expert*tree*display.virtual.fromVert: viewport
+*expert*tree*display.virtual.fromHoriz: virtualL
+*expert*tree*display.depthL.label: Depth
+*expert*tree*display.depthL.fromVert: virtual
+*expert*tree*display.depth.fromVert: virtual
+*expert*tree*display.depth.fromHoriz: depthL
+*expert*tree*display.bppL.label: FbBPP
+*expert*tree*display.bppL.fromVert: depth
+*expert*tree*display.bpp.fromVert: depth
+*expert*tree*display.bpp.fromHoriz: bppL
+*expert*tree*display.visualL.label: Visual
+*expert*tree*display.visualL.fromVert: bpp
+*expert*tree*display.visual.fromVert: bpp
+*expert*tree*display.visual.fromHoriz: visualL
+*expert*tree*display.weightL.label: Weight
+*expert*tree*display.weightL.fromVert: visual
+*expert*tree*display.weight.fromVert: visual
+*expert*tree*display.weight.fromHoriz: weightL
+*expert*tree*display.blackL.label: Black
+*expert*tree*display.blackL.fromVert: weight
+*expert*tree*display.black.fromVert: weight
+*expert*tree*display.black.fromHoriz: blackL
+*expert*tree*display.whiteL.label: White
+*expert*tree*display.whiteL.fromVert: black
+*expert*tree*display.white.fromVert: black
+*expert*tree*display.white.fromHoriz: whiteL
+
+*expert*tree*mode.label.fromHoriz: remove
+*expert*tree*mode.value.fromHoriz: new
+*expert*tree*mode.value.width: 100
+
+*expert*tree*input.options.fromHoriz: remove
+*expert*tree*input.label.fromHoriz: options
+*expert*tree*input.driverL.label: Driver
+*expert*tree*input.driverL.fromVert: remove
+*expert*tree*input.driver.fromVert: remove
+*expert*tree*input.driver.fromHoriz: driverL
+*expert*tree*input.value.fromHoriz: new
+
+*expert*tree*layout.options.fromHoriz: remove
+*expert*tree*layout.label.fromHoriz: options
+*expert*tree*layout.value.fromHoriz: new
+
+*expert*tree*adjacency.Text.width: 46
+*expert*tree*adjacency.MenuButton.width: 122
+*expert*tree*adjacency.label.fromHoriz: remove
+*expert*tree*adjacency.scrnumL.label: Screen number
+*expert*tree*adjacency.scrnumL.horizDistance: 50
+*expert*tree*adjacency.scrnum.width: 32
+*expert*tree*adjacency.scrnumL.fromVert: remove
+*expert*tree*adjacency.scrnum.fromVert: remove
+*expert*tree*adjacency.scrnum.fromHoriz: scrnumL
+*expert*tree*adjacency.above.label: Above
+*expert*tree*adjacency.above.fromVert: scrnumL
+*expert*tree*adjacency.above.vertDistance: 20
+*expert*tree*adjacency.above.horizDistance: 96
+*expert*tree*adjacency.below.label: Below
+*expert*tree*adjacency.below.horizDistance: 96
+*expert*tree*adjacency.leftOf.label: LeftOf
+*expert*tree*adjacency.leftOf.fromVert: above
+*expert*tree*adjacency.screen.fromVert: above
+*expert*tree*adjacency.screen.fromHoriz: leftOf
+*expert*tree*adjacency.rightOf.label: RightOf
+*expert*tree*adjacency.rightOf.fromVert: above
+*expert*tree*adjacency.rightOf.fromHoriz: screen
+*expert*tree*adjacency.below.fromVert: screen
+*expert*tree*adjacency.relative.label: Relative
+*expert*tree*adjacency.relative.horizDistance: 53
+*expert*tree*adjacency.relative.fromVert: below
+*expert*tree*adjacency.absolute.fromVert: below
+*expert*tree*adjacency*absolute.label: Absolute
+*expert*tree*adjacency*absolute.fromHoriz: relative
+*expert*tree*adjacency*adjxL.label: X
+*expert*tree*adjacency*adjxL.horizDistance: 42
+*expert*tree*adjacency*adjxL.fromVert: absolute
+*expert*tree*adjacency*adjx.fromVert: absolute
+*expert*tree*adjacency*adjx.fromHoriz: adjxL
+*expert*tree*adjacency*adjyL.label: Y
+*expert*tree*adjacency*adjyL.horizDistance: 12
+*expert*tree*adjacency*adjyL.fromVert: absolute
+*expert*tree*adjacency*adjyL.fromHoriz: adjx
+*expert*tree*adjacency*adjy.fromVert: absolute
+*expert*tree*adjacency*adjy.fromHoriz: adjyL
+
+*expert*tree*inputref.options.fromHoriz: remove
+*expert*tree*inputref.label.fromHoriz: options
+
+*expert*tree*vendor.Text.width: 100
+*expert*tree*vendor.options.fromHoriz: remove
+*expert*tree*vendor.label.fromHoriz: options
+*expert*tree*vendor.value.fromHoriz: new
+
+*expert*tree*vendorSub.Text.width: 140
+*expert*tree*vendorSub.options.fromHoriz: remove
+*expert*tree*vendorSub.label.fromHoriz: options
+*expert*tree*vendorSub.nameL.label: Name
+*expert*tree*vendorSub.nameL.fromVert: remove
+*expert*tree*vendorSub.name.fromVert: remove
+*expert*tree*vendorSub.name.fromHoriz: nameL
+*expert*tree*vendorSub.value.fromHoriz: new
+
+*expert*tree*dri.Text.width: 100
+*expert*tree*dri.Label.width: 78
+*expert*tree*dri.Label.justify: left
+*expert*tree*dri.nameL.label: Group name
+*expert*tree*dri.name.fromHoriz: nameL
+*expert*tree*dri.groupL.label: Group
+*expert*tree*dri.groupL.fromVert: name
+*expert*tree*dri.group.fromVert: name
+*expert*tree*dri.group.fromHoriz: groupL
+*expert*tree*dri.modeL.label: Mode
+*expert*tree*dri.modeL.fromVert: group
+*expert*tree*dri.mode.fromVert: group
+*expert*tree*dri.mode.fromHoriz: modeL
+
+*expert*tree*buffers.Label.width: 50
+*expert*tree*buffers.Text.width: 100
+*expert*tree*buffers.countL.label: Count
+*expert*tree*buffers.countL.fromVert: remove
+*expert*tree*buffers.count.fromVert: remove
+*expert*tree*buffers.count.fromHoriz: countL
+*expert*tree*buffers.sizeL.label: Size
+*expert*tree*buffers.sizeL.fromVert: count
+*expert*tree*buffers.size.fromVert: count
+*expert*tree*buffers.size.fromHoriz: sizeL
+*expert*tree*buffers.flagsL.label: Flags
+*expert*tree*buffers.flagsL.fromVert: size
+*expert*tree*buffers.flags.fromVert: size
+*expert*tree*buffers.flags.fromHoriz: flagsL
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/card-cfg.c b/xc/programs/Xserver/hw/xfree86/xf86cfg/card-cfg.c
index a8bb243d2..ee7b7d07f 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/card-cfg.c
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/card-cfg.c
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/card-cfg.c,v 1.3 2000/10/20 14:59:05 alanh Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/card-cfg.c,v 1.4 2000/12/01 23:27:54 paulo Exp $
*/
#include "xf86config.h"
@@ -111,7 +111,7 @@ CardConfig(XtPointer config)
XtSetArg(args[0], XtNstring, card->dev_busid);
XtSetValues(busid, args, 1);
#ifdef USE_MODULES
- XtSetArg(args[0], XtNlabel, driver_str = card->dev_driver);
+ XtSetArg(args[0], XtNlabel, driver_str = XtNewString(card->dev_driver));
#else
XtSetArg(args[0], XtNstring, card->dev_driver);
#endif
@@ -136,7 +136,7 @@ CardConfig(XtPointer config)
XtSetArg(args[0], XtNstring, "");
XtSetValues(busid, args, 1);
#ifdef USE_MODULES
- XtSetArg(args[0], XtNlabel, driver_str = "vga");
+ XtSetArg(args[0], XtNlabel, driver_str = XtNewString("vga"));
#else
XtSetArg(args[0], XtNstring, "vga");
#endif
@@ -194,8 +194,15 @@ CardConfig(XtPointer config)
XtFree(card->dev_driver);
card->dev_driver = XtNewString(drv_nam);
+#ifdef USE_MODULES
+ XtFree(driver_str);
+#endif
+
return ((XtPointer)card);
}
+#ifdef USE_MODULES
+ XtFree(driver_str);
+#endif
return (NULL);
}
@@ -249,9 +256,15 @@ CardModelCallback(Widget w, XtPointer user_data, XtPointer call_data)
if (card_entry->chipset != NULL)
len += XmuSnprintf(tip + len, sizeof(tip) - len,
"Chipset: %s\n", card_entry->chipset);
- if (card_entry->driver != NULL)
+ if (card_entry->driver != NULL) {
+#ifdef USE_MODULES
+ XtFree(driver_str);
+ driver_str = XtNewString(card_entry->driver);
+ XtVaSetValues(driver, XtNlabel, driver_str, NULL, 0);
+#endif
len += XmuSnprintf(tip + len, sizeof(tip) - len,
"Driver: %s\n", card_entry->driver);
+ }
if (card_entry->ramdac != NULL)
len += XmuSnprintf(tip + len, sizeof(tip),
"Ramdac: %s\n", card_entry->ramdac);
@@ -274,8 +287,10 @@ CardModelCallback(Widget w, XtPointer user_data, XtPointer call_data)
else
first = 0;
+#ifndef USE_MODULES
XtSetArg(args[0], XtNstring, card_entry->driver ? card_entry->driver : "vga");
XtSetValues(driver, args, 1);
+#endif
str = XtNewString(tip);
XtSetArg(args[0], XtNtip, str);
@@ -327,7 +342,8 @@ DriverCallback(Widget w, XtPointer user_data, XtPointer call_data)
{
Arg args[1];
- driver_str = XtName(w);
+ XtFree(driver_str);
+ driver_str = XtNewString(XtName(w));
XtSetArg(args[0], XtNlabel, driver_str);
XtSetValues(driver, args, 1);
}
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/config.h b/xc/programs/Xserver/hw/xfree86/xf86cfg/config.h
index 658072f28..cb1fd7242 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/config.h
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/config.h
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.7 2000/11/03 18:46:17 eich Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.8 2000/11/30 20:55:16 paulo Exp $
*/
#include <X11/IntrinsicP.h>
@@ -176,6 +176,10 @@ Bool startx(void);
void endx(void);
void startaccessx(void);
void ConfigCancelAction(Widget, XEvent*, String*, Cardinal*);
+void ExpertConfigureStart(void);
+void ExpertConfigureEnd(void);
+void ExpertCloseAction(Widget, XEvent*, String*, Cardinal*);
+void ExpertCallback(Widget, XtPointer, XtPointer);
/*
* Initialization
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c b/xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c
index af1a697f3..40eac0f45 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c,v 1.9 2000/11/03 18:46:17 eich Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c,v 1.11 2000/12/01 18:31:07 paulo Exp $
*/
#include <X11/IntrinsicP.h>
@@ -153,6 +153,7 @@ static XtActionsRec actions[] = {
{"accessx-close", CloseAccessXAction},
{"testmode-cancel", CancelTestModeAction},
{"help-close", HelpCancelAction},
+ {"expert-close", ExpertCloseAction},
};
static char *device_names[] = {
@@ -185,7 +186,7 @@ static XrmOptionDescRec optionDescList[] = {
int
main(int argc, char *argv[])
{
- Widget pane, popup, mouse, keyboard, card, monitor;
+ Widget pane, hpane, expert, popup, mouse, keyboard, card, monitor;
Widget bottom, sme, smemodeline, help, quit, layopt;
XColor color, tmp;
Pixmap pixmap;
@@ -201,31 +202,26 @@ main(int argc, char *argv[])
XFree86Dir = DefaultXFree86Dir;
chdir(XFree86Dir);
-
+
for (i = 1; i < argc; i++) {
if (strcmp(argv[i], "-xf86config") == 0) {
if (i + 1 < argc)
XF86Config_path = argv[++i];
- continue;
} else if (strcmp(argv[i], "-modulepath") == 0) {
if (i + 1 < argc)
XF86Module_path = argv[++i];
- continue;
} else if (strcmp(argv[i], "-serverpath") == 0) {
if (i + 1 < argc)
XFree86_path = argv[++i];
- continue;
} else if (strcmp(argv[i], "-fontpath") == 0) {
if (i + 1 < argc)
XF86Font_path = argv[++i];
- continue;
} else if (strcmp(argv[i], "-rgbpath") == 0) {
if (i + 1 < argc)
XF86RGB_path = argv[++i];
- continue;
}
}
-
+
startedx = startx();
/* if (XF86Config_path == NULL)
XF86Config_path = "/etc/X11/XF86Config-4";*/
@@ -253,8 +249,12 @@ main(int argc, char *argv[])
pane = XtCreateManagedWidget("pane", panedWidgetClass,
toplevel, NULL, 0);
+ hpane = XtVaCreateManagedWidget("hpane", panedWidgetClass, pane,
+ XtNorientation, XtorientHorizontal, NULL, 0);
menu = XtCreateManagedWidget("topM", menuButtonWidgetClass,
- pane, NULL, 0);
+ hpane, NULL, 0);
+ expert = XtCreateManagedWidget("expert", commandWidgetClass, hpane, NULL, 0);
+ XtAddCallback(expert, XtNcallback, ExpertCallback, NULL);
popup = XtCreatePopupShell("menu", simpleMenuWidgetClass,
menu, NULL, 0);
sme = XtCreateManagedWidget("layout", smeBSBObjectClass,
@@ -447,6 +447,7 @@ AskConfig(void)
if (shell_cf == NULL) {
Arg args[1];
char *l, *label;
+ int len;
shell_cf = XtCreatePopupShell("quit", transientShellWidgetClass,
toplevel, NULL, 0);
@@ -459,8 +460,8 @@ AskConfig(void)
XSetWMProtocols(DPY, XtWindow(shell_cf), &wm_delete_window, 1);
XtSetArg(args[0], XtNlabel, &l);
XtGetValues(dialog, args, 1);
- label = XtMalloc(strlen(l) + 12);
- strcpy(label, "XF86Config\n");
+ label = XtMalloc(len = (strlen(l) + strlen(XF86CONFIG) + 1));
+ XmuSnprintf(label, len, "%s\n", XF86CONFIG);
strcat(label, l);
XtSetArg(args[0], XtNlabel, label);
XtSetValues(dialog, args, 1);
@@ -475,7 +476,7 @@ AskConfig(void)
XtGetValues(dialog, args, 1);
switch (cf_state) {
case CF_XF86Config:
- str = "XF86Config";
+ str = XF86CONFIG;
XtSetArg(args[num_args], XtNvalue, XF86Config_path);
++num_args;
break;
@@ -1499,41 +1500,19 @@ DisableDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data)
}
}
+/* ARGSUSED */
void
RemoveDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data)
{
int i, j;
- if (config_mode == CONFIG_SCREEN) {
- for (i = 0; i < computer.num_screens; i++)
- if (computer.screens[i]->widget == config) {
- xf86cfgDevice *mon, *dev;
-
- RemoveScreen(mon = computer.screens[i]->monitor,
- dev = computer.screens[i]->card);
-
-/*
- for (j = 0; j < computer.num_devices; j++) {
- if (computer.devices[j] == mon ||
- computer.devices[j] == dev) {
- if (--computer.devices[j]->refcount <= 0) {
- XtDestroyWidget(computer.devices[j]->widget);
- XtFree((XtPointer)computer.devices[j]);
- if (--computer.num_devices > j)
- memmove(&computer.devices[j],
- &computer.devices[j + 1],
- (computer.num_devices - j) *
- sizeof(xf86cfgDevice*));
- --j;
- }
- }
- }
-*/
-
- ScreenSetup(False);
- }
- return;
- }
+ for (i = 0; i < computer.num_screens; i++)
+ if (computer.screens[i]->widget == config) {
+ RemoveScreen(computer.screens[i]->monitor,
+ computer.screens[i]->card);
+ ScreenSetup(False);
+ return;
+ }
for (i = 0; i < computer.num_devices; i++) {
if (computer.devices[i]->widget == config) {
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/loader.c b/xc/programs/Xserver/hw/xfree86/xf86cfg/loader.c
index 4a562d422..8b811e6fb 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/loader.c
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/loader.c
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/loader.c,v 1.2 2000/11/08 17:58:43 alanh Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/loader.c,v 1.3 2000/12/01 18:31:07 paulo Exp $
*/
#define LOADER_PRIVATE
#include "loader.h"
@@ -35,6 +35,7 @@
#ifdef USE_MODULES
void xf86AddDriver(DriverPtr, void*, int);
+Bool xf86ServerIsOnlyDetecting(void);
xf86cfgDriverOptions *video_driver_info;
@@ -229,6 +230,7 @@ LOOKUP xfree86LookupTab[] = {
SYMFUNC(xf86longjmp)
SYMFUNC(xf86AddDriver)
+ SYMFUNC(xf86ServerIsOnlyDetecting)
{0,0}
};
@@ -341,4 +343,10 @@ xf86AddDriver(DriverPtr drv, void *module, int flags)
{
driver = drv;
}
+
+Bool
+xf86ServerIsOnlyDetecting(void)
+{
+ return (True);
+}
#endif
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c b/xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c
index 3bfdbf57c..ddde6aace 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c,v 1.3 2000/10/20 14:59:06 alanh Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c,v 1.4 2000/11/30 20:55:18 paulo Exp $
*/
#include "xf86config.h"
@@ -52,10 +52,6 @@ static Bool MonitorConfigCheck(void);
static void MonitorHsyncCallback(Widget, XtPointer, XtPointer);
static void MonitorVsyncCallback(Widget, XtPointer, XtPointer);
static void MonitorSelectCardCallback(Widget, XtPointer, XtPointer);
-static int string_to_parser_range(char*, parser_range*, int);
-#define PARSER_RANGE_SIZE 256
-/* string must have at least 256 bytes */
-static int parser_range_to_string(char*, parser_range*, int);
extern void DrawCables(void);
@@ -258,7 +254,7 @@ MonitorConfigCheck(void)
return (True);
}
-static int
+int
string_to_parser_range(char *str, parser_range *range, int nrange)
{
double val;
@@ -295,7 +291,7 @@ string_to_parser_range(char *str, parser_range *range, int nrange)
return (i);
}
-static int
+int
parser_range_to_string(char *str, parser_range *range, int nrange)
{
int i, len;
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.h b/xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.h
index 8265e4340..03ca18a41 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.h
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.h
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.h,v 1.2 2000/05/18 16:29:59 dawes Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.h,v 1.3 2000/11/30 20:55:18 paulo Exp $
*/
#include "config.h"
@@ -40,5 +40,9 @@
XtPointer MonitorConfig(XtPointer);
void MonitorLayout(XF86SetupInfo*);
void MonitorVidtune(XF86SetupInfo*);
+int string_to_parser_range(char*, parser_range*, int);
+#define PARSER_RANGE_SIZE 256
+/* string must have at least 256 bytes */
+int parser_range_to_string(char*, parser_range*, int);
#endif /* _xf86cfg_monitor_h */
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/options.c b/xc/programs/Xserver/hw/xfree86/xf86cfg/options.c
index e3ff91b51..792002001 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/options.c
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/options.c
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/options.c,v 1.3 2000/10/20 14:59:07 alanh Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/options.c,v 1.4 2000/11/30 20:55:18 paulo Exp $
*/
#include "options.h"
@@ -57,14 +57,22 @@ static void AddDriverOption(Widget, XtPointer, XtPointer);
/*
* Initialization
*/
+Widget optionsShell;
static XF86OptionPtr *options;
-static Widget shell, add, remov, update, list, name, value;
+static Widget add, remov, update, list, name, value;
static char *option_str;
static int option_index, popped = False;
/*
* Implementation
*/
+void
+CreateOptionsShell(void)
+{
+ optionsShell = XtCreatePopupShell("options", transientShellWidgetClass,
+ toplevel, NULL, 0);
+}
+
#ifdef USE_MODULES
void
OptionsPopup(XF86OptionPtr *opts, char *driver, OptionInfoPtr drv_opts)
@@ -91,10 +99,10 @@ OptionsPopup(XF86OptionPtr *opts)
first = 0;
- shell = XtCreatePopupShell("options", transientShellWidgetClass,
- toplevel, NULL, 0);
+ if (optionsShell == NULL)
+ CreateOptionsShell();
pane = XtCreateManagedWidget("pane", panedWidgetClass,
- shell, NULL, 0);
+ optionsShell, NULL, 0);
form = XtCreateManagedWidget("commands", formWidgetClass,
pane, NULL, 0);
add = XtCreateManagedWidget("add", commandWidgetClass,
@@ -142,8 +150,8 @@ OptionsPopup(XF86OptionPtr *opts)
#endif
XtAddCallback(popdown, XtNcallback, PopdownCallback, NULL);
- XtRealizeWidget(shell);
- XSetWMProtocols(DPY, XtWindow(shell), &wm_delete_window, 1);
+ XtRealizeWidget(optionsShell);
+ XSetWMProtocols(DPY, XtWindow(optionsShell), &wm_delete_window, 1);
#ifdef USE_MODULES
{
@@ -204,10 +212,10 @@ OptionsPopup(XF86OptionPtr *opts)
UpdateOptionList();
popped = True;
- XtPopup(shell, XtGrabExclusive);
+ XtPopup(optionsShell, XtGrabExclusive);
while (popped)
- XtAppProcessEvent(XtWidgetToApplicationContext(shell), XtIMAll);
+ XtAppProcessEvent(XtWidgetToApplicationContext(optionsShell), XtIMAll);
}
static void
@@ -263,7 +271,7 @@ UpdateOptionList(void)
static void
PopdownCallback(Widget w, XtPointer user_data, XtPointer call_data)
{
- XtPopdown(shell);
+ XtPopdown(optionsShell);
popped = False;
}
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/screen-cfg.c b/xc/programs/Xserver/hw/xfree86/xf86cfg/screen-cfg.c
index bda0942df..364e96fa9 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/screen-cfg.c
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/screen-cfg.c
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/screen-cfg.c,v 1.4 2000/10/20 14:59:07 alanh Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/screen-cfg.c,v 1.5 2000/12/01 18:31:07 paulo Exp $
*/
#include "xf86config.h"
@@ -102,8 +102,10 @@ ScreenConfig(XtPointer conf)
default_depth = 8;
sel_index = unsel_index = -1;
for (i = 0; i < computer.num_screens; i++)
- if (computer.screens[i]->screen == screen)
+ if (computer.screens[i]->screen == screen) {
+ SetScreenRotate(computer.screens[i]);
rotate = computer.screens[i]->rotate;
+ }
oldrotate = rotate;
ndefmodes = 0;
@@ -207,7 +209,6 @@ ScreenConfig(XtPointer conf)
computer.screens[i]->rotate = rotate;
if (oldrotate != rotate) {
- XF86OptionPtr option;
static char *Rotate = "Rotate";
if (screen->scrn_option_lst != NULL)
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/screen.c b/xc/programs/Xserver/hw/xfree86/xf86cfg/screen.c
index 0876e89d9..a1bbf8c8f 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/screen.c
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/screen.c
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/screen.c,v 1.4 2000/10/20 14:59:07 alanh Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/screen.c,v 1.5 2000/12/01 18:31:07 paulo Exp $
*/
#include <X11/IntrinsicP.h>
@@ -56,17 +56,11 @@ static int *mon_widths, *mon_heights;
* Implementation
*/
void
-CreateScreenWidget(xf86cfgScreen *screen)
+SetScreenRotate(xf86cfgScreen *screen)
{
static char *Rotate = "Rotate", *_CW = "CW", *_CCW = "CCW";
int rotate = 0;
XF86OptionPtr option, options;
- Widget w = XtCreateWidget("screen", simpleWidgetClass,
- XtParent(computer.cpu), NULL, 0);
-
- /* When this function is called, the monitor and card fields should have
- * been already set.
- */
/* This is the only place where xf86cfg is intrusive, and deletes options
* added by the user directly in the config file. The "Rotate" option
@@ -108,7 +102,15 @@ CreateScreenWidget(xf86cfgScreen *screen)
XtNewString(Rotate),
XtNewString(rotate > 0 ? _CW : _CCW));
screen->rotate = rotate;
+}
+
+void
+CreateScreenWidget(xf86cfgScreen *screen)
+{
+ Widget w = XtCreateWidget("screen", simpleWidgetClass,
+ XtParent(computer.cpu), NULL, 0);
+ SetScreenRotate(screen);
XtRealizeWidget(w);
screen->widget = w;
screen->column = screen->row = -1;
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/screen.h b/xc/programs/Xserver/hw/xfree86/xf86cfg/screen.h
index c0e30923c..7c3e2c75f 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/screen.h
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/screen.h
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/screen.h,v 1.2 2000/05/18 16:30:00 dawes Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/screen.h,v 1.3 2000/12/01 18:31:07 paulo Exp $
*/
#include "xf86config.h"
@@ -44,6 +44,7 @@ void RemoveScreen(xf86cfgDevice*, xf86cfgDevice*);
void DrawScreen(Display*, Drawable, int, int, int, int, Bool, int);
void DrawScreenMask(Display*, Drawable, GC, int, int, int, int, int);
void CreateScreenWidget(xf86cfgScreen*);
+void SetScreenRotate(xf86cfgScreen*);
void AdjustScreenUI(void);
void UpdateScreenUI(void);
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/startx.c b/xc/programs/Xserver/hw/xfree86/xf86cfg/startx.c
index f3053ed1e..c983bacbe 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/startx.c
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/startx.c
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/startx.c,v 1.4 2000/11/03 18:46:18 eich Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/startx.c,v 1.5 2000/11/30 20:55:18 paulo Exp $
*/
#include "config.h"
@@ -60,10 +60,10 @@ startx(void)
if (XFree86_path)
c_pos = XmuSnprintf(commandline, sizeof(commandline),
- "%s/XFree86 :8 -configure ",XFree86_path);
+ "%s/X :8 -configure ",XFree86_path);
else
c_pos = XmuSnprintf(commandline, sizeof(commandline),
- "%s/bin/XFree86 :8 -configure ", XFree86Dir);
+ "%s/bin/X :8 -configure ", XFree86Dir);
if (XF86Module_path && ((len = sizeof(commandline) - c_pos) > 0))
c_pos += XmuSnprintf(commandline + c_pos,len,
" -modulepath %s",XF86Module_path);
@@ -75,7 +75,7 @@ startx(void)
" -rgbpath %s",XF86RGB_path);
if (system(commandline) != 0) {
- fprintf(stderr, "Failed to run \"XFree86 -configure\".\n");
+ fprintf(stderr, "Failed to run \"X -configure\".\n");
exit(1);
}
@@ -96,9 +96,9 @@ startx(void)
case 0: {
char path[PATH_MAX];
if (XFree86_path)
- XmuSnprintf(path, sizeof(path), "%s/XFree86", XFree86_path);
+ XmuSnprintf(path, sizeof(path), "%s/X", XFree86_path);
else
- XmuSnprintf(path, sizeof(path), "%s/bin/XFree86", XFree86Dir);
+ XmuSnprintf(path, sizeof(path), "%s/bin/X", XFree86Dir);
execl(path, "X", ":8", /*"+xinerama",*/ "+accessx","-allowMouseOpenFail",
"-xf86config", XF86Config_path, NULL);
exit(-127);
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.c b/xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.c
index 908568967..08fd8285e 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.c
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.c
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.c,v 1.3 2000/10/20 14:59:08 alanh Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.c,v 1.4 2000/11/30 20:55:18 paulo Exp $
*/
#include "xf86config.h"
@@ -153,7 +153,7 @@ xf86removeDevice(XF86ConfigPtr config, XF86ConfDevicePtr device)
if (scr->scrn_device == device) {
xf86removeScreen(config, scr);
if (scr == psc)
- scr = config->conf_screen_lst;
+ scr = psc = config->conf_screen_lst;
else
scr = psc;
continue;
@@ -206,10 +206,7 @@ xf86removeMonitor(XF86ConfigPtr config, XF86ConfMonitorPtr monitor)
while (scr != NULL) {
if (scr->scrn_monitor == monitor) {
xf86removeScreen(config, scr);
- if (scr == psc)
- scr = config->conf_screen_lst;
- else
- scr = psc;
+ scr = psc = config->conf_screen_lst;
continue;
}
psc = scr;
@@ -310,8 +307,10 @@ xf86removeScreen(XF86ConfigPtr config, XF86ConfScreenPtr screen)
lay = (XF86ConfLayoutPtr)(lay->list.next);
}
+ xf86freeAdaptorLinkList(screen->scrn_adaptor_lst);
+ xf86freeDisplayList(screen->scrn_display_lst);
+
XtFree(screen->scrn_identifier);
- XtFree(screen->scrn_obso_driver);
XtFree(screen->scrn_monitor_str);
XtFree(screen->scrn_device_str);
xf86optionListFree(screen->scrn_option_lst);
@@ -437,6 +436,414 @@ xf86removeLayout(XF86ConfigPtr config, XF86ConfLayoutPtr layout)
}
int
+xf86removeModule(XF86ConfigPtr config, XF86LoadPtr load)
+{
+ XF86LoadPtr prev, mod;
+
+ if (config == NULL || config->conf_modules == NULL ||
+ config->conf_modules->mod_load_lst == NULL)
+ return (False);
+
+ for (mod = prev = config->conf_modules->mod_load_lst;
+ mod != NULL; prev = mod, mod = (XF86LoadPtr)(mod->list.next))
+ if (load == mod) {
+ if (mod == prev)
+ config->conf_modules->mod_load_lst =
+ (XF86LoadPtr)(mod->list.next);
+ else
+ prev->list.next = mod->list.next;
+ XtFree(mod->load_name);
+ xf86optionListFree(mod->load_opt);
+
+ return (True);
+ }
+
+ return (False);
+}
+
+int
+xf86removeModes(XF86ConfigPtr config, XF86ConfModesPtr modes)
+{
+ XF86ConfModesPtr mod;
+ XF86ConfModeLinePtr ml, next;
+ XF86ConfMonitorPtr mon;
+
+ if (config == NULL || modes == NULL)
+ return (False);
+
+ /* check if modes is in config */
+ if ((mod = config->conf_modes_lst) == modes)
+ config->conf_modes_lst = (XF86ConfModesPtr)(mod->list.next);
+ else
+ for (; mod != NULL; mod = (XF86ConfModesPtr)(mod->list.next))
+ if ((XF86ConfModesPtr)(mod->list.next) == modes) {
+ mod->list.next = modes->list.next;
+ break;
+ }
+
+ if (mod == NULL)
+ return (False);
+
+ /* remove references in monitor sections */
+ mon = config->conf_monitor_lst;
+ while (mon) {
+ XF86ConfModesLinkPtr m, p;
+
+ m = p = mon->mon_modes_sect_lst;
+ while (m) {
+ if (m->ml_modes == modes) {
+ XtFree(m->ml_modes_str);
+ if (m == mon->mon_modes_sect_lst)
+ p = mon->mon_modes_sect_lst =
+ (XF86ConfModesLinkPtr)(m->list.next);
+ else {
+ p->list.next = m->list.next;
+ p = p->list.next;
+ }
+ XtFree((XtPointer)m);
+ m = p;
+ continue;
+ }
+ p = m;
+ m = (XF86ConfModesLinkPtr)(m->list.next);
+ }
+ mon = (XF86ConfMonitorPtr)(mon->list.next);
+ }
+
+ /* free modelines */
+ ml = modes->mon_modeline_lst;
+ while (ml) {
+ next = (XF86ConfModeLinePtr)(ml->list.next);
+ XtFree(ml->ml_identifier);
+ XtFree((XtPointer)ml);
+ ml = next;
+ }
+
+ /* free mode */
+ XtFree(modes->modes_identifier);
+ XtFree((XtPointer)modes);
+
+ return (True);
+}
+
+int
+xf86removeModesModeLine(XF86ConfModesPtr modes, XF86ConfModeLinePtr modeline)
+{
+ XF86ConfModeLinePtr ml, prev;
+
+ if (modes == NULL || modeline == NULL || modes->mon_modeline_lst == NULL)
+ return (False);
+
+ for (ml = prev = modes->mon_modeline_lst; ml;
+ prev = ml, ml = (XF86ConfModeLinePtr)(ml->list.next))
+ if (ml == modeline) {
+ if (prev == ml)
+ modes->mon_modeline_lst = (XF86ConfModeLinePtr)(ml->list.next);
+ else
+ prev->list.next = ml->list.next;
+ XtFree(modeline->ml_identifier);
+ XtFree((XtPointer)modeline);
+ return (True);
+ }
+
+ return (False);
+}
+
+int
+xf86removeMonitorModeLine(XF86ConfMonitorPtr monitor, XF86ConfModeLinePtr modeline)
+{
+ XF86ConfModeLinePtr ml, prev;
+
+ if (monitor == NULL || modeline == NULL || monitor->mon_modeline_lst == NULL)
+ return (False);
+
+ for (ml = prev = monitor->mon_modeline_lst; ml;
+ prev = ml, ml = (XF86ConfModeLinePtr)(ml->list.next))
+ if (ml == modeline) {
+ if (prev == ml)
+ monitor->mon_modeline_lst = (XF86ConfModeLinePtr)(ml->list.next);
+ else
+ prev->list.next = ml->list.next;
+ XtFree(modeline->ml_identifier);
+ XtFree((XtPointer)modeline);
+ return (True);
+ }
+
+ return (False);
+}
+
+int
+xf86removeMonitorModesLink(XF86ConfMonitorPtr monitor, XF86ConfModesLinkPtr link)
+{
+ XF86ConfModesLinkPtr lnk, prev;
+
+ if (monitor == NULL || link == NULL || monitor->mon_modes_sect_lst == NULL)
+ return (False);
+
+ for (lnk = prev = monitor->mon_modes_sect_lst; lnk != NULL;
+ prev = lnk, lnk = (XF86ConfModesLinkPtr)(lnk->list.next))
+ if (lnk == link) {
+ if (prev == lnk)
+ monitor->mon_modes_sect_lst = (XF86ConfModesLinkPtr)(lnk->list.next);
+ else
+ prev->list.next = lnk->list.next;
+ XtFree(link->ml_modes_str);
+ XtFree((XtPointer)link);
+
+ return (True);
+ }
+
+ return (False);
+}
+
+int
+xf86removeScreenAdaptorLink(XF86ConfScreenPtr scrn, XF86ConfAdaptorLinkPtr link)
+{
+ XF86ConfAdaptorLinkPtr lnk, prev;
+
+ if (scrn == NULL || link == NULL || scrn->scrn_adaptor_lst == NULL)
+ return (False);
+
+ for (lnk = prev = scrn->scrn_adaptor_lst; lnk != NULL;
+ prev = lnk, lnk = (XF86ConfAdaptorLinkPtr)(lnk->list.next))
+ if (lnk == link) {
+ if (prev == lnk)
+ scrn->scrn_adaptor_lst =
+ (XF86ConfAdaptorLinkPtr)(lnk->list.next);
+ else
+ prev->list.next = lnk->list.next;
+ XtFree(link->al_adaptor_str);
+ XtFree((XtPointer)link);
+
+ return (True);
+ }
+
+ return (False);
+}
+
+int
+xf86removeScreenDisplay(XF86ConfScreenPtr scrn, XF86ConfDisplayPtr display)
+{
+ XF86ConfDisplayPtr dsp, prev;
+
+ if (scrn == NULL || display == NULL || scrn->scrn_display_lst == NULL)
+ return (False);
+
+ for (dsp = prev = scrn->scrn_display_lst; dsp != NULL;
+ prev = dsp, dsp = (XF86ConfDisplayPtr)(dsp->list.next))
+ if (dsp == display) {
+ if (prev == dsp)
+ scrn->scrn_display_lst =
+ (XF86ConfDisplayPtr)(dsp->list.next);
+ else
+ prev->list.next = dsp->list.next;
+ xf86optionListFree(display->disp_option_lst);
+ XtFree((XtPointer)display->disp_visual);
+ xf86freeModeList(display->disp_mode_lst);
+ XtFree((XtPointer)display);
+
+ return (True);
+ }
+
+ return (False);
+}
+
+int
+xf86removeVideoAdaptor(XF86ConfigPtr config, XF86ConfVideoAdaptorPtr video)
+{
+ XF86ConfVideoAdaptorPtr vid;
+ XF86ConfScreenPtr scrn;
+ XF86ConfVideoPortPtr vp, next;
+
+ if (config == NULL || video == NULL)
+ return (False);
+
+ /* check if video is in config and update videoadaptor list */
+ if ((vid = config->conf_videoadaptor_lst) == video)
+ config->conf_videoadaptor_lst = (XF86ConfVideoAdaptorPtr)(vid->list.next);
+ else
+ for (; vid != NULL; vid = (XF86ConfVideoAdaptorPtr)(vid->list.next))
+ if ((XF86ConfVideoAdaptorPtr)(vid->list.next) == video) {
+ vid->list.next = video->list.next;
+ break;
+ }
+
+ if (vid == NULL)
+ return (False);
+
+ /* remove references in screen sections */
+ scrn = config->conf_screen_lst;
+ while (scrn) {
+ XF86ConfAdaptorLinkPtr v, p;
+
+ v = p = scrn->scrn_adaptor_lst;
+ while (v) {
+ if (v->al_adaptor == video) {
+ XtFree(v->al_adaptor_str);
+ if (v == scrn->scrn_adaptor_lst)
+ p = scrn->scrn_adaptor_lst =
+ (XF86ConfAdaptorLinkPtr)(v->list.next);
+ else {
+ p->list.next = v->list.next;
+ p = p->list.next;
+ }
+ XtFree((XtPointer)v);
+ v = p;
+ continue;
+ }
+ p = v;
+ v = (XF86ConfAdaptorLinkPtr)(v->list.next);
+ }
+ scrn = (XF86ConfScreenPtr)(scrn->list.next);
+ }
+
+ /* free videoports */
+ vp = video->va_port_lst;
+ while (vp) {
+ next = (XF86ConfVideoPortPtr)(vp->list.next);
+ XtFree(vp->vp_identifier);
+ xf86optionListFree(vp->vp_option_lst);
+ XtFree((XtPointer)vp);
+ vp = next;
+ }
+
+ /* free videoadaptor */
+ XtFree(video->va_identifier);
+ XtFree(video->va_vendor);
+ XtFree(video->va_board);
+ XtFree(video->va_busid);
+ XtFree(video->va_driver);
+ XtFree(video->va_fwdref);
+ xf86optionListFree(video->va_option_lst);
+ XtFree((XtPointer)video);
+
+ return (True);
+}
+
+int
+xf86removeVideoPort(XF86ConfVideoAdaptorPtr va, XF86ConfVideoPortPtr vp)
+{
+ XF86ConfVideoPortPtr prev;
+
+ if (va == NULL || vp == NULL)
+ return (False);
+
+ if ((prev = va->va_port_lst) == vp)
+ va->va_port_lst = (XF86ConfVideoPortPtr)(va->va_port_lst->list.next);
+ else {
+ while (prev && (XF86ConfVideoPortPtr)(prev->list.next) != vp)
+ prev = (XF86ConfVideoPortPtr)(prev->list.next);
+ if (prev == NULL)
+ return (False);
+ prev->list.next = vp->list.next;
+ }
+
+ xf86optionListFree(vp->vp_option_lst);
+ XtFree((XtPointer)vp);
+
+ return (True);
+}
+
+int
+xf86removeDisplayMode(XF86ConfDisplayPtr display, XF86ModePtr mode)
+{
+ XF86ModePtr prev;
+
+ if (display == NULL || mode == NULL)
+ return (False);
+
+ if ((prev = display->disp_mode_lst) == mode)
+ display->disp_mode_lst = (XF86ModePtr)(display->disp_mode_lst->list.next);
+ else {
+ while (prev && (XF86ModePtr)(prev->list.next) != mode)
+ prev = (XF86ModePtr)(prev->list.next);
+ if (prev == NULL)
+ return (False);
+ prev->list.next = mode->list.next;
+ }
+
+ XtFree((XtPointer)mode);
+
+ return (True);
+}
+
+int
+xf86removeVendor(XF86ConfigPtr config, XF86ConfVendorPtr vendor)
+{
+ XF86ConfVendorPtr prev;
+
+ if (config == NULL || vendor == NULL)
+ return (False);
+
+ if ((prev = config->conf_vendor_lst) == vendor)
+ config->conf_vendor_lst = (XF86ConfVendorPtr)(config->conf_vendor_lst->list.next);
+ else {
+ while (prev && (XF86ConfVendorPtr)(prev->list.next) != vendor)
+ prev = (XF86ConfVendorPtr)(prev->list.next);
+ if (prev == NULL)
+ return (False);
+ prev->list.next = vendor->list.next;
+ }
+
+ xf86optionListFree(vendor->vnd_option_lst);
+ xf86freeVendorSubList(vendor->vnd_sub_lst);
+ XtFree(vendor->vnd_identifier);
+ XtFree((XtPointer)vendor);
+
+ return (True);
+}
+
+int
+xf86removeVendorSub(XF86ConfVendorPtr vendor, XF86ConfVendSubPtr sub)
+{
+ XF86ConfVendSubPtr prev;
+
+ if (vendor == NULL || sub == NULL)
+ return (False);
+
+ if ((prev = vendor->vnd_sub_lst) == sub)
+ vendor->vnd_sub_lst = (XF86ConfVendSubPtr)(vendor->vnd_sub_lst->list.next);
+ else {
+ while (prev && (XF86ConfVendSubPtr)(prev->list.next) != sub)
+ prev = (XF86ConfVendSubPtr)(prev->list.next);
+ if (prev == NULL)
+ return (False);
+ prev->list.next = sub->list.next;
+ }
+
+ xf86optionListFree(sub->vs_option_lst);
+ XtFree(sub->vs_name);
+ XtFree(sub->vs_identifier);
+ XtFree((XtPointer)sub);
+
+ return (True);
+}
+
+int
+xf86removeBuffers(XF86ConfDRIPtr dri, XF86ConfBuffersPtr buf)
+{
+ XF86ConfBuffersPtr prev;
+
+ if (dri == NULL || buf == NULL)
+ return (False);
+
+ if ((prev = dri->dri_buffers_lst) == buf)
+ dri->dri_buffers_lst = (XF86ConfBuffersPtr)(dri->dri_buffers_lst->list.next);
+ else {
+ while (prev && (XF86ConfBuffersPtr)(prev->list.next) != buf)
+ prev = (XF86ConfBuffersPtr)(prev->list.next);
+ if (prev == NULL)
+ return (False);
+ prev->list.next = buf->list.next;
+ }
+
+ XtFree(buf->buf_flags);
+ XtFree((XtPointer)buf);
+
+ return (True);
+}
+
+int
xf86renameInput(XF86ConfigPtr config, XF86ConfInputPtr input, char *name)
{
XF86ConfLayoutPtr lay = config->conf_layout_lst;
diff --git a/xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.h b/xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.h
index 4392a53db..575c3c9d0 100644
--- a/xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.h
+++ b/xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.h
@@ -26,7 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.h,v 1.3 2000/10/20 14:59:08 alanh Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/xf86config.h,v 1.4 2000/11/30 20:55:18 paulo Exp $
*/
#include "config.h"
@@ -40,6 +40,8 @@
(XF86ConfInputrefPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
#define xf86addDevice(head, ptr) \
(XF86ConfDevicePtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addDisplayMode(head, ptr) \
+ (XF86ModePtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
#define xf86addMonitor(head, ptr) \
(XF86ConfMonitorPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
#define xf86addScreen(head, ptr) \
@@ -48,16 +50,52 @@
(XF86ConfLayoutPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
#define xf86addModeLine(head, ptr) \
(XF86ConfModeLinePtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addModes(head, ptr) \
+ (XF86ConfModesPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addModesLink(head, ptr) \
+ (XF86ConfModesLinkPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addModule(head, ptr) \
+ (XF86LoadPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addScreenAdaptor(head, ptr) \
+ (XF86ConfAdaptorLinkPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addScreenDisplay(head, ptr) \
+ (XF86ConfDisplayPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addVideoAdaptor(head, ptr) \
+ (XF86ConfVideoAdaptorPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addVideoPort(head, ptr) \
+ (XF86ConfVideoPortPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addAdjacency(head, ptr) \
+ (XF86ConfAdjacencyPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addVendor(head, ptr) \
+ (XF86ConfVendorPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addVendorSub(head, ptr) \
+ (XF86ConfVendSubPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+#define xf86addBuffers(head, ptr) \
+ (XF86ConfBuffersPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr))
+
int xf86removeOption(XF86OptionPtr*, char*);
int xf86removeInput(XF86ConfigPtr, XF86ConfInputPtr);
int xf86removeInputRef(XF86ConfLayoutPtr, XF86ConfInputPtr);
int xf86removeDevice(XF86ConfigPtr, XF86ConfDevicePtr);
+int xf86removeDisplayMode(XF86ConfDisplayPtr, XF86ModePtr);
int xf86removeMonitor(XF86ConfigPtr, XF86ConfMonitorPtr);
int xf86removeScreen(XF86ConfigPtr, XF86ConfScreenPtr);
int xf86removeAdjacency(XF86ConfLayoutPtr, XF86ConfAdjacencyPtr);
int xf86removeInactive(XF86ConfLayoutPtr, XF86ConfInactivePtr);
int xf86removeLayout(XF86ConfigPtr, XF86ConfLayoutPtr);
+int xf86removeModule(XF86ConfigPtr, XF86LoadPtr);
+int xf86removeModes(XF86ConfigPtr, XF86ConfModesPtr);
+int xf86removeModesModeLine(XF86ConfModesPtr, XF86ConfModeLinePtr);
+int xf86removeMonitorModeLine(XF86ConfMonitorPtr, XF86ConfModeLinePtr);
+int xf86removeMonitorModesLink(XF86ConfMonitorPtr, XF86ConfModesLinkPtr);
+int xf86removeScreenAdaptorLink(XF86ConfScreenPtr, XF86ConfAdaptorLinkPtr);
+int xf86removeScreenDisplay(XF86ConfScreenPtr, XF86ConfDisplayPtr);
+int xf86removeVideoAdaptor(XF86ConfigPtr, XF86ConfVideoAdaptorPtr);
+int xf86removeVideoPort(XF86ConfVideoAdaptorPtr, XF86ConfVideoPortPtr);
+int xf86removeVendor(XF86ConfigPtr, XF86ConfVendorPtr);
+int xf86removeVendorSub(XF86ConfVendorPtr, XF86ConfVendSubPtr);
+int xf86removeBuffers(XF86ConfDRIPtr, XF86ConfBuffersPtr);
int xf86renameInput(XF86ConfigPtr, XF86ConfInputPtr, char*);
int xf86renameDevice(XF86ConfigPtr, XF86ConfDevicePtr, char*);
@@ -65,5 +103,9 @@ int xf86renameMonitor(XF86ConfigPtr, XF86ConfMonitorPtr, char*);
int xf86renameLayout(XF86ConfigPtr, XF86ConfLayoutPtr, char*);
int xf86renameScreen(XF86ConfigPtr, XF86ConfScreenPtr, char*);
-#endif /* _xf86cfg_xf86config_h */
+extern void xf86freeAdaptorLinkList(XF86ConfAdaptorLinkPtr);
+extern void xf86freeDisplayList(XF86ConfDisplayPtr);
+extern void xf86freeModeList(XF86ModePtr);
+extern void xf86freeVendorSubList(XF86ConfVendSubPtr);
+#endif /* _xf86cfg_xf86config_h */
diff --git a/xc/programs/Xserver/os/Imakefile b/xc/programs/Xserver/os/Imakefile
index 68c0e3f5c..1854c7ecb 100644
--- a/xc/programs/Xserver/os/Imakefile
+++ b/xc/programs/Xserver/os/Imakefile
@@ -1,5 +1,5 @@
XCOMM $TOG: Imakefile /main/85 1997/12/07 18:26:23 kaleb $
-XCOMM $XFree86: xc/programs/Xserver/os/Imakefile,v 3.27 2000/05/05 17:47:29 keithp Exp $
+XCOMM $XFree86: xc/programs/Xserver/os/Imakefile,v 3.28 2000/11/30 23:30:06 dawes Exp $
#include <Server.tmpl>
/*
@@ -108,6 +108,9 @@ BOOTSTRAPCFLAGS =
KRB5_DEFINES = Krb5Defines
XALLOC_DEFINES = XallocDefines
ERROR_DEFINES = ServerErrorDefines
+#if HasPam && HasPamMisc
+ PAM_DEFINES = -DUSE_PAM
+#endif
DEFINES = -DXSERV_t -DTRANS_SERVER $(CONNECTION_FLAGS) $(MEM_DEFINES) $(XDMAUTHDEFS) $(RPCDEFS) $(SIGNAL_DEFINES) $(OS_DEFINES) $(KRB5_DEFINES) $(RGB_DEFINES)
INCLUDES = -I. -I../include -I$(XINCLUDESRC) -I$(EXTINCSRC) -I$(TOP)/lib/Xau -I../lbx Krb5Includes
DEPEND_DEFINES = $(DBM_DEFINES) $(XDMCP_DEFINES) $(EXT_DEFINES) $(TRANS_INCLUDES) $(CONNECTION_FLAGS)
@@ -145,7 +148,7 @@ SpecialCObjectRule(io,$(ICONFIGFILES),$(EXT_DEFINES))
#if BuildLBX
SpecialCObjectRule(lbxio,$(ICONFIGFILES),$(EXT_DEFINES))
#endif
-SpecialCObjectRule(utils,$(ICONFIGFILES),$(XDMCP_DEFINES) $(EXT_DEFINES) $(ERROR_DEFINES))
+SpecialCObjectRule(utils,$(ICONFIGFILES),$(XDMCP_DEFINES) $(EXT_DEFINES) $(ERROR_DEFINES) $(PAM_DEFINES))
SpecialCObjectRule(xalloc,$(ICONFIGFILES),$(XALLOC_DEFINES))
#if defined(SparcArchitecture) && HasGcc && !HasGcc2
oscolor.o: oscolor.c $(ICONFIGFILES)