1
0
mirror of git://projects.qi-hardware.com/openwrt-packages.git synced 2024-12-22 17:59:54 +02:00

Port of SVGAlib; patched to only use the linux frame buffer

Try the svgalib-demo programs: vgatest, speedtest etc. seem to work.
This commit is contained in:
David Kühling 2011-01-06 14:41:46 +01:00
parent 3fb4302e3a
commit ac7a991ae2
11 changed files with 897 additions and 0 deletions

140
svgalib/Makefile Normal file
View File

@ -0,0 +1,140 @@
#
# Copyright (C) 2011 David Kuehling <dvdkhlng TA gmx TOD de>
#
# License GPLv2 or later. NO WARRANTY.
#
# OpenWRT package for the SVGAlib
# On the nanonote you might need export SVGALIB_DEFAULT_MODE=54
# for applications to work correctly.
include $(TOPDIR)/rules.mk
PKG_NAME:=svgalib
PKG_VERSION:=1.4.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.svgalib.org/
PKG_MD5SUM:=7d2778e3beebc07dd7c74668f6887c6f
PKG_INSTALL:=1
#PKG_FIXUP:=libtool
#PKG_BUILD_DEPENDS:= libtool/host
include $(INCLUDE_DIR)/package.mk
define Package/svgalib/Default
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Linux SVGA Library
URL:=http://www.svgalib.org/
endef
define Package/svgalib/Default/description
SVGAlib is a low-level graphics library for Linux.
This package compiles a portable version that only contains the Linux
framebuffer driver.
endef
define Package/svgalib
$(call Package/svgalib/Default)
TITLE +=
DEPENDS:=
endef
define Package/svgalib/description
$(call Package/svgalib/Default/description)
endef
define Package/svgalib-demo
$(call Package/svgalib/Default)
TITLE += (demo programs)
DEPENDS:=svgalib
endef
define Package/svgalib-demo/description
$(call Package/svgalib/Default/description)
This package contains the demo programs.
endef
TARGET_CFLAGS +=
#TARGET_LDFLAGS += -Wl,-rpath -Wl,$(STAGING_DIR)/usr/lib
# Nothing todo. Makefile.cfg adapted via patch
define Build/Configure
endef
#MAKE_FLAGS += -j2
SVGALIB_BUILD_TARGETS = \
shared \
static
SVGALIB_INSTALL_TARGETS = \
installstaticlib \
installsharedlib \
installheaders \
installconfig
ifdef CONFIG_PACKAGE_svgalib-demo
SVGALIB_BUILD_TARGETS += demoprogs
define SVGALIB_COMPILE_DEMO
$(INSTALL_DIR) $(PKG_BUILD_DIR)/tmp-install/usr/lib
$(call Build/Compile/Default,installsharedlib DESTDIR=$(PKG_BUILD_DIR)/tmp-install)
$(call Build/Compile/Default,demoprogs LDFLAGS+="-L$(PKG_BUILD_DIR)/tmp-install/usr/lib")
endef
else
SVGALIB_COMPILE_DEMO:=
endif
define Build/Compile
$(call Build/Compile/Default,shared static)
$(call SVGALIB_COMPILE_DEMO)
endef
define Build/Install
$(INSTALL_DIR) $(PKG_INSTALL_DIR)/etc/
$(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/lib
$(call Build/Install/Default,\
installstaticlib installsharedlib installheaders installconfig)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib
$(CP) \
$(PKG_INSTALL_DIR)/usr/include/* \
$(1)/usr/include/
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/*.{a,so*} \
$(1)/usr/lib/
endef
define Package/svgalib/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/*.so* \
$(1)/usr/lib/
$(INSTALL_DIR) $(1)/etc/vga
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/vga/* \
$(1)/etc/vga/
endef
define Package/svgalib-demo/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $$$$(find $(PKG_BUILD_DIR)/demos -executable -type f) \
$(1)/usr/bin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/threeDKit/{plane,wrapdemo} \
$(1)/usr/bin/
endef
$(eval $(call BuildPackage,svgalib))
$(eval $(call BuildPackage,svgalib-demo))
# The following comments configure the Emacs editor. Just ignore them.
# Local Variables:
# compile-command: "make -C ~/h/src/qi/openwrt-xburst package/svgalib/compile -j2 V=99"
# End:

View File

@ -0,0 +1,215 @@
Index: svgalib-1.4.3/Makefile.cfg
===================================================================
--- svgalib-1.4.3.orig/Makefile.cfg 2011-01-06 13:52:51.000000000 +0100
+++ svgalib-1.4.3/Makefile.cfg 2011-01-06 13:53:01.000000000 +0100
@@ -24,8 +24,8 @@
# Common prefix for installation directories.
# NOTE: This directory must exist when you start the install.
-TOPDIR=
-prefix = $(TOPDIR)/usr/local
+TOPDIR=$(DESTDIR)
+prefix = $(TOPDIR)/usr
exec_prefix = $(prefix)
# Directory where the shared stubs and static library will be installed.
@@ -52,7 +52,7 @@
#uncomment this if your compiler fails on compiling the assembler in
#src/vgaconvplanar.c, gl/inlstring.h, gl/line.c or gl/scale.c
-# NO_ASM = y
+NO_ASM = y
# Uncomment this if you want root processes to be able to always get a new
# VC. Alas, some games misuse suid root privs and become root, svgalib cannot
@@ -123,98 +123,98 @@
#
# Comment out any driver that you don't want included in the library.
#
-INCLUDE_ET4000_DRIVER = y
-INCLUDE_CIRRUS_DRIVER = y
-INCLUDE_TVGA_DRIVER = y
+# INCLUDE_ET4000_DRIVER = y
+# INCLUDE_CIRRUS_DRIVER = y
+# INCLUDE_TVGA_DRIVER = y
#INCLUDE_OAK_DRIVER = y
#INCLUDE_EGA_DRIVER = y
-INCLUDE_MACH32_DRIVER = y
-INCLUDE_S3_DRIVER = y
+# INCLUDE_MACH32_DRIVER = y
+# INCLUDE_S3_DRIVER = y
#INCLUDE_ET3000_DRIVER = y
#INCLUDE_GVGA6400_DRIVER = y
#INCLUDE_ARK_DRIVER = y
#INCLUDE_ATI_DRIVER = y
#INCLUDE_ALI_DRIVER = y
-INCLUDE_CHIPS_DRIVER = y
-INCLUDE_APM_DRIVER = y
-INCLUDE_NV3_DRIVER = y
-INCLUDE_ET6000_DRIVER = y
-INCLUDE_VESA_DRIVER = y
-INCLUDE_MX_DRIVER = y
-INCLUDE_PARADISE_DRIVER = y
-INCLUDE_RAGE_DRIVER = y
-INCLUDE_BANSHEE_DRIVER = y
-INCLUDE_SIS_DRIVER = y
-INCLUDE_I740_DRIVER = y
-INCLUDE_LAGUNA_DRIVER = y
-INCLUDE_NEO_DRIVER = y
-INCLUDE_R128_DRIVER = y
-INCLUDE_G400_DRIVER = y
+# INCLUDE_CHIPS_DRIVER = y
+# INCLUDE_APM_DRIVER = y
+# INCLUDE_NV3_DRIVER = y
+# INCLUDE_ET6000_DRIVER = y
+# INCLUDE_VESA_DRIVER = y
+# INCLUDE_MX_DRIVER = y
+# INCLUDE_PARADISE_DRIVER = y
+# INCLUDE_RAGE_DRIVER = y
+# INCLUDE_BANSHEE_DRIVER = y
+# INCLUDE_SIS_DRIVER = y
+# INCLUDE_I740_DRIVER = y
+# INCLUDE_LAGUNA_DRIVER = y
+# INCLUDE_NEO_DRIVER = y
+# INCLUDE_R128_DRIVER = y
+# INCLUDE_G400_DRIVER = y
INCLUDE_FBDEV_DRIVER = y
-INCLUDE_SAVAGE_DRIVER = y
+# INCLUDE_SAVAGE_DRIVER = y
#
# Comment out any adapter you don't want to autodetect.
#
-INCLUDE_ET4000_DRIVER_TEST = y
-INCLUDE_CIRRUS_DRIVER_TEST = y
-INCLUDE_TVGA_DRIVER_TEST = y
+# INCLUDE_ET4000_DRIVER_TEST = y
+# INCLUDE_CIRRUS_DRIVER_TEST = y
+# INCLUDE_TVGA_DRIVER_TEST = y
#INCLUDE_OAK_DRIVER_TEST = y
#INCLUDE_EGA_DRIVER_TEST = y
-INCLUDE_MACH32_DRIVER_TEST = y
+# INCLUDE_MACH32_DRIVER_TEST = y
#INCLUDE_GVGA6400_DRIVER_TEST = y
-INCLUDE_S3_DRIVER_TEST = y
+# INCLUDE_S3_DRIVER_TEST = y
#INCLUDE_ET3000_DRIVER_TEST = y
#INCLUDE_ARK_DRIVER_TEST = y
#INCLUDE_ATI_DRIVER_TEST = y
#INCLUDE_ALI_DRIVER_TEST = y
-INCLUDE_CHIPS_DRIVER_TEST = y
-INCLUDE_APM_DRIVER_TEST = y
-INCLUDE_NV3_DRIVER_TEST = y
-INCLUDE_ET6000_DRIVER_TEST = y
-INCLUDE_MX_DRIVER_TEST = y
-INCLUDE_PARADISE_DRIVER_TEST = y
-INCLUDE_RAGE_DRIVER_TEST = y
-INCLUDE_BANSHEE_DRIVER_TEST = y
-INCLUDE_SIS_DRIVER_TEST = y
-INCLUDE_I740_DRIVER_TEST = y
-INCLUDE_LAGUNA_DRIVER_TEST = y
-INCLUDE_NEO_DRIVER_TEST = y
-INCLUDE_G400_DRIVER_TEST = y
-INCLUDE_R128_DRIVER_TEST = y
-#INCLUDE_FBDEV_DRIVER_TEST = y
-INCLUDE_SAVAGE_DRIVER_TEST = y
+# INCLUDE_CHIPS_DRIVER_TEST = y
+# INCLUDE_APM_DRIVER_TEST = y
+# INCLUDE_NV3_DRIVER_TEST = y
+# INCLUDE_ET6000_DRIVER_TEST = y
+# INCLUDE_MX_DRIVER_TEST = y
+# INCLUDE_PARADISE_DRIVER_TEST = y
+# INCLUDE_RAGE_DRIVER_TEST = y
+# INCLUDE_BANSHEE_DRIVER_TEST = y
+# INCLUDE_SIS_DRIVER_TEST = y
+# INCLUDE_I740_DRIVER_TEST = y
+# INCLUDE_LAGUNA_DRIVER_TEST = y
+# INCLUDE_NEO_DRIVER_TEST = y
+# INCLUDE_G400_DRIVER_TEST = y
+# INCLUDE_R128_DRIVER_TEST = y
+INCLUDE_FBDEV_DRIVER_TEST = y
+# INCLUDE_SAVAGE_DRIVER_TEST = y
#Might be too dangerous:
-INCLUDE_VESA_DRIVER_TEST = y
+# INCLUDE_VESA_DRIVER_TEST = y
#
# Comment out any dac support that you don't want included in the library.
#
# you must include SIERRA_DAC, if you include any of SCxxxx DACs.
-INCLUDE_NORMAL_DAC = y
-INCLUDE_S3_SDAC_DAC = y
-INCLUDE_S3_GENDAC_DAC = y
-INCLUDE_S3_TRIO64_DAC = y
-INCLUDE_SIERRA_DAC = y
-INCLUDE_SC15025_DAC = y
-INCLUDE_ATT20C490_DAC = y
-INCLUDE_ATT20C498_DAC = y
-INCLUDE_ICW_DAC = y
-INCLUDE_IBMRGB52x_DAC = y
-INCLUDE_SC1148X_DAC = y
+# INCLUDE_NORMAL_DAC = y
+# INCLUDE_S3_SDAC_DAC = y
+# INCLUDE_S3_GENDAC_DAC = y
+# INCLUDE_S3_TRIO64_DAC = y
+# INCLUDE_SIERRA_DAC = y
+# INCLUDE_SC15025_DAC = y
+# INCLUDE_ATT20C490_DAC = y
+# INCLUDE_ATT20C498_DAC = y
+# INCLUDE_ICW_DAC = y
+# INCLUDE_IBMRGB52x_DAC = y
+# INCLUDE_SC1148X_DAC = y
#
# Comment out any dac you don't want to autodetect.
# (not all dacs can be autodetected, at this time)
#
-INCLUDE_S3_SDAC_DAC_TEST = y
-INCLUDE_S3_GENDAC_DAC_TEST = y
-INCLUDE_SC15025_DAC_TEST = y
-INCLUDE_ATT20C490_DAC_TEST = y
-INCLUDE_IBMRGB52x_DAC_TEST = y
-INCLUDE_SC1148X_DAC_TEST = y
-
+# INCLUDE_S3_SDAC_DAC_TEST = y
+# INCLUDE_S3_GENDAC_DAC_TEST = y
+# INCLUDE_SC15025_DAC_TEST = y
+# INCLUDE_ATT20C490_DAC_TEST = y
+# INCLUDE_IBMRGB52x_DAC_TEST = y
+# INCLUDE_SC1148X_DAC_TEST = y
+#
# Location of the svgalib configuration file.
SVGALIB_CONFIG_FILE = $(datadir)/libvga.config
@@ -226,7 +226,7 @@
# If you just want to use the et4000.regs in the source directory,
# comment out the definition of DYNAMIC. DYNAMIC allows development of new
# resolutions without recompiling.
-DYNAMIC = y
+# DYNAMIC = y
ET4000_REGS = $(datadir)/libvga.et4000
# The EGA driver may load additional modes (SuperEGA cards) like the
@@ -270,9 +270,9 @@
CFLAGS = $(WARN) $(DLLFLAGS) $(INCLUDES) $(OPTIMIZE) $(DEFINES)
# ELF doesn't like -N. It is beneficial for small tools with a.out
ifeq (a.out, $(TARGET_FORMAT))
- LDFLAGS = -N -s
+# LDFLAGS = -N -s
else
- LDFLAGS = -s
+# LDFLAGS = -s
endif
# Uncomment the following if you are compiling a.out shared libraries
@@ -289,6 +289,6 @@
# Utilites used.
AR = ar
-INSTALL_PROGRAM = install -c -s -m 755 -o root -g bin
-INSTALL_SHLIB = install -c -m 755 -o root -g bin
-INSTALL_DATA = install -c -m 644 -o root -g bin
+INSTALL_PROGRAM = install -c -s -m 755
+INSTALL_SHLIB = install -c -m 755
+INSTALL_DATA = install -c -m 644

View File

@ -0,0 +1,13 @@
Index: svgalib-1.4.3/src/libvga.h
===================================================================
--- svgalib-1.4.3.orig/src/libvga.h 2011-01-06 12:04:51.000000000 +0100
+++ svgalib-1.4.3/src/libvga.h 2011-01-06 12:05:42.000000000 +0100
@@ -9,7 +9,7 @@
#include <string.h>
# if defined __GLIBC__ && __GLIBC__ >= 2
-#include <sys/io.h>
+/* #include <sys/io.h> */
#endif
/* --------------------- Macro definitions shared by library modules */

View File

@ -0,0 +1,206 @@
Index: svgalib-1.4.3/src/vga.c
===================================================================
--- svgalib-1.4.3.orig/src/vga.c 2011-01-06 12:44:21.000000000 +0100
+++ svgalib-1.4.3/src/vga.c 2011-01-06 13:24:11.000000000 +0100
@@ -519,7 +519,8 @@
/* Chipset specific functions */
-DriverSpecs *__svgalib_driverspecs = &__svgalib_vga_driverspecs;
+#define __svgalib_vga_driverspecs __svgalib_fbdev_driverspecs
+DriverSpecs *__svgalib_driverspecs = &__svgalib_fbdev_driverspecs;
#ifndef BACKGROUND
static void (*__svgalib_setpage) (int); /* gives little faster vga_setpage() */
@@ -537,7 +538,9 @@
DriverSpecs *__svgalib_driverspecslist[] =
{
NULL, /* chipset undefined */
+#if 0 /* vga disabled */
&__svgalib_vga_driverspecs,
+#endif
#ifdef INCLUDE_ET4000_DRIVER
&__svgalib_et4000_driverspecs,
#else
@@ -1504,12 +1507,12 @@
else
#endif
- if (__svgalib_vga_driverspecs.test())
- CHIPSET = VGA;
+ if (__svgalib_fbdev_driverspecs.test())
+ CHIPSET = FBDEV;
else
/* else */
{
- fprintf(stderr, "svgalib: Cannot find EGA or VGA graphics device.\n");
+ fprintf(stderr, "svgalib: Cannot find fbdev graphics device.\n");
exit(1);
}
__svgalib_setpage = __svgalib_driverspecs->__svgalib_setpage;
@@ -4441,7 +4444,8 @@
};
-#ifdef __alpha__
+#if 0
+/* #ifdef __alpha__ */
#define vuip volatile unsigned int *
Index: svgalib-1.4.3/src/vgadrv.c
===================================================================
--- svgalib-1.4.3.orig/src/vgadrv.c 2011-01-06 12:44:21.000000000 +0100
+++ svgalib-1.4.3/src/vgadrv.c 2011-01-06 13:13:47.000000000 +0100
@@ -13,6 +13,8 @@
#include "libvga.h"
#include "driver.h"
+#if 0 /* vga disabled */
+
/* BIOS mode 0Dh - 320x200x16 */
static const unsigned char g320x200x16_regs[60] =
{
@@ -311,3 +313,5 @@
return 0;
}
+
+#endif /* vga disabled */
Index: svgalib-1.4.3/src/libvga.h
===================================================================
--- svgalib-1.4.3.orig/src/libvga.h 2011-01-06 13:13:47.000000000 +0100
+++ svgalib-1.4.3/src/libvga.h 2011-01-06 13:13:47.000000000 +0100
@@ -216,7 +216,18 @@
extern void __svgalib_acquirevt_signal(int n);
#endif
-#ifdef __alpha__
+
+/* do not compile vga direct hw access code. It is not called anyways when
+ * using fbdev driver. It won't compile on some non-x86 hw. */
+#define ioperm(a,b,c) (-1)
+#define port_in(a) (0)
+#define port_out(a,b) (void)0
+#define port_outw(a,b) (void)0
+#define inb(a) (0)
+#define outb(a,b) (void)0
+
+#if 0
+/* #ifdef __alpha__ */
#include <asm/io.h>
@@ -270,50 +281,60 @@
#else
-static __inline__ void port_out(int value, int port)
-{
- __asm__ volatile ("outb %0,%1"
- ::"a" ((unsigned char) value), "d"((unsigned short) port));
-}
-
-static __inline__ void port_outw(int value, int port)
-{
- __asm__ volatile ("outw %0,%1"
- ::"a" ((unsigned short) value), "d"((unsigned short) port));
-}
-
-static __inline__ void port_outl(int value, int port)
-{
- __asm__ volatile ("outl %0,%1"
- ::"a" ((unsigned long)value), "d" ((unsigned short) port));
-}
-
-static __inline__ int port_in(int port)
-{
- unsigned char value;
- __asm__ volatile ("inb %1,%0"
- :"=a" (value)
- :"d"((unsigned short) port));
- return value;
-}
-
-static __inline__ int port_inw(int port)
-{
- unsigned short value;
- __asm__ volatile ("inw %1,%0"
- :"=a" (value)
- :"d"((unsigned short) port));
- return value;
-}
-
-static __inline__ int port_inl(int port)
-{
- unsigned int value;
- __asm__ volatile("inl %1,%0" :
- "=a" (value) :
- "d" ((unsigned short)port));
- return value;
-}
+/* do not compile vga direct hw access code. It is not called anyways when
+ * using fbdev driver. It won't compile on some non-x86 hw. */
+#define ioperm(a,b,c) (-1)
+#define port_in(a) (0)
+#define port_inw(a) (0)
+#define port_inl(a) (0)
+#define port_out(a,b) (void)0
+#define port_outl(a,b) (void)0
+#define port_outw(a,b) (void)0
+
+/* static __inline__ void port_out(int value, int port) */
+/* { */
+/* __asm__ volatile ("outb %0,%1" */
+/* ::"a" ((unsigned char) value), "d"((unsigned short) port)); */
+/* } */
+
+/* static __inline__ void port_outw(int value, int port) */
+/* { */
+/* __asm__ volatile ("outw %0,%1" */
+/* ::"a" ((unsigned short) value), "d"((unsigned short) port)); */
+/* } */
+
+/* static __inline__ void port_outl(int value, int port) */
+/* { */
+/* __asm__ volatile ("outl %0,%1" */
+/* ::"a" ((unsigned long)value), "d" ((unsigned short) port)); */
+/* } */
+
+/* static __inline__ int port_in(int port) */
+/* { */
+/* unsigned char value; */
+/* __asm__ volatile ("inb %1,%0" */
+/* :"=a" (value) */
+/* :"d"((unsigned short) port)); */
+/* return value; */
+/* } */
+
+/* static __inline__ int port_inw(int port) */
+/* { */
+/* unsigned short value; */
+/* __asm__ volatile ("inw %1,%0" */
+/* :"=a" (value) */
+/* :"d"((unsigned short) port)); */
+/* return value; */
+/* } */
+
+/* static __inline__ int port_inl(int port) */
+/* { */
+/* unsigned int value; */
+/* __asm__ volatile("inl %1,%0" : */
+/* "=a" (value) : */
+/* "d" ((unsigned short)port)); */
+/* return value; */
+/* } */
#define gr_readb(off) (((volatile unsigned char *)GM)[(off)])
#define gr_readw(off) (*(volatile unsigned short*)((GM)+(off)))
@@ -322,7 +343,6 @@
#define gr_writew(v,off) (*(unsigned short*)((GM)+(off)) = (v))
#define gr_writel(v,off) (*(unsigned long*)((GM)+(off)) = (v))
-
#endif
/* Note that the arguments of outb/w are reversed compared with the */

View File

@ -0,0 +1,15 @@
Index: svgalib-1.4.3/src/vga.c
===================================================================
--- svgalib-1.4.3.orig/src/vga.c 2011-01-06 12:05:43.000000000 +0100
+++ svgalib-1.4.3/src/vga.c 2011-01-06 12:05:43.000000000 +0100
@@ -38,6 +38,10 @@
#include "vgaregs.h"
#include "vgaversion.h"
+#ifndef SIGUNUSED
+#define SIGUNUSED 32
+#endif
+
#ifdef BACKGROUND
#include "vgabg.h"

View File

@ -0,0 +1,13 @@
Index: svgalib-1.4.3/src/vga.c
===================================================================
--- svgalib-1.4.3.orig/src/vga.c 2011-01-06 12:16:21.000000000 +0100
+++ svgalib-1.4.3/src/vga.c 2011-01-06 12:16:21.000000000 +0100
@@ -3920,7 +3920,7 @@
#define ML_GETINT(x) \
ptr = strtok(NULL, " "); if(!ptr) break; \
- mmt.##x = atoi(ptr);
+ mmt.x = atoi(ptr);
ML_GETINT(HDisplay);
ML_GETINT(HSyncStart);

View File

@ -0,0 +1,41 @@
Index: svgalib-1.4.3/src/vgapix.c
===================================================================
--- svgalib-1.4.3.orig/src/vgapix.c 2011-01-06 12:33:23.000000000 +0100
+++ svgalib-1.4.3/src/vgapix.c 2011-01-06 12:35:04.000000000 +0100
@@ -26,7 +26,7 @@
/* However bswap is not supported by 386 */
if (MODEFLAGS & RGB_MISORDERED)
-#ifdef __alpha__
+#if 1
c = ((c >> 0) & 0xff) << 16 |
((c >> 8) & 0xff) << 8 |
((c >> 16) & 0xff) << 0;
Index: svgalib-1.4.3/gl/driver.c
===================================================================
--- svgalib-1.4.3.orig/gl/driver.c 2011-01-06 12:36:13.000000000 +0100
+++ svgalib-1.4.3/gl/driver.c 2011-01-06 12:36:20.000000000 +0100
@@ -33,7 +33,8 @@
/* However bswap is not supported by 386 */
if (MODEFLAGS & MODEFLAG_24BPP_REVERSED)
-#ifdef __alpha__
+#if 1
+/* #ifdef __alpha__ */
c = ((c >> 0) & 0xff) << 16 |
((c >> 8) & 0xff) << 8 |
((c >> 16) & 0xff) << 0;
Index: svgalib-1.4.3/gl/scale.c
===================================================================
--- svgalib-1.4.3.orig/gl/scale.c 2011-01-06 12:37:26.000000000 +0100
+++ svgalib-1.4.3/gl/scale.c 2011-01-06 12:38:04.000000000 +0100
@@ -13,7 +13,8 @@
/* #define USE_ASM */
-#ifdef __alpha__
+#if 1
+/* #ifdef __alpha__ */
static inline int muldiv64(int m1, int m2, int d)
{

View File

@ -0,0 +1,13 @@
Index: svgalib-1.4.3/src/vgamisc.c
===================================================================
--- svgalib-1.4.3.orig/src/vgamisc.c 2011-01-06 12:21:30.000000000 +0100
+++ svgalib-1.4.3/src/vgamisc.c 2011-01-06 12:22:08.000000000 +0100
@@ -47,7 +47,7 @@
}
#ifndef BACKGROUND
-static void *__svgalib_linearframebuffer;
+void *__svgalib_linearframebuffer;
#endif
#ifdef BACKGROUND
void *__svgalib_linearframebuffer;

View File

@ -0,0 +1,191 @@
Index: svgalib-1.4.3/Makefile
===================================================================
--- svgalib-1.4.3.orig/Makefile 2011-01-06 13:52:48.000000000 +0100
+++ svgalib-1.4.3/Makefile 2011-01-06 14:03:17.000000000 +0100
@@ -110,10 +110,6 @@
installheaders:
@echo Installing header files in $(includedir).
- @if [ -f /usr/include/vga.h ]; then \
- rm -f /usr/include/vga.h /usr/include/vgagl.h; \
- echo Old header files in /usr/include removed.; \
- fi
mkdir -p $(includedir)
@cp $(srcdir)/src/vga.h $(includedir)/vga.h
@chmod a+r $(includedir)/vga.h
@@ -134,17 +130,6 @@
chmod a+r $(libdir)/$$foo; \
done
endif
- @if [ -f /usr/lib/libvga.sa ]; then \
- rm -f /usr/lib/libvga.sa /usr/lib/libvgagl.sa; \
- echo Old stubs in /usr/lib removed.; \
- fi
- @rm -f $(OBSOLETESHAREDIMAGES)
-ifndef KEEPSHAREDLIBS
- @echo "Removing shared library images (old & current)..."
- @for i in $(OBSOLETELDIRS); do \
- rm -f `echo $(OBSOLETESHAREDIMAGES) | sed s?/lib/?$$i?g`; \
- done
-endif
mkdir -p $(sharedlibdir)
@echo Installing shared library image as \
$(addprefix $(sharedlibdir)/,$(notdir $(SHAREDLIBS))).
@@ -153,7 +138,6 @@
(cd $(sharedlibdir); \
ln -sf $$foo `echo $$foo | sed 's/\.so\..*/.so/'` ); \
done
- @ldconfig
ifdef INSTALLAOUTDIR
@@ -169,7 +153,6 @@
(cd $(TOPDIR)/$(INSTALLAOUTDIR); \
ln -sf $$foo `echo $$foo | sed 's/\.so\..*/.so/'` ); \
done
- @ldconfig
else
@@ -180,10 +163,8 @@
installstaticlib: static
@echo Installing static libraries in $(libdir).
- @rm -f /usr/lib/libvga.a
@$(INSTALL_DATA) staticlib/libvga.a $(libdir)/libvga.a
@chmod a+r $(libdir)/libvga.a
- @rm -f /usr/lib/libvgagl.a
@$(INSTALL_DATA) staticlib/libvgagl.a $(libdir)/libvgagl.a
@chmod a+r $(libdir)/libvgagl.a
@@ -192,14 +173,6 @@
echo No $(bindir) directory, creating it.; \
mkdir $(bindir); \
fi
- @if [ -f /usr/bin/restorefont ]; then \
- echo Removing old utilities in /usr/bin.; \
- for x in $(UTILS); do rm -f /usr/bin/$$x; done; \
- fi
- @if [ -f /usr/bin/convfont ]; then \
- echo Removing inappropriate utilities in /usr/bin.; \
- rm -f /usr/bin/convfont /usr/bin/setmclk; \
- fi
@echo Installing textmode utilities in $(bindir):
@echo "restorefont: Save/restore textmode font."
@cp utils/restorefont $(bindir)
@@ -225,22 +198,6 @@
mkdir $(datadir); \
chmod go-w $(datadir); \
fi
- @if [ \( -f /usr/local/lib/libvga.config -a ! -f $(datadir)/libvga.config \) ]; then \
- echo "Moving old config file /usr/local/lib/libvga.config to $(datadir)." ; \
- mv -f /usr/local/lib/libvga.config $(datadir)/libvga.config; \
- fi
- @if [ \( -f /usr/local/lib/libvga.et4000 -a ! -f $(datadir)/libvga.et4000 \) ]; then \
- echo "Moving old config file /usr/local/lib/libvga.et4000 to $(datadir)." ; \
- mv -f /usr/local/lib/libvga.et4000 $(datadir)/libvga.et4000; \
- fi
- @if [ \( -f /usr/local/lib/libvga.ega -a ! -f $(datadir)/libvga.ega \) ]; then \
- echo "Moving old config file /usr/local/lib/libvga.ega to $(datadir)." ; \
- mv -f /usr/local/lib/libvga.ega $(datadir)/libvga.ega; \
- fi
- @if [ \( -f /etc/mach32.eeprom -a ! -f $(datadir)/mach32.eeprom \) ]; then \
- echo Consider moving your /etc/mach32.eeprom file to $(datadir) ; \
- echo and changing $(datadir)/libvga.config appropriately. ; \
- fi
@if [ ! -f $(datadir)/libvga.config ]; then \
echo Installing default configuration file in $(datadir).; \
cp $(confdir)/libvga.config $(datadir)/libvga.config; \
@@ -269,48 +226,6 @@
@echo demos/ and threedkit/.
uninstall:
- @echo "Removing textmode utilities..."
- @for i in $(OBSOLETEBDIRS); do \
- for prog in $(UTILS); do \
- rm -f $$i$$prog ; \
- done ; \
- done
- @echo "Removing shared library stubs (old & current)..."
- @for i in $(OBSOLETELDIRS); do \
- rm -f `echo /lib/libvga.so.$(VERSION) /lib/libvgagl.so.$(VERSION) \
- $(OBSOLETELIBLINKS) /lib/libvga.sa /lib/libvgagl.sa \
- | sed s?/lib/?$$i?g`; \
- done
-ifndef KEEPSHAREDLIBS
- @echo "Removing shared library images (old & current)..."
- @for i in $(OBSOLETELDIRS); do \
- rm -f `echo $(OBSOLETESHAREDIMAGES) | sed s?/lib/?$$i?g`; \
- done
-endif
-ifneq ($(INSTALLAOUTDIR), )
- @echo "Removing shared a.out library stubs (old & current)..."
- @for i in $(OBSOLETEAOUTDIRS); do \
- rm -f `echo /lib/libvga.so.$(VERSION) /lib/libvgagl.so.$(VERSION) \
- $(OBSOLETELIBLINKS) /lib/libvga.sa /lib/libvgagl.sa \
- | sed s?/lib/?$$i?g`; \
- done
-ifndef KEEPSHAREDLIBS
- @echo "Removing shared a.out library images (old & current)..."
- @for i in $(OBSOLETEAOUTDIRS); do \
- rm -f `echo $(OBSOLETESHAREDIMAGES) | sed s?/lib/?$$i?g`; \
- done
-endif
-endif
- @echo "Removing static libraries..."
- @for i in $(OBSOLETELDIRS); do \
- rm -f `echo /lib/libvga.a /lib/libvgagl.a | sed s?/lib/?$$i?g`; \
- done
- @echo "Removing header files..."
- @for i in $(OBSOLETEHDIRS); do \
- rm -f `echo $(OBSOLETEHEADERS) | sed s?/inc/?$$i?g`; \
- done
- (cd doc; $(MAKE) -f $(srcdir)/doc/Makefile srcdir="$(srcdir)" uninstall)
-
SHAREDDIRS0 = sharedlib/mouse sharedlib/keyboard sharedlib/ramdac \
sharedlib/clockchip sharedlib/joystick
Index: svgalib-1.4.3/threeDKit/Makefile
===================================================================
--- svgalib-1.4.3.orig/threeDKit/Makefile 2011-01-06 13:52:48.000000000 +0100
+++ svgalib-1.4.3/threeDKit/Makefile 2011-01-06 14:03:17.000000000 +0100
@@ -39,13 +39,9 @@
plane: planukit.o planinit.o $(OBJECTS) $(LVGADEP)
$(CC) $(LDFLAGS) -o plane planukit.o planinit.o $(OBJECTS) $(LIBS)
- chown root plane
- chmod u+s plane
wrapdemo: wrapdemo.o $(OBJECTS) $(LVGADEP)
$(CC) $(CFLAGS) $(LDFLAGS) -o wrapdemo wrapdemo.c $(OBJECTS) $(LIBS)
- chown root wrapdemo
- chmod u+s wrapdemo
.c.o:
$(CC) $(CFLAGS) -c -o $*.o $<
Index: svgalib-1.4.3/demos/Makefile
===================================================================
--- svgalib-1.4.3.orig/demos/Makefile 2011-01-06 14:03:32.000000000 +0100
+++ svgalib-1.4.3/demos/Makefile 2011-01-06 14:04:20.000000000 +0100
@@ -44,21 +44,15 @@
.c:
$(CC) $(CFLAGS) $(LDFLAGS) -o $* $*.c $(LIBS)
- chown 0 $*
- chmod 4755 $*
rwpage: rwpage.pp
$(PC) -Rintel rwpage.pp
testaccel: testaccel.c
$(CC) $(CFLAGS) $(LDFLAGS) -o testaccel testaccel.c $(LIBS) -lm
- chown 0 testaccel
- chmod 4755 testaccel
accel: accel.c
$(CC) $(CFLAGS) $(LDFLAGS) -o accel accel.c $(LIBS) -lm
- chown 0 accel
- chmod 4755 accel
clean: cleanbin
rm -f .depend *.o *~ *.bak

View File

@ -0,0 +1,26 @@
Index: svgalib-1.4.3/gl/Makefile
===================================================================
--- svgalib-1.4.3.orig/gl/Makefile 2011-01-06 13:48:39.000000000 +0100
+++ svgalib-1.4.3/gl/Makefile 2011-01-06 13:49:05.000000000 +0100
@@ -29,7 +29,7 @@
.PHONY: all clean dep
libvgagl.so.$(VERSION): $(MODULES)
- $(CC) -s -shared -Wl,-soname,libvgagl.so.$(MAJOR_VER) -o libvgagl.so.$(VERSION) \
+ $(CC) -s -shared -Wl,-soname,libvgagl.so -o libvgagl.so.$(VERSION) \
$(MODULES)
libvgagl.a: $(MODULES)
Index: svgalib-1.4.3/src/Makefile
===================================================================
--- svgalib-1.4.3.orig/src/Makefile 2011-01-06 13:48:36.000000000 +0100
+++ svgalib-1.4.3/src/Makefile 2011-01-06 13:48:52.000000000 +0100
@@ -387,7 +387,7 @@
# These rules are for ELF only.
libvga.so.$(VERSION): $(ALLOBJS)
- $(CC) -s -shared -Wl,-soname,libvga.so.$(MAJOR_VER) \
+ $(CC) -s -shared -Wl,-soname,libvga.so \
-o libvga.so.$(VERSION) $(ALLOBJS) -lm
$(sharedlibdir)/libvga.so.$(VERSION): libvga.so.$(VERSION)

View File

@ -0,0 +1,24 @@
Index: svgalib-1.4.3/src/fbdev.c
===================================================================
--- svgalib-1.4.3.orig/src/fbdev.c 2011-01-06 14:24:59.000000000 +0100
+++ svgalib-1.4.3/src/fbdev.c 2011-01-06 14:27:39.000000000 +0100
@@ -141,9 +141,17 @@
if (page != oldpage)
{
// munmap(BANKED_MEM_POINTER, __svgalib_banked_mem_size);
- mmap(BANKED_MEM_POINTER, __svgalib_banked_mem_size,
+ long size = __svgalib_banked_mem_size;
+ long offs = page * __svgalib_banked_mem_size;
+ if (size + offs > __svgalib_linear_mem_size)
+ size = __svgalib_linear_mem_size - offs;
+ if (size <= 0) {
+ fprintf (stderr, "invalid page %i requested", page);
+ }
+
+ mmap(BANKED_MEM_POINTER, size,
PROT_READ | PROT_WRITE, MAP_SHARED | MAP_FIXED,
- fbdev_fd, page * __svgalib_banked_mem_size);
+ fbdev_fd, offs);
oldpage = page;
}
}