This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by speexdsp configure 1.2rc3, which was
generated by GNU Autoconf 2.71.  Invocation command line was

  $ ./configure

## --------- ##
## Platform. ##
## --------- ##

hostname = sadaf-specialist.c.googlers.com
uname -m = x86_64
uname -r = 5.19.11-1rodete1-amd64
uname -s = Linux
uname -v = #1 SMP PREEMPT_DYNAMIC Debian 5.19.11-1rodete1 (2022-10-31)

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = x86_64
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/lib/google-golang/bin/
PATH: /usr/local/buildtools/java/jdk/bin/
PATH: /usr/local/sbin/
PATH: /usr/local/bin/
PATH: /usr/sbin/
PATH: /usr/bin/
PATH: /sbin/
PATH: /bin/


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2657: looking for aux files: compile ltmain.sh config.guess config.sub missing install-sh
configure:2670:  trying ./
configure:2699:   ./compile found
configure:2699:   ./ltmain.sh found
configure:2699:   ./config.guess found
configure:2699:   ./config.sub found
configure:2699:   ./missing found
configure:2681:   ./install-sh found
configure:2826: checking whether make supports nested variables
configure:2844: result: yes
configure:2884: checking for a BSD-compatible install
configure:2957: result: /usr/bin/install -c
configure:2968: checking whether build environment is sane
configure:3023: result: yes
configure:3182: checking for a race-free mkdir -p
configure:3226: result: /usr/bin/mkdir -p
configure:3233: checking for gawk
configure:3254: found /usr/bin/gawk
configure:3265: result: gawk
configure:3276: checking whether make sets $(MAKE)
configure:3299: result: yes
configure:3438: checking whether to enable maintainer-specific portions of Makefiles
configure:3448: result: yes
configure:3468: checking build system type
configure:3483: result: x86_64-pc-linux-gnu
configure:3503: checking host system type
configure:3517: result: x86_64-pc-linux-gnu
configure:3917: checking how to print strings
configure:3944: result: printf
configure:3978: checking whether make supports the include directive
configure:3993: make -f confmf.GNU && cat confinc.out
this is the am__doit target
configure:3996: $? = 0
configure:4015: result: yes (GNU style)
configure:4091: checking for gcc
configure:4112: found /usr/bin/gcc
configure:4123: result: gcc
configure:4476: checking for C compiler version
configure:4485: gcc --version >&5
gcc (Debian 12.2.0-10) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:4496: $? = 0
configure:4485: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-10' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-hWCYKv/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-hWCYKv/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.0 (Debian 12.2.0-10) 
... rest of stderr output deleted ...
configure:4496: $? = 0
configure:4485: gcc -V >&5
gcc: error: unrecognized command-line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:4496: $? = 1
configure:4485: gcc -qversion >&5
gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:4496: $? = 1
configure:4485: gcc -version >&5
gcc: error: unrecognized command-line option '-version'
gcc: fatal error: no input files
compilation terminated.
configure:4496: $? = 1
configure:4516: checking whether the C compiler works
configure:4538: gcc    conftest.c  >&5
configure:4542: $? = 0
configure:4592: result: yes
configure:4595: checking for C compiler default output file name
configure:4597: result: a.out
configure:4603: checking for suffix of executables
configure:4610: gcc -o conftest    conftest.c  >&5
configure:4614: $? = 0
configure:4637: result: 
configure:4659: checking whether we are cross compiling
configure:4667: gcc -o conftest    conftest.c  >&5
configure:4671: $? = 0
configure:4678: ./conftest
configure:4682: $? = 0
configure:4697: result: no
configure:4702: checking for suffix of object files
configure:4725: gcc -c   conftest.c >&5
configure:4729: $? = 0
configure:4751: result: o
configure:4755: checking whether the compiler supports GNU C
configure:4775: gcc -c   conftest.c >&5
configure:4775: $? = 0
configure:4785: result: yes
configure:4796: checking whether gcc accepts -g
configure:4817: gcc -c -g  conftest.c >&5
configure:4817: $? = 0
configure:4861: result: yes
configure:4881: checking for gcc option to enable C11 features
configure:4896: gcc  -c -g -O2  conftest.c >&5
configure:4896: $? = 0
configure:4914: result: none needed
configure:5030: checking whether gcc understands -c and -o together
configure:5053: gcc -c conftest.c -o conftest2.o
configure:5056: $? = 0
configure:5053: gcc -c conftest.c -o conftest2.o
configure:5056: $? = 0
configure:5068: result: yes
configure:5087: checking dependency style of gcc
configure:5199: result: gcc3
configure:5214: checking for a sed that does not truncate output
configure:5284: result: /usr/bin/sed
configure:5302: checking for grep that handles long lines and -e
configure:5366: result: /usr/bin/grep
configure:5371: checking for egrep
configure:5439: result: /usr/bin/grep -E
configure:5444: checking for fgrep
configure:5512: result: /usr/bin/grep -F
configure:5548: checking for ld used by gcc
configure:5616: result: /usr/bin/ld
configure:5623: checking if the linker (/usr/bin/ld) is GNU ld
configure:5639: result: yes
configure:5651: checking for BSD- or MS-compatible name lister (nm)
configure:5706: result: /usr/bin/nm -B
configure:5846: checking the name lister (/usr/bin/nm -B) interface
configure:5854: gcc -c -g -O2  conftest.c >&5
configure:5857: /usr/bin/nm -B "conftest.o"
configure:5860: output
0000000000000000 B some_variable
configure:5867: result: BSD nm
configure:5870: checking whether ln -s works
configure:5874: result: yes
configure:5882: checking the maximum length of command line arguments
configure:6014: result: 1572864
configure:6062: checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format
configure:6103: result: func_convert_file_noop
configure:6110: checking how to convert x86_64-pc-linux-gnu file names to toolchain format
configure:6131: result: func_convert_file_noop
configure:6138: checking for /usr/bin/ld option to reload object files
configure:6146: result: -r
configure:6225: checking for file
configure:6246: found /usr/bin/file
configure:6257: result: file
configure:6333: checking for objdump
configure:6365: result: objdump
configure:6394: checking how to recognize dependent libraries
configure:6595: result: pass_all
configure:6685: checking for dlltool
configure:6717: result: dlltool
configure:6747: checking how to associate runtime and link libraries
configure:6775: result: printf %s\n
configure:6841: checking for ar
configure:6862: found /usr/bin/ar
configure:6873: result: ar
configure:6926: checking for archiver @FILE support
configure:6944: gcc -c -g -O2  conftest.c >&5
configure:6944: $? = 0
configure:6948: ar cr libconftest.a @conftest.lst >&5
configure:6951: $? = 0
configure:6956: ar cr libconftest.a @conftest.lst >&5
ar: conftest.o: No such file or directory
configure:6959: $? = 1
configure:6971: result: @
configure:7034: checking for strip
configure:7055: found /usr/bin/strip
configure:7066: result: strip
configure:7143: checking for ranlib
configure:7164: found /usr/bin/ranlib
configure:7175: result: ranlib
configure:7277: checking command to parse /usr/bin/nm -B output from gcc object
configure:7431: gcc -c -g -O2  conftest.c >&5
configure:7434: $? = 0
configure:7438: /usr/bin/nm -B conftest.o | /usr/bin/sed -n -e 's/^.*[	 ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[	 ][	 ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /usr/bin/sed '/ __gnu_lto/d' > conftest.nm
configure:7504: gcc -o conftest -g -O2   conftest.c conftstm.o >&5
configure:7507: $? = 0
configure:7545: result: ok
configure:7592: checking for sysroot
configure:7623: result: no
configure:7630: checking for a working dd
configure:7674: result: /usr/bin/dd
configure:7678: checking how to truncate binary pipes
configure:7694: result: /usr/bin/dd bs=4096 count=1
configure:7831: gcc -c -g -O2  conftest.c >&5
configure:7834: $? = 0
configure:8031: checking for mt
configure:8052: found /usr/bin/mt
configure:8063: result: mt
configure:8086: checking if mt is a manifest tool
configure:8093: mt '-?'
configure:8101: result: no
configure:8826: checking for stdio.h
configure:8826: gcc -c -g -O2  conftest.c >&5
configure:8826: $? = 0
configure:8826: result: yes
configure:8826: checking for stdlib.h
configure:8826: gcc -c -g -O2  conftest.c >&5
configure:8826: $? = 0
configure:8826: result: yes
configure:8826: checking for string.h
configure:8826: gcc -c -g -O2  conftest.c >&5
configure:8826: $? = 0
configure:8826: result: yes
configure:8826: checking for inttypes.h
configure:8826: gcc -c -g -O2  conftest.c >&5
configure:8826: $? = 0
configure:8826: result: yes
configure:8826: checking for stdint.h
configure:8826: gcc -c -g -O2  conftest.c >&5
configure:8826: $? = 0
configure:8826: result: yes
configure:8826: checking for strings.h
configure:8826: gcc -c -g -O2  conftest.c >&5
configure:8826: $? = 0
configure:8826: result: yes
configure:8826: checking for sys/stat.h
configure:8826: gcc -c -g -O2  conftest.c >&5
configure:8826: $? = 0
configure:8826: result: yes
configure:8826: checking for sys/types.h
configure:8826: gcc -c -g -O2  conftest.c >&5
configure:8826: $? = 0
configure:8826: result: yes
configure:8826: checking for unistd.h
configure:8826: gcc -c -g -O2  conftest.c >&5
configure:8826: $? = 0
configure:8826: result: yes
configure:8851: checking for dlfcn.h
configure:8851: gcc -c -g -O2  conftest.c >&5
configure:8851: $? = 0
configure:8851: result: yes
configure:9108: checking for objdir
configure:9124: result: .libs
configure:9388: checking if gcc supports -fno-rtti -fno-exceptions
configure:9407: gcc -c -g -O2  -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: command-line option '-fno-rtti' is valid for C++/D/ObjC++ but not for C
configure:9411: $? = 0
configure:9424: result: no
configure:9788: checking for gcc option to produce PIC
configure:9796: result: -fPIC -DPIC
configure:9804: checking if gcc PIC flag -fPIC -DPIC works
configure:9823: gcc -c -g -O2  -fPIC -DPIC -DPIC conftest.c >&5
configure:9827: $? = 0
configure:9840: result: yes
configure:9869: checking if gcc static flag -static works
configure:9898: result: yes
configure:9913: checking if gcc supports -c -o file.o
configure:9935: gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:9939: $? = 0
configure:9961: result: yes
configure:9969: checking if gcc supports -c -o file.o
configure:10017: result: yes
configure:10050: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:11324: result: yes
configure:11361: checking whether -lc should be explicitly linked in
configure:11370: gcc -c -g -O2  conftest.c >&5
configure:11373: $? = 0
configure:11388: gcc -shared  -fPIC -DPIC conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/bin/grep  -lc  \>/dev/null 2\>\&1
configure:11391: $? = 0
configure:11405: result: no
configure:11565: checking dynamic linker characteristics
configure:12147: gcc -o conftest -g -O2   -Wl,-rpath -Wl,/foo conftest.c  >&5
configure:12147: $? = 0
configure:12398: result: GNU/Linux ld.so
configure:12520: checking how to hardcode library paths into programs
configure:12545: result: immediate
configure:13097: checking whether stripping libraries is possible
configure:13106: result: yes
configure:13148: checking if libtool supports shared libraries
configure:13150: result: yes
configure:13153: checking whether to build shared libraries
configure:13178: result: yes
configure:13181: checking whether to build static libraries
configure:13185: result: yes
configure:13223: checking whether byte ordering is bigendian
configure:13239: gcc -c -g -O2  conftest.c >&5
conftest.c:22:16: error: unknown type name 'not'
   22 |                not a universal capable compiler
      |                ^~~
conftest.c:22:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'universal'
   22 |                not a universal capable compiler
      |                      ^~~~~~~~~
conftest.c:22:22: error: unknown type name 'universal'
configure:13239: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "speexdsp"
| #define PACKAGE_TARNAME "speexdsp"
| #define PACKAGE_VERSION "1.2rc3"
| #define PACKAGE_STRING "speexdsp 1.2rc3"
| #define PACKAGE_BUGREPORT "speex-dev@xiph.org"
| #define PACKAGE_URL ""
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
| #ifndef __APPLE_CC__
| 	       not a universal capable compiler
| 	     #endif
| 	     typedef int dummy;
| 
configure:13285: gcc -c -g -O2  conftest.c >&5
configure:13285: $? = 0
configure:13304: gcc -c -g -O2  conftest.c >&5
conftest.c: In function 'main':
conftest.c:28:18: error: unknown type name 'not'; did you mean 'ino_t'?
   28 |                  not big endian
      |                  ^~~
      |                  ino_t
conftest.c:28:26: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'endian'
   28 |                  not big endian
      |                          ^~~~~~
configure:13304: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "speexdsp"
| #define PACKAGE_TARNAME "speexdsp"
| #define PACKAGE_VERSION "1.2rc3"
| #define PACKAGE_STRING "speexdsp 1.2rc3"
| #define PACKAGE_BUGREPORT "speex-dev@xiph.org"
| #define PACKAGE_URL ""
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
| #include <sys/types.h>
| 		#include <sys/param.h>
| 
| int
| main (void)
| {
| #if BYTE_ORDER != BIG_ENDIAN
| 		 not big endian
| 		#endif
| 
|   ;
|   return 0;
| }
configure:13438: result: no
configure:13456: checking for an ANSI C-conforming const
configure:13523: gcc -c -g -O2  conftest.c >&5
configure:13523: $? = 0
configure:13531: result: yes
configure:13539: checking for inline
configure:13556: gcc -c -g -O2  conftest.c >&5
configure:13556: $? = 0
configure:13565: result: inline
configure:13583: checking for C/C++ restrict keyword
configure:13613: gcc -c -g -O2  conftest.c >&5
configure:13613: $? = 0
configure:13622: result: __restrict__
configure:13635: checking for C99 variable-size arrays
configure:13652: gcc -c -g -O2  conftest.c >&5
configure:13652: $? = 0
configure:13663: result: yes
configure:13666: checking for alloca.h
configure:13666: gcc -c -g -O2  conftest.c >&5
configure:13666: $? = 0
configure:13666: result: yes
configure:13672: checking for getopt.h
configure:13672: gcc -c -g -O2  conftest.c >&5
configure:13672: $? = 0
configure:13672: result: yes
configure:13679: checking for alloca
configure:13700: gcc -c -g -O2  conftest.c >&5
configure:13700: $? = 0
configure:13715: result: yes
configure:13718: checking for SSE in current arch/CFLAGS
configure:13737: gcc -o conftest -g -O2   conftest.c  >&5
configure:13737: $? = 0
configure:13750: result: yes
configure:13753: checking for SSE2 in current arch/CFLAGS
configure:13772: gcc -o conftest -g -O2   conftest.c  >&5
configure:13772: $? = 0
configure:13785: result: yes
configure:13788: checking for NEON in current arch/CFLAGS
configure:13807: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c:27:10: fatal error: arm_neon.h: No such file or directory
   27 | #include <arm_neon.h>
      |          ^~~~~~~~~~~~
compilation terminated.
configure:13807: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "speexdsp"
| #define PACKAGE_TARNAME "speexdsp"
| #define PACKAGE_VERSION "1.2rc3"
| #define PACKAGE_STRING "speexdsp 1.2rc3"
| #define PACKAGE_BUGREPORT "speex-dev@xiph.org"
| #define PACKAGE_URL ""
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define restrict __restrict__
| #define VAR_ARRAYS /**/
| #define HAVE_ALLOCA_H 1
| #define HAVE_GETOPT_H 1
| /* end confdefs.h.  */
| 
| 
| #include <arm_neon.h>
| int32x4_t testfunc(int16_t *a, int16_t *b) {
|       return vmull_s16(vld1_s16(a), vld1_s16(b));
| }
| 
| int
| main (void)
| {
| 
|   ;
|   return 0;
| }
configure:13820: result: no
configure:13825: checking for ELF visibility
configure:13843: gcc -c -g -O2 -fvisibility=hidden  conftest.c >&5
configure:13843: $? = 0
configure:13862: result: yes
configure:13865: checking for sys/soundcard.h
configure:13865: gcc -c -g -O2 -fvisibility=hidden  conftest.c >&5
configure:13865: $? = 0
configure:13865: result: yes
configure:13871: checking for sys/audioio.h
configure:13871: gcc -c -g -O2 -fvisibility=hidden  conftest.c >&5
conftest.c:55:10: fatal error: sys/audioio.h: No such file or directory
   55 | #include <sys/audioio.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
configure:13871: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "speexdsp"
| #define PACKAGE_TARNAME "speexdsp"
| #define PACKAGE_VERSION "1.2rc3"
| #define PACKAGE_STRING "speexdsp 1.2rc3"
| #define PACKAGE_BUGREPORT "speex-dev@xiph.org"
| #define PACKAGE_URL ""
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define restrict __restrict__
| #define VAR_ARRAYS /**/
| #define HAVE_ALLOCA_H 1
| #define HAVE_GETOPT_H 1
| #define EXPORT __attribute__((visibility("default")))
| #define HAVE_SYS_SOUNDCARD_H 1
| /* end confdefs.h.  */
| #include <stddef.h>
| #ifdef HAVE_STDIO_H
| # include <stdio.h>
| #endif
| #ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| #endif
| #ifdef HAVE_STRING_H
| # include <string.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <sys/audioio.h>
configure:13871: result: no
configure:13969: checking for cos in -lm
configure:13992: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c -lm   >&5
conftest.c:31:6: warning: conflicting types for built-in function 'cos'; expected 'double(double)' [-Wbuiltin-declaration-mismatch]
   31 | char cos ();
      |      ^~~
conftest.c:1:1: note: 'cos' is declared in header '<math.h>'
    1 | /* confdefs.h */
configure:13992: $? = 0
configure:14002: result: yes
configure:14274: checking for pkg-config
configure:14297: found /usr/bin/pkg-config
configure:14309: result: /usr/bin/pkg-config
configure:14334: checking pkg-config is at least version 0.9.0
configure:14337: result: yes
configure:14523: checking size of int16_t
configure:14529: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c  >&5
configure:14529: $? = 0
configure:14529: ./conftest
configure:14529: $? = 0
configure:14544: result: 2
configure:14556: checking size of uint16_t
configure:14562: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c  >&5
configure:14562: $? = 0
configure:14562: ./conftest
configure:14562: $? = 0
configure:14577: result: 2
configure:14589: checking size of u_int16_t
configure:14595: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c  >&5
configure:14595: $? = 0
configure:14595: ./conftest
configure:14595: $? = 0
configure:14610: result: 2
configure:14622: checking size of int32_t
configure:14628: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c  >&5
configure:14628: $? = 0
configure:14628: ./conftest
configure:14628: $? = 0
configure:14643: result: 4
configure:14655: checking size of uint32_t
configure:14661: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c  >&5
configure:14661: $? = 0
configure:14661: ./conftest
configure:14661: $? = 0
configure:14676: result: 4
configure:14688: checking size of u_int32_t
configure:14694: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c  >&5
configure:14694: $? = 0
configure:14694: ./conftest
configure:14694: $? = 0
configure:14709: result: 4
configure:14721: checking size of short
configure:14727: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c  >&5
configure:14727: $? = 0
configure:14727: ./conftest
configure:14727: $? = 0
configure:14742: result: 2
configure:14754: checking size of int
configure:14760: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c  >&5
configure:14760: $? = 0
configure:14760: ./conftest
configure:14760: $? = 0
configure:14775: result: 4
configure:14787: checking size of long
configure:14793: gcc -o conftest -g -O2 -fvisibility=hidden   conftest.c  >&5
configure:14793: $? = 0
configure:14793: ./conftest
configure:14793: $? = 0
configure:14808: result: 8
configure:14987: checking that generated files are newer than configure
configure:14993: result: done
configure:15037: creating ./config.status

## ---------------------- ##
## Running config.status. ##
## ---------------------- ##

This file was extended by speexdsp config.status 1.2rc3, which was
generated by GNU Autoconf 2.71.  Invocation command line was

  CONFIG_FILES    = 
  CONFIG_HEADERS  = 
  CONFIG_LINKS    = 
  CONFIG_COMMANDS = 
  $ ./config.status 

on sadaf-specialist.c.googlers.com

config.status:1148: creating Makefile
config.status:1148: creating libspeexdsp/Makefile
config.status:1148: creating doc/Makefile
config.status:1148: creating SpeexDSP.spec
config.status:1148: creating include/Makefile
config.status:1148: creating include/speex/Makefile
config.status:1148: creating speexdsp.pc
config.status:1148: creating win32/Makefile
config.status:1148: creating win32/libspeexdsp/Makefile
config.status:1148: creating symbian/Makefile
config.status:1148: creating win32/VS2003/Makefile
config.status:1148: creating win32/VS2003/libspeexdsp/Makefile
config.status:1148: creating win32/VS2003/tests/Makefile
config.status:1148: creating win32/VS2005/Makefile
config.status:1148: creating win32/VS2005/libspeexdsp/Makefile
config.status:1148: creating win32/VS2005/tests/Makefile
config.status:1148: creating win32/VS2008/Makefile
config.status:1148: creating win32/VS2008/libspeexdsp/Makefile
config.status:1148: creating win32/VS2008/tests/Makefile
config.status:1148: creating include/speex/speexdsp_config_types.h
config.status:1148: creating ti/Makefile
config.status:1148: creating ti/speex_C54_test/Makefile
config.status:1148: creating ti/speex_C55_test/Makefile
config.status:1148: creating ti/speex_C64_test/Makefile
config.status:1148: creating config.h
config.status:1377: executing depfiles commands
config.status:1454: cd libspeexdsp       && sed -e '/# am--include-marker/d' Makefile         | make -f - am--depfiles
config.status:1459: $? = 0
config.status:1377: executing libtool commands

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=x86_64-pc-linux-gnu
ac_cv_c_bigendian=no
ac_cv_c_compiler_gnu=yes
ac_cv_c_const=yes
ac_cv_c_inline=inline
ac_cv_c_restrict=__restrict__
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_FFT_CFLAGS_set=
ac_cv_env_FFT_CFLAGS_value=
ac_cv_env_FFT_LIBS_set=
ac_cv_env_FFT_LIBS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_LT_SYS_LIBRARY_PATH_set=
ac_cv_env_LT_SYS_LIBRARY_PATH_value=
ac_cv_env_PKG_CONFIG_LIBDIR_set=
ac_cv_env_PKG_CONFIG_LIBDIR_value=
ac_cv_env_PKG_CONFIG_PATH_set=
ac_cv_env_PKG_CONFIG_PATH_value=
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_header_alloca_h=yes
ac_cv_header_dlfcn_h=yes
ac_cv_header_getopt_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdio_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_audioio_h=no
ac_cv_header_sys_soundcard_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_host=x86_64-pc-linux-gnu
ac_cv_lib_m_cos=yes
ac_cv_objext=o
ac_cv_path_EGREP='/usr/bin/grep -E'
ac_cv_path_FGREP='/usr/bin/grep -F'
ac_cv_path_GREP=/usr/bin/grep
ac_cv_path_SED=/usr/bin/sed
ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_lt_DD=/usr/bin/dd
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_DLLTOOL=dlltool
ac_cv_prog_ac_ct_FILECMD=file
ac_cv_prog_ac_ct_MANIFEST_TOOL=mt
ac_cv_prog_ac_ct_OBJDUMP=objdump
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_ac_ct_STRIP=strip
ac_cv_prog_cc_c11=
ac_cv_prog_cc_g=yes
ac_cv_prog_cc_stdc=
ac_cv_prog_make_make_set=yes
ac_cv_sizeof_int16_t=2
ac_cv_sizeof_int32_t=4
ac_cv_sizeof_int=4
ac_cv_sizeof_long=8
ac_cv_sizeof_short=2
ac_cv_sizeof_u_int16_t=2
ac_cv_sizeof_u_int32_t=4
ac_cv_sizeof_uint16_t=2
ac_cv_sizeof_uint32_t=4
am_cv_CC_dependencies_compiler_type=gcc3
am_cv_make_support_nested_variables=yes
am_cv_prog_cc_c_o=yes
lt_cv_ar_at_file=@
lt_cv_archive_cmds_need_lc=no
lt_cv_deplibs_check_method=pass_all
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_ld_reload_flag=-r
lt_cv_nm_interface='BSD nm'
lt_cv_objdir=.libs
lt_cv_path_LD=/usr/bin/ld
lt_cv_path_NM='/usr/bin/nm -B'
lt_cv_path_mainfest_tool=no
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_pic='-fPIC -DPIC'
lt_cv_prog_compiler_pic_works=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_compiler_static_works=yes
lt_cv_prog_gnu_ld=yes
lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
lt_cv_shlibpath_overrides_runpath=yes
lt_cv_sys_global_symbol_pipe='/usr/bin/sed -n -e '\''s/^.*[	 ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[	 ][	 ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | /usr/bin/sed '\''/ __gnu_lto/d'\'''
lt_cv_sys_global_symbol_to_c_name_address='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/  {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/  {"\1", (void *) \&\1},/p'\'''
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/  {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/  {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/  {"lib\1", (void *) \&\1},/p'\'''
lt_cv_sys_global_symbol_to_cdecl='/usr/bin/sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
lt_cv_sys_global_symbol_to_import=
lt_cv_sys_max_cmd_len=1572864
lt_cv_to_host_file_cmd=func_convert_file_noop
lt_cv_to_tool_file_cmd=func_convert_file_noop
lt_cv_truncate_bin='/usr/bin/dd bs=4096 count=1'

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} '\''/usr/local/google/home/sadafebrahimi/aosp/forupdatesonly/aosp-master-with-phones/external/speex/missing'\'' aclocal-1.16'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='0'
AM_V='$(V)'
AR='ar'
AS='as'
AUTOCONF='${SHELL} '\''/usr/local/google/home/sadafebrahimi/aosp/forupdatesonly/aosp-master-with-phones/external/speex/missing'\'' autoconf'
AUTOHEADER='${SHELL} '\''/usr/local/google/home/sadafebrahimi/aosp/forupdatesonly/aosp-master-with-phones/external/speex/missing'\'' autoheader'
AUTOMAKE='${SHELL} '\''/usr/local/google/home/sadafebrahimi/aosp/forupdatesonly/aosp-master-with-phones/external/speex/missing'\'' automake-1.16'
AWK='gawk'
BUILD_EXAMPLES_FALSE='#'
BUILD_EXAMPLES_TRUE=''
BUILD_KISS_FFT_FALSE=''
BUILD_KISS_FFT_TRUE='#'
BUILD_SMALLFT_FALSE='#'
BUILD_SMALLFT_TRUE=''
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2 -fvisibility=hidden'
CPPFLAGS=''
CSCOPE='cscope'
CTAGS='ctags'
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
DLLTOOL='dlltool'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/usr/bin/grep -E'
ETAGS='etags'
EXEEXT=''
FFT_CFLAGS=''
FFT_LIBS=''
FFT_PKGCONFIG=''
FGREP='/usr/bin/grep -F'
FILECMD='file'
GREP='/usr/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LD='/usr/bin/ld -m elf_x86_64'
LDFLAGS=''
LIBM='-lm'
LIBOBJS=''
LIBS=''
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
LT_SYS_LIBRARY_PATH=''
MAINT=''
MAINTAINER_MODE_FALSE='#'
MAINTAINER_MODE_TRUE=''
MAKEINFO='${SHELL} '\''/usr/local/google/home/sadafebrahimi/aosp/forupdatesonly/aosp-master-with-phones/external/speex/missing'\'' makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/usr/bin/mkdir -p'
NM='/usr/bin/nm -B'
NMEDIT=''
OBJDUMP='objdump'
OBJEXT='o'
OTOOL64=''
OTOOL=''
PACKAGE='speexdsp'
PACKAGE_BUGREPORT='speex-dev@xiph.org'
PACKAGE_NAME='speexdsp'
PACKAGE_STRING='speexdsp 1.2rc3'
PACKAGE_TARNAME='speexdsp'
PACKAGE_URL=''
PACKAGE_VERSION='1.2rc3'
PATH_SEPARATOR=':'
PKG_CONFIG='/usr/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH=''
RANLIB='ranlib'
SED='/usr/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
SIZE16='int16_t'
SIZE32='int32_t'
SPEEXDSP_LT_AGE='5'
SPEEXDSP_LT_CURRENT='6'
SPEEXDSP_LT_REVISION='0'
STRIP='strip'
USIZE16='uint16_t'
USIZE32='uint32_t'
VERSION='1.2rc3'
ac_ct_AR='ar'
ac_ct_CC='gcc'
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE='#'
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
bindir='${exec_prefix}/bin'
build='x86_64-pc-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='pc'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='x86_64-pc-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='pc'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /usr/local/google/home/sadafebrahimi/aosp/forupdatesonly/aosp-master-with-phones/external/speex/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr/local'
program_transform_name='s,x,x,'
psdir='${docdir}'
runstatedir='${localstatedir}/run'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
src=''
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "speexdsp"
#define PACKAGE_TARNAME "speexdsp"
#define PACKAGE_VERSION "1.2rc3"
#define PACKAGE_STRING "speexdsp 1.2rc3"
#define PACKAGE_BUGREPORT "speex-dev@xiph.org"
#define PACKAGE_URL ""
#define HAVE_STDIO_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_STRINGS_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
#define STDC_HEADERS 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
#define restrict __restrict__
#define VAR_ARRAYS /**/
#define HAVE_ALLOCA_H 1
#define HAVE_GETOPT_H 1
#define EXPORT __attribute__((visibility("default")))
#define HAVE_SYS_SOUNDCARD_H 1
#define FLOATING_POINT /**/
#define _USE_SSE /**/
#define _USE_SSE2 /**/
#define USE_SMALLFT /**/
#define SIZEOF_INT16_T 2
#define SIZEOF_UINT16_T 2
#define SIZEOF_U_INT16_T 2
#define SIZEOF_INT32_T 4
#define SIZEOF_UINT32_T 4
#define SIZEOF_U_INT32_T 4
#define SIZEOF_SHORT 2
#define SIZEOF_INT 4
#define SIZEOF_LONG 8

configure: exit 0
