First pass at getting current x.org to into buildroot.
authorEric Andersen <andersen@codepoet.org>
Thu, 12 May 2005 22:22:29 +0000 (22:22 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 12 May 2005 22:22:29 +0000 (22:22 -0000)
Still needs more polish but is a good start.

package/Config.in
package/xorg/Config.in [new file with mode: 0644]
package/xorg/xorg-6.8.2-linux_config.patch [new file with mode: 0644]
package/xorg/xorg-6.8.2-xterm.patch [new file with mode: 0644]
package/xorg/xorg-config.patch [new file with mode: 0644]
package/xorg/xorg-uclibc.patch [new file with mode: 0644]
package/xorg/xorg.mk [new file with mode: 0644]

index 932ccf63757db41d3a8387e104a7de1f1bad290d..78f9b19e8d5cfaffccb264a0b2dd748f98a1e5f2 100644 (file)
@@ -108,6 +108,7 @@ source "package/vtun/Config.in"
 source "package/wget/Config.in"
 source "package/which/Config.in"
 source "package/wireless-tools/Config.in"
+source "package/xorg/Config.in"
 source "package/zlib/Config.in"
 
 
diff --git a/package/xorg/Config.in b/package/xorg/Config.in
new file mode 100644 (file)
index 0000000..0885549
--- /dev/null
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_XORG
+       bool "X.org X Window System"
+       default n
+       depends !BR2_PACKAGE_TINYX
+       help
+         The official X Window system and server.
+
+comment "X.org X Window System disabled, tinyx selected"
+       depends on BR2_PACKAGE_TINYX
+
+
diff --git a/package/xorg/xorg-6.8.2-linux_config.patch b/package/xorg/xorg-6.8.2-linux_config.patch
new file mode 100644 (file)
index 0000000..25ab160
--- /dev/null
@@ -0,0 +1,10 @@
+--- xc/extras/drm/shared/drm.h.orig    2004-09-20 22:25:23.042737520 +0200
++++ xc/extras/drm/shared/drm.h 2004-09-20 22:25:33.282180888 +0200
+@@ -38,7 +38,6 @@
+ #define _DRM_H_
+ #if defined(__linux__)
+-#include <linux/config.h>
+ #include <asm/ioctl.h>                /* For _IO* macros */
+ #define DRM_IOCTL_NR(n)               _IOC_NR(n)
+ #define DRM_IOC_VOID          _IOC_NONE
diff --git a/package/xorg/xorg-6.8.2-xterm.patch b/package/xorg/xorg-6.8.2-xterm.patch
new file mode 100644 (file)
index 0000000..2820b74
--- /dev/null
@@ -0,0 +1,11 @@
+--- xc/programs/xterm/Imakefile.orig   2004-08-13 14:57:19.000000000 +0200
++++ xc/programs/xterm/Imakefile        2004-09-20 22:04:49.505263720 +0200
+@@ -93,7 +93,7 @@
+ #endif
+ #ifdef UTF8support
+-    UTF8_OPTION = -DOPT_WIDE_CHARS -DOPT_LUIT_PROG
++    UTF8_OPTION = -DOPT_WIDE_CHARS -DOPT_LUIT_PROG -DOPT_256_COLORS
+         UTF8SRC = charclass.c precompose.c wcwidth.c xutf8.c
+         UTF8OBJ = charclass.o precompose.o wcwidth.o xutf8.o
+ #endif
diff --git a/package/xorg/xorg-config.patch b/package/xorg/xorg-config.patch
new file mode 100644 (file)
index 0000000..87e836f
--- /dev/null
@@ -0,0 +1,106 @@
+--- xc/config/cf/host.def~     Thu May 12 15:28:01 MDT 2005
++++ xc/config/cf/host.def      Thu May 12 15:28:01 MDT 2005
+@@ -0,0 +1,38 @@
++#define KDriveXServer         YES
++#define TinyXServer           YES
++#define XfbdevServer          YES
++#define CrossCompiling                YES
++#define ProjectRoot             /usr/X11R6
++#define NothingOutsideProjectRoot     YES
++
++#define HasFreetype2          NO
++#define HasFontconfig         NO
++#define HasLibpng             YES
++#define HasZlib                       YES
++
++#define HasExpat              NO
++#define XprtServer            NO
++#define BuildXprintClients    NO
++#define TouchScreen           NO
++#define HasTsLib              NO
++#define BuildDocs             NO
++#define BuildXF86DRI          NO
++#define BuildGlxExt           NO
++#define BuildOSMesaLib                NO
++#define BuildLBX              NO
++#define BuildLowMem           NO
++#define BuildIPv6             NO
++#define HasPam                        NO
++#define HasPamMisc            NO
++
++/*
++#define XF86CardDrivers               mga glint nv tga s3virge sis rendition \
++                              neomagic i740 tdfx savage \
++                              cirrus vmware tseng trident chips apm \
++                              GlideDriver fbdev i128 \
++                              ati AgpGartDrivers DevelDrivers ark \
++                              cyrix siliconmotion vesa vga \
++                              XF86OSCardDrivers XF86ExtraCardDrivers
++*/
++
++#define XInputDrivers         mouse keyboard
+--- xc/config/cf/cross.def~    Thu May 12 15:28:01 MDT 2005
++++ xc/config/cf/cross.def     Thu May 12 15:28:01 MDT 2005
+@@ -1,45 +1,45 @@
+-/* $XFree86: xc/config/cf/cross.def,v 1.1 2000/12/08 22:09:34 keithp Exp $ */
++/* $XFree86: xc/config/cf/cross.def,v 1.2 2001/03/30 02:15:17 keithp Exp $ */
+ /*
+  * This file contains redefinitions of some symbols to enable
+  * cross compilation: e.g. paths for include files and paths to
+  * compiler images.  It will have to be edited to reflect these
+  * given your local configuration.
+  */
+-#if 0
+-#undef i386Architecture
++#define i386Architecture
+-#define Arm32Architecture
++#undef Arm32Architecture
+ #undef OptimizedCDebugFlags
+-#define OptimizedCDebugFlags  -O2
+-#define ServerCDebugFlags     -O2
++#define OptimizedCDebugFlags  -Os
++#define ServerCDebugFlags     -Os
+ #undef StandardDefines
+-#define StandardDefines       -Dlinux -D__arm__ -D_POSIX_SOURCE \
++#define StandardDefines       -Dlinux -D__REPLACE_ARCH__ -D_POSIX_SOURCE \
+                               -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
+ #undef CcCmd
+-#define StdIncDir /skiff/local/arm-linux/include
+-#define PreIncDir 
++#define StdIncDir REPLACE_STAGING_DIR/include
++#define PreIncDir
+ #undef PostIncDir
+-#define PostIncDir /skiff/local/lib/gcc-lib/arm-linux/2.95.2/include
+-#define CcCmd /skiff/local/bin/arm-linux-gcc
++#define PostIncDir REPLACE_STAGING_DIR/lib/gcc-lib/REPLACE_ARCH-linux-uclibc/3.3.3/include
++#define CcCmd REPLACE_STAGING_DIR/bin/REPLACE_ARCH-linux-gcc
+ #undef CplusplusCmd
+-#define HasCplusplus YES
+-#define CplusplusCmd /skiff/local/bin/arm-linux-g++
++#define HasCplusplus NO
++#define CplusplusCmd NO
+ #define DoRanlibCmd YES
+-#define RanlibCmd /skiff/local/bin/arm-linux-ranlib
++#define RanlibCmd REPLACE_STAGING_DIR/bin/REPLACE_ARCH-linux-ranlib
+ #undef ExtraLoadFlags
+ #define ExtraLoadFlags
+ #define FbNoPixelAddrCode
+ #undef TermcapLibrary
+-#define TermcapLibrary -ltermcap
++#define TermcapLibrary -lncurses
+ #undef LdPostLib
+-#define LdPostLib     -L/skiff/local/arm-linux/lib
++#define LdPostLib     -LREPLACE_STAGING_DIR/REPLACE_ARCH-linux-uclibc/lib
++#undef LdCmd
++#define LdCmd REPLACE_STAGING_DIR/bin/REPLACE_ARCH-linux-ld
+ #undef ExtensionOSDefines
+ #define ExtensionOSDefines
+ #define ServerXdmcpDefines    /**/
+ #define HostCcCmd  cc
+-#endif
+ #include <cross.rules>
diff --git a/package/xorg/xorg-uclibc.patch b/package/xorg/xorg-uclibc.patch
new file mode 100644 (file)
index 0000000..23b8b5f
--- /dev/null
@@ -0,0 +1,31 @@
+--- xc/programs/xfs/os/config.c.orig   2005-04-26 03:13:52.000000000 -0600
++++ xc/programs/xfs/os/config.c        2005-04-26 03:14:09.000000000 -0600
+@@ -665,6 +665,8 @@
+     val = config_parse_int (val, &ret, &scan);
+     if (ret == -1)
+       return val;
++#ifdef SNFFORMAT
+     SnfSetFormat (bit, byte, glyph, scan);
++#endif
+     return val;
+ }
+--- xc/fonts/util/ucs2any.c    2004-03-04 17:46:21.000000000 +0000
++++ xc/fonts/util/ucs2any.c    2004-09-11 12:49:37.000000000 +0000
+@@ -61,17 +61,6 @@
+ /* global variable for argv[0] */
+ const char *my_name = NULL;
+-#ifdef NEED_BASENAME
+-static char *
+-basename(char *pathname)
+-{
+-      char    *ptr;
+-
+-      ptr = strrchr(pathname, '/');
+-      return ((ptr == NULL) ? pathname : &ptr[1]);
+-}
+-#endif
+-
+ /* "CLASS" "z" string and memory manipulation */
+ static void *
diff --git a/package/xorg/xorg.mk b/package/xorg/xorg.mk
new file mode 100644 (file)
index 0000000..a9369c5
--- /dev/null
@@ -0,0 +1,97 @@
+#############################################################
+#
+# xorg X Window System
+#
+#############################################################
+
+ifneq ($(strip $(BR2_PACKAGE_TINYX)),y)
+
+XORG_APPS:=xlsfonts/xlsfonts xmodmap/xmodmap
+#xset/xset xdpyinfo/xdpyinfo xsetroot/xsetroot \
+#      xrdb/xrdb xrandr/xrandr \
+#      xhost/xhost xauth/xauth oclock/oclock xeyes/xeyes
+#
+
+XORG_LIBS:=ICE X11 Xext Xpm
+# Xaw SM Xt Xmu
+
+#############################################################
+# Stuff below this line shouldn't need changes.
+# if you do change, look in rxvt & matchbox for the impact!
+#############################################################
+#
+# Where resources are found.
+#
+XORG_SOURCE:=X11R6.8.2-src.tar.bz2
+XORG_SITE:=http://xorg.freedesktop.org/X11R6.8.2/src-single/
+XORG_CAT:=bzcat
+XORG_DIR:=$(BUILD_DIR)/xc
+XORG_LDIR:=$(XORG_DIR)/lib
+XORG_PROGS:=$(XORG_DIR)/programs
+XORG_BINX:=$(TARGET_DIR)/usr/X11R6/bin/
+XORG_LIBX:=$(TARGET_DIR)/usr/lib/
+XORG_CF:=$(XORG_DIR)/config/cf/cross.def
+
+# Install Xfbdev for use with the kernel frame buffer
+XORG_XSERVER:=$(XORG_DIR)/programs/Xserver/Xfbdev
+
+$(DL_DIR)/$(XORG_SOURCE):
+       $(WGET) -P $(DL_DIR) $(XORG_SITE)/$(XORG_SOURCE)
+
+$(XORG_DIR)/.configure: $(DL_DIR)/$(XORG_SOURCE)
+       $(XORG_CAT) $(DL_DIR)/$(XORG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       toolchain/patch-kernel.sh $(XORG_DIR) package/xorg/ xorg*.patch
+       $(SED) 's:REPLACE_STAGING_DIR:$(STAGING_DIR):g' $(XORG_CF)
+       $(SED) 's:REPLACE_ARCH:$(ARCH):g' $(XORG_CF)
+       $(SED) 's:#define CcCmd.*:#define CcCmd $(TARGET_CROSS)gcc:g' $(XORG_CF)
+       $(SED) 's:#define RanlibCmd.*:#define RanlibCmd $(TARGET_CROSS)ranlib:g' $(XORG_CF)
+       $(SED) 's:#define LdCmd.*:#define LdCmd $(TARGET_CROSS)ld:g' $(XORG_CF)
+       touch $(XORG_DIR)/.configure
+
+$(XORG_XSERVER): $(XORG_DIR)/.configure
+       rm -f $(XORG_BINX)/Xfbdev
+       ( cd $(XORG_DIR) ; $(MAKE) World )
+
+$(XORG_BINX)/Xfbdev: $(XORG_XSERVER)
+       -mkdir $(TARGET_DIR)/usr/X11R6
+       -mkdir $(XORG_BINX)
+       for file in $(XORG_APPS) ; do \
+               cp -f $(XORG_DIR)/programs/$$file $(XORG_BINX) ; \
+               $(STRIP) $(XORG_PROGS)/$$file ; \
+       done
+       cp $(XORG_DIR)/programs/Xserver/Xfbdev $(XORG_BINX)
+       $(STRIP) $(XORG_BINX)/Xfbdev
+       cp -f $(XORG_DIR)/startx $(TARGET_DIR)/bin
+       chmod a+x $(TARGET_DIR)/bin/startx
+
+$(XORG_LIBX)/libX11.so.6.2: $(XORG_XSERVER)
+       for dirs in $(XORG_LIBS) ; do \
+               file=`find $(XORG_LDIR)/$$dirs -type f -iname "lib$$dirs.so*"` ; \
+               $(STRIP) --strip-unneeded $$file ; \
+               cp -f $$file $(XORG_LIBX) ; \
+               file=`find $(XORG_LDIR)/$$dirs -type l -iname "lib$$dirs.so*"` ; \
+               cp -pRf $$file $(XORG_LIBX) ; \
+       done
+
+xorg: zlib $(XORG_LIBX)/libX11.so.6.2 $(XORG_BINX)/Xfbdev
+
+xorg-source: $(DL_DIR)/$(XORG_SOURCE)
+
+xorg-clean:
+       -rm -rf $(TARGET_DIR)/usr/X11R6
+       -$(MAKE) -C $(XORG_DIR) clean
+
+xorg-dirclean:
+       -rm -rf $(XORG_DIR)
+       -rm -rf $(TARGET_DIR)/usr/X11R6
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_XORG)),y)
+TARGETS+=xorg
+endif
+
+endif