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