help-gnats
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Removing libiberty (was Re: gnatsd problems with 4.0.1)


From: Mark D. Baushke
Subject: Re: Removing libiberty (was Re: gnatsd problems with 4.0.1)
Date: Wed, 09 Feb 2005 09:14:03 -0800

Mike M. Volokhov <address@hidden> writes:

> On Mon, 07 Feb 2005 09:09:20 -0800
> "Mark D. Baushke" <address@hidden> wrote:
> 
> > Mike M. Volokhov <address@hidden> writes:
> [snip]
> > > So, only six functions are used by GNATS, when libiberty provides about
> > > 40. Only two functions (asprintf and vasprintf) are nor POSIX nor
> > > standard C relevant (but included in both GNU and BSD libc). Three
> > > functions (xstrdup, xmalloc, xrealloc) are totally libiberty-own, but
> > > can be easy replaced with their standard equivalents.
> > > 
> > > Thus, I propose to eliminate dependency on libiberty completely.
> > > 
> > > Any comments?
> > 
> > I would suggest consideration of including the GNULIB versions of those
> > functions as an alternative.
> 
> Some libiberty functions, such as getopt, was moved to GNU, BSD and
> other C libraries. Many (like some x* ones) are very simple. Please try
> a patch (see my another message within "Removing libiberty" topic) which
> utilizes many functions from standard libc, shipped with build OS.
> 
> Another reason to use libc native to OS, is optimization.

The reason to use GNULIB is consistent functional results. Some of the
GNULIB functions implement full POSIX semantics while the OS version may
not.

> Anyway, as for me, GNULIB is better way than have libiberty in tree.
> Thanks for pointing it out!

You are welcome.

> [snip]
> > The typical approach would be to create a lib and m4 directory for
> > including the relevant code from a gnulib checkout directory into the
> > gnats source base. There is a tool that can be used to pull into the
> > gnats tree any module that GNULIB provides.
> 
> Does GNULIB provides the shared library (.so)? If so, there is would no
> need to create extra directories in GNATS tree.

No, the GNULIB provides a set of replacement or wrapper functions along
with automake and autoconf glue to put them all together. However, each
separate project that uses the GNULIB will only be using a subset of the
functions and .h files that are available for GNULIB as a whole, so there
is no single .so that has everything in it.

While I suppose that you could create some kind of a libgnats.so that
includes those functions which gnats needs, it would be up to you to
specify things properly in the Makefile.am to do that generation,
possibly in conjuction with libtool
(http://www.gu.org/software/libtool).

        Enjoy!
        -- Mark




reply via email to

[Prev in Thread] Current Thread [Next in Thread]