[alsa-devel] [PATCH RFC alsa-lib] Drop -I$includedir/alsa from alsa.pc

Takashi Iwai tiwai at suse.de
Thu Mar 28 08:06:57 CET 2019


On Tue, 26 Mar 2019 15:15:10 +0100,
Takashi Iwai wrote:
> 
> We used to put the additional include path $includedir/alsa in
> pkgconfig just because some applications have included asoundlib.h
> like
>   #include <asoundlib.h>
> although the canonical form should be
>   #include <alsa/asoundlib.h>
> 
> However, adding this include path is significantly dangerous due to
> possible conflicts of file names like version.h.  It's already the
> reason to discourage people using alsa.pc for the packages.
> 
> In this patch, the additional include path from alsa.pc is dropped
> finally.  At the same time, as a rescue plan for the programs
> including via <asoundlib.h>, a stub header file is provided in
> include/sound/asoundlib.h.  It just includes alsa/asoundlib.h with a
> warning to suggest for replacing with alsa/asoundlib.h.
> Actually this is the same file as we install into sys/asoundlib.h, so
> the whole changes are very minimal here.
> 
> Signed-off-by: Takashi Iwai <tiwai at suse.de>

Sorry, there was a typo in the patch.  The correct one is below.
In anyway, I'm going to merge the patch soon later.


Takashi

-- 8< --
From: Takashi Iwai <tiwai at suse.de>
Subject: [PATCH] Drop -I$includedir/alsa from alsa.pc

We used to put the additional include path $includedir/alsa in
pkgconfig just because some applications have included asoundlib.h
like
  #include <asoundlib.h>
although the canonical form should be
  #include <alsa/asoundlib.h>

However, adding this include path is significantly dangerous due to
possible conflicts of file names like version.h.  It's already the
reason to discourage people using alsa.pc for the packages.

In this patch, the additional include path from alsa.pc is dropped
finally.  At the same time, as a rescue plan for the programs
including via <asoundlib.h>, a stub header file is provided in
include/sound/asoundlib.h.  It just includes alsa/asoundlib.h with a
warning to suggest for replacing with alsa/asoundlib.h.
Actually this is the same file as we install into sys/asoundlib.h, so
the whole changes are very minimal here.

Acked-by: Jaroslav Kysela <perex at perex.cz>
Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
 include/Makefile.am | 1 +
 utils/alsa.pc.in    | 4 +---
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/include/Makefile.am b/include/Makefile.am
index 67f32e36c911..665704a32129 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -96,3 +96,4 @@ AM_CPPFLAGS=-I$(top_srcdir)/include
 install-data-hook:
 	test -d $(DESTDIR)$(sysincludedir) || mkdir -p $(DESTDIR)$(sysincludedir)
 	$(INSTALL_DATA) $(srcdir)/sys.h $(DESTDIR)$(sysincludedir)/asoundlib.h
+	$(INSTALL_DATA) $(srcdir)/sys.h $(DESTDIR)$(includedir)/asoundlib.h
diff --git a/utils/alsa.pc.in b/utils/alsa.pc.in
index 8de9859f42db..444f66d85a34 100644
--- a/utils/alsa.pc.in
+++ b/utils/alsa.pc.in
@@ -9,6 +9,4 @@ Version: @VERSION@
 Requires: 
 Libs: -L${libdir} -lasound
 Libs.private: @ALSA_DEPLIBS@
-# -I${includedir}/alsa below is just for backward compatibility
-# (it was set so mistakely in the older version)
-Cflags: -I${includedir} -I${includedir}/alsa
+Cflags: -I${includedir}
-- 
2.16.4



More information about the Alsa-devel mailing list