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

It was created by libsndfile configure 1.0.25, which was
generated by GNU Autoconf 2.68.  Invocation command line was

  $ ./configure --disable-external-libs

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

hostname = pcal
uname -m = x86_64
uname -r = 3.10.10-100.fc18.x86_64
uname -s = Linux
uname -v = #1 SMP Thu Aug 29 20:13:09 UTC 2013

/usr/bin/uname -p = x86_64
/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/lib64/qt-3.3/bin
PATH: /usr/lib64/ccache
PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/local/sbin
PATH: /usr/sbin
PATH: /home/lisional/.local/bin
PATH: /usr/local/bin
PATH: /home/lisional/bin
PATH: /home/lisional/Dev/ADT/sdk/tools
PATH: /home/lisional/Dev/ADT/sdk/platform-tools
PATH: /home/lisional/Dev/ADT/ndk
PATH: /home/lisional/.local/bin
PATH: /home/lisional/.local/bin
PATH: /usr/local/bin
PATH: /home/lisional/bin
PATH: /home/lisional/Dev/ADT/sdk/tools
PATH: /home/lisional/Dev/ADT/sdk/platform-tools
PATH: /home/lisional/Dev/ADT/ndk
PATH: /home/lisional/.local/bin


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

configure:2766: checking build system type
configure:2780: result: x86_64-unknown-linux-gnu
configure:2800: checking host system type
configure:2813: result: x86_64-unknown-linux-gnu
configure:2833: checking target system type
configure:2846: result: x86_64-unknown-linux-gnu
configure:2893: checking for a BSD-compatible install
configure:2961: result: /usr/bin/install -c
configure:2972: checking whether build environment is sane
configure:3022: result: yes
configure:3163: checking for a thread-safe mkdir -p
configure:3202: result: /usr/bin/mkdir -p
configure:3215: checking for gawk
configure:3231: found /usr/bin/gawk
configure:3242: result: gawk
configure:3253: checking whether make sets $(MAKE)
configure:3275: result: yes
configure:3426: checking for gcc
configure:3442: found /usr/lib64/ccache/gcc
configure:3453: result: gcc
configure:3682: checking for C compiler version
configure:3691: gcc --version >&5
gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8)
Copyright (C) 2012 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:3702: $? = 0
configure:3691: gcc -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --disable-build-with-cxx --disable-build-poststage1-with-cxx --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC) 
configure:3702: $? = 0
configure:3691: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3702: $? = 4
configure:3691: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:3702: $? = 4
configure:3722: checking whether the C compiler works
configure:3744: gcc    conftest.c  >&5
configure:3748: $? = 0
configure:3796: result: yes
configure:3799: checking for C compiler default output file name
configure:3801: result: a.out
configure:3807: checking for suffix of executables
configure:3814: gcc -o conftest    conftest.c  >&5
configure:3818: $? = 0
configure:3840: result: 
configure:3862: checking whether we are cross compiling
configure:3870: gcc -o conftest    conftest.c  >&5
configure:3874: $? = 0
configure:3881: ./conftest
configure:3885: $? = 0
configure:3900: result: no
configure:3905: checking for suffix of object files
configure:3927: gcc -c   conftest.c >&5
configure:3931: $? = 0
configure:3952: result: o
configure:3956: checking whether we are using the GNU C compiler
configure:3975: gcc -c   conftest.c >&5
configure:3975: $? = 0
configure:3984: result: yes
configure:3993: checking whether gcc accepts -g
configure:4013: gcc -c -g  conftest.c >&5
configure:4013: $? = 0
configure:4054: result: yes
configure:4071: checking for gcc option to accept ISO C89
configure:4135: gcc  -c -g -O2  conftest.c >&5
configure:4135: $? = 0
configure:4148: result: none needed
configure:4179: checking for style of include used by make
configure:4207: result: GNU
configure:4232: checking dependency style of gcc
configure:4342: result: gcc3
configure:4358: checking whether gcc and cc understand -c and -o together
configure:4389: gcc -c conftest.c -o conftest2.o >&5
configure:4393: $? = 0
configure:4399: gcc -c conftest.c -o conftest2.o >&5
configure:4403: $? = 0
configure:4414: cc -c conftest.c >&5
configure:4418: $? = 0
configure:4426: cc -c conftest.c -o conftest2.o >&5
configure:4430: $? = 0
configure:4436: cc -c conftest.c -o conftest2.o >&5
configure:4440: $? = 0
configure:4458: result: yes
configure:4541: checking for g++
configure:4557: found /usr/lib64/ccache/g++
configure:4568: result: g++
configure:4595: checking for C++ compiler version
configure:4604: g++ --version >&5
g++ (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8)
Copyright (C) 2012 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:4615: $? = 0
configure:4604: g++ -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.7.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --disable-build-with-cxx --disable-build-poststage1-with-cxx --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.7.2 20121109 (Red Hat 4.7.2-8) (GCC) 
configure:4615: $? = 0
configure:4604: g++ -V >&5
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:4615: $? = 4
configure:4604: g++ -qversion >&5
g++: error: unrecognized command line option '-qversion'
g++: fatal error: no input files
compilation terminated.
configure:4615: $? = 4
configure:4619: checking whether we are using the GNU C++ compiler
configure:4638: g++ -c   conftest.cpp >&5
configure:4638: $? = 0
configure:4647: result: yes
configure:4656: checking whether g++ accepts -g
configure:4676: g++ -c -g  conftest.cpp >&5
configure:4676: $? = 0
configure:4717: result: yes
configure:4742: checking dependency style of g++
configure:4852: result: gcc3
configure:4867: checking for a sed that does not truncate output
configure:4931: result: /usr/bin/sed
configure:4985: checking how to print strings
configure:5012: result: printf
configure:5033: checking for a sed that does not truncate output
configure:5097: result: /usr/bin/sed
configure:5115: checking for grep that handles long lines and -e
configure:5173: result: /usr/bin/grep
configure:5178: checking for egrep
configure:5240: result: /usr/bin/grep -E
configure:5245: checking for fgrep
configure:5307: result: /usr/bin/grep -F
configure:5342: checking for ld used by gcc
configure:5409: result: /usr/bin/ld
configure:5416: checking if the linker (/usr/bin/ld) is GNU ld
configure:5431: result: yes
configure:5443: checking for BSD- or MS-compatible name lister (nm)
configure:5492: result: /usr/bin/nm -B
configure:5622: checking the name lister (/usr/bin/nm -B) interface
configure:5629: gcc -c -g -O2  conftest.c >&5
configure:5632: /usr/bin/nm -B "conftest.o"
configure:5635: output
0000000000000000 B some_variable
configure:5642: result: BSD nm
configure:5645: checking whether ln -s works
configure:5649: result: yes
configure:5657: checking the maximum length of command line arguments
configure:5782: result: 1572864
configure:5799: checking whether the shell understands some XSI constructs
configure:5809: result: yes
configure:5813: checking whether the shell understands "+="
configure:5819: result: yes
configure:5854: checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format
configure:5894: result: func_convert_file_noop
configure:5901: checking how to convert x86_64-unknown-linux-gnu file names to toolchain format
configure:5921: result: func_convert_file_noop
configure:5928: checking for /usr/bin/ld option to reload object files
configure:5935: result: -r
configure:6009: checking for objdump
configure:6025: found /usr/bin/objdump
configure:6036: result: objdump
configure:6068: checking how to recognize dependent libraries
configure:6270: result: pass_all
configure:6355: checking for dlltool
configure:6385: result: no
configure:6415: checking how to associate runtime and link libraries
configure:6442: result: printf %s\n
configure:6503: checking for ar
configure:6519: found /usr/bin/ar
configure:6530: result: ar
configure:6567: checking for archiver @FILE support
configure:6584: gcc -c -g -O2  conftest.c >&5
configure:6584: $? = 0
configure:6587: ar cru libconftest.a @conftest.lst >&5
configure:6590: $? = 0
configure:6595: ar cru libconftest.a @conftest.lst >&5
ar: conftest.o: No such file or directory
configure:6598: $? = 1
configure:6610: result: @
configure:6668: checking for strip
configure:6684: found /usr/bin/strip
configure:6695: result: strip
configure:6767: checking for ranlib
configure:6783: found /usr/bin/ranlib
configure:6794: result: ranlib
configure:6896: checking command to parse /usr/bin/nm -B output from gcc object
configure:7015: gcc -c -g -O2  conftest.c >&5
configure:7018: $? = 0
configure:7022: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm
configure:7025: $? = 0
configure:7091: gcc -o conftest -g -O2   conftest.c conftstm.o >&5
configure:7094: $? = 0
configure:7132: result: ok
configure:7169: checking for sysroot
configure:7199: result: no
configure:7276: gcc -c -g -O2  conftest.c >&5
configure:7279: $? = 0
configure:7442: checking for mt
configure:7472: result: no
configure:7492: checking if : is a manifest tool
configure:7498: : '-?'
configure:7506: result: no
configure:8138: checking how to run the C preprocessor
configure:8169: gcc -E  conftest.c
configure:8169: $? = 0
configure:8183: gcc -E  conftest.c
conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:8183: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:8208: result: gcc -E
configure:8228: gcc -E  conftest.c
configure:8228: $? = 0
configure:8242: gcc -E  conftest.c
conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:8242: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:8271: checking for ANSI C header files
configure:8291: gcc -c -g -O2  conftest.c >&5
configure:8291: $? = 0
configure:8364: gcc -o conftest -g -O2   conftest.c  >&5
configure:8364: $? = 0
configure:8364: ./conftest
configure:8364: $? = 0
configure:8375: result: yes
configure:8388: checking for sys/types.h
configure:8388: gcc -c -g -O2  conftest.c >&5
configure:8388: $? = 0
configure:8388: result: yes
configure:8388: checking for sys/stat.h
configure:8388: gcc -c -g -O2  conftest.c >&5
configure:8388: $? = 0
configure:8388: result: yes
configure:8388: checking for stdlib.h
configure:8388: gcc -c -g -O2  conftest.c >&5
configure:8388: $? = 0
configure:8388: result: yes
configure:8388: checking for string.h
configure:8388: gcc -c -g -O2  conftest.c >&5
configure:8388: $? = 0
configure:8388: result: yes
configure:8388: checking for memory.h
configure:8388: gcc -c -g -O2  conftest.c >&5
configure:8388: $? = 0
configure:8388: result: yes
configure:8388: checking for strings.h
configure:8388: gcc -c -g -O2  conftest.c >&5
configure:8388: $? = 0
configure:8388: result: yes
configure:8388: checking for inttypes.h
configure:8388: gcc -c -g -O2  conftest.c >&5
configure:8388: $? = 0
configure:8388: result: yes
configure:8388: checking for stdint.h
configure:8388: gcc -c -g -O2  conftest.c >&5
configure:8388: $? = 0
configure:8388: result: yes
configure:8388: checking for unistd.h
configure:8388: gcc -c -g -O2  conftest.c >&5
configure:8388: $? = 0
configure:8388: result: yes
configure:8402: checking for dlfcn.h
configure:8402: gcc -c -g -O2  conftest.c >&5
configure:8402: $? = 0
configure:8402: result: yes
configure:8600: checking for objdir
configure:8615: result: .libs
configure:8886: checking if gcc supports -fno-rtti -fno-exceptions
configure:8904: gcc -c -g -O2  -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C [enabled by default]
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C [enabled by default]
configure:8908: $? = 0
configure:8921: result: no
configure:9231: checking for gcc option to produce PIC
configure:9238: result: -fPIC -DPIC
configure:9246: checking if gcc PIC flag -fPIC -DPIC works
configure:9264: gcc -c -g -O2  -fPIC -DPIC -DPIC conftest.c >&5
configure:9268: $? = 0
configure:9281: result: yes
configure:9310: checking if gcc static flag -static works
configure:9338: result: no
configure:9353: checking if gcc supports -c -o file.o
configure:9374: gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:9378: $? = 0
configure:9400: result: yes
configure:9408: checking if gcc supports -c -o file.o
configure:9455: result: yes
configure:9488: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:10650: result: yes
configure:10687: checking whether -lc should be explicitly linked in
configure:10695: gcc -c -g -O2  conftest.c >&5
configure:10698: $? = 0
configure:10713: gcc -shared  -fPIC -DPIC conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/bin/grep  -lc  \>/dev/null 2\>\&1
configure:10716: $? = 0
configure:10730: result: no
configure:10895: checking dynamic linker characteristics
configure:11410: gcc -o conftest -g -O2   -Wl,-rpath -Wl,/foo conftest.c  >&5
configure:11410: $? = 0
configure:11644: result: GNU/Linux ld.so
configure:11751: checking how to hardcode library paths into programs
configure:11776: result: immediate
configure:12316: checking whether stripping libraries is possible
configure:12321: result: yes
configure:12356: checking if libtool supports shared libraries
configure:12358: result: yes
configure:12361: checking whether to build shared libraries
configure:12382: result: yes
configure:12385: checking whether to build static libraries
configure:12389: result: yes
configure:12412: checking how to run the C++ preprocessor
configure:12439: g++ -E  conftest.cpp
configure:12439: $? = 0
configure:12453: g++ -E  conftest.cpp
conftest.cpp:23:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:12453: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:12478: result: g++ -E
configure:12498: g++ -E  conftest.cpp
configure:12498: $? = 0
configure:12512: g++ -E  conftest.cpp
conftest.cpp:23:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:12512: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:12682: checking for ld used by g++
configure:12749: result: /usr/bin/ld -m elf_x86_64
configure:12756: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld
configure:12771: result: yes
configure:12826: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:13830: result: yes
configure:13865: g++ -c -g -O2  conftest.cpp >&5
configure:13868: $? = 0
configure:14388: checking for g++ option to produce PIC
configure:14395: result: -fPIC -DPIC
configure:14403: checking if g++ PIC flag -fPIC -DPIC works
configure:14421: g++ -c -g -O2  -fPIC -DPIC -DPIC conftest.cpp >&5
configure:14425: $? = 0
configure:14438: result: yes
configure:14461: checking if g++ static flag -static works
configure:14489: result: no
configure:14501: checking if g++ supports -c -o file.o
configure:14522: g++ -c -g -O2  -o out/conftest2.o conftest.cpp >&5
configure:14526: $? = 0
configure:14548: result: yes
configure:14553: checking if g++ supports -c -o file.o
configure:14600: result: yes
configure:14630: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:14667: result: yes
configure:14810: checking dynamic linker characteristics
configure:15493: result: GNU/Linux ld.so
configure:15546: checking how to hardcode library paths into programs
configure:15571: result: immediate
configure:15673: checking for windres
configure:15703: result: no
configure:15809: checking for autogen
configure:15837: result: no
configure:15847: checking for wine
configure:15875: result: no
configure:15885: checking whether ln -s works
configure:15889: result: yes
configure:15920: checking for ANSI C header files
configure:16024: result: yes
configure:16035: checking endian.h usability
configure:16035: gcc -c -g -O2  conftest.c >&5
configure:16035: $? = 0
configure:16035: result: yes
configure:16035: checking endian.h presence
configure:16035: gcc -E  conftest.c
configure:16035: $? = 0
configure:16035: result: yes
configure:16035: checking for endian.h
configure:16035: result: yes
configure:16047: checking byteswap.h usability
configure:16047: gcc -c -g -O2  conftest.c >&5
configure:16047: $? = 0
configure:16047: result: yes
configure:16047: checking byteswap.h presence
configure:16047: gcc -E  conftest.c
configure:16047: $? = 0
configure:16047: result: yes
configure:16047: checking for byteswap.h
configure:16047: result: yes
configure:16059: checking locale.h usability
configure:16059: gcc -c -g -O2  conftest.c >&5
configure:16059: $? = 0
configure:16059: result: yes
configure:16059: checking locale.h presence
configure:16059: gcc -E  conftest.c
configure:16059: $? = 0
configure:16059: result: yes
configure:16059: checking for locale.h
configure:16059: result: yes
configure:16071: checking sys/time.h usability
configure:16071: gcc -c -g -O2  conftest.c >&5
configure:16071: $? = 0
configure:16071: result: yes
configure:16071: checking sys/time.h presence
configure:16071: gcc -E  conftest.c
configure:16071: $? = 0
configure:16071: result: yes
configure:16071: checking for sys/time.h
configure:16071: result: yes
configure:16082: checking for sys/wait.h that is POSIX.1 compatible
configure:16108: gcc -c -g -O2  conftest.c >&5
configure:16108: $? = 0
configure:16115: result: yes
configure:16124: checking whether S_IRGRP is declared
configure:16124: gcc -c -g -O2  conftest.c >&5
configure:16124: $? = 0
configure:16124: result: yes
configure:16160: checking C99 struct flexible array support
configure:16185: gcc -o conftest -g -O2   conftest.c  >&5
configure:16185: $? = 0
configure:16194: result: yes
configure:16310: checking size of wchar_t
configure:16315: gcc -o conftest -g -O2   conftest.c  >&5
configure:16315: $? = 0
configure:16315: ./conftest
configure:16315: $? = 0
configure:16329: result: 4
configure:16343: checking size of short
configure:16348: gcc -o conftest -g -O2   conftest.c  >&5
configure:16348: $? = 0
configure:16348: ./conftest
configure:16348: $? = 0
configure:16362: result: 2
configure:16376: checking size of int
configure:16381: gcc -o conftest -g -O2   conftest.c  >&5
configure:16381: $? = 0
configure:16381: ./conftest
configure:16381: $? = 0
configure:16395: result: 4
configure:16409: checking size of long
configure:16414: gcc -o conftest -g -O2   conftest.c  >&5
configure:16414: $? = 0
configure:16414: ./conftest
configure:16414: $? = 0
configure:16428: result: 8
configure:16442: checking size of float
configure:16447: gcc -o conftest -g -O2   conftest.c  >&5
configure:16447: $? = 0
configure:16447: ./conftest
configure:16447: $? = 0
configure:16461: result: 4
configure:16475: checking size of double
configure:16480: gcc -o conftest -g -O2   conftest.c  >&5
configure:16480: $? = 0
configure:16480: ./conftest
configure:16480: $? = 0
configure:16494: result: 8
configure:16508: checking size of void*
configure:16513: gcc -o conftest -g -O2   conftest.c  >&5
configure:16513: $? = 0
configure:16513: ./conftest
configure:16513: $? = 0
configure:16527: result: 8
configure:16541: checking size of size_t
configure:16546: gcc -o conftest -g -O2   conftest.c  >&5
configure:16546: $? = 0
configure:16546: ./conftest
configure:16546: $? = 0
configure:16560: result: 8
configure:16574: checking size of int64_t
configure:16579: gcc -o conftest -g -O2   conftest.c  >&5
configure:16579: $? = 0
configure:16579: ./conftest
configure:16579: $? = 0
configure:16593: result: 8
configure:16607: checking size of long long
configure:16612: gcc -o conftest -g -O2   conftest.c  >&5
configure:16612: $? = 0
configure:16612: ./conftest
configure:16612: $? = 0
configure:16626: result: 8
configure:16649: checking size of off_t
configure:16654: gcc -o conftest -g -O2   conftest.c  >&5
configure:16654: $? = 0
configure:16654: ./conftest
configure:16654: $? = 0
configure:16668: result: 8
configure:17167: checking for ssize_t
configure:17167: gcc -c -g -O2  conftest.c >&5
configure:17167: $? = 0
configure:17167: gcc -c -g -O2  conftest.c >&5
conftest.c: In function 'main':
conftest.c:83:22: error: expected expression before ')' token
configure:17167: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define STDC_HEADERS 1
| #define HAVE_ENDIAN_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_FLEXIBLE_ARRAY 1
| #define ENABLE_EXPERIMENTAL_CODE 0
| #define SIZEOF_WCHAR_T 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 8
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_VOIDP 8
| #define SIZEOF_SIZE_T 8
| #define SIZEOF_INT64_T 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_OFF_T 8
| #define TYPEOF_SF_COUNT_T int64_t
| #define SIZEOF_SF_COUNT_T 8
| #define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL
| /* end confdefs.h.  */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| int
| main ()
| {
| if (sizeof ((ssize_t)))
| 	    return 0;
|   ;
|   return 0;
| }
configure:17167: result: yes
configure:17181: checking size of ssize_t
configure:17186: gcc -o conftest -g -O2   conftest.c  >&5
configure:17186: $? = 0
configure:17186: ./conftest
configure:17186: $? = 0
configure:17200: result: 8
configure:17214: checking processor byte ordering
configure:17242: gcc -o conftest -g -O2   conftest.c  >&5
configure:17242: $? = 0
configure:17265: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c:52:4: error: unknown type name 'not'
conftest.c:52:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'endian'
configure:17265: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define STDC_HEADERS 1
| #define HAVE_ENDIAN_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_FLEXIBLE_ARRAY 1
| #define ENABLE_EXPERIMENTAL_CODE 0
| #define SIZEOF_WCHAR_T 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 8
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_VOIDP 8
| #define SIZEOF_SIZE_T 8
| #define SIZEOF_INT64_T 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_OFF_T 8
| #define TYPEOF_SF_COUNT_T int64_t
| #define SIZEOF_SF_COUNT_T 8
| #define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL
| #define HAVE_SSIZE_T 1
| #define SIZEOF_SSIZE_T 8
| /* end confdefs.h.  */
| 
| 		#include <endian.h>
| 		#if BYTE_ORDER != BIG_ENDIAN
| 			not big endian
| 		#endif
| 
| int
| main ()
| {
| return 0 ;
|   ;
|   return 0;
| }
configure:17428: result: little
configure:17478: checking for malloc
configure:17478: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c:75:6: warning: conflicting types for built-in function 'malloc' [enabled by default]
configure:17478: $? = 0
configure:17478: result: yes
configure:17478: checking for calloc
configure:17478: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c:76:6: warning: conflicting types for built-in function 'calloc' [enabled by default]
configure:17478: $? = 0
configure:17478: result: yes
configure:17478: checking for realloc
configure:17478: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c:77:6: warning: conflicting types for built-in function 'realloc' [enabled by default]
configure:17478: $? = 0
configure:17478: result: yes
configure:17478: checking for free
configure:17478: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c:78:6: warning: conflicting types for built-in function 'free' [enabled by default]
configure:17478: $? = 0
configure:17478: result: yes
configure:17490: checking for open
configure:17490: gcc -o conftest -g -O2   conftest.c  >&5
configure:17490: $? = 0
configure:17490: result: yes
configure:17490: checking for read
configure:17490: gcc -o conftest -g -O2   conftest.c  >&5
configure:17490: $? = 0
configure:17490: result: yes
configure:17490: checking for write
configure:17490: gcc -o conftest -g -O2   conftest.c  >&5
configure:17490: $? = 0
configure:17490: result: yes
configure:17490: checking for lseek
configure:17490: gcc -o conftest -g -O2   conftest.c  >&5
configure:17490: $? = 0
configure:17490: result: yes
configure:17490: checking for pread
configure:17490: gcc -o conftest -g -O2   conftest.c  >&5
configure:17490: $? = 0
configure:17490: result: yes
configure:17490: checking for pwrite
configure:17490: gcc -o conftest -g -O2   conftest.c  >&5
configure:17490: $? = 0
configure:17490: result: yes
configure:17502: checking for fstat
configure:17502: gcc -o conftest -g -O2   conftest.c  >&5
configure:17502: $? = 0
configure:17502: result: yes
configure:17502: checking for ftruncate
configure:17502: gcc -o conftest -g -O2   conftest.c  >&5
configure:17502: $? = 0
configure:17502: result: yes
configure:17502: checking for fsync
configure:17502: gcc -o conftest -g -O2   conftest.c  >&5
configure:17502: $? = 0
configure:17502: result: yes
configure:17514: checking for snprintf
configure:17514: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c:88:6: warning: conflicting types for built-in function 'snprintf' [enabled by default]
configure:17514: $? = 0
configure:17514: result: yes
configure:17514: checking for vsnprintf
configure:17514: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c:89:6: warning: conflicting types for built-in function 'vsnprintf' [enabled by default]
configure:17514: $? = 0
configure:17514: result: yes
configure:17526: checking for gmtime
configure:17526: gcc -o conftest -g -O2   conftest.c  >&5
configure:17526: $? = 0
configure:17526: result: yes
configure:17526: checking for gmtime_r
configure:17526: gcc -o conftest -g -O2   conftest.c  >&5
configure:17526: $? = 0
configure:17526: result: yes
configure:17526: checking for localtime
configure:17526: gcc -o conftest -g -O2   conftest.c  >&5
configure:17526: $? = 0
configure:17526: result: yes
configure:17526: checking for localtime_r
configure:17526: gcc -o conftest -g -O2   conftest.c  >&5
configure:17526: $? = 0
configure:17526: result: yes
configure:17526: checking for gettimeofday
configure:17526: gcc -o conftest -g -O2   conftest.c  >&5
configure:17526: $? = 0
configure:17526: result: yes
configure:17538: checking for mmap
configure:17538: gcc -o conftest -g -O2   conftest.c  >&5
configure:17538: $? = 0
configure:17538: result: yes
configure:17538: checking for getpagesize
configure:17538: gcc -o conftest -g -O2   conftest.c  >&5
configure:17538: $? = 0
configure:17538: result: yes
configure:17549: checking for setlocale
configure:17549: gcc -o conftest -g -O2   conftest.c  >&5
configure:17549: $? = 0
configure:17549: result: yes
configure:17561: checking for pipe
configure:17561: gcc -o conftest -g -O2   conftest.c  >&5
configure:17561: $? = 0
configure:17561: result: yes
configure:17561: checking for waitpid
configure:17561: gcc -o conftest -g -O2   conftest.c  >&5
configure:17561: $? = 0
configure:17561: result: yes
configure:17571: checking for floor in -lm
configure:17596: gcc -o conftest -g -O2   conftest.c -lm   >&5
conftest.c:84:6: warning: conflicting types for built-in function 'floor' [enabled by default]
configure:17596: $? = 0
configure:17605: result: yes
configure:17619: checking for floor
configure:17619: gcc -o conftest -g -O2   conftest.c -lm  >&5
conftest.c:101:6: warning: conflicting types for built-in function 'floor' [enabled by default]
configure:17619: $? = 0
configure:17619: result: yes
configure:17619: checking for ceil
configure:17619: gcc -o conftest -g -O2   conftest.c -lm  >&5
conftest.c:102:6: warning: conflicting types for built-in function 'ceil' [enabled by default]
configure:17619: $? = 0
configure:17619: result: yes
configure:17619: checking for fmod
configure:17619: gcc -o conftest -g -O2   conftest.c -lm  >&5
conftest.c:103:6: warning: conflicting types for built-in function 'fmod' [enabled by default]
configure:17619: $? = 0
configure:17619: result: yes
configure:17629: checking for lrint
configure:17655: gcc -o conftest -lm   conftest.c -lm  >&5
configure:17655: $? = 0
configure:17667: result: yes
configure:17676: checking for lrintf
configure:17702: gcc -o conftest -lm   conftest.c -lm  >&5
configure:17702: $? = 0
configure:17714: result: yes
configure:17755: checking for octave
configure:17783: result: no
configure:17822: checking for mkoctfile
configure:17850: result: no
configure:17886: checking for octave-config
configure:17914: result: no
configure:18061: checking for pkg-config
configure:18079: found /usr/bin/pkg-config
configure:18091: result: /usr/bin/pkg-config
configure:18116: checking pkg-config is at least version 0.9.0
configure:18119: result: yes
configure:18130: WARNING: *** External libs (FLAC, Ogg, Vorbis) disabled. ***
configure:18503: WARNING: *** One or more of the external libraries (ie libflac, libogg and
configure:18505: WARNING: *** libvorbis) is either missing (possibly only the development
configure:18507: WARNING: *** headers) or is of an unsupported version.
configure:18509: WARNING: ***
configure:18511: WARNING: *** Unfortunately, for ease of maintenance, the external libs
configure:18513: WARNING: *** are an all or nothing affair.
configure:18533: checking for sqlite3 >= 3.2 
configure:18540: $PKG_CONFIG --exists --print-errors "sqlite3 >= 3.2"
configure:18543: $? = 0
configure:18557: $PKG_CONFIG --exists --print-errors "sqlite3 >= 3.2"
configure:18560: $? = 0
configure:18596: result: yes
configure:18618: checking processor clipping capabilities
configure:18658: gcc -o conftest -g -O2   conftest.c -lm  >&5
configure:18658: $? = 0
configure:18658: ./conftest
configure:18658: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define STDC_HEADERS 1
| #define HAVE_ENDIAN_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_FLEXIBLE_ARRAY 1
| #define ENABLE_EXPERIMENTAL_CODE 0
| #define SIZEOF_WCHAR_T 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 8
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_VOIDP 8
| #define SIZEOF_SIZE_T 8
| #define SIZEOF_INT64_T 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_OFF_T 8
| #define TYPEOF_SF_COUNT_T int64_t
| #define SIZEOF_SF_COUNT_T 8
| #define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL
| #define HAVE_SSIZE_T 1
| #define SIZEOF_SSIZE_T 8
| #define CPU_IS_BIG_ENDIAN 0
| #define CPU_IS_LITTLE_ENDIAN 1
| #define WORDS_BIGENDIAN 0
| #define HAVE_MALLOC 1
| #define HAVE_CALLOC 1
| #define HAVE_REALLOC 1
| #define HAVE_FREE 1
| #define HAVE_OPEN 1
| #define HAVE_READ 1
| #define HAVE_WRITE 1
| #define HAVE_LSEEK 1
| #define HAVE_PREAD 1
| #define HAVE_PWRITE 1
| #define HAVE_FSTAT 1
| #define HAVE_FTRUNCATE 1
| #define HAVE_FSYNC 1
| #define HAVE_SNPRINTF 1
| #define HAVE_VSNPRINTF 1
| #define HAVE_GMTIME 1
| #define HAVE_GMTIME_R 1
| #define HAVE_LOCALTIME 1
| #define HAVE_LOCALTIME_R 1
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_MMAP 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SETLOCALE 1
| #define HAVE_PIPE 1
| #define HAVE_WAITPID 1
| #define HAVE_LIBM 1
| #define HAVE_FLOOR 1
| #define HAVE_CEIL 1
| #define HAVE_FMOD 1
| #define HAVE_LRINT 1
| #define HAVE_LRINTF 1
| #define HAVE_EXTERNAL_LIBS 0
| #define HAVE_SQLITE3 1
| /* end confdefs.h.  */
| 
| 	#define	_ISOC9X_SOURCE	1
| 	#define _ISOC99_SOURCE	1
| 	#define	__USE_ISOC99	1
| 	#define __USE_ISOC9X	1
| 	#include <math.h>
| 	int main (void)
| 	{	double	fval ;
| 		int k, ival ;
| 
| 		fval = 1.0 * 0x7FFFFFFF ;
| 		for (k = 0 ; k < 100 ; k++)
| 		{	ival = (lrint (fval)) >> 24 ;
| 			if (ival != 127)
| 				return 1 ;
| 
| 			fval *= 1.2499999 ;
| 			} ;
| 
| 			return 0 ;
| 		}
| 
configure:18697: gcc -o conftest -g -O2   conftest.c -lm  >&5
configure:18697: $? = 0
configure:18697: ./conftest
configure:18697: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define STDC_HEADERS 1
| #define HAVE_ENDIAN_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_FLEXIBLE_ARRAY 1
| #define ENABLE_EXPERIMENTAL_CODE 0
| #define SIZEOF_WCHAR_T 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 8
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_VOIDP 8
| #define SIZEOF_SIZE_T 8
| #define SIZEOF_INT64_T 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_OFF_T 8
| #define TYPEOF_SF_COUNT_T int64_t
| #define SIZEOF_SF_COUNT_T 8
| #define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL
| #define HAVE_SSIZE_T 1
| #define SIZEOF_SSIZE_T 8
| #define CPU_IS_BIG_ENDIAN 0
| #define CPU_IS_LITTLE_ENDIAN 1
| #define WORDS_BIGENDIAN 0
| #define HAVE_MALLOC 1
| #define HAVE_CALLOC 1
| #define HAVE_REALLOC 1
| #define HAVE_FREE 1
| #define HAVE_OPEN 1
| #define HAVE_READ 1
| #define HAVE_WRITE 1
| #define HAVE_LSEEK 1
| #define HAVE_PREAD 1
| #define HAVE_PWRITE 1
| #define HAVE_FSTAT 1
| #define HAVE_FTRUNCATE 1
| #define HAVE_FSYNC 1
| #define HAVE_SNPRINTF 1
| #define HAVE_VSNPRINTF 1
| #define HAVE_GMTIME 1
| #define HAVE_GMTIME_R 1
| #define HAVE_LOCALTIME 1
| #define HAVE_LOCALTIME_R 1
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_MMAP 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SETLOCALE 1
| #define HAVE_PIPE 1
| #define HAVE_WAITPID 1
| #define HAVE_LIBM 1
| #define HAVE_FLOOR 1
| #define HAVE_CEIL 1
| #define HAVE_FMOD 1
| #define HAVE_LRINT 1
| #define HAVE_LRINTF 1
| #define HAVE_EXTERNAL_LIBS 0
| #define HAVE_SQLITE3 1
| /* end confdefs.h.  */
| 
| 	#define	_ISOC9X_SOURCE	1
| 	#define _ISOC99_SOURCE	1
| 	#define	__USE_ISOC99	1
| 	#define __USE_ISOC9X	1
| 	#include <math.h>
| 	int main (void)
| 	{	double	fval ;
| 		int k, ival ;
| 
| 		fval = -8.0 * 0x10000000 ;
| 		for (k = 0 ; k < 100 ; k++)
| 		{	ival = (lrint (fval)) >> 24 ;
| 			if (ival != -128)
| 				return 1 ;
| 
| 			fval *= 1.2499999 ;
| 			} ;
| 
| 			return 0 ;
| 		}
| 
configure:18739: result: none
configure:18816: checking alsa/asoundlib.h usability
configure:18816: gcc -c -g -O2  conftest.c >&5
configure:18816: $? = 0
configure:18816: result: yes
configure:18816: checking alsa/asoundlib.h presence
configure:18816: gcc -E  conftest.c
configure:18816: $? = 0
configure:18816: result: yes
configure:18816: checking for alsa/asoundlib.h
configure:18816: result: yes
configure:18838: checking sndio.h usability
configure:18838: gcc -c -g -O2  conftest.c >&5
conftest.c:124:19: fatal error: sndio.h: No such file or directory
compilation terminated.
configure:18838: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define STDC_HEADERS 1
| #define HAVE_ENDIAN_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_FLEXIBLE_ARRAY 1
| #define ENABLE_EXPERIMENTAL_CODE 0
| #define SIZEOF_WCHAR_T 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 8
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_VOIDP 8
| #define SIZEOF_SIZE_T 8
| #define SIZEOF_INT64_T 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_OFF_T 8
| #define TYPEOF_SF_COUNT_T int64_t
| #define SIZEOF_SF_COUNT_T 8
| #define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL
| #define HAVE_SSIZE_T 1
| #define SIZEOF_SSIZE_T 8
| #define CPU_IS_BIG_ENDIAN 0
| #define CPU_IS_LITTLE_ENDIAN 1
| #define WORDS_BIGENDIAN 0
| #define HAVE_MALLOC 1
| #define HAVE_CALLOC 1
| #define HAVE_REALLOC 1
| #define HAVE_FREE 1
| #define HAVE_OPEN 1
| #define HAVE_READ 1
| #define HAVE_WRITE 1
| #define HAVE_LSEEK 1
| #define HAVE_PREAD 1
| #define HAVE_PWRITE 1
| #define HAVE_FSTAT 1
| #define HAVE_FTRUNCATE 1
| #define HAVE_FSYNC 1
| #define HAVE_SNPRINTF 1
| #define HAVE_VSNPRINTF 1
| #define HAVE_GMTIME 1
| #define HAVE_GMTIME_R 1
| #define HAVE_LOCALTIME 1
| #define HAVE_LOCALTIME_R 1
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_MMAP 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SETLOCALE 1
| #define HAVE_PIPE 1
| #define HAVE_WAITPID 1
| #define HAVE_LIBM 1
| #define HAVE_FLOOR 1
| #define HAVE_CEIL 1
| #define HAVE_FMOD 1
| #define HAVE_LRINT 1
| #define HAVE_LRINTF 1
| #define HAVE_EXTERNAL_LIBS 0
| #define HAVE_SQLITE3 1
| #define CPU_CLIPS_POSITIVE 0
| #define CPU_CLIPS_NEGATIVE 0
| #define OS_IS_WIN32 0
| #define OS_IS_MACOSX 0
| #define USE_WINDOWS_API 0
| #define HAVE_ALSA_ASOUNDLIB_H 1
| /* end confdefs.h.  */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <sndio.h>
configure:18838: result: no
configure:18838: checking sndio.h presence
configure:18838: gcc -E  conftest.c
conftest.c:91:19: fatal error: sndio.h: No such file or directory
compilation terminated.
configure:18838: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libsndfile"
| #define PACKAGE_TARNAME "libsndfile"
| #define PACKAGE_VERSION "1.0.25"
| #define PACKAGE_STRING "libsndfile 1.0.25"
| #define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
| #define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
| #define PACKAGE "libsndfile"
| #define VERSION "1.0.25"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define STDC_HEADERS 1
| #define HAVE_ENDIAN_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_DECL_S_IRGRP 1
| #define HAVE_FLEXIBLE_ARRAY 1
| #define ENABLE_EXPERIMENTAL_CODE 0
| #define SIZEOF_WCHAR_T 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 8
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_VOIDP 8
| #define SIZEOF_SIZE_T 8
| #define SIZEOF_INT64_T 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_OFF_T 8
| #define TYPEOF_SF_COUNT_T int64_t
| #define SIZEOF_SF_COUNT_T 8
| #define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL
| #define HAVE_SSIZE_T 1
| #define SIZEOF_SSIZE_T 8
| #define CPU_IS_BIG_ENDIAN 0
| #define CPU_IS_LITTLE_ENDIAN 1
| #define WORDS_BIGENDIAN 0
| #define HAVE_MALLOC 1
| #define HAVE_CALLOC 1
| #define HAVE_REALLOC 1
| #define HAVE_FREE 1
| #define HAVE_OPEN 1
| #define HAVE_READ 1
| #define HAVE_WRITE 1
| #define HAVE_LSEEK 1
| #define HAVE_PREAD 1
| #define HAVE_PWRITE 1
| #define HAVE_FSTAT 1
| #define HAVE_FTRUNCATE 1
| #define HAVE_FSYNC 1
| #define HAVE_SNPRINTF 1
| #define HAVE_VSNPRINTF 1
| #define HAVE_GMTIME 1
| #define HAVE_GMTIME_R 1
| #define HAVE_LOCALTIME 1
| #define HAVE_LOCALTIME_R 1
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_MMAP 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_SETLOCALE 1
| #define HAVE_PIPE 1
| #define HAVE_WAITPID 1
| #define HAVE_LIBM 1
| #define HAVE_FLOOR 1
| #define HAVE_CEIL 1
| #define HAVE_FMOD 1
| #define HAVE_LRINT 1
| #define HAVE_LRINTF 1
| #define HAVE_EXTERNAL_LIBS 0
| #define HAVE_SQLITE3 1
| #define CPU_CLIPS_POSITIVE 0
| #define CPU_CLIPS_NEGATIVE 0
| #define OS_IS_WIN32 0
| #define OS_IS_MACOSX 0
| #define USE_WINDOWS_API 0
| #define HAVE_ALSA_ASOUNDLIB_H 1
| /* end confdefs.h.  */
| #include <sndio.h>
configure:18838: result: no
configure:18838: checking for sndio.h
configure:18838: result: no
configure:18905: WARNING: Touching files in directory tests/.
configure:18936: checking if gcc accepts -std=gnu99
configure:18953: gcc -o conftest -std=gnu99   conftest.c -lm  >&5
configure:18953: $? = 0
configure:18954: result: yes
configure:18970: checking for version of gcc
configure:18973: result: 4.7.2
configure:19034: checking if gcc accepts -Wextra
configure:19051: gcc -o conftest -Wextra   conftest.c -lm  >&5
configure:19051: $? = 0
configure:19052: result: yes
configure:19071: checking if g++ accepts -Wextra
configure:19089: g++ -o conftest -Wextra   conftest.cpp -lm  >&5
configure:19089: $? = 0
configure:19090: result: yes
configure:19109: checking if gcc accepts -Wdeclaration-after-statement
configure:19126: gcc -o conftest -Wdeclaration-after-statement   conftest.c -lm  >&5
configure:19126: $? = 0
configure:19127: result: yes
configure:19139: checking if gcc accepts -Wpointer-arith
configure:19156: gcc -o conftest -Wpointer-arith   conftest.c -lm  >&5
configure:19156: $? = 0
configure:19157: result: yes
configure:19169: checking if gcc accepts -funsigned-char
configure:19186: gcc -o conftest -funsigned-char   conftest.c -lm  >&5
configure:19186: $? = 0
configure:19187: result: yes
configure:19493: creating ./config.status

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

This file was extended by libsndfile config.status 1.0.25, which was
generated by GNU Autoconf 2.68.  Invocation command line was

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

on pcal

config.status:1359: creating src/Makefile
config.status:1359: creating man/Makefile
config.status:1359: creating examples/Makefile
config.status:1359: creating tests/Makefile
config.status:1359: creating regtest/Makefile
config.status:1359: creating M4/Makefile
config.status:1359: creating doc/Makefile
config.status:1359: creating Win32/Makefile
config.status:1359: creating Octave/Makefile
config.status:1359: creating programs/Makefile
config.status:1359: creating Makefile
config.status:1359: creating src/version-metadata.rc
config.status:1359: creating tests/test_wrapper.sh
config.status:1359: creating tests/pedantic-header-test.sh
config.status:1359: creating doc/libsndfile.css
config.status:1359: creating build-test-tarball.mk
config.status:1359: creating libsndfile.spec
config.status:1359: creating sndfile.pc
config.status:1359: creating src/sndfile.h
config.status:1359: creating src/config.h
config.status:1588: executing depfiles commands
config.status:1588: executing libtool commands
configure:22287: result:
-=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=-

  Configuration summary :

    libsndfile version : .................. 1.0.25

    Host CPU : ............................ x86_64
    Host Vendor : ......................... unknown
    Host OS : ............................. linux-gnu

    Experimental code : ................... no
    Using ALSA in example programs : ...... yes
    External FLAC/Ogg/Vorbis : ............ no

configure:22341: result:
  Installation directories :

    Library directory : ................... /usr/local/lib
    Program directory : ................... /usr/local/bin
    Pkgconfig directory : ................. /usr/local/lib/pkgconfig
    HTML docs directory : ................. /usr/local/share/doc/libsndfile1-dev/html


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

ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_c99_flexible_array=yes
ac_cv_c99_lrint=yes
ac_cv_c99_lrintf=yes
ac_cv_c_big_endian=0
ac_cv_c_byte_order=little
ac_cv_c_clip_negative=0
ac_cv_c_clip_positive=0
ac_cv_c_clip_type=none
ac_cv_c_compiler_gnu=yes
ac_cv_c_little_endian=1
ac_cv_cxx_compiler_gnu=yes
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
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_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_FLAC_CFLAGS_set=
ac_cv_env_FLAC_CFLAGS_value=
ac_cv_env_FLAC_LIBS_set=
ac_cv_env_FLAC_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_OGG_CFLAGS_set=
ac_cv_env_OGG_CFLAGS_value=
ac_cv_env_OGG_LIBS_set=
ac_cv_env_OGG_LIBS_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_SPEEX_CFLAGS_set=
ac_cv_env_SPEEX_CFLAGS_value=
ac_cv_env_SPEEX_LIBS_set=
ac_cv_env_SPEEX_LIBS_value=
ac_cv_env_SQLITE3_CFLAGS_set=
ac_cv_env_SQLITE3_CFLAGS_value=
ac_cv_env_SQLITE3_LIBS_set=
ac_cv_env_SQLITE3_LIBS_value=
ac_cv_env_VORBISENC_CFLAGS_set=
ac_cv_env_VORBISENC_CFLAGS_value=
ac_cv_env_VORBISENC_LIBS_set=
ac_cv_env_VORBISENC_LIBS_value=
ac_cv_env_VORBIS_CFLAGS_set=
ac_cv_env_VORBIS_CFLAGS_value=
ac_cv_env_VORBIS_LIBS_set=
ac_cv_env_VORBIS_LIBS_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_func_calloc=yes
ac_cv_func_ceil=yes
ac_cv_func_floor=yes
ac_cv_func_fmod=yes
ac_cv_func_free=yes
ac_cv_func_fstat=yes
ac_cv_func_fsync=yes
ac_cv_func_ftruncate=yes
ac_cv_func_getpagesize=yes
ac_cv_func_gettimeofday=yes
ac_cv_func_gmtime=yes
ac_cv_func_gmtime_r=yes
ac_cv_func_localtime=yes
ac_cv_func_localtime_r=yes
ac_cv_func_lseek=yes
ac_cv_func_malloc=yes
ac_cv_func_mmap=yes
ac_cv_func_open=yes
ac_cv_func_pipe=yes
ac_cv_func_pread=yes
ac_cv_func_pwrite=yes
ac_cv_func_read=yes
ac_cv_func_realloc=yes
ac_cv_func_setlocale=yes
ac_cv_func_snprintf=yes
ac_cv_func_vsnprintf=yes
ac_cv_func_waitpid=yes
ac_cv_func_write=yes
ac_cv_have_decl_S_IRGRP=yes
ac_cv_header_alsa_asoundlib_h=yes
ac_cv_header_byteswap_h=yes
ac_cv_header_dlfcn_h=yes
ac_cv_header_endian_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_locale_h=yes
ac_cv_header_memory_h=yes
ac_cv_header_sndio_h=no
ac_cv_header_stdc=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_time_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_sys_wait_h=yes
ac_cv_header_unistd_h=yes
ac_cv_host=x86_64-unknown-linux-gnu
ac_cv_lib_m_floor=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_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_CXXCPP='g++ -E'
ac_cv_prog_HAVE_AUTOGEN=no
ac_cv_prog_HAVE_MKOCTFILE=no
ac_cv_prog_HAVE_OCTAVE=no
ac_cv_prog_HAVE_OCTAVE_CONFIG=no
ac_cv_prog_HAVE_WINE=no
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_CXX=g++
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_c89=
ac_cv_prog_cc_g=yes
ac_cv_prog_cc_gcc_c_o=yes
ac_cv_prog_cxx_g=yes
ac_cv_prog_make_make_set=yes
ac_cv_sizeof_double=8
ac_cv_sizeof_float=4
ac_cv_sizeof_int64_t=8
ac_cv_sizeof_int=4
ac_cv_sizeof_long=8
ac_cv_sizeof_long_long=8
ac_cv_sizeof_off_t=8
ac_cv_sizeof_short=2
ac_cv_sizeof_size_t=8
ac_cv_sizeof_ssize_t=8
ac_cv_sizeof_voidp=8
ac_cv_sizeof_wchar_t=4
ac_cv_sqlite3=yes
ac_cv_target=x86_64-unknown-linux-gnu
ac_cv_type_ssize_t=yes
am_cv_CC_dependencies_compiler_type=gcc3
am_cv_CXX_dependencies_compiler_type=gcc3
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_LDCXX='/usr/bin/ld -m elf_x86_64'
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_c_o_CXX=yes
lt_cv_prog_compiler_c_o_RC=yes
lt_cv_prog_compiler_pic='-fPIC -DPIC'
lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC'
lt_cv_prog_compiler_pic_works=yes
lt_cv_prog_compiler_pic_works_CXX=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_compiler_static_works=no
lt_cv_prog_compiler_static_works_CXX=no
lt_cv_prog_gnu_ld=yes
lt_cv_prog_gnu_ldcxx=yes
lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
lt_cv_shlibpath_overrides_runpath=no
lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[	 ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[	 ][	 ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\'''
lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"\2", (void *) \&\2},/p'\'''
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/  {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"lib\2", (void *) \&\2},/p'\'''
lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
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
pkg_cv_SQLITE3_CFLAGS=' '
pkg_cv_SQLITE3_LIBS='-lsqlite3  '

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

ACLOCAL='${SHELL} /home/lisional/git/sflphone-android/jni/libsndfile-1.0.25/Cfg/missing --run aclocal-1.11'
ACLOCAL_AMFLAGS='-I M4'
ALSA_LIBS='-lasound'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='${SHELL} /home/lisional/git/sflphone-android/jni/libsndfile-1.0.25/Cfg/missing --run tar'
AM_BACKSLASH='\'
AM_DEFAULT_VERBOSITY='0'
AR='ar'
AUTOCONF='${SHELL} /home/lisional/git/sflphone-android/jni/libsndfile-1.0.25/Cfg/missing --run autoconf'
AUTOHEADER='${SHELL} /home/lisional/git/sflphone-android/jni/libsndfile-1.0.25/Cfg/missing --run autoheader'
AUTOMAKE='${SHELL} /home/lisional/git/sflphone-android/jni/libsndfile-1.0.25/Cfg/missing --run automake-1.11'
AWK='gawk'
BUILD_OCTAVE_MOD_FALSE=''
BUILD_OCTAVE_MOD_TRUE='#'
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2 -std=gnu99 -Wall -Wextra -Wdeclaration-after-statement -Wpointer-arith -funsigned-char -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wcast-qual -Wnested-externs -Wshadow -Wbad-function-cast -Wwrite-strings -Wundef  -pipe '
CLEAN_VERSION='1.0.25'
CPP='gcc -E'
CPPFLAGS=''
CXX='g++'
CXXCPP='g++ -E'
CXXDEPMODE='depmode=gcc3'
CXXFLAGS='-g -O2 -Wall -Wextra -Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wreorder -Wsign-promo -Wundef '
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
DLLTOOL='false'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/usr/bin/grep -E'
ENABLE_TEST_COVERAGE_FALSE=''
ENABLE_TEST_COVERAGE_TRUE='#'
EXEEXT=''
EXTERNAL_CFLAGS=''
EXTERNAL_LIBS=''
FGREP='/usr/bin/grep -F'
FLAC_CFLAGS=''
FLAC_LIBS=''
GCC_MAJOR_VERSION='4'
GCC_MINOR_VERSION='7'
GCC_VERSION='4.7.2'
GETCONF=''
GREP='/usr/bin/grep'
HAVE_AUTOGEN='no'
HAVE_MKOCTFILE='no'
HAVE_OCTAVE='no'
HAVE_OCTAVE_CONFIG='no'
HAVE_WINE='no'
HOST_TRIPLET='x86_64-unknown-linux-gnu'
HTML_BGCOLOUR='black'
HTML_FGCOLOUR='white'
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=''
LIBOBJS=''
LIBS='-lm '
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIBTOOL_DEPS='Cfg/ltmain.sh'
LINUX_MINGW_CROSS_TEST_FALSE=''
LINUX_MINGW_CROSS_TEST_TRUE='#'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
MAKEINFO='${SHELL} /home/lisional/git/sflphone-android/jni/libsndfile-1.0.25/Cfg/missing --run makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/usr/bin/mkdir -p'
MKOCTFILE=''
MKOCTFILE_VERSION=''
NM='/usr/bin/nm -B'
NMEDIT=''
OBJDUMP='objdump'
OBJEXT='o'
OCTAVE=''
OCTAVE_CONFIG=''
OCTAVE_CONFIG_VERSION=''
OCTAVE_DEST_MDIR=''
OCTAVE_DEST_ODIR=''
OCTAVE_VERSION=''
OGG_CFLAGS=''
OGG_LIBS=''
OS_SPECIFIC_CFLAGS=''
OS_SPECIFIC_LINKS=''
OTOOL64=''
OTOOL=''
PACKAGE='libsndfile'
PACKAGE_BUGREPORT='sndfile@mega-nerd.com'
PACKAGE_NAME='libsndfile'
PACKAGE_STRING='libsndfile 1.0.25'
PACKAGE_TARNAME='libsndfile'
PACKAGE_URL='http://www.mega-nerd.com/libsndfile/'
PACKAGE_VERSION='1.0.25'
PATH_SEPARATOR=':'
PKG_CONFIG='/usr/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH=''
RANLIB='ranlib'
RC=''
SED='/usr/bin/sed'
SET_MAKE=''
SF_COUNT_MAX='0x7FFFFFFFFFFFFFFFLL'
SHARED_VERSION_INFO='1:25:0'
SHELL='/bin/sh'
SHLIB_VERSION_ARG='-Wl,--version-script=$(srcdir)/Symbols.gnu-binutils'
SIZEOF_SF_COUNT_T='8'
SNDIO_LIBS=''
SPEEX_CFLAGS=''
SPEEX_LIBS=''
SQLITE3_CFLAGS=' '
SQLITE3_LIBS='-lsqlite3  '
STRIP='strip'
TYPEOF_SF_COUNT_T='int64_t'
USE_WIN_VERSION_FILE_FALSE=''
USE_WIN_VERSION_FILE_TRUE='#'
VERSION='1.0.25'
VORBISENC_CFLAGS=''
VORBISENC_LIBS=''
VORBIS_CFLAGS=''
VORBIS_LIBS=''
WIN_RC_VERSION='1,0,25'
ac_ct_AR='ar'
ac_ct_CC='gcc'
ac_ct_CXX='g++'
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE='#'
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE='#'
am__fastdepCXX_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='/usr/local/bin'
build='x86_64-unknown-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
htmldocdir='/usr/local/share/doc/libsndfile1-dev/html'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /home/lisional/git/sflphone-android/jni/libsndfile-1.0.25/Cfg/install-sh'
libdir='/usr/local/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='/usr/bin/mkdir -p'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr/local'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target='x86_64-unknown-linux-gnu'
target_alias=''
target_cpu='x86_64'
target_os='linux-gnu'
target_vendor='unknown'

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

/* confdefs.h */
#define PACKAGE_NAME "libsndfile"
#define PACKAGE_TARNAME "libsndfile"
#define PACKAGE_VERSION "1.0.25"
#define PACKAGE_STRING "libsndfile 1.0.25"
#define PACKAGE_BUGREPORT "sndfile@mega-nerd.com"
#define PACKAGE_URL "http://www.mega-nerd.com/libsndfile/"
#define PACKAGE "libsndfile"
#define VERSION "1.0.25"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
#define STDC_HEADERS 1
#define HAVE_ENDIAN_H 1
#define HAVE_BYTESWAP_H 1
#define HAVE_LOCALE_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_WAIT_H 1
#define HAVE_DECL_S_IRGRP 1
#define HAVE_DECL_S_IRGRP 1
#define HAVE_FLEXIBLE_ARRAY 1
#define ENABLE_EXPERIMENTAL_CODE 0
#define SIZEOF_WCHAR_T 4
#define SIZEOF_SHORT 2
#define SIZEOF_INT 4
#define SIZEOF_LONG 8
#define SIZEOF_FLOAT 4
#define SIZEOF_DOUBLE 8
#define SIZEOF_VOIDP 8
#define SIZEOF_SIZE_T 8
#define SIZEOF_INT64_T 8
#define SIZEOF_LONG_LONG 8
#define SIZEOF_OFF_T 8
#define TYPEOF_SF_COUNT_T int64_t
#define SIZEOF_SF_COUNT_T 8
#define SF_COUNT_MAX 0x7FFFFFFFFFFFFFFFLL
#define HAVE_SSIZE_T 1
#define SIZEOF_SSIZE_T 8
#define CPU_IS_BIG_ENDIAN 0
#define CPU_IS_LITTLE_ENDIAN 1
#define WORDS_BIGENDIAN 0
#define HAVE_MALLOC 1
#define HAVE_CALLOC 1
#define HAVE_REALLOC 1
#define HAVE_FREE 1
#define HAVE_OPEN 1
#define HAVE_READ 1
#define HAVE_WRITE 1
#define HAVE_LSEEK 1
#define HAVE_PREAD 1
#define HAVE_PWRITE 1
#define HAVE_FSTAT 1
#define HAVE_FTRUNCATE 1
#define HAVE_FSYNC 1
#define HAVE_SNPRINTF 1
#define HAVE_VSNPRINTF 1
#define HAVE_GMTIME 1
#define HAVE_GMTIME_R 1
#define HAVE_LOCALTIME 1
#define HAVE_LOCALTIME_R 1
#define HAVE_GETTIMEOFDAY 1
#define HAVE_MMAP 1
#define HAVE_GETPAGESIZE 1
#define HAVE_SETLOCALE 1
#define HAVE_PIPE 1
#define HAVE_WAITPID 1
#define HAVE_LIBM 1
#define HAVE_FLOOR 1
#define HAVE_CEIL 1
#define HAVE_FMOD 1
#define HAVE_LRINT 1
#define HAVE_LRINTF 1
#define HAVE_EXTERNAL_LIBS 0
#define HAVE_SQLITE3 1
#define CPU_CLIPS_POSITIVE 0
#define CPU_CLIPS_NEGATIVE 0
#define OS_IS_WIN32 0
#define OS_IS_MACOSX 0
#define USE_WINDOWS_API 0
#define HAVE_ALSA_ASOUNDLIB_H 1
#define WIN32_TARGET_DLL 0
#define COMPILER_IS_GCC 1

configure: exit 0
