expat for MinGW

View: New views
7 Messages — Rating Filter:   Alert me  

expat for MinGW

by Chris Sutcliffe-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've built expat for MinGW to allow for XML parsing in GDB (I've
rebuilt GDB as well).  Should I break apart the expat packages to
-bin, -dev, and -doc?  To that end I assume:

The -bin package consists of:
bin/

The -dev package consists of:
include/
lib/

The -doc package consists of:
man/

Let me know...

Chris

--
Chris Sutcliffe
http://emergedesktop.org

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
MinGW-dvlpr mailing list
MinGW-dvlpr@...
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr

Re: expat for MinGW

by Charles Wilson-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Chris Sutcliffe wrote:
> I've built expat for MinGW to allow for XML parsing in GDB (I've
> rebuilt GDB as well).  Should I break apart the expat packages to
> -bin, -dev, and -doc?  To that end I assume:

Yes.  You also need a -lic package, containing exactly
   /usr/share/doc/expat/2.0.1/COPYING
and obviously the -doc package would exclude that file.

I don't know if you plan on building expat as a DLL, but if so, then you
need a -dll-X version, as well. And if so, then most likely you should
name the -dll and -dev packages "libexpat" rather than "expat".  (I'd
lean towards "yes, provide libexpat as a DLL" but it's up to you whether
you want to link gdb itself against libexpat.a, to minimize extra
downloads needed to get gdb working).

To follow the directory structure that's been hashed out, you need to
configure with --docdir=/usr/share/expat/2.0.1

I prefer to create a file unique for MinGW/MSYS pacages like
    /usr/share/doc/MinGW/expat-2.0.1-<RELEASE>-mingw32.RELEASE_NOTES
that contains the MinGW-specific release notes for the package. This
would go in the -doc package, but would also be uploaded separately to
FRS and linked to the other packages as their release note file.

I'd do it this way:

expat-2.0.1-N-mingw32-bin:
  bin/xmlwf.exe

expat-2.0.1-N-mingw32-lic:
  share/doc/expat/2.0.1/COPYING

expat-2.0.1-N-mingw32-doc:
  share/doc/MinGW/expat-2.0.1-N-mingw32.RELEASE_NOTES
  share/doc/expat/2.0.1/Changes
  share/doc/expat/2.0.1/html/expat.png
  share/doc/expat/2.0.1/html/reference.html
  share/doc/expat/2.0.1/html/style.css
  share/doc/expat/2.0.1/html/valid-xhtml10.png
  share/doc/expat/2.0.1/README
  share/man/man1/xmlwf.1.gz

libexpat-2.0.1-N-mingw32-dll-1:
  bin/libexpat-1.dll

libexpat-2.0.1-N-mingw32-dev:
  include/expat.h
  include/expat_external.h
  lib/libexpat.a
  lib/libexpat.dll.a
  lib/libexpat.la

--
Chuck

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
MinGW-dvlpr mailing list
MinGW-dvlpr@...
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr

Re: expat for MinGW

by Chris Sutcliffe-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>> I've built expat for MinGW to allow for XML parsing in GDB (I've
>> rebuilt GDB as well).  Should I break apart the expat packages to
>> -bin, -dev, and -doc?  To that end I assume:

<snip>

> To follow the directory structure that's been hashed out, you need to
> configure with --docdir=/usr/share/expat/2.0.1

Thank you for the tip.

> I prefer to create a file unique for MinGW/MSYS pacages like
>    /usr/share/doc/MinGW/expat-2.0.1-<RELEASE>-mingw32.RELEASE_NOTES
> that contains the MinGW-specific release notes for the package. This
> would go in the -doc package, but would also be uploaded separately to
> FRS and linked to the other packages as their release note file.
>
> I'd do it this way:
>
> expat-2.0.1-N-mingw32-bin:
>  bin/xmlwf.exe
>
> expat-2.0.1-N-mingw32-lic:
>  share/doc/expat/2.0.1/COPYING
>
> expat-2.0.1-N-mingw32-doc:
>  share/doc/MinGW/expat-2.0.1-N-mingw32.RELEASE_NOTES
>  share/doc/expat/2.0.1/Changes
>  share/doc/expat/2.0.1/html/expat.png
>  share/doc/expat/2.0.1/html/reference.html
>  share/doc/expat/2.0.1/html/style.css
>  share/doc/expat/2.0.1/html/valid-xhtml10.png
>  share/doc/expat/2.0.1/README
>  share/man/man1/xmlwf.1.gz
>
> libexpat-2.0.1-N-mingw32-dll-1:
>  bin/libexpat-1.dll
>
> libexpat-2.0.1-N-mingw32-dev:
>  include/expat.h
>  include/expat_external.h
>  lib/libexpat.a
>  lib/libexpat.dll.a
>  lib/libexpat.la

Works for me.  I'll rebuild expat and should have the upload ready for
tonight.  Incidentally, how do I select a shared or static expat
linking with GDB?  I just ran configure and let it run with it's
default.

Cheers!

Chris

--
Chris Sutcliffe
http://emergedesktop.org

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
MinGW-dvlpr mailing list
MinGW-dvlpr@...
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr

Re: expat for MinGW

by Charles Wilson-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Chris Sutcliffe wrote:

> Works for me.  I'll rebuild expat and should have the upload ready for
> tonight.  Incidentally, how do I select a shared or static expat
> linking with GDB?  I just ran configure and let it run with it's
> default.

Well, there's brute force, and then there's clever. Brute force is
delete the .dll.a file on your build machine (or, install the -devel
package into /tmp/expat, delete the .dll.a file from /tmp/expat/lib/,
and use --with-libexpat-prefix=/tmp/expat. You could actually do this in
your build script itself, by simply copying the desired files from
/mingw/include|/mingw/lib into /tmp/expat...)

Clever requires a bit of trial and error, but you may be able to tweak
LDFLAGS as "Wl,-Bstatic -lexpat -Wl,-Bdynamic", and if you're lucky that
phrase will appear before the "plain" -lexpat in the ultimate link
command.  Or, if you don't want ANY shared dependencies (or expat is the
only external dep, and you want it to be static), you might be able to
get away with LDFLAGS=-static, which would apply to all dependencies.

Or, you could just go with the flow, and state in the release notes (and
the ultimate mingw-get xml config spec) that gdb-bin requires
libexpat-dll-1.  That's not much different than gcc-bin requires
libgmp-dll-3 and libmpfr-dll-1 (although we don't currently express it
that way).

--
Chuck


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
MinGW-dvlpr mailing list
MinGW-dvlpr@...
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr

Re: expat for MinGW

by Chris Sutcliffe-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> Or, you could just go with the flow, and state in the release notes (and
> the ultimate mingw-get xml config spec) that gdb-bin requires
> libexpat-dll-1.  That's not much different than gcc-bin requires
> libgmp-dll-3 and libmpfr-dll-1 (although we don't currently express it
> that way).

That's the approach I already figured on (using shared), I was just curious.  ;)

Cheers!

Chris

--
Chris Sutcliffe
http://emergedesktop.org

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
MinGW-dvlpr mailing list
MinGW-dvlpr@...
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr

Re: expat for MinGW

by Charles Wilson-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Chris Sutcliffe wrote:
> I've built expat for MinGW to allow for XML parsing in GDB (I've
> rebuilt GDB as well).  Should I break apart the expat packages to
> -bin, -dev, and -doc?  To that end I assume:

There is a packaging conflict between the -lic and -doc packages. Both
contain the share/doc/expat/2.0.1/COPYING file. Obviously this isn't a
problem yet, but it may cause some issues for mingw-get's package
management (unless Keith goes ahead with the 'reference count'
implementation).

No need to "fix it" now -- but make a note so that if you update the
package later on, you can fix it then.

--
Chuck



------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
MinGW-dvlpr mailing list
MinGW-dvlpr@...
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr

Re: expat for MinGW

by Chris Sutcliffe-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> There is a packaging conflict between the -lic and -doc packages. Both
> contain the share/doc/expat/2.0.1/COPYING file. Obviously this isn't a
> problem yet, but it may cause some issues for mingw-get's package
> management (unless Keith goes ahead with the 'reference count'
> implementation).

I didn't realize having the same file in multiple packages would be an
issue.  I guess I should come up to speed on mingw-get.

> No need to "fix it" now -- but make a note so that if you update the
> package later on, you can fix it then.

Will do.

Cheers!

Chris

--
Chris Sutcliffe
http://emergedesktop.org

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
MinGW-dvlpr mailing list
MinGW-dvlpr@...
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr