> > > Note: If
> > > SND_COMPATIBILITY_BUILD_RC3 is defined,
> > > then applications need to fall back to 0.9.0rc3 API
> > > as well.
> >
> > So maybe we could have a --with-compat-rc3 option for
> > alsa-utils as well? Regardless of which alsa-lib I
> > build, I always need to be able to build alsa-utils.
> > And I doubt that wine and xine will get updated before
> > -rc4 is released. (Unless there's a document somewhere
> > explaining the relationship between the old and new
> > API functions, in which case I could submit patches
> > myself.)
>
> It seems, that you're not understand the compatibility.
>
> 1) build library with --with-compat-rc3 and place it to some
> other directory

No, no and no. No need to if the versions of the library are
different. And they better be different!! They should go into
prefix/lib (normally /usr/lib) so that older applications keep
working until they are recompiled with the new version of the
api.

> 3) build library without --with-compat-rc3, place it to
> /usr/lib as usuall
> 4) build alsa-utils and newer applications
> 5) build older applications with compatible library compiled
> with --with-compat-rc3

Let me see if I understand, after all the compiling and
installing is done we have two shared libraries with different
versions in /usr/lib, and one set of header files in
/usr/include, and the behavior of the header files depends on
SND_COMPATIBILITY_BUILD_RC3 being defined (if it is defined
then the old prototype/api is used, if not then the new
prototype/api is used). So:

- old applications that use the old .so number keep working
- new applications that understand the new api can be
  compiled and linked as usual and they work with the new .so
  library.
- old applications that have to be recompiled can be
  recompiled with the old api if they define
  SND_COMPATIBILITY_BUILD_RC3

  [but how do they pick the older .so library over the new
  one at link time?, remember, they are in the same place, does
  this need any extra tricks or it just "happens"?]

Ok, so this is better than nothing, but I still have to say:

This is supposed to be 0.9.0rc3 going on 0.9.0rc4.
This is not 0.6 cvs.

NO API CHANGES PLEASE!!!!!!!!!!
Only bug fixes, new drivers maybe. RC releases are release
candidates, they are supposed to be stabilizing the thing! (in
my understanding)

Furthermore, I found about the api change by _chance_, because
I was testing the latest cvs versions (which have better usb
midi support) and for some reason tried to recompile jack and
it would not compile! I could not believe my eyes.

IF 0.9.0rc3 really means "release candidate 3" then this
change is not acceptable. Nothing is "broken" in the api,
nothing (AFAIK) _needs_ to be fixed or else applications will
not work. This is not new functionality. This is a style
change, to make things prettier and more consistent (which of
course I like). For any api change at any time, at the very
least developers have to be WARNED about the changes. In an
rc3 it should be mandatory (I mean, if you insist on changing
the api when it should be stable). Otherwise lets rename the
version to 0.8 or whatever.

I have to echo the previous comment on this thread: if we
still have an rc3 tarball in the web site that does not
compile out of the box then there is something wrong. Do we
want alsa adopted? Do we think that will happen if people
download it and cannot even compile it?? (no, the warning in
the site is NOT enough - witness the number of emails sent to
the list about this).

Sorry for the rant.

I understand that the sooner an api change is made the better,
but, again, this is rc3 and things are supposed to be stable
NOW.

As was mentioned before, create a NEW set of api calls, mark
the old ones as deprecated and erase them after two or three
releases. And document the improved api in a very distinctive
way, otherwise developers will not even notice the change.

-- Fernando


-------------------------------------------------------
This SF.NET email is sponsored by: AMD - Your access to the experts
on Hammer Technology! Open Source & Linux Developers, register now
for the AMD Developer Symposium. Code: EX8664
http://www.developwithamd.com/developerlab
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to