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.69.  Invocation command line was

  $ ./configure 

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

hostname = pcal
uname -m = x86_64
uname -r = 3.12.7-300.fc20.x86_64
uname -s = Linux
uname -v = #1 SMP Fri Jan 10 15:35:31 UTC 2014

/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/Dev/ant/bin/ant
PATH: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc20.x86_64
PATH: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc20.x86_64/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
PATH: /home/lisional/Dev/ant/bin/ant
PATH: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc20.x86_64
PATH: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.4.1.fc20.x86_64/bin


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

configure:2451: checking build system type
configure:2465: result: x86_64-unknown-linux-gnu
configure:2485: checking host system type
configure:2498: result: x86_64-unknown-linux-gnu
configure:2518: checking target system type
configure:2531: result: x86_64-unknown-linux-gnu
configure:2606: checking for gcc
configure:2622: found /usr/lib64/ccache/gcc
configure:2633: result: gcc
configure:2862: checking for C compiler version
configure:2871: gcc --version >&5
gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)
Copyright (C) 2013 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:2882: $? = 0
configure:2871: gcc -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.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 --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-isl=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/cloog-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC) 
configure:2882: $? = 0
configure:2871: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:2882: $? = 4
configure:2871: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:2882: $? = 4
configure:2902: checking whether the C compiler works
configure:2924: gcc    conftest.c  >&5
configure:2928: $? = 0
configure:2976: result: yes
configure:2979: checking for C compiler default output file name
configure:2981: result: a.out
configure:2987: checking for suffix of executables
configure:2994: gcc -o conftest    conftest.c  >&5
configure:2998: $? = 0
configure:3020: result: 
configure:3042: checking whether we are cross compiling
configure:3050: gcc -o conftest    conftest.c  >&5
configure:3054: $? = 0
configure:3061: ./conftest
configure:3065: $? = 0
configure:3080: result: no
configure:3085: checking for suffix of object files
configure:3107: gcc -c   conftest.c >&5
configure:3111: $? = 0
configure:3132: result: o
configure:3136: checking whether we are using the GNU C compiler
configure:3155: gcc -c   conftest.c >&5
configure:3155: $? = 0
configure:3164: result: yes
configure:3173: checking whether gcc accepts -g
configure:3193: gcc -c -g  conftest.c >&5
configure:3193: $? = 0
configure:3234: result: yes
configure:3251: checking for gcc option to accept ISO C89
configure:3314: gcc  -c -g -O2  conftest.c >&5
configure:3314: $? = 0
configure:3327: result: none needed
configure:3352: checking how to run the C preprocessor
configure:3383: gcc -E  conftest.c
configure:3383: $? = 0
configure:3397: gcc -E  conftest.c
conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:3397: $? = 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:3422: result: gcc -E
configure:3442: gcc -E  conftest.c
configure:3442: $? = 0
configure:3456: gcc -E  conftest.c
conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:3456: $? = 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:3542: checking for g++
configure:3558: found /usr/lib64/ccache/g++
configure:3569: result: g++
configure:3596: checking for C++ compiler version
configure:3605: g++ --version >&5
g++ (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)
Copyright (C) 2013 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:3616: $? = 0
configure:3605: g++ -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.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 --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-isl=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/cloog-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC) 
configure:3616: $? = 0
configure:3605: g++ -V >&5
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:3616: $? = 4
configure:3605: g++ -qversion >&5
g++: error: unrecognized command line option '-qversion'
g++: fatal error: no input files
compilation terminated.
configure:3616: $? = 4
configure:3620: checking whether we are using the GNU C++ compiler
configure:3639: g++ -c   conftest.cpp >&5
configure:3639: $? = 0
configure:3648: result: yes
configure:3657: checking whether g++ accepts -g
configure:3677: g++ -c -g  conftest.cpp >&5
configure:3677: $? = 0
configure:3718: result: yes
configure:3746: checking how to run the C++ preprocessor
configure:3773: g++ -E  conftest.cpp
configure:3773: $? = 0
configure:3787: g++ -E  conftest.cpp
conftest.cpp:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:3787: $? = 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:3812: result: g++ -E
configure:3832: g++ -E  conftest.cpp
configure:3832: $? = 0
configure:3846: g++ -E  conftest.cpp
conftest.cpp:9:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:3846: $? = 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:3986: checking for C++ compiler version
configure:3995: g++ --version >&5
g++ (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)
Copyright (C) 2013 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:4006: $? = 0
configure:3995: g++ -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.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 --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-isl=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.2-20131212/obj-x86_64-redhat-linux/cloog-install --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC) 
configure:4006: $? = 0
configure:3995: g++ -V >&5
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
compilation terminated.
configure:4006: $? = 4
configure:3995: g++ -qversion >&5
g++: error: unrecognized command line option '-qversion'
g++: fatal error: no input files
compilation terminated.
configure:4006: $? = 4
configure:4010: checking whether we are using the GNU C++ compiler
configure:4038: result: yes
configure:4047: checking whether g++ accepts -g
configure:4108: result: yes
configure:4178: checking how to print strings
configure:4205: result: printf
configure:4226: checking for a sed that does not truncate output
configure:4290: result: /usr/bin/sed
configure:4308: checking for grep that handles long lines and -e
configure:4366: result: /usr/bin/grep
configure:4371: checking for egrep
configure:4433: result: /usr/bin/grep -E
configure:4438: checking for fgrep
configure:4500: result: /usr/bin/grep -F
configure:4535: checking for ld used by gcc
configure:4602: result: /usr/bin/ld
configure:4609: checking if the linker (/usr/bin/ld) is GNU ld
configure:4624: result: yes
configure:4636: checking for BSD- or MS-compatible name lister (nm)
configure:4685: result: /usr/bin/nm -B
configure:4815: checking the name lister (/usr/bin/nm -B) interface
configure:4822: gcc -c -g -O2  conftest.c >&5
configure:4825: /usr/bin/nm -B "conftest.o"
configure:4828: output
0000000000000000 B some_variable
configure:4835: result: BSD nm
configure:4838: checking whether ln -s works
configure:4842: result: yes
configure:4850: checking the maximum length of command line arguments
configure:4980: result: 1572864
configure:4997: checking whether the shell understands some XSI constructs
configure:5007: result: yes
configure:5011: checking whether the shell understands "+="
configure:5017: result: yes
configure:5052: checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format
configure:5092: result: func_convert_file_noop
configure:5099: checking how to convert x86_64-unknown-linux-gnu file names to toolchain format
configure:5119: result: func_convert_file_noop
configure:5126: checking for /usr/bin/ld option to reload object files
configure:5133: result: -r
configure:5207: checking for objdump
configure:5223: found /usr/bin/objdump
configure:5234: result: objdump
configure:5266: checking how to recognize dependent libraries
configure:5468: result: pass_all
configure:5553: checking for dlltool
configure:5583: result: no
configure:5613: checking how to associate runtime and link libraries
configure:5640: result: printf %s\n
configure:5701: checking for ar
configure:5717: found /usr/bin/ar
configure:5728: result: ar
configure:5765: checking for archiver @FILE support
configure:5782: gcc -c -g -O2  conftest.c >&5
configure:5782: $? = 0
configure:5785: ar cru libconftest.a @conftest.lst >&5
configure:5788: $? = 0
configure:5793: ar cru libconftest.a @conftest.lst >&5
ar: conftest.o: No such file or directory
configure:5796: $? = 1
configure:5808: result: @
configure:5866: checking for strip
configure:5882: found /usr/bin/strip
configure:5893: result: strip
configure:5965: checking for ranlib
configure:5981: found /usr/bin/ranlib
configure:5992: result: ranlib
configure:6069: checking for gawk
configure:6085: found /usr/bin/gawk
configure:6096: result: gawk
configure:6136: checking command to parse /usr/bin/nm -B output from gcc object
configure:6256: gcc -c -g -O2  conftest.c >&5
configure:6259: $? = 0
configure:6263: /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:6266: $? = 0
configure:6332: gcc -o conftest -g -O2   conftest.c conftstm.o >&5
configure:6335: $? = 0
configure:6373: result: ok
configure:6410: checking for sysroot
configure:6440: result: no
configure:6517: gcc -c -g -O2  conftest.c >&5
configure:6520: $? = 0
configure:6702: checking for mt
configure:6732: result: no
configure:6752: checking if : is a manifest tool
configure:6758: : '-?'
configure:6766: result: no
configure:7404: checking for ANSI C header files
configure:7424: gcc -c -g -O2  conftest.c >&5
configure:7424: $? = 0
configure:7497: gcc -o conftest -g -O2   conftest.c  >&5
configure:7497: $? = 0
configure:7497: ./conftest
configure:7497: $? = 0
configure:7508: result: yes
configure:7521: checking for sys/types.h
configure:7521: gcc -c -g -O2  conftest.c >&5
configure:7521: $? = 0
configure:7521: result: yes
configure:7521: checking for sys/stat.h
configure:7521: gcc -c -g -O2  conftest.c >&5
configure:7521: $? = 0
configure:7521: result: yes
configure:7521: checking for stdlib.h
configure:7521: gcc -c -g -O2  conftest.c >&5
configure:7521: $? = 0
configure:7521: result: yes
configure:7521: checking for string.h
configure:7521: gcc -c -g -O2  conftest.c >&5
configure:7521: $? = 0
configure:7521: result: yes
configure:7521: checking for memory.h
configure:7521: gcc -c -g -O2  conftest.c >&5
configure:7521: $? = 0
configure:7521: result: yes
configure:7521: checking for strings.h
configure:7521: gcc -c -g -O2  conftest.c >&5
configure:7521: $? = 0
configure:7521: result: yes
configure:7521: checking for inttypes.h
configure:7521: gcc -c -g -O2  conftest.c >&5
configure:7521: $? = 0
configure:7521: result: yes
configure:7521: checking for stdint.h
configure:7521: gcc -c -g -O2  conftest.c >&5
configure:7521: $? = 0
configure:7521: result: yes
configure:7521: checking for unistd.h
configure:7521: gcc -c -g -O2  conftest.c >&5
configure:7521: $? = 0
configure:7521: result: yes
configure:7535: checking for dlfcn.h
configure:7535: gcc -c -g -O2  conftest.c >&5
configure:7535: $? = 0
configure:7535: result: yes
configure:7752: checking for objdir
configure:7767: result: .libs
configure:8038: checking if gcc supports -fno-rtti -fno-exceptions
configure:8056: 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:8060: $? = 0
configure:8073: result: no
configure:8400: checking for gcc option to produce PIC
configure:8407: result: -fPIC -DPIC
configure:8415: checking if gcc PIC flag -fPIC -DPIC works
configure:8433: gcc -c -g -O2  -fPIC -DPIC -DPIC conftest.c >&5
configure:8437: $? = 0
configure:8450: result: yes
configure:8479: checking if gcc static flag -static works
configure:8507: result: no
configure:8522: checking if gcc supports -c -o file.o
configure:8543: gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:8547: $? = 0
configure:8569: result: yes
configure:8577: checking if gcc supports -c -o file.o
configure:8624: result: yes
configure:8657: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:9810: result: yes
configure:9847: checking whether -lc should be explicitly linked in
configure:9855: gcc -c -g -O2  conftest.c >&5
configure:9858: $? = 0
configure:9873: gcc -shared  -fPIC -DPIC conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/bin/grep  -lc  \>/dev/null 2\>\&1
configure:9876: $? = 0
configure:9890: result: no
configure:10050: checking dynamic linker characteristics
configure:10561: gcc -o conftest -g -O2   -Wl,-rpath -Wl,/foo conftest.c  >&5
configure:10561: $? = 0
configure:10787: result: GNU/Linux ld.so
configure:10894: checking how to hardcode library paths into programs
configure:10919: result: immediate
configure:11459: checking whether stripping libraries is possible
configure:11464: result: yes
configure:11499: checking if libtool supports shared libraries
configure:11501: result: yes
configure:11504: checking whether to build shared libraries
configure:11525: result: yes
configure:11528: checking whether to build static libraries
configure:11532: result: yes
configure:11555: checking how to run the C++ preprocessor
configure:11621: result: g++ -E
configure:11641: g++ -E  conftest.cpp
configure:11641: $? = 0
configure:11655: g++ -E  conftest.cpp
conftest.cpp:21:28: fatal error: ac_nonexistent.h: No such file or directory
 #include <ac_nonexistent.h>
                            ^
compilation terminated.
configure:11655: $? = 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:11824: checking for ld used by g++
configure:11891: result: /usr/bin/ld -m elf_x86_64
configure:11898: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld
configure:11913: result: yes
configure:11968: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:12973: result: yes
configure:13009: g++ -c -g -O2  conftest.cpp >&5
configure:13012: $? = 0
configure:13532: checking for g++ option to produce PIC
configure:13539: result: -fPIC -DPIC
configure:13547: checking if g++ PIC flag -fPIC -DPIC works
configure:13565: g++ -c -g -O2  -fPIC -DPIC -DPIC conftest.cpp >&5
configure:13569: $? = 0
configure:13582: result: yes
configure:13605: checking if g++ static flag -static works
configure:13633: result: no
configure:13645: checking if g++ supports -c -o file.o
configure:13666: g++ -c -g -O2  -o out/conftest2.o conftest.cpp >&5
configure:13670: $? = 0
configure:13692: result: yes
configure:13697: checking if g++ supports -c -o file.o
configure:13744: result: yes
configure:13774: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:13810: result: yes
configure:13951: checking dynamic linker characteristics
configure:14622: result: GNU/Linux ld.so
configure:14675: checking how to hardcode library paths into programs
configure:14700: result: immediate
configure:14777: checking for a BSD-compatible install
configure:14845: result: /usr/bin/install -c
configure:14856: checking whether build environment is sane
configure:14911: result: yes
configure:15062: checking for a thread-safe mkdir -p
configure:15101: result: /usr/bin/mkdir -p
configure:15104: checking whether make sets $(MAKE)
configure:15126: result: yes
configure:15156: checking for style of include used by make
configure:15184: result: GNU
configure:15218: checking whether make supports nested variables
configure:15235: result: yes
configure:15321: checking dependency style of gcc
configure:15432: result: none
configure:15449: checking dependency style of g++
configure:15560: result: none
configure:15579: checking for C/C++ restrict keyword
configure:15604: gcc -c -g -O2  conftest.c >&5
configure:15604: $? = 0
configure:15612: result: __restrict
configure:15625: checking for working volatile
configure:15644: gcc -c -g -O2  conftest.c >&5
configure:15644: $? = 0
configure:15651: result: yes
configure:15659: checking for inline
configure:15675: gcc -c -g -O2  conftest.c >&5
configure:15675: $? = 0
configure:15683: result: inline
configure:15760: checking for libgcrypt-config
configure:15778: found /usr/bin/libgcrypt-config
configure:15791: result: /usr/bin/libgcrypt-config
configure:15808: checking for LIBGCRYPT - version >= 1.2.3
configure:15842: result: yes (1.5.3)
configure:15854: checking LIBGCRYPT API version
configure:15857: result: okay
configure:15872: checking gcrypt.h usability
configure:15872: gcc -c -g -O2  conftest.c >&5
configure:15872: $? = 0
configure:15872: result: yes
configure:15872: checking gcrypt.h presence
configure:15872: gcc -E  conftest.c
configure:15872: $? = 0
configure:15872: result: yes
configure:15872: checking for gcrypt.h
configure:15872: result: yes
configure:16031: checking for ranlib
configure:16058: result: ranlib
configure:16089: checking for genorated automake files
configure:16101: result: found
configure:16107: checking whether to enable maintainer-specific portions of Makefiles
configure:16116: result: no
configure:16197: checking for pkg-config
configure:16215: found /usr/bin/pkg-config
configure:16227: result: /usr/bin/pkg-config
configure:16252: checking pkg-config is at least version 0.9.0
configure:16255: result: yes
configure:16265: checking for COMMONCPP
configure:16272: $PKG_CONFIG --exists --print-errors "commoncpp >= $REQUIRES"
configure:16275: $? = 0
configure:16289: $PKG_CONFIG --exists --print-errors "commoncpp >= $REQUIRES"
configure:16292: $? = 0
configure:16350: result: yes
configure:16367: checking for debugging
configure:16380: result: no
configure:16382: checking for profiling
configure:16394: result: no
configure:16471: checking for doxygen
configure:16489: found /usr/bin/doxygen
configure:16502: result: /usr/bin/doxygen
configure:16630: checking that generated files are newer than configure
configure:16636: result: done
configure:16679: creating ./config.status

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

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

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

on pcal

config.status:1190: creating Makefile
config.status:1190: creating m4/Makefile
config.status:1190: creating src/Makefile
config.status:1190: creating src/ccrtp/Makefile
config.status:1190: creating doc/Makefile
config.status:1190: creating demo/Makefile
config.status:1190: creating phone/Makefile
config.status:1190: creating w32/Makefile
config.status:1190: creating ccrtp.spec
config.status:1190: creating libccrtp.spec
config.status:1190: creating ccrtp.list
config.status:1298: WARNING:  'ccrtp.list.in' seems to ignore the --datarootdir setting
config.status:1190: creating libccrtp.pc
config.status:1190: creating src/ccrtp/crypto/Makefile
config.status:1190: creating ccrtp-config.h
config.status:1419: executing libtool commands
config.status:1419: 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_COMMONCPP_CFLAGS_set=
ac_cv_env_COMMONCPP_CFLAGS_value=
ac_cv_env_COMMONCPP_LIBS_set=
ac_cv_env_COMMONCPP_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=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_header_dlfcn_h=yes
ac_cv_header_gcrypt_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=x86_64-unknown-linux-gnu
ac_cv_objext=o
ac_cv_path_DOXYGEN=/usr/bin/doxygen
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_LIBGCRYPT_CONFIG=/usr/bin/libgcrypt-config
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_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_cxx_g=yes
ac_cv_prog_make_make_set=yes
ac_cv_target=x86_64-unknown-linux-gnu
am_cv_CC_dependencies_compiler_type=none
am_cv_CXX_dependencies_compiler_type=none
am_cv_make_support_nested_variables=yes
lt_cv_ar_at_file=@
lt_cv_archive_cmds_need_lc=no
lt_cv_deplibs_check_method=pass_all
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_ld_reload_flag=-r
lt_cv_nm_interface='BSD nm'
lt_cv_objdir=.libs
lt_cv_path_LD=/usr/bin/ld
lt_cv_path_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_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_COMMONCPP_CFLAGS='-Wno-long-long -fexceptions -DNEW_STDCPP -pthread -fno-check-new -finline -fvisibility=hidden -DUCOMMON_VISIBILITY=1 '
pkg_cv_COMMONCPP_LIBS='-lcommoncpp -lucommon -lrt -ldl -lpthread '

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

ACLOCAL='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing aclocal-1.13'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH='\'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='1'
AM_V='$(V)'
AR='ar'
AUTOCONF='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing autoconf'
AUTOHEADER='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing autoheader'
AUTOMAKE='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing automake-1.13'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=none'
CFLAGS='-g -O2'
COMMONCPP_CFLAGS='-Wno-long-long -fexceptions -DNEW_STDCPP -pthread -fno-check-new -finline -fvisibility=hidden -DUCOMMON_VISIBILITY=1 '
COMMONCPP_LIBS='-lcommoncpp -lucommon -lrt -ldl -lpthread '
CPP='gcc -E'
CPPFLAGS=''
CXX='g++'
CXXCPP='g++ -E'
CXXDEPMODE='depmode=none'
CXXFLAGS='-g -O2 -Wno-long-long -fexceptions -DNEW_STDCPP -pthread -fno-check-new -finline -fvisibility=hidden -DUCOMMON_VISIBILITY=1 '
CYGPATH_W='echo'
DEFS='-DHAVE_CONFIG_H'
DEPDIR='.deps'
DLLTOOL='false'
DOXYGEN='/usr/bin/doxygen'
DOXY_FALSE='#'
DOXY_TRUE=''
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/usr/bin/grep -E'
EXEEXT=''
FGREP='/usr/bin/grep -F'
FTPDIR=''
GNULIBS='-lcommoncpp -lucommon -lrt -ldl -lpthread  -lgcrypt -ldl -lgpg-error '
GREP='/usr/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='/usr/bin/ld -m elf_x86_64'
LDFLAGS=''
LIBGCRYPT_CFLAGS=''
LIBGCRYPT_CONFIG='/usr/bin/libgcrypt-config'
LIBGCRYPT_LIBS='-lgcrypt -ldl -lgpg-error'
LIBOBJS=''
LIBS='-lgcrypt -ldl -lgpg-error '
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
LT_CCXX_VERSION='-version-info 2:2:0'
LT_MAJOR='2'
LT_MINOR='0'
LT_RELEASE=''
LT_SUBVER='2.0'
LT_VERSION='2:2:0'
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKEINFO='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/missing makeinfo'
MANIFEST_TOOL=':'
MKDIR_P='/usr/bin/mkdir -p'
NM='/usr/bin/nm -B'
NMEDIT=''
OBJDUMP='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='/usr/local/lib/pkgconfig'
RANLIB='ranlib'
SED='/usr/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
SRTP_GCRYPT_FALSE='#'
SRTP_GCRYPT_TRUE=''
SRTP_OPENSSL_FALSE=''
SRTP_OPENSSL_TRUE='#'
STRIP='strip'
VERSION='2.0.4'
WARN_FLAGS='-fno-strict-aliasing -Wall -ansi -pedantic'
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__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} 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='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /home/lisional/git/sflphone-android/jni/libccrtp/sources/autoconf/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/usr/local'
program_transform_name='s,x,x,'
psdir='${docdir}'
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 ""
#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 "2.0.4"
#define restrict __restrict
#define SRTP_SUPPORT /**/
#define HAVE_GCRYPT_H 1

configure: exit 0
