help wanted: get minimal xserver built

Daniel Stone daniel at freedesktop.org
Thu Feb 16 13:52:08 PST 2006


On Thu, Feb 16, 2006 at 10:37:47PM +0100, Enrico Weigelt wrote:
> I'm trying to get an minimal xserver (just xfree86 server without
> any extensions) built. I had to fix a lot of things, but I'm 
> not finished yet ... still got some trouble with unresolved 
> symbols at linking. 
> 
> Please could anyone help a little bit ?
> 
> (attached my current status as patch)

Please clean up your patches before submission, next time.

> diff -ruN xorg-server-1.0.1.orig/doc/Makefile.am xorg-server-1.0.1/doc/Makefile.am
> --- xorg-server-1.0.1.orig/doc/Makefile.am	Tue Dec  6 23:48:48 2005
> +++ xorg-server-1.0.1/doc/Makefile.am	Thu Feb 16 03:48:17 2006
> @@ -5,7 +5,9 @@
>  
>  appman_PROCESSED = $(appman_PRE:man.pre=man)
>  
> -appman_DATA = $(appman_PRE:man.pre=@APP_MAN_SUFFIX@)
> +appman_DATA = $(appman_PRE:man.pre=1)
> +
> +APP_MAN_SUFFIX = 1
>  
>  BUILT_SOURCES = $(appman_PROCESSED)

This is clearly bogus.

> diff -ruN xorg-server-1.0.1.orig/Xprint/doc/Makefile.am xorg-server-1.0.1/Xprint/doc/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/dmx/Makefile.am xorg-server-1.0.1/hw/dmx/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/dmx/config/Makefile.am xorg-server-1.0.1/hw/dmx/config/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/vfb/Makefile.am xorg-server-1.0.1/hw/vfb/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/getconfig/Makefile.am xorg-server-1.0.1/hw/xfree86/getconfig/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/utils/gtf/Makefile.am xorg-server-1.0.1/hw/xfree86/utils/gtf/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/xnest/Makefile.am xorg-server-1.0.1/hw/xnest/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/utils/kbd_mode/Makefile.am xorg-server-1.0.1/hw/xfree86/utils/kbd_mode/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/utils/pcitweak/Makefile.am xorg-server-1.0.1/hw/xfree86/utils/pcitweak/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/utils/scanpci/Makefile.am xorg-server-1.0.1/hw/xfree86/utils/scanpci/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/utils/xorgcfg/Makefile.am xorg-server-1.0.1/hw/xfree86/utils/xorgcfg/Makefile.am
> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/utils/xorgconfig/Makefile.am xorg-server-1.0.1/hw/xfree86/utils/xorgconfig/Makefile.am

As are these.

> diff -ruN xorg-server-1.0.1.orig/configure.ac xorg-server-1.0.1/configure.ac
> --- xorg-server-1.0.1.orig/configure.ac	Thu Feb 16 07:07:54 2006
> +++ xorg-server-1.0.1/configure.ac	Thu Feb 16 07:10:14 2006
> @@ -265,13 +265,13 @@
>  AC_DEFINE_UNQUOTED(OSNAME, "$OSNAME", 
>  	[Define to OS Name string to display for build OS in Xorg log])
>  
> -DEFAULT_VENDOR_NAME="The X.Org Foundation"
> +DEFAULT_VENDOR_NAME="The_X.Org_Foundation"
>  DEFAULT_VENDOR_NAME_SHORT="X.Org"
>  DEFAULT_VERSION_MAJOR=7
>  DEFAULT_VERSION_MINOR=0
>  DEFAULT_VERSION_PATCH=0
>  DEFAULT_VERSION_SNAP=0
> -DEFAULT_RELEASE_DATE="21 December 2005"
> +DEFAULT_RELEASE_DATE="21_December_2005"
>  DEFAULT_VENDOR_WEB="http://wiki.x.org"
>  
>  m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])

Why were these changed?

> diff -ruN xorg-server-1.0.1.orig/configure.ac xorg-server-1.0.1/configure.ac
> --- xorg-server-1.0.1.orig/configure.ac	Thu Feb 16 07:35:50 2006
> +++ xorg-server-1.0.1/configure.ac	Thu Feb 16 07:38:10 2006
> @@ -273,6 +273,7 @@
>  DEFAULT_VERSION_SNAP=0
>  DEFAULT_RELEASE_DATE="21_December_2005"
>  DEFAULT_VENDOR_WEB="http://wiki.x.org"
> +VENDOR_RELEASE="70000000"
>  
>  m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
>  
> @@ -715,7 +716,6 @@
>  	AC_DEFINE(USE_RGB_BUILTIN, 1, [Use built-in RGB color database])
>  fi
>  
> -VENDOR_RELEASE="((($VERSION_MAJOR) * 10000000) + (($VERSION_MINOR) * 100000) + (($VERSION_PATCH) * 1000) + $VERSION_SNAP)"
>  
>  if test $VERSION_SNAP = "0"; then
>  	if test $VERSION_PATCH = "0"; then

Why was this changed?

> diff -ruN xorg-server-1.0.1.orig/Xext/xtest1di.c xorg-server-1.0.1/Xext/xtest1di.c
> --- xorg-server-1.0.1.orig/Xext/xtest1di.c	Thu Feb 16 17:12:25 2006
> +++ xorg-server-1.0.1/Xext/xtest1di.c	Thu Feb 16 22:03:48 2006
> @@ -66,6 +66,8 @@
>  #include <dix-config.h>
>  #endif
>  
> +#ifdef XTESTEXT1
> +
>  #include <stdio.h>
>  #include <X11/X.h>
>  #include <X11/Xproto.h>
> @@ -952,3 +954,5 @@
>  		}
>  	}
>  }
> +
> +#endif

Surely the better solution would be to only build xtest1*.c when
you need to, rather than ifdef'ing out the entire thing?

> diff -ruN xorg-server-1.0.1.orig/fb/fb.h xorg-server-1.0.1/fb/fb.h
> --- xorg-server-1.0.1.orig/fb/fb.h	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/fb/fb.h	Thu Feb 16 17:36:54 2006
> @@ -43,7 +43,7 @@
>  #ifdef RENDER
>  #include "picturestr.h"
>  #else
> -#include "picture.h"
> +#include "../render/picture.h"
>  #endif
>  
>  /*

No.  If you require Render, then put it in CFLAGS.

> diff -ruN xorg-server-1.0.1.orig/fb/fbpseudocolor.c xorg-server-1.0.1/fb/fbpseudocolor.c
> --- xorg-server-1.0.1.orig/fb/fbpseudocolor.c	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/fb/fbpseudocolor.c	Thu Feb 16 17:40:30 2006
> @@ -6,7 +6,7 @@
>  #include <X11/Xproto.h>
>  #include "scrnintstr.h"
>  #include "colormapst.h"
> -#include "glyphstr.h"
> +#include "../render/glyphstr.h"
>  #include "resource.h"
>  #include <X11/fonts/font.h>
>  #include "dixfontstr.h"

As above.

> diff -ruN xorg-server-1.0.1.orig/hw/Makefile.am xorg-server-1.0.1/hw/Makefile.am
> --- xorg-server-1.0.1.orig/hw/Makefile.am	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/hw/Makefile.am	Thu Feb 16 22:22:21 2006
> @@ -27,4 +27,5 @@
>  	$(XNEST_SUBDIRS)	\
>  	$(DMX_SUBDIRS)
>  
> -DIST_SUBDIRS = dmx xfree86 vfb xnest xwin darwin
> +## FIXME: do not publish this patch ... 
> +DIST_SUBDIRS = xfree86 

...

> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/Makefile.am xorg-server-1.0.1/hw/xfree86/Makefile.am
> --- xorg-server-1.0.1.orig/hw/xfree86/Makefile.am	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/hw/xfree86/Makefile.am	Thu Feb 16 20:55:04 2006
> @@ -7,7 +7,7 @@
>  SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support parser rac \
>            ramdac shadowfb vbe vgahw xaa xf1bpp xf4bpp xf8_16bpp \
>  	  xf8_32bpp xf8_32wid loader scanpci dixmods exa \
> -	  $(DRI_SUBDIR) utils $(DOC_SUBDIR) getconfig
> +	  $(DRI_SUBDIR) $(DOC_SUBDIR) getconfig
>  
>  DIST_SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support \
>                 parser rac ramdac shadowfb vbe vgahw xaa xf1bpp xf4bpp \
> @@ -37,6 +37,7 @@
>              $(OS_LIBS) \
>              dummylib/libdummy.a \
>  	    dixmods/libdixmods.la \
> +	    ../../fb/libfb.la	\
>              @XORG_LIBS@
>  
>  Xorg_LDADD = $(XORG_LIBS) \

... ?

> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/common/xf86RandR.c xorg-server-1.0.1/hw/xfree86/common/xf86RandR.c
> --- xorg-server-1.0.1.orig/hw/xfree86/common/xf86RandR.c	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/hw/xfree86/common/xf86RandR.c	Thu Feb 16 18:34:38 2006
> @@ -27,6 +27,8 @@
>  #include <xorg-config.h>
>  #endif
>  
> +#ifdef RANDR
> +
>  #include <X11/X.h>
>  #include "os.h"
>  #include "mibank.h"
> @@ -436,3 +438,4 @@
>  }
>  
>  
> +#endif

No -- see comment on xtest1di.c.

> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/exa/exa.h xorg-server-1.0.1/hw/xfree86/exa/exa.h
> --- xorg-server-1.0.1.orig/hw/xfree86/exa/exa.h	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/hw/xfree86/exa/exa.h	Thu Feb 16 19:04:02 2006
> @@ -30,7 +30,12 @@
>  #include "pixmapstr.h"
>  #include "windowstr.h"
>  #include "gcstruct.h"
> +
> +#ifdef RENDER
>  #include "picturestr.h"
> +#else
> +#include "../render/picturestr.h"
> +#endif
>  
>  #define EXA_VERSION_MAJOR   0
>  #define EXA_VERSION_MINOR   2

No -- see comment on fbpict.c (which I'd imagine has no business being
built in the non-Render case).

> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/loader/xf86sym.c xorg-server-1.0.1/hw/xfree86/loader/xf86sym.c
> --- xorg-server-1.0.1.orig/hw/xfree86/loader/xf86sym.c	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/hw/xfree86/loader/xf86sym.c	Thu Feb 16 21:26:13 2006
> @@ -475,7 +475,9 @@
>      SYMFUNC(xf86CommonSpecialKey)
>      SYMFUNC(xf86IsPc98)
>      SYMFUNC(xf86DisableRandR)
> +#ifdef RENDER
>      SYMFUNC(xf86GetRotation)
> +#endif

... RANDR ...

>      SYMFUNC(VidModeExtensionInit)
> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/xaa/xaaPict.c xorg-server-1.0.1/hw/xfree86/xaa/xaaPict.c
> --- xorg-server-1.0.1.orig/hw/xfree86/xaa/xaaPict.c	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/hw/xfree86/xaa/xaaPict.c	Thu Feb 16 18:51:31 2006
> @@ -37,10 +37,10 @@
>  #include "windowstr.h"
>  #include "xf86str.h"
>  #include "mi.h"
> -#include "picturestr.h"
> -#include "glyphstr.h"
> -#include "picture.h"
> -#include "mipict.h"
> +#include "../render/picturestr.h"
> +#include "../render/glyphstr.h"
> +#include "../render/picture.h"
> +#include "../render/mipict.h"
>  #include "xaa.h"
>  #include "xaalocal.h"
>  #include "xaawrap.h"

No.

> @@ -180,6 +180,7 @@
>      (pDraw->type == DRAWABLE_WINDOW || \
>       (pDraw->type == DRAWABLE_PIXMAP && IS_OFFSCREEN_PIXMAP(pDraw)))
>  
> +#ifdef RENDER
>  Bool
>  XAADoComposite (
>      CARD8      op,
> @@ -546,6 +547,7 @@
>      XAA_RENDER_EPILOGUE(pScreen, Composite, XAAComposite);
>  }
>  
> +
>  Bool
>  XAADoGlyphs (CARD8         op,
>  	   PicturePtr    pSrc,
> @@ -769,3 +771,5 @@
>  
>      XAA_RENDER_EPILOGUE(pScreen, Glyphs, XAAGlyphs);
>  }
> +
> +#endif

There doesn't seem to be much at all (if anything) left of xaaPict.c
after these ifdefs, again ...

> diff -ruN xorg-server-1.0.1.orig/hw/xfree86/xaa/xaaWrapper.c xorg-server-1.0.1/hw/xfree86/xaa/xaaWrapper.c
> --- xorg-server-1.0.1.orig/hw/xfree86/xaa/xaaWrapper.c	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/hw/xfree86/xaa/xaaWrapper.c	Thu Feb 16 18:41:54 2006
> @@ -6,11 +6,13 @@
>  #include <X11/Xproto.h>
>  #include "scrnintstr.h"
>  #include "gcstruct.h"
> -#include "glyphstr.h"
> +#include "../render/glyphstr.h"
>  #include "window.h"
>  #include "windowstr.h"
> -#include "picture.h"
> +#include "../render/picture.h"

No.

> diff -ruN xorg-server-1.0.1.orig/include/xorg-config.h xorg-server-1.0.1/include/xorg-config.h
> diff -ruN xorg-server-1.0.1.orig/include/xorg-server.h xorg-server-1.0.1/include/xorg-server.h

Next time, please pay us the common courtesy of properly cleaned
patches.

> diff -ruN xorg-server-1.0.1.orig/miext/cw/cw.h xorg-server-1.0.1/miext/cw/cw.h
> --- xorg-server-1.0.1.orig/miext/cw/cw.h	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/miext/cw/cw.h	Thu Feb 16 19:05:39 2006
> @@ -26,7 +26,12 @@
>  #endif
>  
>  #include "gcstruct.h"
> +
> +#ifdef RENDER
>  #include "picturestr.h"
> +#else
> +#include "../render/picturestr.h"
> +#endif
>  
>  /*
>   * One of these structures is allocated per GC that gets used with a window with

No (CFLAGS).

> diff -ruN xorg-server-1.0.1.orig/miext/layer/layerpict.c xorg-server-1.0.1/miext/layer/layerpict.c
> --- xorg-server-1.0.1.orig/miext/layer/layerpict.c	Thu Feb 16 17:12:26 2006
> +++ xorg-server-1.0.1/miext/layer/layerpict.c	Thu Feb 16 18:11:35 2006
> @@ -26,6 +26,8 @@
>  #include <dix-config.h>
>  #endif
>  
> +#ifdef RENDER
> +
>  #include "layerstr.h"
>  
>  void
> @@ -147,3 +149,5 @@
>  	LayerWrap (ps, &pLayScr->kinds[LAYER_FB], CompositeRects, layerCompositeRects);
>      }
>  }
> +
> +#endif

No (don't build).

Cheers,
Daniel


More information about the xorg-modular mailing list