From c5c1adc379054204e7fe8a096f0683cf6a2af1ea Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 12 May 2005 22:22:29 +0000 Subject: [PATCH] First pass at getting current x.org to into buildroot. Still needs more polish but is a good start. --- package/Config.in | 1 + package/xorg/Config.in | 11 +++ package/xorg/xorg-6.8.2-linux_config.patch | 10 ++ package/xorg/xorg-6.8.2-xterm.patch | 11 +++ package/xorg/xorg-config.patch | 106 +++++++++++++++++++++ package/xorg/xorg-uclibc.patch | 31 ++++++ package/xorg/xorg.mk | 97 +++++++++++++++++++ 7 files changed, 267 insertions(+) create mode 100644 package/xorg/Config.in create mode 100644 package/xorg/xorg-6.8.2-linux_config.patch create mode 100644 package/xorg/xorg-6.8.2-xterm.patch create mode 100644 package/xorg/xorg-config.patch create mode 100644 package/xorg/xorg-uclibc.patch create mode 100644 package/xorg/xorg.mk diff --git a/package/Config.in b/package/Config.in index 932ccf6375..78f9b19e8d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -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 index 0000000000..0885549ad8 --- /dev/null +++ b/package/xorg/Config.in @@ -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 index 0000000000..25ab160281 --- /dev/null +++ b/package/xorg/xorg-6.8.2-linux_config.patch @@ -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 + #include /* 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 index 0000000000..2820b747e7 --- /dev/null +++ b/package/xorg/xorg-6.8.2-xterm.patch @@ -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 index 0000000000..87e836f276 --- /dev/null +++ b/package/xorg/xorg-config.patch @@ -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 diff --git a/package/xorg/xorg-uclibc.patch b/package/xorg/xorg-uclibc.patch new file mode 100644 index 0000000000..23b8b5fc04 --- /dev/null +++ b/package/xorg/xorg-uclibc.patch @@ -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 index 0000000000..a9369c5ab3 --- /dev/null +++ b/package/xorg/xorg.mk @@ -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 -- 2.30.2