Browse Source

Merge branch 'master' of git+ssh://openadk.org/git/openadk

Waldemar Brodkorb 14 years ago
parent
commit
359fa4649d

+ 4 - 0
Config.in

@@ -119,6 +119,10 @@ config ADK_HOST_NETBSD
 	prompt "NetBSD"
 	boolean
 
+config ADK_HOST_DARWIN
+	prompt "Darwin"
+	boolean
+
 config ADK_HOST_CYGWIN
 	prompt "Cygwin"
 	boolean

+ 12 - 6
mk/build.mk

@@ -272,6 +272,9 @@ endif
 ifeq (${OStype},NetBSD)
 	@echo ADK_HOST_NETBSD=y > $(TOPDIR)/.defconfig
 endif
+ifeq (${OStype},Darwin)
+	@echo ADK_HOST_DARWIN=y > $(TOPDIR)/.defconfig
+endif
 ifneq (,$(filter CYGWIN%,${OStype}))
 	@echo ADK_HOST_CYGWIN=y > $(TOPDIR)/.defconfig
 endif
@@ -280,10 +283,10 @@ endif
 			|grep -i "$(TARGET)"\$$ \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			 >> $(TOPDIR)/.defconfig; \
-		for symbol in ${DEFCONFIG}; do \
-			echo $$symbol >> $(TOPDIR)/.defconfig; \
-		done; \
 	fi
+	@for symbol in ${DEFCONFIG}; do \
+		echo $$symbol >> $(TOPDIR)/.defconfig; \
+	done
 	@if [ ! -z "$(FS)" ];then \
 		grep "^config" target/Config.in \
 			|grep -i "$(FS)" \
@@ -340,6 +343,9 @@ endif
 ifeq (${OStype},NetBSD)
 	@echo ADK_HOST_NETBSD=y > $(TOPDIR)/all.config
 endif
+ifeq (${OStype},Darwin)
+	@echo ADK_HOST_DARWIN=y > $(TOPDIR)/all.config
+endif
 ifneq (,$(filter CYGWIN%,${OStype}))
 	@echo ADK_HOST_CYGWIN=y > $(TOPDIR)/all.config
 endif
@@ -348,10 +354,10 @@ endif
 			|grep -i "$(TARGET)"\$$ \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(TOPDIR)/all.config; \
-		for symbol in ${DEFCONFIG}; do \
-			echo $$symbol >> $(TOPDIR)/all.config; \
-		done; \
 	fi
+	@for symbol in ${DEFCONFIG}; do \
+		echo $$symbol >> $(TOPDIR)/all.config; \
+	done
 	@if [ ! -z "$(FS)" ];then \
 		grep "^config" target/Config.in \
 			|grep -i "$(FS)" \

+ 2 - 0
package/Config.in

@@ -621,7 +621,9 @@ source "package/evilwm/Config.in"
 source "package/firefox/Config.in"
 source "package/font-util/Config.in"
 source "package/rxvt-unicode/Config.in"
+source "package/twm/Config.in"
 source "package/xauth/Config.in"
+source "package/xinit/Config.in"
 source "package/xlsfonts/Config.in"
 endmenu
 

+ 2 - 2
package/cpio/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		cpio
-PKG_VERSION:=		2.10
+PKG_VERSION:=		2.11
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		351ab3d38d8949913e478cc23b9d6ad4
+PKG_MD5SUM:=		1112bb6c45863468b5496ba128792f6c
 PKG_DESCR:=		copies files into or out of a cpio archive
 PKG_SECTION:=		net
 PKG_URL:=		http://www.gnu.org/software/cpio/

+ 2 - 1
package/rxvt-unicode/Makefile

@@ -21,7 +21,8 @@ include $(TOPDIR)/mk/package.mk
 $(eval $(call PKG_template,RXVT_UNICODE,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 CONFIGURE_ARGS+=	--disable-perl \
-			--disable-utmp
+			--disable-utmp \
+			--disable-afterimage
 
 post-install:
 	$(INSTALL_DIR) $(IDIR_RXVT_UNICODE)/usr/bin

+ 29 - 0
package/twm/Makefile

@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=		twm
+PKG_VERSION:=		1.0.4
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		109979bd39d48bd761e7939b30006a48
+PKG_DESCR:=		X.Org twm application
+PKG_SECTION:=		x11
+PKG_DEPENDS:=		xorg-server
+PKG_BUILDDEP+=		xorg-server
+PKG_URL:=		http://xorg.freedesktop.org
+PKG_SITES:=		http://xorg.freedesktop.org/archive/individual/app/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,TWM,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+post-install:
+	$(INSTALL_DIR) $(IDIR_TWM)/usr/bin
+	$(INSTALL_BIN) $(WRKINST)/usr/bin/twm \
+		$(IDIR_TWM)/usr/bin/
+	${INSTALL_DIR} ${IDIR_TWM}/usr/share/X11/twm
+	${INSTALL_DATA} ${WRKINST}/usr/share/X11/twm/system.twmrc \
+		${IDIR_TWM}/usr/share/X11/twm/
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 4 - 0
package/util-linux-ng/Makefile

@@ -19,6 +19,7 @@ PKG_DESCR_SWAP:=	Swap space management utilities
 PKG_DEPENDS_SWAP:=	libblkid
 PKG_DESCR_LOOP:=	Loop devices setup and control utility
 PKG_DEPENDS_LOOP:=	kmod-blk-dev-loop
+PKG_DESCR_MCOOKIE:=	Generate magic cookies for xauth
 
 include ${TOPDIR}/mk/package.mk
 
@@ -26,6 +27,7 @@ $(eval $(call PKG_template,FDISK,fdisk,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPEN
 $(eval $(call PKG_template,SFDISK,sfdisk,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_SFDISK},${PKG_SECTION}))
 $(eval $(call PKG_template,SWAP_UTILS,swap-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_SWAP},${PKG_DESCR_SWAP},${PKG_SECTION}))
 $(eval $(call PKG_template,LOSETUP,losetup,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_LOOP},${PKG_DESCR_LOOP},${PKG_SECTION}))
+$(eval $(call PKG_template,MCOOKIE,mcookie,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR_MCOOKIE},${PKG_SECTION}))
 
 CONFIGURE_ARGS+=	--disable-use-tty-group \
 			--disable-schedutils \
@@ -46,5 +48,7 @@ post-install:
 	${INSTALL_DIR} ${IDIR_SWAP_UTILS}/usr/sbin
 	${CP} ${WRKINST}/sbin/mkswap ${IDIR_SWAP_UTILS}/usr/sbin/
 	${CP} ${WRKINST}/sbin/swap{on,off} ${IDIR_SWAP_UTILS}/usr/sbin/
+	${INSTALL_DIR} ${IDIR_MCOOKIE}/usr/bin
+	${INSTALL_BIN} ${WRKINST}/usr/bin/mcookie ${IDIR_MCOOKIE}/usr/bin/
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 182 - 0
package/xf86-video-siliconmotion/patches/xf86-video-siliconmotion-1.7.3-fix-loongson.patch

@@ -0,0 +1,182 @@
+diff -ur orig/src/smi_video.c mod/src/smi_video.c
+--- xf86-video-siliconmotion-1.7.3.orig/src/smi_video.c	2009-07-27 05:42:44.000000000 +0200
++++ xf86-video-siliconmotion-1.7.3/src/smi_video.c	2010-06-03 16:55:59.169793245 +0200
+@@ -276,6 +276,7 @@ static XF86ImageRec SMI_VideoImages[] =
+     XVIMAGE_YUY2,
+     XVIMAGE_YV12,
+     XVIMAGE_I420,
++    XVIMAGE_UYVY,
+     {
+ 	FOURCC_RV15,			/* id				*/
+ 	XvRGB,				/* type				*/
+@@ -1103,7 +1104,7 @@ SMI_PutVideo(
+ 	vpr00 |= 0x0010000E;
+     } else {
+ 	/*
+-	  Bit 21     = 10: Vertical Interpolation                   = enabled
++	  Bit 21     = 1: Vertical Interpolation                   = enabled
+ 	  Bit 24     = 1: Select Video Window I Source Addr        = 1
+ 	  1= Video window I source addr = capture port buffer ?
+ 	*/
+@@ -1464,6 +1465,117 @@ SMI_QueryBestSize(
+     LEAVE();
+ }
+ 
++static void myXVCopyYUV12ToPacked(const unsigned char *srcy, const unsigned char *srcv, const unsigned char *srcu,
++		unsigned char *dst, int srcPitchy, int srcPitchuv, int dstPitch, int h, int w)
++{
++	int i, j;
++	unsigned char const *y, *u, *v;
++	int dstinc, yinc, uinc, vinc;
++
++	y = srcy;
++	u = srcu;
++	v = srcv;
++
++	dstinc = dstPitch - 2*w;
++	yinc = srcPitchy - w;
++	uinc = srcPitchuv - w/2;
++	vinc = srcPitchuv - w/2;
++
++	for (i = 0; i < h; i++) {
++		asm (
++//			".set arch=loongson2f\n\t"
++			".set noreorder\n\t"
++			"move $8, %8 \n\t"
++			"1: \n\t"
++			"beqz $8, 2f \n\t"
++			"xor $f0, $f0, $f0 \n\t"
++			"ldc1 $f4, (%0) \n\t"
++			"punpcklbh $f2, $f4, $f0 \n\t"
++			"punpckhbh $f4, $f4, $f0 \n\t"
++			"ldc1 $f16, 8(%0) \n\t"
++			"punpcklbh $f14, $f16, $f0 \n\t"
++			"punpckhbh $f16, $f16, $f0 \n\t"
++			
++			"lwc1 $f8, (%1) \n\t"
++			"lwc1 $f12, (%2) \n\t"
++			"punpcklbh $f8, $f8, $f12 \n\t"
++			"punpcklbh $f6, $f0, $f8 \n\t"
++			"punpckhbh $f8, $f0, $f8 \n\t"
++			"lwc1 $f18, 4(%1) \n\t"
++			"lwc1 $f12, 4(%2) \n\t"
++			"punpcklbh $f18, $f18, $f12 \n\t"
++			"punpcklbh $f10, $f0, $f18 \n\t"
++			"punpckhbh $f12, $f0, $f18 \n\t"
++
++			"or $f2, $f2, $f6 \n\t"
++			"or $f4, $f4, $f8 \n\t"
++			"or $f14, $f14, $f10 \n\t"
++			"or $f16, $f16, $f12 \n\t"
++
++			"sdc1 $f2, (%3) \n\t"
++			"sdc1 $f4, 8(%3) \n\t"
++			"add %0, 16 \n\t"
++			"add %1, 8 \n\t"
++			"add %2, 8 \n\t"
++			"sdc1 $f14, 0x10(%3) \n\t"
++			"sdc1 $f16, 0x18(%3) \n\t"
++			"add $8, -1 \n\t"
++			"b 1b \n\t"
++			"add %3, 32 \n\t"
++			"2: \n\t"
++			".set reorder\n\t"
++			: "=r" (y), "=r" (u), "=r" (v), "=r" (dst)
++			: "0" (y), "1" (u), "2" (v), "3" (dst), "r" (w>>4)
++			: "memory","$8"
++		);
++
++		asm (
++//			".set arch=loongson2f\n\t"
++			".set noreorder\n\t"
++			"move $8, %8 \n\t"
++			"1: \n\t"
++			"beqz $8, 2f \n\t"
++			"xor $f0, $f0, $f0 \n\t"
++			"ldc1 $f4, (%0) \n\t"
++			"punpcklbh $f2, $f4, $f0 \n\t"
++			"punpckhbh $f4, $f4, $f0 \n\t"
++			
++			"lwc1 $f8, (%1) \n\t"
++			"lwc1 $f12, (%2) \n\t"
++			"punpcklbh $f8, $f8, $f12 \n\t"
++			"punpcklbh $f6, $f0, $f8 \n\t"
++			"punpckhbh $f8, $f0, $f8 \n\t"
++
++			"or $f2, $f2, $f6 \n\t"
++			"or $f4, $f4, $f8 \n\t"
++
++			"sdc1 $f2, (%3) \n\t"
++			"sdc1 $f4, 8(%3) \n\t"
++			"add %0, 8 \n\t"
++			"add %1, 4 \n\t"
++			"add %2, 4 \n\t"
++			"add $8, -1 \n\t"
++			"b 1b \n\t"
++			"add %3, 16 \n\t"
++			"2:\n\t"
++			".set reorder\n\t"
++			: "=r" (y), "=r" (u), "=r" (v), "=r" (dst)
++			: "0" (y), "1" (u), "2" (v), "3" (dst), "r" ((w&0xf)/8)
++			: "memory","$8"
++		);
++
++		for (j = (w&7)/2; j; j--) {
++			*dst++ = *y++;
++			*dst++ = *u++;
++			*dst++ = *y++;
++			*dst++ = *v++;
++		}
++		y += yinc;
++		u = (i%2) ? (u + uinc): (u - w/2);
++		v = (i%2) ? (v + vinc): (v - w/2);
++		dst += dstinc;
++	}
++}
+ 
+ static int
+ SMI_PutImage(
+@@ -1592,7 +1704,7 @@ SMI_PutImage(
+ 		offset3 = tmp;
+ 	    }
+ 	    nLines = ((((y2 + 0xffff) >> 16) + 1) & ~1) - top;
+-	    xf86XVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1), 
++	    myXVCopyYUV12ToPacked(buf + (top * srcPitch) + (left >> 1), 
+ 				    buf + offset2, buf + offset3, dstStart,
+ 				    srcPitch, srcPitch2, dstPitch, nLines,
+ 				    nPixels);
+@@ -1747,7 +1859,7 @@ SMI_DisplayVideo(
+ {
+     SMIPtr pSmi = SMIPTR(pScrn);
+     CARD32 vpr00;
+-    int hstretch, vstretch;
++    uint_least32_t hstretch, vstretch;
+ 
+     ENTER();
+ 
+@@ -1774,13 +1886,13 @@ SMI_DisplayVideo(
+     }
+ 
+     if (drw_w > vid_w) {
+-	hstretch = (2560 * vid_w / drw_w + 5) / 10;
++	hstretch = ((uint_least32_t)(vid_w - 1) << 16) / (drw_w - 1);
+     } else {
+ 	hstretch = 0;
+     }
+ 
+     if (drw_h > vid_h) {
+-	vstretch = (2560 * vid_h / drw_h + 5) / 10;
++	vstretch = ((uint_least32_t)(vid_h - 1) << 16) / (drw_h - 1);
+ 	vpr00 |= 1 << 21;
+     } else {
+ 	vstretch = 0;
+@@ -1791,7 +1903,8 @@ SMI_DisplayVideo(
+     WRITE_VPR(pSmi, 0x18, (dstBox->x2) | (dstBox->y2 << 16));
+     WRITE_VPR(pSmi, 0x1C, offset >> 3);
+     WRITE_VPR(pSmi, 0x20, (pitch >> 3) | ((pitch >> 3) << 16));
+-    WRITE_VPR(pSmi, 0x24, (hstretch << 8) | vstretch);
++    WRITE_VPR(pSmi, 0x24, (hstretch & 0xff00) | ((vstretch & 0xff00) >> 8));
++    WRITE_VPR(pSmi, 0x68, ((hstretch & 0xff) << 8) | (vstretch & 0xff));
+ 
+     LEAVE();
+ }

+ 29 - 0
package/xinit/Makefile

@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=		xinit
+PKG_VERSION:=		1.2.1
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		7ad82221ebd6600a8d33712ec3b62efb
+PKG_DESCR:=		X Window System initializer
+PKG_SECTION:=		x11
+PKG_DEPENDS:=		xorg-server mcookie
+PKG_BUILDDEP+=		xorg-server
+PKG_URL:=		http://xorg.freedesktop.org
+PKG_SITES:=		http://xorg.freedesktop.org/archive/individual/app/
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,XINIT,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+post-install:
+	$(INSTALL_DIR) $(IDIR_XINIT)/usr/bin
+	$(INSTALL_BIN) $(WRKINST)/usr/bin/{xinit,startx} \
+		$(IDIR_XINIT)/usr/bin/
+	${INSTALL_DIR} ${IDIR_XINIT}/usr/lib/X11/xinit
+	${INSTALL_DATA} ${WRKINST}/usr/lib/X11/xinit/xinitrc \
+		${IDIR_XINIT}/usr/lib/X11/xinit/
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 5 - 1
package/xorg-server/Makefile

@@ -43,9 +43,9 @@ CONFIGURE_ARGS+=	\
 			--enable-xv \
 			--enable-xaa \
 			--enable-vgahw \
+			--enable-dpms \
 			--disable-aiglx \
 			--disable-config-hal \
-			--disable-dpms \
 			--disable-glx \
 			--disable-xace \
 			--disable-xephyr \
@@ -70,6 +70,10 @@ else
 CONFIGURE_ARGS+=	--disable-dri --disable-dri2
 endif
 
+ifeq (${ADK_LINUX_MIPS64_LEMOTE},y)
+CONFIGURE_ARGS+=	--with-int10=stub
+endif
+
 post-install:
 	$(INSTALL_DIR) $(IDIR_XORG_SERVER)/etc/X11
 	$(INSTALL_DIR) $(IDIR_XORG_SERVER)/usr/bin

+ 13 - 0
package/xorg-server/patches/patch-fb_fb_h

@@ -0,0 +1,13 @@
+	Fix for xf86-video-siliconmotion in 16bpp with XAA, see:
+	http://groups.google.com/group/loongson-dev/browse_thread/thread/570549e3d7894fef/5f04b3d9370adfd2
+--- xorg-server-1.7.6.orig/fb/fb.h	2010-03-12 05:38:21.000000000 +0100
++++ xorg-server-1.7.6/fb/fb.h	2010-06-03 15:34:35.903809488 +0200
+@@ -75,7 +75,7 @@
+ #define FBPREFIX(x) fb##x
+ #define WRITE(ptr, val) (*(ptr) = (val))
+ #define READ(ptr) (*(ptr))
+-#define MEMCPY_WRAPPED(dst, src, size) memcpy((dst), (src), (size))
++#define MEMCPY_WRAPPED(dst, src, size) memmove((dst), (src), (size))
+ #define MEMSET_WRAPPED(dst, val, size) memset((dst), (val), (size))
+ 
+ #endif

+ 55 - 0
package/xorg-server/patches/patch-hw_xfree86_common_compiler_h

@@ -0,0 +1,55 @@
+	Caller side code changes regarding memory mapped IO. This patch applies
+	for mips architectures and is used by xf86-video-siliconmotion.
+--- xorg-server-1.7.6.orig/hw/xfree86/common/compiler.h	2010-03-12 05:38:22.000000000 +0100
++++ xorg-server-1.7.6/hw/xfree86/common/compiler.h	2010-06-05 09:43:12.531809482 +0200
+@@ -713,42 +713,43 @@ xf86WriteMmio32LeNB(__volatile__ void *b
+ #     define PORT_SIZE short
+ #    endif
+ 
+-_X_EXPORT unsigned int IOPortBase;  /* Memory mapped I/O port area */
++_X_EXPORT volatile unsigned char *ioBase;  /* Memory mapped I/O port area */
++
+ 
+ static __inline__ void
+ outb(unsigned PORT_SIZE port, unsigned char val)
+ {
+-	*(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val;
++	*(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+ioBase) = val;
+ }
+ 
+ static __inline__ void
+ outw(unsigned PORT_SIZE port, unsigned short val)
+ {
+-	*(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val;
++	*(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+ioBase) = val;
+ }
+ 
+ static __inline__ void
+ outl(unsigned PORT_SIZE port, unsigned int val)
+ {
+-	*(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val;
++	*(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+ioBase) = val;
+ }
+ 
+ static __inline__ unsigned int
+ inb(unsigned PORT_SIZE port)
+ {
+-	return *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+IOPortBase);
++	return *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+ioBase);
+ }
+ 
+ static __inline__ unsigned int
+ inw(unsigned PORT_SIZE port)
+ {
+-	return *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+IOPortBase);
++	return *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+ioBase);
+ }
+ 
+ static __inline__ unsigned int
+ inl(unsigned PORT_SIZE port)
+ {
+-	return *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+IOPortBase);
++	return *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+ioBase);
+ }
+ 
+ 

+ 46 - 26
package/xorg-server/patches/patch-hw_xfree86_os-support_linux_lnx_video_c

@@ -1,15 +1,17 @@
+	Enable the ioBase mapping code for mips, too. This is needed by
+	xf86-video-siliconmotion.
 --- xorg-server-1.7.6.orig/hw/xfree86/os-support/linux/lnx_video.c	2010-03-12 05:38:22.000000000 +0100
-+++ xorg-server-1.7.6/hw/xfree86/os-support/linux/lnx_video.c	2010-05-14 19:06:06.873473002 +0200
-@@ -64,6 +64,8 @@ static Bool ExtendedEnabled = FALSE;
-       !defined(__mips__) && \
-       !defined(__arm__)
++++ xorg-server-1.7.6/hw/xfree86/os-support/linux/lnx_video.c	2010-06-05 21:46:29.659792653 +0200
+@@ -485,7 +485,7 @@ unmapVidMem(int ScreenNum, pointer Base,
+ /* I/O Permissions section                                                 */
+ /***************************************************************************/
  
-+#include "compiler.h"
-+
- /*
-  * Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare
-  * these.
-@@ -497,7 +499,7 @@ volatile unsigned char *ioBase = NULL;
+-#if defined(__powerpc__)
++#if defined(__powerpc__) || defined(__mips__)
+ volatile unsigned char *ioBase = NULL;
+ 
+ #ifndef __NR_pciconfig_iobase
+@@ -497,7 +497,7 @@ volatile unsigned char *ioBase = NULL;
  Bool
  xf86EnableIO(void)
  {
@@ -18,24 +20,42 @@
  	int fd;
  	unsigned int ioBase_phys;
  #endif
-@@ -524,6 +526,20 @@ xf86EnableIO(void)
+@@ -505,8 +505,12 @@ xf86EnableIO(void)
+ 	if (ExtendedEnabled)
+ 		return TRUE;
+ 
+-#if defined(__powerpc__)
++#if defined(__powerpc__) || defined(__mips__)
++#ifdef __powerpc__
+ 	ioBase_phys = syscall(__NR_pciconfig_iobase, 2, 0, 0);
++#else
++	ioBase_phys = 0x1fd00000;
++#endif
+ 
+ 	fd = open("/dev/mem", O_RDWR);
+ 	if (ioBase == NULL) {
+@@ -522,9 +526,10 @@ xf86EnableIO(void)
+ 		    return FALSE;
+ 		}
  #endif
++		xf86Msg(X_INFO,"%s: ioBase 0x%lx\n", (unsigned long)ioBase);
  	}
  	close(fd);
-+#elif defined(__mips__)
-+	fd = open("/dev/mem", O_RDWR);
-+	IOPortBase = (volatile unsigned char *)mmap(0, 0x20000,
-+			PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0x1fd00000);
-+	if (IOPortBase == MAP_FAILED) {
-+		xf86Msg(X_WARNING,
-+			"xf86EnableIOPorts: Failed to map iobase (%s)\n",
-+			strerror(errno));
-+		return FALSE;
-+	}
-+	close(fd);
-+	xf86Msg(X_WARNING,
-+		"xf86EnableIOPorts: map iobase (%x)\n",
-+		IOPortBase);
- #elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__)
+-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__)
++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__)
          if (ioperm(0, 1024, 1) || iopl(3)) {
                  if (errno == ENODEV)
+                         ErrorF("xf86EnableIOPorts: no I/O ports found\n");
+@@ -548,10 +553,10 @@ xf86DisableIO(void)
+ {
+ 	if (!ExtendedEnabled)
+ 		return;
+-#if defined(__powerpc__)
++#if defined(__powerpc__) || defined(__mips__)
+ 	munmap(ioBase, 0x20000);
+ 	ioBase = NULL;
+-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__)
++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__)
+ 	iopl(0);
+ 	ioperm(0, 1024, 0);
+ #endif

+ 11 - 3
scripts/scan-tools.sh

@@ -56,6 +56,12 @@ OpenBSD)
 	# although some packages' autoconf scripts may
 	# not properly recognise OpenBSD
 	;;
+Darwin*)
+	echo "Building OpenADK on $os needs a case-sensitive disk partition."
+	echo "For Snow Leopard and above you can use diskutil to resize your existing disk."
+	echo "For older versions you might consider to use a disk image"
+	echo "Example: sudo diskutil resizeVolume disk0s2 90G 1 jhfsx adk 30G"
+	;;
 *)
 	# unsupported
 	echo "Building OpenADK on $os is currently unsupported."
@@ -105,9 +111,11 @@ fi
 
 if ! (tar --version | grep GNU) >/dev/null 2>&1;then
 	if ! which gtar >/dev/null 2>&1; then
-		echo You must install GNU tar to continue.
-		echo
-		out=1
+		if ! which gnutar >/dev/null 2>&1; then
+			echo You must install GNU tar to continue.
+			echo
+			out=1
+		fi
 	fi
 fi
 

+ 4 - 0
scripts/tar

@@ -3,11 +3,15 @@
 # material, please see the LICENCE file in the top-level directory.
 
 if [ -z "$(which gtar 2>/dev/null)" ];then
+  if [ -z "$(which gnutar 2>/dev/null)" ];then
 	if [ -x /usr/bin/tar ];then
 		/usr/bin/tar "$@"
 	else
 		/bin/tar "$@"
 	fi
+  else
+	gnutar "$@"
+  fi
 else
 	gtar "$@"
 fi

+ 1 - 1
toolchain/binutils/Makefile.inc

@@ -4,7 +4,7 @@
 PKG_NAME:=		binutils
 PKG_VERSION:=		2.20.51
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		70971093cfa11bd943e06eccb2fd8914
+PKG_MD5SUM:=		74a7716095e031c8462137ca26ff5472
 PKG_SITES:=		ftp://sourceware.org/pub/binutils/snapshots/
 #PKG_SITES:=		${MASTER_SITE_GNU:=binutils/}
 DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.bz2

+ 0 - 3
toolchain/gmp/Makefile

@@ -15,11 +15,8 @@ $(WRKBUILD)/.configured:
 	(cd $(WRKBUILD); \
 		$(WRKBUILD)/configure \
 		--prefix=$(STAGING_TOOLS) \
-		--build=$(GNU_HOST_NAME) \
-		--host=$(GNU_HOST_NAME) \
 		--disable-shared \
 		--enable-static \
-		--disable-nls \
 	);
 	touch $@
 

+ 0 - 2
toolchain/mpfr/Makefile

@@ -16,8 +16,6 @@ $(WRKBUILD)/.configured:
 	(cd $(WRKBUILD); \
 		$(WRKBUILD)/configure \
 		--prefix=$(STAGING_TOOLS) \
-		--build=$(GNU_HOST_NAME) \
-		--host=$(GNU_HOST_NAME) \
 		--with-gmp-build=$(GMP_BUILD_DIR) \
 		--disable-shared \
 		--enable-static \