X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=configure.in;h=007ac14237e462ac2ce49d3097f0b64ef8d988e6;hb=ba315ca440e3989247679863fb3fdddeb0802e4d;hp=bc47064f8f7cfa2754eeaf60651b29077bf5daa6;hpb=2e832a399a10fc00253b342f8cde9c5b1062fa63;p=openocd.git diff --git a/configure.in b/configure.in index bc47064f8f..007ac14237 100644 --- a/configure.in +++ b/configure.in @@ -27,6 +27,10 @@ is_cygwin=no is_mingw=no is_win32=no +AC_ARG_ENABLE(gccwarnings, + AS_HELP_STRING([--enable-gccwarnings], [Enable compiler warnings, default no]), + [gcc_warnings=$enableval], [gcc_warnings=no]) + AC_ARG_ENABLE(parport, AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), [build_parport=$enableval], [build_parport=no]) @@ -291,18 +295,54 @@ AC_LANG_C AC_PROG_CC AC_PROG_RANLIB -AC_CHECK_PROG(OBJDUMP, objdump, objdump) -AC_CHECK_PROG(OBJCOPY, objcopy, objcopy) +# set default gcc warnings +GCC_WARNINGS="-Wall -Wstrict-prototypes" + +# overide default gcc cflags +if test $gcc_warnings = yes; then + CFLAGS="$CFLAGS $GCC_WARNINGS" +fi -if test x${OBJDUMP} != x -a x${OBJCOPY} != x ; then - AC_MSG_CHECKING(objcopy command line) - AC_TRY_COMPILE(,,[OBJCOPY_format=`${OBJDUMP} -f conftest.$ac_objext | sed -e '/file format/!d' -e 's/.*format \(.*\)/\1/'` - OBJCOPY_arch=`${OBJDUMP} -f conftest.$ac_objext | sed -e '/architecture/!d' -e 's/.*architecture: \(.*\),.*/\1/'`]) - AC_MSG_RESULT(-I binary -O ${OBJCOPY_format} -B ${OBJCOPY_arch}) +# 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 $GCC_WARNINGS" +else + CC_FOR_BUILD=$CC + CFLAGS_FOR_BUILD=$CFLAGS fi -AC_SUBST(OBJCOPY_FORMAT, ${OBJCOPY_format}) -AC_SUBST(OBJCOPY_ARCH, ${OBJCOPY_arch}) +AC_MSG_RESULT([$CC_FOR_BUILD]) +AC_SUBST(CC_FOR_BUILD) +AC_SUBST(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)