On Tue, 8 Oct 2002, Takashi Iwai wrote: > 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?
The duplication of headers does not sound so bad. The /usr/include/alsa/kernel is a good place. Do not forget to include all headers files (or portions) which can be used from user space (emu10k1.h, sscape_ioctl.h, sb16_csp.h, asound_fm.h, probably all ainstr_* files etc.). 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