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

It was created by GNU make configure 3.81, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ ./configure --disable-nls --host=i686-w64-mingw32

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

hostname = digit-glaptop
uname -m = x86_64
uname -r = 2.6.32-31-generic
uname -s = Linux
uname -v = #61-Ubuntu SMP Fri Apr 8 18:25:51 UTC 2011

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

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
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


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

configure:1385: checking for a BSD-compatible install
configure:1440: result: /usr/bin/install -c
configure:1451: checking whether build environment is sane
configure:1494: result: yes
configure:1559: checking for gawk
configure:1575: found /usr/bin/gawk
configure:1585: result: gawk
configure:1595: checking whether make sets $(MAKE)
configure:1615: result: yes
configure:1691: checking for i686-w64-mingw32-strip
configure:1720: result: no
configure:1729: checking for strip
configure:1745: found /usr/bin/strip
configure:1756: result: strip
configure:1793: checking for i686-w64-mingw32-gcc
configure:1822: result: no
configure:1831: checking for gcc
configure:1847: found /usr/bin/gcc
configure:1857: result: gcc
configure:2101: checking for C compiler version
configure:2104: gcc --version </dev/null >&5
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Copyright (C) 2009 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:2107: $? = 0
configure:2109: gcc -v </dev/null >&5
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 
configure:2112: $? = 0
configure:2114: gcc -V </dev/null >&5
gcc: '-V' option must have argument
configure:2117: $? = 1
configure:2140: checking for C compiler default output file name
configure:2143: gcc    conftest.c  >&5
configure:2146: $? = 0
configure:2192: result: a.out
configure:2197: checking whether the C compiler works
configure:2203: ./a.out
configure:2206: $? = 0
configure:2223: result: yes
configure:2230: checking whether we are cross compiling
configure:2232: result: no
configure:2235: checking for suffix of executables
configure:2237: gcc -o conftest    conftest.c  >&5
configure:2240: $? = 0
configure:2265: result: 
configure:2271: checking for suffix of object files
configure:2292: gcc -c   conftest.c >&5
configure:2295: $? = 0
configure:2317: result: o
configure:2321: checking whether we are using the GNU C compiler
configure:2345: gcc -c   conftest.c >&5
configure:2351: $? = 0
configure:2354: test -z 			 || test ! -s conftest.err
configure:2357: $? = 0
configure:2360: test -s conftest.o
configure:2363: $? = 0
configure:2376: result: yes
configure:2382: checking whether gcc accepts -g
configure:2403: gcc -c -g  conftest.c >&5
configure:2409: $? = 0
configure:2412: test -z 			 || test ! -s conftest.err
configure:2415: $? = 0
configure:2418: test -s conftest.o
configure:2421: $? = 0
configure:2432: result: yes
configure:2449: checking for gcc option to accept ANSI C
configure:2519: gcc  -c -g -O2  conftest.c >&5
configure:2525: $? = 0
configure:2528: test -z 			 || test ! -s conftest.err
configure:2531: $? = 0
configure:2534: test -s conftest.o
configure:2537: $? = 0
configure:2555: result: none needed
configure:2573: gcc -c -g -O2  conftest.c >&5
conftest.c:2: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'me'
configure:2579: $? = 1
configure: failed program was:
| #ifndef __cplusplus
|   choke me
| #endif
configure:2720: checking for style of include used by make
configure:2748: result: GNU
configure:2776: checking dependency style of gcc
configure:2866: result: gcc3
configure:2896: checking for a BSD-compatible install
configure:2951: result: /usr/bin/install -c
configure:2965: checking for i686-w64-mingw32-ranlib
configure:2994: result: no
configure:3003: checking for ranlib
configure:3019: found /usr/bin/ranlib
configure:3030: result: ranlib
configure:3047: checking how to run the C preprocessor
configure:3082: gcc -E  conftest.c
configure:3088: $? = 0
configure:3120: gcc -E  conftest.c
conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
configure:3126: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME "GNU make"
| #define PACKAGE_TARNAME "make"
| #define PACKAGE_VERSION "3.81"
| #define PACKAGE_STRING "GNU make 3.81"
| #define PACKAGE_BUGREPORT "bug-make@gnu.org"
| #define PACKAGE "make"
| #define VERSION "3.81"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3165: result: gcc -E
configure:3189: gcc -E  conftest.c
configure:3195: $? = 0
configure:3227: gcc -E  conftest.c
conftest.c:11:28: error: ac_nonexistent.h: No such file or directory
configure:3233: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME "GNU make"
| #define PACKAGE_TARNAME "make"
| #define PACKAGE_VERSION "3.81"
| #define PACKAGE_STRING "GNU make 3.81"
| #define PACKAGE_BUGREPORT "bug-make@gnu.org"
| #define PACKAGE "make"
| #define VERSION "3.81"
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>
configure:3278: checking for ar
configure:3294: found /usr/bin/ar
configure:3305: result: ar
configure:3315: checking for perl
configure:3331: found /usr/bin/perl
configure:3342: result: perl
configure:3357: checking build system type
configure:3375: result: x86_64-unknown-linux-gnu
configure:3383: checking host system type
configure:3397: result: i686-w64-mingw32
configure:3407: checking for egrep
configure:3417: result: grep -E
configure:3423: checking for AIX
configure:3445: result: no
configure:3451: checking for library containing strerror
configure:3481: gcc -o conftest -g -O2   conftest.c  >&5
configure:3487: $? = 0
configure:3490: test -z 			 || test ! -s conftest.err
configure:3493: $? = 0
configure:3496: test -s conftest
configure:3499: $? = 0
configure:3568: result: none required
configure:3575: checking for ANSI C header files
configure:3600: gcc -c -g -O2  conftest.c >&5
configure:3606: $? = 0
configure:3609: test -z 			 || test ! -s conftest.err
configure:3612: $? = 0
configure:3615: test -s conftest.o
configure:3618: $? = 0
configure:3707: gcc -o conftest -g -O2   conftest.c  >&5
conftest.c: In function 'main':
conftest.c:28: warning: incompatible implicit declaration of built-in function 'exit'
configure:3710: $? = 0
configure:3712: ./conftest
configure:3715: $? = 0
configure:3730: result: yes
configure:3754: checking for sys/types.h
configure:3770: gcc -c -g -O2  conftest.c >&5
configure:3776: $? = 0
configure:3779: test -z 			 || test ! -s conftest.err
configure:3782: $? = 0
configure:3785: test -s conftest.o
configure:3788: $? = 0
configure:3799: result: yes
configure:3754: checking for sys/stat.h
configure:3770: gcc -c -g -O2  conftest.c >&5
configure:3776: $? = 0
configure:3779: test -z 			 || test ! -s conftest.err
configure:3782: $? = 0
configure:3785: test -s conftest.o
configure:3788: $? = 0
configure:3799: result: yes
configure:3754: checking for stdlib.h
configure:3770: gcc -c -g -O2  conftest.c >&5
configure:3776: $? = 0
configure:3779: test -z 			 || test ! -s conftest.err
configure:3782: $? = 0
configure:3785: test -s conftest.o
configure:3788: $? = 0
configure:3799: result: yes
configure:3754: checking for string.h
configure:3770: gcc -c -g -O2  conftest.c >&5
configure:3776: $? = 0
configure:3779: test -z 			 || test ! -s conftest.err
configure:3782: $? = 0
configure:3785: test -s conftest.o
configure:3788: $? = 0
configure:3799: result: yes
configure:3754: checking for memory.h
configure:3770: gcc -c -g -O2  conftest.c >&5
configure:3776: $? = 0
configure:3779: test -z 			 || test ! -s conftest.err
configure:3782: $? = 0
configure:3785: test -s conftest.o
configure:3788: $? = 0
configure:3799: result: yes
configure:3754: checking for strings.h
configure:3770: gcc -c -g -O2  conftest.c >&5
configure:3776: $? = 0
configure:3779: test -z 			 || test ! -s conftest.err
configure:3782: $? = 0
configure:3785: test -s conftest.o
configure:3788: $? = 0
configure:3799: result: yes
configure:3754: checking for inttypes.h
configure:3770: gcc -c -g -O2  conftest.c >&5
configure:3776: $? = 0
configure:3779: test -z 			 || test ! -s conftest.err
configure:3782: $? = 0
configure:3785: test -s conftest.o
configure:3788: $? = 0
configure:3799: result: yes
configure:3754: checking for stdint.h
configure:3770: gcc -c -g -O2  conftest.c >&5
configure:3776: $? = 0
configure:3779: test -z 			 || test ! -s conftest.err
configure:3782: $? = 0
configure:3785: test -s conftest.o
configure:3788: $? = 0
configure:3799: result: yes
configure:3754: checking for unistd.h
configure:3770: gcc -c -g -O2  conftest.c >&5
configure:3776: $? = 0
configure:3779: test -z 			 || test ! -s conftest.err
configure:3782: $? = 0
configure:3785: test -s conftest.o
configure:3788: $? = 0
configure:3799: result: yes
configure:3821: checking minix/config.h usability
configure:3833: gcc -c -g -O2  conftest.c >&5

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

ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_build_alias=x86_64-unknown-linux-gnu
ac_cv_c_compiler_gnu=yes
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_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=set
ac_cv_env_host_alias_value=i686-w64-mingw32
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_exeext=
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-w64-mingw32
ac_cv_host_alias=i686-w64-mingw32
ac_cv_objext=o
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_AR=ar
ac_cv_prog_AWK=gawk
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_PERL=perl
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_ac_ct_STRIP=strip
ac_cv_prog_cc_g=yes
ac_cv_prog_cc_stdc=
ac_cv_prog_egrep='grep -E'
ac_cv_prog_make_make_set=yes
ac_cv_search_strerror='none required'
am_cv_CC_dependencies_compiler_type=gcc3

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

ACLOCAL='${SHELL} /home/digit/sources/make-3.81/config/missing --run aclocal-1.9'
ALLOCA=''
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='${SHELL} /home/digit/sources/make-3.81/config/missing --run tar'
ANSI2KNR=''
AR='ar'
AUTOCONF='${SHELL} /home/digit/sources/make-3.81/config/missing --run autoconf'
AUTOHEADER='${SHELL} /home/digit/sources/make-3.81/config/missing --run autoheader'
AUTOMAKE='${SHELL} /home/digit/sources/make-3.81/config/missing --run automake-1.9'
AWK='gawk'
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CPP='gcc -E'
CPPFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR='.deps'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='grep -E'
EXEEXT=''
GETLOADAVG_LIBS=''
GLOBINC=''
GLOBLIB=''
GMSGFMT=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
INTLLIBS=''
KMEM_GROUP=''
LDFLAGS=''
LIBICONV=''
LIBINTL=''
LIBOBJS=''
LIBS=''
LTLIBICONV=''
LTLIBINTL=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /home/digit/sources/make-3.81/config/missing --run makeinfo'
MAKE_HOST=''
MKINSTALLDIRS=''
MSGFMT=''
MSGMERGE=''
NEED_SETGID=''
OBJEXT='o'
PACKAGE='make'
PACKAGE_BUGREPORT='bug-make@gnu.org'
PACKAGE_NAME='GNU make'
PACKAGE_STRING='GNU make 3.81'
PACKAGE_TARNAME='make'
PACKAGE_VERSION='3.81'
PATH_SEPARATOR=':'
PERL='perl'
POSUB=''
RANLIB='ranlib'
REMOTE=''
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
U=''
USE_CUSTOMS_FALSE=''
USE_CUSTOMS_TRUE=''
USE_LOCAL_GLOB_FALSE=''
USE_LOCAL_GLOB_TRUE=''
USE_NLS=''
VERSION='3.81'
WINDOWSENV_FALSE=''
WINDOWSENV_TRUE=''
XGETTEXT=''
ac_ct_CC='gcc'
ac_ct_RANLIB='ranlib'
ac_ct_STRIP='strip'
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__include='include'
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='${prefix}/share'
exec_prefix='NONE'
host='i686-w64-mingw32'
host_alias='i686-w64-mingw32'
host_cpu='i686'
host_os='mingw32'
host_vendor='w64'
includedir='${prefix}/include'
infodir='${prefix}/info'
install_sh='/home/digit/sources/make-3.81/config/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
mkdir_p='mkdir -p --'
oldincludedir='/usr/include'
prefix='NONE'
program_transform_name='s,x,x,'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ------------- ##
## Output files. ##
## ------------- ##

MAINT_MAKEFILE=''

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

#define HAVE_INTTYPES_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STDINT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRINGS_H 1
#define HAVE_STRING_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
#define PACKAGE "make"
#define PACKAGE_BUGREPORT "bug-make@gnu.org"
#define PACKAGE_NAME "GNU make"
#define PACKAGE_STRING "GNU make 3.81"
#define PACKAGE_TARNAME "make"
#define PACKAGE_VERSION "3.81"
#define STDC_HEADERS 1
#define VERSION "3.81"

configure: caught signal 2
configure: exit 1
