[PATCH speexdsp] Don't rely on HAVE_STDINT_H et al. being defined

Tanu Kaskinen <[email protected]> Sun, 5 Jul 2015 18:10:19 +0300
Newsgroups gmane.comp.audio.compression.speex.devel
Message-ID <[email protected]>
From: Tanu Kaskinen <[email protected]>

Not everyone who includes speexdsp_config_types.h will have a test
which defines those, and if we've chosen to use the stdint types at
configure time then we know exactly which header(s) are available, so
just choose the best one then and generate the header to use it.

This patch, including the above text, is copied from a commit in the
speex repository[1]. The original commit for speex was made by Ron
<[email protected]>.

[1] https://git.xiph.org/?p=speex.git;a=commitdiff;h=774c87d6cb7dd8dabdd17677fc6da753ecf4aa87

Signed-off-by: Tanu Kaskinen <[email protected]>
---
 configure.ac                             | 6 ++++++
 include/speex/speexdsp_config_types.h.in | 8 +-------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/configure.ac b/configure.ac
index 2cd2d1e..1de0c23 100644
--- a/configure.ac
+++ b/configure.ac
@@ -334,6 +334,12 @@ AC_SUBST([USIZE16])
 AC_SUBST([SIZE32])
 AC_SUBST([USIZE32])
 
+AS_IF([test "$ac_cv_header_stdint_h" = "yes"],    [INCLUDE_STDINT="#include <stdint.h>"],
+      [test "$ac_cv_header_inttypes_h" = "yes"],  [INCLUDE_STDINT="#include <inttypes.h>"],
+      [test "$ac_cv_header_sys_types_h" = "yes"], [INCLUDE_STDINT="#include <sys/types.h>"])
+
+AC_SUBST([INCLUDE_STDINT])
+
 AC_CONFIG_FILES([
            Makefile libspeexdsp/Makefile doc/Makefile SpeexDSP.spec
            include/Makefile include/speex/Makefile speexdsp.pc
diff --git a/include/speex/speexdsp_config_types.h.in b/include/speex/speexdsp_config_types.h.in
index 02b82fd..5ea7b55 100644
--- a/include/speex/speexdsp_config_types.h.in
+++ b/include/speex/speexdsp_config_types.h.in
@@ -1,13 +1,7 @@
 #ifndef __SPEEX_TYPES_H__
 #define __SPEEX_TYPES_H__
 
-#if defined HAVE_STDINT_H
-#  include <stdint.h>
-#elif defined HAVE_INTTYPES_H
-#  include <inttypes.h>
-#elif defined HAVE_SYS_TYPES_H
-#  include <sys/types.h>
-#endif
+@INCLUDE_STDINT@
 
 typedef @SIZE16@ spx_int16_t;
 typedef @USIZE16@ spx_uint16_t;
-- 
2.1.4