/* Generated automatically. */
static const char configuration_arguments[] = "/usr/local/google/apenwarr/athena/out.mstc/build/build-toolchain/.build/src/gcc-4.5.3/configure --build=x86_64-build_unknown-linux-gnu --host=x86_64-build_unknown-linux-gnu --target=arm-unknown-linux-gnueabi --prefix=/usr/local/google/apenwarr/athena/out.mstc/host/usr --with-sysroot=/usr/local/google/apenwarr/athena/out.mstc/host/usr/arm-unknown-linux-gnueabi/sysroot --enable-languages=c,c++ --disable-multilib --with-arch=armv7-a --with-tune=cortex-a9 --with-pkgversion='crosstool-NG 1.13.4 - buildroot 2012.02-00066-g5bb2629' --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --with-gmp=/usr/local/google/apenwarr/athena/out.mstc/build/build-toolchain/.build/arm-unknown-linux-gnueabi/build/static --with-mpfr=/usr/local/google/apenwarr/athena/out.mstc/build/build-toolchain/.build/arm-unknown-linux-gnueabi/build/static --with-mpc=/usr/local/google/apenwarr/athena/out.mstc/build/build-toolchain/.build/arm-unknown-linux-gnueabi/build/static --with-ppl=/usr/local/google/apenwarr/athena/out.mstc/build/build-toolchain/.build/arm-unknown-linux-gnueabi/build/static --with-cloog=/usr/local/google/apenwarr/athena/out.mstc/build/build-toolchain/.build/arm-unknown-linux-gnueabi/build/static --with-libelf=/usr/local/google/apenwarr/athena/out.mstc/build/build-toolchain/.build/arm-unknown-linux-gnueabi/build/static --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --enable-target-optspace --with-local-prefix=/usr/local/google/apenwarr/athena/out.mstc/host/usr/arm-unknown-linux-gnueabi/sysroot --disable-nls --enable-c99 --enable-long-long";
static const char thread_model[] = "posix";

static const struct {
  const char *name, *value;
} configure_default_options[] = { { "arch", "armv7-a" }, { "tune", "cortex-a9" } };
