help wanted: get minimal xserver built

Daniel Stone daniel at freedesktop.org
Thu Feb 16 22:58:01 PST 2006


On Fri, Feb 17, 2006 at 12:04:49AM +0100, Enrico Weigelt wrote:
> * Daniel Stone <daniel at freedesktop.org> wrote:
> 
> > Please clean up your patches before submission, next time.
> 
> This patch is *not* meant for submission, its just me current 
> working branch, where I need some help ... 
> 
> I'll clean up once I get the server built.
> 
> <snip> 
> > > 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.
> 
> Yeah, just a quick hack to get it built. Seems that there's something 
> missing in aclocal ... don't yet know a better way to fix it.

Install the .m4 files from util/macros/ to /usr/share/aclocal, or
somewhere else and then pass the -I option to aclocal.  See
util/modular/build.sh for an example of how to do it.

> > > 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?
> 
> Also a dirty hack, required due some problems w/ cmdline parameter 
> passing (probably specific to my libtool replacement ...)

I'd imagine so -- works fine normally.

> > > 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.
> 
> hmm, would be better of course. I'm not sure where's the right place 
> for it. AFAIK we have to add this only when building *without* render.

Yes, but what's happening is this --
Build with Render: gcc -I$(top_srcdir)/render fbfoo.c
Build without Render: gcc fbfoo.c

So, if you're going to disable Render, you'll need to either leave its
include path in CFLAGS, or, even better, not include any of its files
when not building with it (i.e. remove all uses of Pictures).

> > > 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) \
> > 
> > ... ?
> 
> This is the point where I'm currently experimenting on. 
> 
> The xserver fails linking because some symbols are missing, which are
> found in libfb, but libfb itself also adds further dependencies ... 
> 
> I'm really not sure if this is the right way.

No, it's not.  Which symbols are missing?

> > > 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).
> 
> hmm, what is this file for ? how can I come around it ?

picturestr.h defines Pictures.  exa.h is for the new acceleration
architecture.  So, I guess you'd need to remove all Exa's knowledge of
Render, again.

> I still dont get the server linked :(( 

Judging by your #include workarounds, they probably want stuff from
librender.


More information about the xorg-modular mailing list