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

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

  $ ./configure --host=arm-linux-androideabi --with-sysroot=/home/evigier/android-14b-toolchain/sysroot --prefix=/home/evigier/android-ndk-r8b/platforms/android-14/arch-arm/usr --disable-srtp

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

hostname = evigier-ThinkPad-X220
uname -m = x86_64
uname -r = 3.0.0-17-generic
uname -s = Linux
uname -v = #30-Ubuntu SMP Thu Mar 8 20:45:39 UTC 2012

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

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

PATH: /home/evigier/android-14b-toolchain/bin
PATH: /home/evigier/tools/git-tools/bin
PATH: /usr/bin
PATH: /home/evigier/android-14b-toolchain/bin
PATH: /home/evigier/android-14b-toolchain/bin
PATH: /home/evigier/tools/git-tools/bin
PATH: /usr/bin
PATH: /home/evigier/android-14b-toolchain/bin
PATH: /home/evigier/tools/git-tools/bin
PATH: /usr/bin
PATH: /home/evigier/bin
PATH: /usr/lib/lightdm/lightdm
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/games
PATH: /home/evigier/.vim/custom
PATH: /home/evigier/bin
PATH: /home/evigier/eclipse
PATH: /home/evigier/android-sdk-linux/tools
PATH: /home/evigier/android-sdk-linux/platform-tools
PATH: /home/evigier/android-ndk-r8b
PATH: /home/evigier/.vim/custom
PATH: /home/evigier/bin
PATH: /home/evigier/eclipse
PATH: /home/evigier/android-sdk-linux/tools
PATH: /home/evigier/android-sdk-linux/platform-tools
PATH: /home/evigier/android-ndk-r8b
PATH: /home/evigier/.vim/custom
PATH: /home/evigier/bin
PATH: /home/evigier/eclipse
PATH: /home/evigier/android-sdk-linux/tools
PATH: /home/evigier/android-sdk-linux/platform-tools
PATH: /home/evigier/android-ndk-r8b


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

configure:2423: checking build system type
configure:2437: result: x86_64-unknown-linux-gnu
configure:2457: checking host system type
configure:2470: result: arm-unknown-linux-androideabi
configure:2490: checking target system type
configure:2503: result: arm-unknown-linux-androideabi
configure:2538: checking for arm-linux-androideabi-gcc
configure:2554: found /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-gcc
configure:2565: result: arm-linux-androideabi-gcc
configure:2834: checking for C compiler version
configure:2843: arm-linux-androideabi-gcc --version >&5
arm-linux-androideabi-gcc (GCC) 4.6.x-google 20120106 (prerelease)
Copyright (C) 2011 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:2854: $? = 0
configure:2843: arm-linux-androideabi-gcc -v >&5
Using built-in specs.
COLLECT_GCC=arm-linux-androideabi-gcc
COLLECT_LTO_WRAPPER=/home/evigier/android-14b-toolchain/bin/../libexec/gcc/arm-linux-androideabi/4.6.x-google/lto-wrapper
Target: arm-linux-androideabi
Configured with: /usr/local/google/home/andrewhsieh/ndk-andrewhsieh/src/build/../gcc/gcc-4.6/configure --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --target=arm-linux-androideabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpfr=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpc=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --without-ppl --without-cloog --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --with-sysroot=/tmp/ndk-andrewhsieh/build/toolchain/prefix/sysroot --with-binutils-version=2.21 --with-mpfr-version=2.4.1 --with-mpc-version=0.8.1 --with-gmp-version=5.0.5 --with-gcc-version=4.6 --with-gdb-version=7.3.x --disable-bootstrap --disable-libquadmath --disable-plugin --enable-gold --enable-ld=default --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold
Thread model: posix
gcc version 4.6.x-google 20120106 (prerelease) (GCC) 
configure:2854: $? = 0
configure:2843: arm-linux-androideabi-gcc -V >&5
arm-linux-androideabi-gcc: error: unrecognized option '-V'
arm-linux-androideabi-gcc: fatal error: no input files
compilation terminated.
configure:2854: $? = 1
configure:2843: arm-linux-androideabi-gcc -qversion >&5
arm-linux-androideabi-gcc: error: unrecognized option '-qversion'
arm-linux-androideabi-gcc: fatal error: no input files
compilation terminated.
configure:2854: $? = 1
configure:2874: checking whether the C compiler works
configure:2896: arm-linux-androideabi-gcc    conftest.c  >&5
configure:2900: $? = 0
configure:2948: result: yes
configure:2951: checking for C compiler default output file name
configure:2953: result: a.out
configure:2959: checking for suffix of executables
configure:2966: arm-linux-androideabi-gcc -o conftest    conftest.c  >&5
configure:2970: $? = 0
configure:2992: result: 
configure:3014: checking whether we are cross compiling
configure:3022: arm-linux-androideabi-gcc -o conftest    conftest.c  >&5
configure:3026: $? = 0
configure:3033: ./conftest
/system/bin/linker: No such file or directory
configure:3037: $? = 255
configure:3052: result: yes
configure:3057: checking for suffix of object files
configure:3079: arm-linux-androideabi-gcc -c   conftest.c >&5
configure:3083: $? = 0
configure:3104: result: o
configure:3108: checking whether we are using the GNU C compiler
configure:3127: arm-linux-androideabi-gcc -c   conftest.c >&5
configure:3127: $? = 0
configure:3136: result: yes
configure:3145: checking whether arm-linux-androideabi-gcc accepts -g
configure:3165: arm-linux-androideabi-gcc -c -g  conftest.c >&5
configure:3165: $? = 0
configure:3206: result: yes
configure:3223: checking for arm-linux-androideabi-gcc option to accept ISO C89
configure:3287: arm-linux-androideabi-gcc  -c -g -O2  conftest.c >&5
configure:3287: $? = 0
configure:3300: result: none needed
configure:3325: checking how to run the C preprocessor
configure:3356: arm-linux-androideabi-gcc -E  conftest.c
configure:3356: $? = 0
configure:3370: arm-linux-androideabi-gcc -E  conftest.c
conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:3370: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3395: result: arm-linux-androideabi-gcc -E
configure:3415: arm-linux-androideabi-gcc -E  conftest.c
configure:3415: $? = 0
configure:3429: arm-linux-androideabi-gcc -E  conftest.c
conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:3429: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3471: checking for arm-linux-androideabi-g++
configure:3487: found /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-g++
configure:3498: result: arm-linux-androideabi-g++
configure:3569: checking for C++ compiler version
configure:3578: arm-linux-androideabi-g++ --version >&5
arm-linux-androideabi-g++ (GCC) 4.6.x-google 20120106 (prerelease)
Copyright (C) 2011 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:3589: $? = 0
configure:3578: arm-linux-androideabi-g++ -v >&5
Using built-in specs.
COLLECT_GCC=arm-linux-androideabi-g++
COLLECT_LTO_WRAPPER=/home/evigier/android-14b-toolchain/bin/../libexec/gcc/arm-linux-androideabi/4.6.x-google/lto-wrapper
Target: arm-linux-androideabi
Configured with: /usr/local/google/home/andrewhsieh/ndk-andrewhsieh/src/build/../gcc/gcc-4.6/configure --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --target=arm-linux-androideabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpfr=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpc=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --without-ppl --without-cloog --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --with-sysroot=/tmp/ndk-andrewhsieh/build/toolchain/prefix/sysroot --with-binutils-version=2.21 --with-mpfr-version=2.4.1 --with-mpc-version=0.8.1 --with-gmp-version=5.0.5 --with-gcc-version=4.6 --with-gdb-version=7.3.x --disable-bootstrap --disable-libquadmath --disable-plugin --enable-gold --enable-ld=default --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold
Thread model: posix
gcc version 4.6.x-google 20120106 (prerelease) (GCC) 
configure:3589: $? = 0
configure:3578: arm-linux-androideabi-g++ -V >&5
arm-linux-androideabi-g++: error: unrecognized option '-V'
arm-linux-androideabi-g++: fatal error: no input files
compilation terminated.
configure:3589: $? = 1
configure:3578: arm-linux-androideabi-g++ -qversion >&5
arm-linux-androideabi-g++: error: unrecognized option '-qversion'
arm-linux-androideabi-g++: fatal error: no input files
compilation terminated.
configure:3589: $? = 1
configure:3593: checking whether we are using the GNU C++ compiler
configure:3612: arm-linux-androideabi-g++ -c   conftest.cpp >&5
configure:3612: $? = 0
configure:3621: result: yes
configure:3630: checking whether arm-linux-androideabi-g++ accepts -g
configure:3650: arm-linux-androideabi-g++ -c -g  conftest.cpp >&5
configure:3650: $? = 0
configure:3691: result: yes
configure:3719: checking how to run the C++ preprocessor
configure:3746: arm-linux-androideabi-g++ -E  conftest.cpp
configure:3746: $? = 0
configure:3760: arm-linux-androideabi-g++ -E  conftest.cpp
conftest.cpp:9:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:3760: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3785: result: arm-linux-androideabi-g++ -E
configure:3805: arm-linux-androideabi-g++ -E  conftest.cpp
configure:3805: $? = 0
configure:3819: arm-linux-androideabi-g++ -E  conftest.cpp
conftest.cpp:9:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:3819: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3959: checking for C++ compiler version
configure:3968: arm-linux-androideabi-g++ --version >&5
arm-linux-androideabi-g++ (GCC) 4.6.x-google 20120106 (prerelease)
Copyright (C) 2011 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:3979: $? = 0
configure:3968: arm-linux-androideabi-g++ -v >&5
Using built-in specs.
COLLECT_GCC=arm-linux-androideabi-g++
COLLECT_LTO_WRAPPER=/home/evigier/android-14b-toolchain/bin/../libexec/gcc/arm-linux-androideabi/4.6.x-google/lto-wrapper
Target: arm-linux-androideabi
Configured with: /usr/local/google/home/andrewhsieh/ndk-andrewhsieh/src/build/../gcc/gcc-4.6/configure --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --target=arm-linux-androideabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpfr=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpc=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --without-ppl --without-cloog --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --with-sysroot=/tmp/ndk-andrewhsieh/build/toolchain/prefix/sysroot --with-binutils-version=2.21 --with-mpfr-version=2.4.1 --with-mpc-version=0.8.1 --with-gmp-version=5.0.5 --with-gcc-version=4.6 --with-gdb-version=7.3.x --disable-bootstrap --disable-libquadmath --disable-plugin --enable-gold --enable-ld=default --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold
Thread model: posix
gcc version 4.6.x-google 20120106 (prerelease) (GCC) 
configure:3979: $? = 0
configure:3968: arm-linux-androideabi-g++ -V >&5
arm-linux-androideabi-g++: error: unrecognized option '-V'
arm-linux-androideabi-g++: fatal error: no input files
compilation terminated.
configure:3979: $? = 1
configure:3968: arm-linux-androideabi-g++ -qversion >&5
arm-linux-androideabi-g++: error: unrecognized option '-qversion'
arm-linux-androideabi-g++: fatal error: no input files
compilation terminated.
configure:3979: $? = 1
configure:3983: checking whether we are using the GNU C++ compiler
configure:4011: result: yes
configure:4020: checking whether arm-linux-androideabi-g++ accepts -g
configure:4081: result: yes
configure:4151: checking how to print strings
configure:4178: result: printf
configure:4199: checking for a sed that does not truncate output
configure:4263: result: /bin/sed
configure:4281: checking for grep that handles long lines and -e
configure:4339: result: /bin/grep
configure:4344: checking for egrep
configure:4406: result: /bin/grep -E
configure:4411: checking for fgrep
configure:4473: result: /bin/grep -F
configure:4508: checking for ld used by arm-linux-androideabi-gcc
configure:4575: result: /home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld
configure:4582: checking if the linker (/home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld) is GNU ld
configure:4597: result: yes
configure:4609: checking for BSD- or MS-compatible name lister (nm)
configure:4658: result: /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-nm -B
configure:4788: checking the name lister (/home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-nm -B) interface
configure:4795: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:4798: /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-nm -B "conftest.o"
configure:4801: output
00000000 B some_variable
configure:4808: result: BSD nm
configure:4811: checking whether ln -s works
configure:4815: result: yes
configure:4823: checking the maximum length of command line arguments
configure:4948: result: 1572864
configure:4965: checking whether the shell understands some XSI constructs
configure:4975: result: yes
configure:4979: checking whether the shell understands "+="
configure:4985: result: yes
configure:5020: checking how to convert x86_64-unknown-linux-gnu file names to arm-unknown-linux-androideabi format
configure:5060: result: func_convert_file_noop
configure:5067: checking how to convert x86_64-unknown-linux-gnu file names to toolchain format
configure:5087: result: func_convert_file_noop
configure:5094: checking for /home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld option to reload object files
configure:5101: result: -r
configure:5135: checking for arm-linux-androideabi-objdump
configure:5151: found /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-objdump
configure:5162: result: arm-linux-androideabi-objdump
configure:5234: checking how to recognize dependent libraries
configure:5436: result: pass_all
configure:5481: checking for arm-linux-androideabi-dlltool
configure:5511: result: no
configure:5521: checking for dlltool
configure:5551: result: no
configure:5581: checking how to associate runtime and link libraries
configure:5608: result: printf %s\n
configure:5625: checking for arm-linux-androideabi-ar
configure:5641: found /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-ar
configure:5652: result: arm-linux-androideabi-ar
configure:5733: checking for archiver @FILE support
configure:5750: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:5750: $? = 0
configure:5753: arm-linux-androideabi-ar cru libconftest.a @conftest.lst >&5
configure:5756: $? = 0
configure:5761: arm-linux-androideabi-ar cru libconftest.a @conftest.lst >&5
arm-linux-androideabi-ar: conftest.o: No such file or directory
configure:5764: $? = 1
configure:5776: result: @
configure:5794: checking for arm-linux-androideabi-strip
configure:5810: found /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-strip
configure:5821: result: arm-linux-androideabi-strip
configure:5893: checking for arm-linux-androideabi-ranlib
configure:5909: found /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-ranlib
configure:5920: result: arm-linux-androideabi-ranlib
configure:6037: checking for gawk
configure:6053: found /usr/bin/gawk
configure:6064: result: gawk
configure:6104: checking command to parse /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-nm -B output from arm-linux-androideabi-gcc object
configure:6223: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:6226: $? = 0
configure:6230: /home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-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:6233: $? = 0
configure:6299: arm-linux-androideabi-gcc -o conftest -g -O2   conftest.c conftstm.o >&5
configure:6302: $? = 0
configure:6340: result: ok
configure:6377: checking for sysroot
configure:6407: result: /home/evigier/android-14b-toolchain/sysroot
configure:6610: checking for arm-linux-androideabi-mt
configure:6640: result: no
configure:6650: checking for mt
configure:6666: found /bin/mt
configure:6677: result: mt
configure:6689: WARNING: using cross tools not prefixed with host triplet
configure:6700: checking if mt is a manifest tool
configure:6706: mt '-?'
configure:6714: result: no
configure:7342: checking for ANSI C header files
configure:7362: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7362: $? = 0
configure:7446: result: yes
configure:7459: checking for sys/types.h
configure:7459: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7459: $? = 0
configure:7459: result: yes
configure:7459: checking for sys/stat.h
configure:7459: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7459: $? = 0
configure:7459: result: yes
configure:7459: checking for stdlib.h
configure:7459: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7459: $? = 0
configure:7459: result: yes
configure:7459: checking for string.h
configure:7459: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7459: $? = 0
configure:7459: result: yes
configure:7459: checking for memory.h
configure:7459: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7459: $? = 0
configure:7459: result: yes
configure:7459: checking for strings.h
configure:7459: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7459: $? = 0
configure:7459: result: yes
configure:7459: checking for inttypes.h
configure:7459: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7459: $? = 0
configure:7459: result: yes
configure:7459: checking for stdint.h
configure:7459: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7459: $? = 0
configure:7459: result: yes
configure:7459: checking for unistd.h
configure:7459: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7459: $? = 0
configure:7459: result: yes
configure:7473: checking for dlfcn.h
configure:7473: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:7473: $? = 0
configure:7473: result: yes
configure:7671: checking for objdir
configure:7686: result: .libs
configure:7957: checking if arm-linux-androideabi-gcc supports -fno-rtti -fno-exceptions
configure:7975: arm-linux-androideabi-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]
configure:7979: $? = 0
configure:7992: result: no
configure:8302: checking for arm-linux-androideabi-gcc option to produce PIC
configure:8309: result: -fPIC -DPIC
configure:8317: checking if arm-linux-androideabi-gcc PIC flag -fPIC -DPIC works
configure:8335: arm-linux-androideabi-gcc -c -g -O2  -fPIC -DPIC -DPIC conftest.c >&5
configure:8339: $? = 0
configure:8352: result: yes
configure:8381: checking if arm-linux-androideabi-gcc static flag -static works
configure:8409: result: yes
configure:8424: checking if arm-linux-androideabi-gcc supports -c -o file.o
configure:8445: arm-linux-androideabi-gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:8449: $? = 0
configure:8471: result: yes
configure:8479: checking if arm-linux-androideabi-gcc supports -c -o file.o
configure:8526: result: yes
configure:8559: checking whether the arm-linux-androideabi-gcc linker (/home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld) supports shared libraries
configure:9721: result: yes
configure:9758: checking whether -lc should be explicitly linked in
configure:9766: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:9769: $? = 0
configure:9784: arm-linux-androideabi-gcc -shared  -fPIC -DPIC conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep  -lc  \>/dev/null 2\>\&1
configure:9787: $? = 0
configure:9801: result: no
configure:9966: checking dynamic linker characteristics
configure:10481: arm-linux-androideabi-gcc -o conftest -g -O2   -Wl,-rpath -Wl,/foo conftest.c  >&5
configure:10481: $? = 0
configure:10715: result: GNU/Linux ld.so
configure:10822: checking how to hardcode library paths into programs
configure:10847: result: immediate
configure:11387: checking whether stripping libraries is possible
configure:11392: result: yes
configure:11427: checking if libtool supports shared libraries
configure:11429: result: yes
configure:11432: checking whether to build shared libraries
configure:11453: result: yes
configure:11456: checking whether to build static libraries
configure:11460: result: yes
configure:11483: checking how to run the C++ preprocessor
configure:11549: result: arm-linux-androideabi-g++ -E
configure:11569: arm-linux-androideabi-g++ -E  conftest.cpp
configure:11569: $? = 0
configure:11583: arm-linux-androideabi-g++ -E  conftest.cpp
conftest.cpp:21:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.
configure:11583: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #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:11753: checking for ld used by arm-linux-androideabi-g++
configure:11820: result: /home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld
configure:11827: checking if the linker (/home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld) is GNU ld
configure:11842: result: yes
configure:11897: checking whether the arm-linux-androideabi-g++ linker (/home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld) supports shared libraries
configure:12901: result: yes
configure:12936: arm-linux-androideabi-g++ -c -g -O2  conftest.cpp >&5
configure:12939: $? = 0
configure:13459: checking for arm-linux-androideabi-g++ option to produce PIC
configure:13466: result: -fPIC -DPIC
configure:13474: checking if arm-linux-androideabi-g++ PIC flag -fPIC -DPIC works
configure:13492: arm-linux-androideabi-g++ -c -g -O2  -fPIC -DPIC -DPIC conftest.cpp >&5
configure:13496: $? = 0
configure:13509: result: yes
configure:13532: checking if arm-linux-androideabi-g++ static flag -static works
configure:13560: result: yes
configure:13572: checking if arm-linux-androideabi-g++ supports -c -o file.o
configure:13593: arm-linux-androideabi-g++ -c -g -O2  -o out/conftest2.o conftest.cpp >&5
configure:13597: $? = 0
configure:13619: result: yes
configure:13624: checking if arm-linux-androideabi-g++ supports -c -o file.o
configure:13671: result: yes
configure:13701: checking whether the arm-linux-androideabi-g++ linker (/home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld) supports shared libraries
configure:13738: result: yes
configure:13881: checking dynamic linker characteristics
configure:14564: result: GNU/Linux ld.so
configure:14617: checking how to hardcode library paths into programs
configure:14642: result: immediate
configure:14717: checking for a BSD-compatible install
configure:14785: result: /usr/bin/install -c
configure:14796: checking whether build environment is sane
configure:14846: result: yes
configure:14895: checking for arm-linux-androideabi-strip
configure:14922: result: arm-linux-androideabi-strip
configure:14987: checking for a thread-safe mkdir -p
configure:15026: result: /bin/mkdir -p
configure:15035: checking whether make sets $(MAKE)
configure:15057: result: yes
configure:15087: checking for style of include used by make
configure:15115: result: GNU
configure:15200: checking dependency style of arm-linux-androideabi-gcc
configure:15310: result: none
configure:15327: checking dependency style of arm-linux-androideabi-g++
configure:15437: result: none
configure:15456: checking for C/C++ restrict keyword
configure:15481: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:15481: $? = 0
configure:15489: result: __restrict
configure:15502: checking for working volatile
configure:15521: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:15521: $? = 0
configure:15528: result: yes
configure:15536: checking for inline
configure:15552: arm-linux-androideabi-gcc -c -g -O2  conftest.c >&5
configure:15552: $? = 0
configure:15560: result: inline
configure:15884: checking for arm-linux-androideabi-ranlib
configure:15911: result: arm-linux-androideabi-ranlib
configure:15982: checking for genorated automake files
configure:15994: result: found
configure:16000: checking whether to enable maintainer-specific portions of Makefiles
configure:16009: result: no
configure:16047: checking for arm-linux-androideabi-pkg-config
configure:16080: result: no
configure:16090: checking for pkg-config
configure:16108: found /usr/bin/pkg-config
configure:16120: result: /usr/bin/pkg-config
configure:16145: checking pkg-config is at least version 0.9.0
configure:16148: result: yes
configure:16158: checking for COMMON
configure:16165: $PKG_CONFIG --exists --print-errors "libccgnu2 >= $REQUIRES"
configure:16168: $? = 0
configure:16182: $PKG_CONFIG --exists --print-errors "libccgnu2 >= $REQUIRES"
configure:16185: $? = 0
configure:16243: result: yes
configure:16261: checking for debugging
configure:16274: result: no
configure:16276: checking for profiling
configure:16288: result: no
configure:16365: checking for doxygen
configure:16396: result: no
configure:16580: creating ./config.status

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

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

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

on evigier-ThinkPad-X220

config.status:1197: creating Makefile
config.status:1197: creating m4/Makefile
config.status:1197: creating src/Makefile
config.status:1197: creating src/ccrtp/Makefile
config.status:1197: creating doc/Makefile
config.status:1197: creating demo/Makefile
config.status:1197: creating phone/Makefile
config.status:1197: creating w32/Makefile
config.status:1197: creating ccrtp.spec
config.status:1197: creating libccrtp.spec
config.status:1197: creating ccrtp.list
config.status:1305: WARNING:  'ccrtp.list.in' seems to ignore the --datarootdir setting
config.status:1197: creating libccrtp1.pc
config.status:1197: creating src/ccrtp/crypto/Makefile
config.status:1197: creating src/config.h
config.status:1426: executing libtool commands
config.status:1426: executing depfiles commands

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

ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_c_compiler_gnu=yes
ac_cv_c_inline=inline
ac_cv_c_restrict=__restrict
ac_cv_c_volatile=yes
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_COMMON_CFLAGS_set=
ac_cv_env_COMMON_CFLAGS_value=
ac_cv_env_COMMON_LIBS_set=
ac_cv_env_COMMON_LIBS_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_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_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_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=arm-linux-androideabi
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_header_dlfcn_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_memory_h=yes
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_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_host=arm-unknown-linux-androideabi
ac_cv_objext=o
ac_cv_path_DOXYGEN=no
ac_cv_path_EGREP='/bin/grep -E'
ac_cv_path_FGREP='/bin/grep -F'
ac_cv_path_GREP=/bin/grep
ac_cv_path_SED=/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=/bin/mkdir
ac_cv_prog_AR=arm-linux-androideabi-ar
ac_cv_prog_AWK=gawk
ac_cv_prog_CC=arm-linux-androideabi-gcc
ac_cv_prog_CPP='arm-linux-androideabi-gcc -E'
ac_cv_prog_CXX=arm-linux-androideabi-g++
ac_cv_prog_CXXCPP='arm-linux-androideabi-g++ -E'
ac_cv_prog_OBJDUMP=arm-linux-androideabi-objdump
ac_cv_prog_RANLIB=arm-linux-androideabi-ranlib
ac_cv_prog_STRIP=arm-linux-androideabi-strip
ac_cv_prog_ac_ct_MANIFEST_TOOL=mt
ac_cv_prog_cc_c89=
ac_cv_prog_cc_g=yes
ac_cv_prog_cxx_g=yes
ac_cv_prog_make_make_set=yes
ac_cv_target=arm-unknown-linux-androideabi
am_cv_CC_dependencies_compiler_type=none
am_cv_CXX_dependencies_compiler_type=none
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=/home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld
lt_cv_path_LDCXX=/home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld
lt_cv_path_NM='/home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-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_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=yes
lt_cv_prog_compiler_static_works_CXX=yes
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_COMMON_CFLAGS='-D_GNU_SOURCE  '
pkg_cv_COMMON_LIBS='-pthread -lccgnu2 -ldl -lrt  '

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

ACLOCAL='${SHELL} /home/evigier/git/ccrtp-1.8.0-android/autoconf/missing --run aclocal-1.11'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='${SHELL} /home/evigier/git/ccrtp-1.8.0-android/autoconf/missing --run tar'
AR='arm-linux-androideabi-ar'
AUTOCONF='${SHELL} /home/evigier/git/ccrtp-1.8.0-android/autoconf/missing --run autoconf'
AUTOHEADER='${SHELL} /home/evigier/git/ccrtp-1.8.0-android/autoconf/missing --run autoheader'
AUTOMAKE='${SHELL} /home/evigier/git/ccrtp-1.8.0-android/autoconf/missing --run automake-1.11'
AWK='gawk'
CC='arm-linux-androideabi-gcc'
CCDEPMODE='depmode=none'
CFLAGS='-g -O2'
COMMON_CFLAGS='-D_GNU_SOURCE  '
COMMON_LIBS='-pthread -lccgnu2 -ldl -lrt  '
CPP='arm-linux-androideabi-gcc -E'
CPPFLAGS=''
CXX='arm-linux-androideabi-g++'
CXXCPP='arm-linux-androideabi-g++ -E'
CXXDEPMODE='depmode=none'
CXXFLAGS='-g -O2 -D_GNU_SOURCE  '
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
DLLTOOL='false'
DOXYGEN='no'
DOXY_FALSE=''
DOXY_TRUE='#'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/bin/grep -E'
EXEEXT=''
FGREP='/bin/grep -F'
FTPDIR=''
GNULIBS='-L/usr/lib -pthread -lccgnu2 -ldl -lrt   '
GREP='/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
KDOC_DIR='$(top_srcdir)/doc'
LD='/home/evigier/android-14b-toolchain/arm-linux-androideabi/bin/ld'
LDFLAGS=''
LIBGCRYPT_CFLAGS=''
LIBGCRYPT_CONFIG=''
LIBGCRYPT_LIBS=''
LIBOBJS=''
LIBS=''
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIB_MAJOR='0'
LIB_VERSION='1_8'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
LT_CCXX_VERSION='-version-info 0:0'
LT_MAJOR='0'
LT_MINOR='0'
LT_RELEASE='1.8'
LT_SUBVER='0.0'
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKEINFO='${SHELL} /home/evigier/git/ccrtp-1.8.0-android/autoconf/missing --run makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/bin/mkdir -p'
NM='/home/evigier/android-14b-toolchain/bin/arm-linux-androideabi-nm -B'
NMEDIT=''
OBJDUMP='arm-linux-androideabi-objdump'
OBJEXT='o'
OTOOL64=''
OTOOL=''
PACKAGE='ccrtp'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_URL=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PKG_CONFIG='/usr/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH='/home/evigier/android-ndk-r8b/platforms/android-14/arch-arm/usr/lib/pkgconfig:/usr/local/lib/pkgconfig'
RANLIB='arm-linux-androideabi-ranlib'
SED='/bin/sed'
SET_MAKE=''
SHELL='/bin/bash'
SRTP_GCRYPT_FALSE=''
SRTP_GCRYPT_TRUE='#'
SRTP_OPENSSL_FALSE=''
SRTP_OPENSSL_TRUE='#'
STRIP='arm-linux-androideabi-strip'
VERSION='1.8.0'
WARN_FLAGS='-fno-strict-aliasing -Wall -ansi -pedantic'
ac_ct_AR=''
ac_ct_CC=''
ac_ct_CXX=''
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='${exec_prefix}/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}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='arm-unknown-linux-androideabi'
host_alias='arm-linux-androideabi'
host_cpu='arm'
host_os='linux-androideabi'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /home/evigier/git/ccrtp-1.8.0-android/autoconf/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='/bin/mkdir -p'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/home/evigier/android-ndk-r8b/platforms/android-14/arch-arm/usr'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target='arm-unknown-linux-androideabi'
target_alias=''
target_cpu='arm'
target_os='linux-androideabi'
target_vendor='unknown'

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

/* confdefs.h */
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#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 PACKAGE "ccrtp"
#define VERSION "1.8.0"
#define restrict __restrict

configure: exit 0
