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

Jean-Marc Valin jmvalin at jmvalin.ca
Mon Jul 6 07:39:32 PDT 2015


FTR, my main concern with this kind of approach is the case where your
platform has two compilers, only one of which has stdint.h

	Jean-Marc

On 07/05/2015 11:10 AM, Tanu Kaskinen wrote:
> From: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
> 
> 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
> <ron at debian.org>.
> 
> [1] https://git.xiph.org/?p=speex.git;a=commitdiff;h=774c87d6cb7dd8dabdd17677fc6da753ecf4aa87
> 
> Signed-off-by: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
> ---
>  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
> + at INCLUDE_STDINT@
>  
>  typedef @SIZE16@ spx_int16_t;
>  typedef @USIZE16@ spx_uint16_t;
> 


More information about the Speex-dev mailing list