On Fri, 20 Sep 2002, Kai Vehmanen wrote: > On Fri, 20 Sep 2002, Takashi Iwai wrote: > > >> your almost all negative messages persuaded me to wait awhile with > >> new function prototypes. Here is the result: > > thanks for quick reaction. > > the new library works fine with the old applications. > > Btw; with ld from binutils-2.9.5.0.22-6 (rh62) I get the > following error when linking libasound: > > /usr/bin/ld: .libs/libasound.so.2.0.0: undefined versioned symbol name >[EMAIL PROTECTED] > /usr/bin/ld: failed to set dynamic section sizes: Bad value collect2: ld returned 1 >exit status > > And this with a fresh CVS-update of alsa-lib. Might > be a clear ld bug.
What's result of this command? nm alsa/lib/src/pcm.lo | grep snd_pcm_hw_params_get_rate_min > >> (not available for default linking); these new functions are explicitly > >> available when ALSA_PCM_NEW_HW_PARAMS_API is defined before inclusion of > > will this condition be removed in the future release as default? > > we can put ALSA_PCM_OLD_HW_PARAM_API for the backward compatibility > > later, instead. > > It's too bad there isn't better language-level support for versioned > interfaces. You can do all kinds of things with the preprocessor and > linker, but this really should be something all developers are all aware > of and know how to use. > > The basic scenario is: > > 1. library implements a set of interfaces (v1, v2, ...) > 2. application using the library uses one of the > interface versions (and note, it's important that > application code always explicitly defines what > interface is wants to use) > > Age of each interface should span multiple major releases of the library, > but not nocessarily more than that (maintaining (especially testing!) more > than two or three different versions in the same physical package starts > to be a mess). I agree, but the current change is really mostly cosmetic. The enhancement is the returned error value and unified casting for passed/retured values. The library code works internally already with new functions, so the overhead is minimal (only add conversion functions for older API). I already noted, if API behaviour changes, then it's major change and we'll increase the major library number, but it's definitely a thing for 1.0 development tree. Jaroslav ----- Jaroslav Kysela <[EMAIL PROTECTED]> Linux Kernel Sound Maintainer ALSA Project http://www.alsa-project.org SuSE Linux http://www.suse.com ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel