[alsa-devel] [PATCH RFC alsa-lib] 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.
Signed-off-by: Takashi Iwai tiwai@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..fffc8a62e88b 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)/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}
Dne 26. 03. 19 v 15:15 Takashi Iwai napsal(a):
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@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..fffc8a62e88b 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)/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}
Acked-by: Jaroslav Kysela perex@perex.cz
On Wed, 27 Mar 2019 13:57:10 +0100, Jaroslav Kysela wrote:
Dne 26. 03. 19 v 15:15 Takashi Iwai napsal(a):
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@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..fffc8a62e88b 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)/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}
Acked-by: Jaroslav Kysela perex@perex.cz
Thanks, I'm going to wait until tomorrow, then merge the change.
Takashi
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@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@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@perex.cz Signed-off-by: Takashi Iwai tiwai@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}
participants (2)
-
Jaroslav Kysela
-
Takashi Iwai