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

  $ ./configure 

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

hostname = FabM-Linux
uname -m = i686
uname -r = 2.6.17-11-generic
uname -s = Linux
uname -v = #2 SMP Thu Feb 1 19:52:28 UTC 2007

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

/bin/arch              = i686
/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/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/bin/X11
PATH: /usr/games
PATH: /sbin
PATH: /usr/local/Adobe/Acrobat7.0/bin
PATH: /usr/local/firefox/
PATH: /home/fabien/dali/openwrt_mainline/staging_dir_arm_nofpu/bin/


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

configure:1945: checking for a BSD-compatible install
configure:2001: result: /usr/bin/install -c
configure:2012: checking whether build environment is sane
configure:2055: result: yes
configure:2120: checking for gawk
configure:2136: found /usr/bin/gawk
configure:2147: result: gawk
configure:2158: checking whether make sets $(MAKE)
configure:2179: result: yes
configure:2365: checking whether make sets $(MAKE)
configure:2386: result: yes
configure:2443: checking for gcc
configure:2459: found /usr/bin/gcc
configure:2470: result: gcc
configure:2708: checking for C compiler version
configure:2715: gcc --version >&5
gcc (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
Copyright (C) 2006 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:2718: $? = 0
configure:2725: gcc -v >&5
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
configure:2728: $? = 0
configure:2735: gcc -V >&5
gcc: '-V' option must have argument
configure:2738: $? = 1
configure:2761: checking for C compiler default output file name
configure:2788: gcc    conftest.c  >&5
configure:2791: $? = 0
configure:2837: result: a.out
configure:2842: checking whether the C compiler works
configure:2852: ./a.out
configure:2855: $? = 0
configure:2872: result: yes
configure:2879: checking whether we are cross compiling
configure:2881: result: no
configure:2884: checking for suffix of executables
configure:2891: gcc -o conftest    conftest.c  >&5
configure:2894: $? = 0
configure:2918: result: 
configure:2924: checking for suffix of object files
configure:2950: gcc -c   conftest.c >&5
configure:2953: $? = 0
configure:2976: result: o
configure:2980: checking whether we are using the GNU C compiler
configure:3009: gcc -c   conftest.c >&5
configure:3015: $? = 0
configure:3022: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:3025: $? = 0
configure:3032: test -s conftest.o
configure:3035: $? = 0
configure:3049: result: yes
configure:3054: checking whether gcc accepts -g
configure:3084: gcc -c -g  conftest.c >&5
configure:3090: $? = 0
configure:3097: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:3100: $? = 0
configure:3107: test -s conftest.o
configure:3110: $? = 0
configure:3240: result: yes
configure:3257: checking for gcc option to accept ISO C89
configure:3331: gcc  -c -g -O2  conftest.c >&5
configure:3337: $? = 0
configure:3344: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:3347: $? = 0
configure:3354: test -s conftest.o
configure:3357: $? = 0
configure:3377: result: none needed
configure:3406: checking for style of include used by make
configure:3434: result: GNU
configure:3462: checking dependency style of gcc
configure:3552: result: gcc3
configure:3647: checking build system type
configure:3665: result: i686-pc-linux-gnu
configure:3687: checking host system type
configure:3702: result: i686-pc-linux-gnu
configure:3724: checking for a sed that does not truncate output
configure:3778: result: /bin/sed
configure:3781: checking for grep that handles long lines and -e
configure:3855: result: /bin/grep
configure:3860: checking for egrep
configure:3938: result: /bin/grep -E
configure:3954: checking for ld used by gcc
configure:4021: result: /usr/bin/ld
configure:4030: checking if the linker (/usr/bin/ld) is GNU ld
configure:4045: result: yes
configure:4050: checking for /usr/bin/ld option to reload object files
configure:4057: result: -r
configure:4075: checking for BSD-compatible nm
configure:4124: result: /usr/bin/nm -B
configure:4128: checking whether ln -s works
configure:4132: result: yes
configure:4139: checking how to recognise dependent libraries
configure:4315: result: pass_all
configure:4565: checking how to run the C preprocessor
configure:4605: gcc -E  conftest.c
configure:4611: $? = 0
configure:4649: gcc -E  conftest.c
conftest.c:10:28: error: ac_nonexistent.h: No such file or directory
configure:4655: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libfci"
| #define VERSION "0.0.1"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:4695: result: gcc -E
configure:4724: gcc -E  conftest.c
configure:4730: $? = 0
configure:4768: gcc -E  conftest.c
conftest.c:10:28: error: ac_nonexistent.h: No such file or directory
configure:4774: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libfci"
| #define VERSION "0.0.1"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:4819: checking for ANSI C header files
configure:4849: gcc -c -g -O2  conftest.c >&5
configure:4855: $? = 0
configure:4862: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:4865: $? = 0
configure:4872: test -s conftest.o
configure:4875: $? = 0
configure:4971: gcc -o conftest -g -O2   conftest.c  >&5
configure:4974: $? = 0
configure:4980: ./conftest
configure:4983: $? = 0
configure:5000: result: yes
configure:5024: checking for sys/types.h
configure:5045: gcc -c -g -O2  conftest.c >&5
configure:5051: $? = 0
configure:5058: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5061: $? = 0
configure:5068: test -s conftest.o
configure:5071: $? = 0
configure:5084: result: yes
configure:5024: checking for sys/stat.h
configure:5045: gcc -c -g -O2  conftest.c >&5
configure:5051: $? = 0
configure:5058: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5061: $? = 0
configure:5068: test -s conftest.o
configure:5071: $? = 0
configure:5084: result: yes
configure:5024: checking for stdlib.h
configure:5045: gcc -c -g -O2  conftest.c >&5
configure:5051: $? = 0
configure:5058: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5061: $? = 0
configure:5068: test -s conftest.o
configure:5071: $? = 0
configure:5084: result: yes
configure:5024: checking for string.h
configure:5045: gcc -c -g -O2  conftest.c >&5
configure:5051: $? = 0
configure:5058: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5061: $? = 0
configure:5068: test -s conftest.o
configure:5071: $? = 0
configure:5084: result: yes
configure:5024: checking for memory.h
configure:5045: gcc -c -g -O2  conftest.c >&5
configure:5051: $? = 0
configure:5058: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5061: $? = 0
configure:5068: test -s conftest.o
configure:5071: $? = 0
configure:5084: result: yes
configure:5024: checking for strings.h
configure:5045: gcc -c -g -O2  conftest.c >&5
configure:5051: $? = 0
configure:5058: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5061: $? = 0
configure:5068: test -s conftest.o
configure:5071: $? = 0
configure:5084: result: yes
configure:5024: checking for inttypes.h
configure:5045: gcc -c -g -O2  conftest.c >&5
configure:5051: $? = 0
configure:5058: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5061: $? = 0
configure:5068: test -s conftest.o
configure:5071: $? = 0
configure:5084: result: yes
configure:5024: checking for stdint.h
configure:5045: gcc -c -g -O2  conftest.c >&5
configure:5051: $? = 0
configure:5058: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5061: $? = 0
configure:5068: test -s conftest.o
configure:5071: $? = 0
configure:5084: result: yes
configure:5024: checking for unistd.h
configure:5045: gcc -c -g -O2  conftest.c >&5
configure:5051: $? = 0
configure:5058: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5061: $? = 0
configure:5068: test -s conftest.o
configure:5071: $? = 0
configure:5084: result: yes
configure:5111: checking dlfcn.h usability
configure:5128: gcc -c -g -O2  conftest.c >&5
configure:5134: $? = 0
configure:5141: test -z "$ac_c_werror_flag" || test ! -s conftest.err
configure:5144: $? = 0
configure:5151: test -s conftest.o
configure:5154: $? = 0
configure:5165: result: yes
configure:5169: checking dlfcn.h presence
configure:5184: gcc -E  conftest.c
configure:5190: $? = 0
configure:5211: result: yes
configure:5239: checking for dlfcn.h
configure:5247: result: yes
configure:5318: checking for g++
configure:5334: found /usr/bin/g++
configure:5345: result: g++
configure:5376: checking for C++ compiler version
configure:5383: g++ --version >&5
g++ (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
Copyright (C) 2006 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:5386: $? = 0
configure:5393: g++ -v >&5
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
configure:5396: $? = 0
configure:5403: g++ -V >&5
g++: '-V' option must have argument
configure:5406: $? = 1
configure:5409: checking whether we are using the GNU C++ compiler
configure:5438: g++ -c   conftest.cpp >&5
configure:5444: $? = 0
configure:5451: test -z "$ac_cxx_werror_flag" || test ! -s conftest.err
configure:5454: $? = 0
configure:5461: test -s conftest.o
configure:5464: $? = 0
configure:5478: result: yes
configure:5483: checking whether g++ accepts -g
configure:5513: g++ -c -g  conftest.cpp >&5
configure:5519: $? = 0
configure:5526: test -z "$ac_cxx_werror_flag" || test ! -s conftest.err
configure:5529: $? = 0
configure:5536: test -s conftest.o
configure:5539: $? = 0
configure:5669: result: yes
configure:5694: checking dependency style of g++
configure:5784: result: gcc3
configure:5811: checking how to run the C++ preprocessor
configure:5847: g++ -E  conftest.cpp
configure:5853: $? = 0
configure:5891: g++ -E  conftest.cpp
conftest.cpp:21:28: error: ac_nonexistent.h: No such file or directory
configure:5897: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libfci"
| #define VERSION "0.0.1"
| #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
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:5937: result: g++ -E
configure:5966: g++ -E  conftest.cpp
configure:5972: $? = 0
configure:6010: g++ -E  conftest.cpp
conftest.cpp:21:28: error: ac_nonexistent.h: No such file or directory
configure:6016: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "libfci"
| #define VERSION "0.0.1"
| #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
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:6116: checking for g77
configure:6146: result: no
configure:6116: checking for f77
configure:6146: result: no
configure:6116: checking for xlf
configure:6146: result: no
configure:6116: checking for frt
configure:6146: result: no
configure:6116: checking for pgf77
configure:6146: result: no
configure:6116: checking for cf77
configure:6146: result: no
configure:6116: checking for fort77
configure:6146: result: no
configure:6116: checking for fl32
configure:6146: result: no
configure:6116: checking for af77
configure:6146: result: no
configure:6116: checking for f90
configure:6146: result: no
configure:6116: checking for xlf90
configure:6146: result: no
configure:6116: checking for pgf90
configure:6146: result: no
configure:6116: checking for pghpf
configure:6146: result: no
configure:6116: checking for epcf90
configure:6146: result: no
configure:6116: checking for gfortran
configure:6146: result: no
configure:6116: checking for g95
configure:6146: result: no
configure:6116: checking for f95
configure:6146: result: no
configure:6116: checking for fort
configure:6146: result: no
configure:6116: checking for xlf95
configure:6146: result: no
configure:6116: checking for ifort
configure:6146: result: no
configure:6116: checking for ifc
configure:6146: result: no
configure:6116: checking for efc
configure:6146: result: no
configure:6116: checking for pgf95
configure:6146: result: no
configure:6116: checking for lf95
configure:6146: result: no
configure:6116: checking for ftn
configure:6146: result: no
configure:6173: checking for Fortran 77 compiler version
configure:6180:  --version >&5
./configure: line 6181: --version: command not found
configure:6183: $? = 127
configure:6190:  -v >&5
./configure: line 6191: -v: command not found
configure:6193: $? = 127
configure:6200:  -V >&5
./configure: line 6201: -V: command not found
configure:6203: $? = 127
configure:6211: checking whether we are using the GNU Fortran 77 compiler
configure:6230:  -c  conftest.F >&5
./configure: line 6231: -c: command not found
configure:6236: $? = 127
configure: failed program was:
|       program main
| #ifndef __GNUC__
|        choke me
| #endif
| 
|       end
configure:6270: result: no
configure:6276: checking whether  accepts -g
configure:6293:  -c -g conftest.f >&5
./configure: line 6294: -c: command not found
configure:6299: $? = 127
configure: failed program was:
|       program main
| 
|       end
configure:6332: result: no
configure:6362: checking the maximum length of command line arguments
configure:6471: result: 32768
configure:6482: checking command to parse /usr/bin/nm -B output from gcc object
configure:6587: gcc -c -g -O2  conftest.c >&5
configure:6590: $? = 0
configure:6594: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm
configure:6597: $? = 0
configure:6649: gcc -o conftest -g -O2   conftest.c conftstm.o >&5
configure:6652: $? = 0
configure:6690: result: ok
configure:6694: checking for objdir
configure:6709: result: .libs
configure:6801: checking for ar
configure:6817: found /usr/bin/ar
configure:6828: result: ar
configure:6897: checking for ranlib
configure:6913: found /usr/bin/ranlib
configure:6924: result: ranlib
configure:6993: checking for strip
configure:7009: found /usr/bin/strip
configure:7020: result: strip
configure:7306: checking if gcc supports -fno-rtti -fno-exceptions
configure:7324: 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
configure:7328: $? = 0
configure:7341: result: no
configure:7356: checking for gcc option to produce PIC
configure:7566: result: -fPIC
configure:7574: checking if gcc PIC flag -fPIC works
configure:7592: gcc -c -g -O2  -fPIC -DPIC conftest.c >&5
configure:7596: $? = 0
configure:7609: result: yes
configure:7637: checking if gcc static flag -static works
configure:7665: result: yes
configure:7675: checking if gcc supports -c -o file.o
configure:7696: gcc -c -g -O2  -o out/conftest2.o conftest.c >&5
configure:7700: $? = 0
configure:7722: result: yes
configure:7748: checking whether the gcc linker (/usr/bin/ld) supports shared libraries
configure:8735: result: yes
configure:8756: checking whether -lc should be explicitly linked in
configure:8761: gcc -c -g -O2  conftest.c >&5
configure:8764: $? = 0
configure:8779: gcc -shared conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| grep  -lc  \>/dev/null 2\>\&1
configure:8782: $? = 0
configure:8794: result: no
configure:8802: checking dynamic linker characteristics
configure:9378: result: GNU/Linux ld.so
configure:9387: checking how to hardcode library paths into programs
configure:9412: result: immediate
configure:9426: checking whether stripping libraries is possible
configure:9431: result: yes
configure:10344: checking if libtool supports shared libraries
configure:10346: result: yes
configure:10349: checking whether to build shared libraries
configure:10370: result: yes
configure:10373: checking whether to build static libraries
configure:10377: result: yes
configure:10469: creating libtool
configure:11057: checking for ld used by g++
configure:11124: result: /usr/bin/ld
configure:11133: checking if the linker (/usr/bin/ld) is GNU ld
configure:11148: result: yes
configure:11199: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
configure:12165: result: yes
configure:12183: g++ -c -g -O2  conftest.cpp >&5
configure:12186: $? = 0
configure:12305: checking for g++ option to produce PIC
configure:12579: result: -fPIC
configure:12587: checking if g++ PIC flag -fPIC works
configure:12605: g++ -c -g -O2  -fPIC -DPIC conftest.cpp >&5
configure:12609: $? = 0
configure:12622: result: yes
configure:12650: checking if g++ static flag -static works
configure:12678: result: yes
configure:12688: checking if g++ supports -c -o file.o
configure:12709: g++ -c -g -O2  -o out/conftest2.o conftest.cpp >&5
configure:12713: $? = 0
configure:12735: result: yes
configure:12761: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
configure:12789: result: yes
configure:12856: checking dynamic linker characteristics
configure:13432: result: GNU/Linux ld.so
configure:13441: checking how to hardcode library paths into programs
configure:13466: result: immediate
configure:19661: checking for a BSD-compatible install
configure:19717: result: /usr/bin/install -c
configure:19882: creating ./config.status

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

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

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

on FabM-Linux

config.status:630: creating Makefile
config.status:630: creating src/Makefile
config.status:815: executing depfiles commands

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

ac_cv_build=i686-pc-linux-gnu
ac_cv_c_compiler_gnu=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_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_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_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_f77_compiler_gnu=no
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=i686-pc-linux-gnu
ac_cv_objext=o
ac_cv_path_EGREP='/bin/grep -E'
ac_cv_path_GREP=/bin/grep
ac_cv_path_install='/usr/bin/install -c'
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_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_f77_g=no
ac_cv_prog_make_make_set=yes
am_cv_CC_dependencies_compiler_type=gcc3
am_cv_CXX_dependencies_compiler_type=gcc3
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_objdir=.libs
lt_cv_path_LD=/usr/bin/ld
lt_cv_path_LDCXX=/usr/bin/ld
lt_cv_path_NM='/usr/bin/nm -B'
lt_cv_path_SED=/bin/sed
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_c_o_CXX=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_gnu_ld=yes
lt_cv_prog_gnu_ldcxx=yes
lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'''
lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr) \&\2},/p'\'''
lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\'''
lt_cv_sys_max_cmd_len=32768
lt_lt_cv_prog_compiler_c_o='"yes"'
lt_lt_cv_prog_compiler_c_o_CXX='"yes"'
lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ 	]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ 	][ 	]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"'
lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (lt_ptr) \\&\\2},/p'\''"'
lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"'

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

ACLOCAL='${SHELL} /home/fabien/dali/openwrt_mainline/build_arm_nofpu/linux-2.6-packet-iad/fci-1.00.1/lib/missing --run aclocal-1.9'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='${SHELL} /home/fabien/dali/openwrt_mainline/build_arm_nofpu/linux-2.6-packet-iad/fci-1.00.1/lib/missing --run tar'
AR='ar'
AUTOCONF='${SHELL} /home/fabien/dali/openwrt_mainline/build_arm_nofpu/linux-2.6-packet-iad/fci-1.00.1/lib/missing --run autoconf'
AUTOHEADER='${SHELL} /home/fabien/dali/openwrt_mainline/build_arm_nofpu/linux-2.6-packet-iad/fci-1.00.1/lib/missing --run autoheader'
AUTOMAKE='${SHELL} /home/fabien/dali/openwrt_mainline/build_arm_nofpu/linux-2.6-packet-iad/fci-1.00.1/lib/missing --run automake-1.9'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CPP='gcc -E'
CPPFLAGS=''
CXX='g++'
CXXCPP='g++ -E'
CXXDEPMODE='depmode=gcc3'
CXXFLAGS='-g -O2'
CYGPATH_W='echo'
DEFS='-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"libfci\" -DVERSION=\"0.0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1'
DEPDIR='.deps'
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/bin/grep -E'
EXEEXT=''
F77=''
FFLAGS=''
GREP='/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
LN_S='ln -s'
LTLIBOBJS=''
MAKEINFO='${SHELL} /home/fabien/dali/openwrt_mainline/build_arm_nofpu/linux-2.6-packet-iad/fci-1.00.1/lib/missing --run makeinfo'
OBJEXT='o'
PACKAGE='libfci'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
RANLIB='ranlib'
SET_MAKE=''
SHELL='/bin/bash'
STRIP='strip'
VERSION='0.0.1'
ac_ct_CC='gcc'
ac_ct_CXX='g++'
ac_ct_F77=''
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE='#'
am__fastdepCXX_TRUE=''
am__include='include'
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build='i686-pc-linux-gnu'
build_alias=''
build_cpu='i686'
build_os='linux-gnu'
build_vendor='pc'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec_prefix='${prefix}'
host='i686-pc-linux-gnu'
host_alias=''
host_cpu='i686'
host_os='linux-gnu'
host_vendor='pc'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='/home/fabien/dali/openwrt_mainline/build_arm_nofpu/linux-2.6-packet-iad/fci-1.00.1/lib/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_alias=''

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

#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE "libfci"
#define VERSION "0.0.1"
#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

configure: exit 0

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

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

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

on FabM-Linux

config.status:630: creating Makefile

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

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

  CONFIG_FILES    = 
  CONFIG_HEADERS  = 
  CONFIG_LINKS    = 
  CONFIG_COMMANDS = 
  $ ./config.status src/Makefile depfiles

on FabM-Linux

config.status:630: creating src/Makefile
config.status:815: executing depfiles commands

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

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

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

on sophia-rsousa3

config.status:630: creating Makefile
config.status:630: creating src/Makefile
config.status:815: executing depfiles commands

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

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

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

on catalina4

config.status:630: creating Makefile
config.status:630: creating src/Makefile
config.status:815: executing depfiles commands
