diff mbox series

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

Message ID 20190326141510.10120-1-tiwai@suse.de (mailing list archive)
State New, archived
Headers show
Series [RFC,alsa-lib] Drop -I$includedir/alsa from alsa.pc | expand

Commit Message

Takashi Iwai March 26, 2019, 2:15 p.m. UTC
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(-)

Comments

Jaroslav Kysela March 27, 2019, 12:57 p.m. UTC | #1
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>
Takashi Iwai March 27, 2019, 4:27 p.m. UTC | #2
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
Takashi Iwai March 28, 2019, 7:06 a.m. UTC | #3
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}
diff mbox series

Patch

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}