Am Mittwoch, 10. Dezember 2003 02:04 schrieb Alan Hourihane:
> On Tue, Dec 09, 2003 at 04:54:24PM -0800, Eric Anholt wrote:
> > On Tue, 2003-12-09 at 16:34, Alan Hourihane wrote:
> > > On Tue, Dec 09, 2003 at 04:14:09PM -0800, Eric Anholt wrote:
> > > > On Tue, 2003-12-09 at 15:52, Alan Hourihane wrote:
> > > > > On Tue, Dec 09, 2003 at 03:05:57PM -0800, Eric Anholt wrote:
> > > > > > On Tue, 2003-12-09 at 14:21, Alan Hourihane wrote:
> > > > > > > CVSROOT:  /cvs/dri
> > > > > > > Module name:      xc
> > > > > > > Repository:       xc/xc/config/cf/
> > > > > > > Changes by:       [EMAIL PROTECTED]       03/12/09 14:21:04
> > > > > > >
> > > > > > > Log message:
> > > > > > >   move NormalLibExpat definition into OS specific config files
> > > > > > > that'll help the merge from/to XFree86 at a later stage.
> > > > > >
> > > > > > The build is still broken on FreeBSD.  Would it be objected to if
> > > > > > I make the static expatness optional depending on platform?  I'd
> > > > > > rather not be linking statically for our ports version of the
> > > > > > DRI, anyway.
> > > > >
> > > > > Can you explain what's broken in the FreeBSD build ?
> > > > >
> > > > > Also - Is expat available on all FreeBSD versions ?
> > > >
> > > > First it dies with not finding expat.h.  Adding EXPATINCLUDES to
> > > > common/Makefile.in fixed that.  Then it dies on -lexpat because expat
> > > > wasn't built (even with HasExpat YES not being defined in
> > > > FreeBSD.cf).
> > >
> > > O.k. I've fixed the Imakefile. As for HasExpat YES, there's UseExpat
> > > which should default to YES because BuildXF86DRI is set. UseExpat
> > > should override it.
> >
> > But BuildExpat is (UseExpat && !HasExpat), right?
>
> Yes. Missed that essential piece. I'd moved straight down to see the
> #if UseExpat furthur down X11.tmpl.
>
> > > > expat is available in ports, and I feel pretty safe saying everyone
> > > > ever using the DRI on FreeBSD will already have it installed (having
> > > > already installed XFree86-4-libraries which depends on it).  I've
> > > > never heard a single complaint in my memory about HasExpat already
> > > > being set unconditionally in FreeBSD.cf.
> > >
> > > I've got a FreeBSD 4.3 box, I'll check if expat is installed by
> > > default.
> >
> > If you mean in the base install, no, it isn't (well, except as
> > libbsdxml, but it's renamed for a reason).  But you can't build the DRI
> > from a base FreeBSD install, last I knew of; you first need to install
> > XFree86.  If you are doing it properly on FreeBSD that means using
> > ports, which means XFree86-4-libraries which depends on libexpat.  If
> > people install XFree86 from source, I hope XFree86 is installing its
> > libexpat in the right place, but I don't care about that too much.
> > Their system is probably going to end up broken in odd ways when they
> > try to use ports after that anyway.
>
> O.k. I'll defer to your decision on that.
>
> > > > > > What I'm trying right now is making an ExpatLibrary definition in
> > > > > > Imake.tmpl that is used in the drivers build.  It's overridden
> > > > > > for non-FreeBSD in host.def.
> > > > >
> > > > > Can you send a patch first ?
> > > > >
> > > > > Alan.
> > > >
> > > > http://www.freedesktop.org/~anholt/dri-expatfix.diff
> > > >
> > > > Apoligies for the mess in it; there are some other changes in there.
> > > > It's what I've just tested on FreeBSD and Linux, with the linking
> > > > looking like it ended up right (ldd shows no libexpat on linux)
> > > >
> > > > Unless there's some compelling reason to have expat linked
> > > > statically, I'll have to end up patching to fix linking in ports,
> > > > which will be annoying.
> > >
> > > The problem of putting the StaticLibrary() bits back in host.def
> > > results in the build linking against the dynamic version when merged
> > > back into XFree86 at a later date. I'm trying to modify the OS cf files
> > > now so that we don't lose that functionality.
> > >
> > > So if you want to do....
> > >
> > > #ifndef ExpatLibrary
> > > #define ExpatLibrary StaticLibrary($(BUILDLIBDIR),expat)
> > > #endif
> > >
> > > in the linux.cf instead of the host.def that's fine with me. That'll
> > > leave the FreeBSD and OpenBSD architectures linking dynamically.
> >
> > So Linux has to have it linked statically in XFree86, too?  Not seeing
> > the reason for that, but OK.
>
> Actually, I've had a rethink about this. Leave it in host.def for now
> as you've got it. We may need to revisit it later.

Didn't we have "expat" on all _new_ distros?
SuSE 9.0 for example.

SunWave1 /opt/Mesa# rpm -qa | grep expat
expat-1.95.6-80

SunWave1 /opt/Mesa# rpm -ql expat-1.95.6-80
/usr/bin/xmlwf
/usr/include/expat.h
/usr/lib/libexpat.a
/usr/lib/libexpat.la
/usr/lib/libexpat.so
/usr/lib/libexpat.so.0
/usr/lib/libexpat.so.0.4.0
/usr/share/doc/packages/expat
/usr/share/doc/packages/expat/COPYING
/usr/share/doc/packages/expat/Changes
/usr/share/doc/packages/expat/MANIFEST
/usr/share/doc/packages/expat/README
/usr/share/doc/packages/expat/examples
/usr/share/doc/packages/expat/examples/elements.c
/usr/share/doc/packages/expat/examples/outline.c
/usr/share/doc/packages/expat/expatfaq.html
/usr/share/doc/packages/expat/reference.html
/usr/share/doc/packages/expat/style.css
/usr/share/doc/packages/expat/valid-xhtml10.png
/usr/share/doc/packages/expat/xmlwf.sgml
/usr/share/man/man1/xmlwf.1.gz

SunWave1 /opt/Mesa# find /usr/X11R6/ -name '*expat*'

SunWave1 /opt/Mesa# find /tmp/INSTALL/SOURCE/dri-trunk/ -name '*expat*'
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/lib/expat
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/lib/expat/expat-def.cpp
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/lib/expat/expat_config.h
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/lib/expat.h
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/vms/expat_config.h
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expat.bpf
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expat.bpr
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expat.mak
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/libexpat_mtd.def
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expat_static.bpf
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expat_static.bpr
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expat_static.mak
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/libexpatw_mtd.def
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expatw.bpf
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expatw.bpr
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expatw.mak
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expatw_static.bpf
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expatw_static.bpr
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/bcb5/expatw_static.mak
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/win32/expat.iss
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/conftools/expat.m4
/tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/expat_config.h.in

SunWave1 /opt/Mesa# 
diff /usr/include/expat.h /tmp/INSTALL/SOURCE/dri-trunk/xc/xc/extras/expat/lib/expat.h
3a4
> /* $XFree86: xc/extras/expat/lib/expat.h,v 1.2 2003/10/22 16:59:31 tsi Exp $ 
*/
105a107,128
> /* The XML_Status enum gives the possible return values for the
>    XML_Parse and XML_ParseBuffer functions.  Though the return values
>    for these functions has always been described as a Boolean value,
>    the implementation, at least for the 1.95.x series, has always
>    returned exactly one of these values.  The preprocessor #defines
>    are included so this stanza can be added to code that still needs
>    to support older versions of Expat 1.95.x:
>
>    #ifndef XML_STATUS_OK
>    #define XML_STATUS_OK    1
>    #define XML_STATUS_ERROR 0
>    #endif
>
>    Otherwise, the #define hackery is quite ugly and would have been dropped.
> */
> enum XML_Status {
>   XML_STATUS_ERROR = 0,
> #define XML_STATUS_ERROR XML_STATUS_ERROR
>   XML_STATUS_OK = 1
> #define XML_STATUS_OK XML_STATUS_OK
> };
>
650,675d672
< /* Parses some input. Returns XML_STATUS_ERROR if a fatal error is
<    detected.  The last call to XML_Parse must have isFinal true; len
<    may be zero for this call (or any other).
<
<    The XML_Status enum gives the possible return values for the
<    XML_Parse and XML_ParseBuffer functions.  Though the return values
<    for these functions has always been described as a Boolean value,
<    the implementation, at least for the 1.95.x series, has always
<    returned exactly one of these values.  The preprocessor #defines
<    are included so this stanza can be added to code that still needs
<    to support older versions of Expat 1.95.x:
<
<    #ifndef XML_STATUS_OK
<    #define XML_STATUS_OK    1
<    #define XML_STATUS_ERROR 0
<    #endif
<
<    Otherwise, the #define hackery is quite ugly and would have been dropped.
< */
< enum XML_Status {
<   XML_STATUS_ERROR = 0,
< #define XML_STATUS_ERROR XML_STATUS_ERROR
<   XML_STATUS_OK = 1
< #define XML_STATUS_OK XML_STATUS_OK
< };
<
741a739,742
> /* Parses some input. Returns XML_STATUS_ERROR if a fatal error is
>    detected.  The last call to XML_Parse must have isFinal true; len
>    may be zero for this call (or any other).
> */
814,815c815,816
<    the first of the sequence of characters that generated the event.
<
---
>    the first of the sequence of characters that generated the event.
>

-- 
Dieter Nützel
@home: <Dieter.Nuetzel () hamburg ! de>


-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id78&alloc_id371&op=click
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to