At Fri, 4 Oct 2002 13:20:32 -0400 (EDT),
Pavel Roskin wrote:
> 
> Hello!
> 
> There is another configuration problem that needs to be fixed.  I had ALSA
> already installed (CVS version as of a week ago or so).  Today I compiled
> alsa-driver, alsa-lib and alsa-util and then started installing them.
> 
> I found that "make install" caused recompilation in alsa-lib.  It used to
> be like that, but this time I wanted to do it right.
> 
> I found that the reason for recompilation is new files in
> /usr/include/sound/, in particular asoundef.h.  It turmed out that there
> are two different files with this name - one is
> alsa-lib/include/asoundef.h, the other is alsa-kernel/include/asoundef.h.
> 
> Object files under alsa-lib were compiled against headers in
> /usr/include/sound/, and "make install" in alsa-kernel installed new
> headers there.  The dependency was recorded by the compiler, so the
> alsa-lib object files became out of date.
> 
> It seems to me that there are at least two things wrong here.  First is
> that the kernel should not be installing its headers in places where they
> can be accidentally used.  Most software should not need those headers at
> all.
> 
> For example, Linux kernel includes are available under linux and asm in
> /usr/include.  When I'm using them, I'm well aware of the fact that it's
> essentially a private kernel interface and that I should avoid it if
> possible.

well, not all people are aware of that inclusion of kernel headers
will break portability ;)

> If I include <sound/asoundef.h>, I would assume that it's something for 
> user-space software, not for kernel drivers.  Maybe kernel headers should 
> be installed under /usr/include/sound/kernel if we install them at all?
 
sound header files are not necessary except for alsa-lib and hardware
specific applications like alsa-tools' ones.
i think /usr/include/sound is confusing.  it looks like normal header
files...


> The other problem is that alsa-lib should be using its own headers from
> its own distribution rather than the preinstalled ones, otherwise we have 
> a whole new problem with compiling against an older library.

right.

actually i use the extracted alsa-kernel header files to build
alsa-lib rpm package, too, so why not in the alsa-lib tree itself?

we need only three files from alsa-kernel, namely, asound.h,
asoundef.h and asequencer.h.  they can be copied into alsa-lib tree,
for example, under alsa-lib/include/alsa-kernel directory, which will
be not copied to the public place.

or, we can keep the alsa-kernel header files on
/usr/include/alsa/kernel directory, so that we don't need two distinct
directories which may confuse people.  (even in this case, the three
files above should be duplicated in alsa-lib, though.)


Jaroslav, how about this?


Takashi


-------------------------------------------------------
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

Reply via email to