Duane Ellis: fix warnings
[fw/openocd] / configure.in
index 343b52c624790ad9859b316ac95ba3805ea35706..2c2f3cde1c00c60af5dce7b97c0b4944fa92da1b 100644 (file)
@@ -27,6 +27,12 @@ is_cygwin=no
 is_mingw=no
 is_win32=no
 
+
+AC_ARG_ENABLE(gccwarnings,
+       AS_HELP_STRING([--enable-gccwarnings], [Enable compiler warnings, default yes]),
+       [gcc_warnings=$enablevalue], [gcc_warnings=yes])
+
+
 AC_ARG_ENABLE(parport,
   AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), 
   [build_parport=$enableval], [build_parport=no])
@@ -291,6 +297,52 @@ AC_LANG_C
 AC_PROG_CC
 AC_PROG_RANLIB
 
+# Setup for compiling build tools
+AC_MSG_CHECKING([for a C compiler for build tools])
+if test $cross_compiling = yes; then
+       AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
+       CFLAGS_FOR_BUILD="-g -O2"
+else
+       CC_FOR_BUILD=$CC
+       CFLAGS_FOR_BUILD="$CFLAGS $GCC_WARNINGS"
+fi
+
+if test $gcc_warnings = yes; then
+   CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -Wall -Wmissing-prototypes -Wstrict-prototypes"
+fi
+
+AC_MSG_RESULT([$CC_FOR_BUILD])
+AC_SUBST(CC_FOR_BUILD)
+AC_SUBST(CFLAGS_FOR_BUILD)
+AC_MSG_NOTICE([CFLAGS_FOR_BUILD = $CFLAGS_FOR_BUILD])
+
+AC_MSG_CHECKING([for suffix of executable build tools])
+if test $cross_compiling = yes; then
+       cat >conftest.c <<\_______EOF
+int main ()
+{
+       exit (0);
+}
+_______EOF
+for i in .exe ""; do
+    compile="$CC_FOR_BUILD conftest.c -o conftest$i"
+    if AC_TRY_EVAL(compile); then
+               if (./conftest) 2>&AC_FD_CC; then
+                       EXEEXT_FOR_BUILD=$i
+                       break
+                       fi
+               fi
+done
+       rm -f conftest*
+       if test "${EXEEXT_FOR_BUILD+set}" != set; then
+               AC_MSG_ERROR([Cannot determine suffix of executable build tools])
+       fi
+else
+       EXEEXT_FOR_BUILD=$EXEEXT
+fi
+AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
+AC_SUBST(EXEEXT_FOR_BUILD)
+
 AC_SUBST(WITH_FTD2XX, $with_ftd2xx)
 
 AC_OUTPUT(Makefile src/Makefile src/helper/Makefile src/jtag/Makefile src/xsvf/Makefile src/target/Makefile src/server/Makefile src/flash/Makefile src/pld/Makefile doc/Makefile)