[icecast-dev] proposal: new library, libicecommon

oddsock oddsock at oddsock.org
Mon Apr 12 06:41:22 PDT 2004

At 06:39 AM 4/12/2004, you wrote:
> > > library will be kept separately and will be required to be installed 
> > > icecast is built.  Similar to the dependency on libshout that ices has.
> >
> > But I'm not sure about this. There's nothing in those libraries of any
> > use to anything but icecast code itself, so I don't see why it should
> > be installed on users' systems. It's true that the code is used in a
> > couple of different icecast places, but I don't think it's large
> > enough to warrant being an additional end-user dependency. As far as I
> > can tell this just sacrifices user convenience for developer
> > convenience, which IMHO is usually a bad trade.
> >
> > I'd vote to merge the modules into one, but otherwise either keep the
> > status quo until subversion gets upgraded, or maybe add a checkout
> > script. It's a nuisance to check out three things (iceutil, m4, and
> > your project) to work on one, but it's not that much of a nuisance,
> > and checkout isn't a frequent operation.
>Grouping the modules together is not a problem, however I agree with
>Brendan here that they should still be linked into icecast and ices
>statically both for 'creating less dependency' reasons and for removing
>dynamic link and code size overhead for such small little things
>(though this might be important for both the sock and thread parts since
>those are called frequently).

well, that is the problem though, I'm no autoconf master, but as far as I 
know to produce good and valid packages these modules would need to sit 
inside the actual icecast tree (and also the ices tree since it uses some 
of them too).  And since there doesn't seem to be a way to do that within 
Subversion (like there was in cvs with aliases) I don't see a way to 
include them "statically" without complicating the svn checkout process 

Something that might work better is the following :

- libshout contains the modules  (avl net timing httpp and optionally thread)
- ices has libshout as a dependency and also includes the modules (log 
timing thread avl)
- icecast contains the modules (avl net timing httpp thread log )

If we added log to libshout, then both ices and icecast would no longer 
need these modules separately if they both had a dependency on libshout 
(ices already does, it would be a new dependency for icecast).

Now, in the interest of managing the dependency complications for users, 
I'd be okay with a static inclusion of libshout in both ices and 
icecast.  Something like icecast/src/libshout and ices/src/libshout.  This 
would require developers to do 2 checkouts to get the whole tree (the 
icecast/ices tree and then a separate checkout for libshout).  That is 
certainly much better than it is now.  The nice thing about this approach 
is that it removes the dependency of libshout in ices (as it would be 
statically included)

thoughts ?


<p>--- >8 ----
List archives:  http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Icecast-dev mailing list