ao-tools: Split out USB loader to ao-usbload
[fw/altos] / configure.ac
index de344335805eaa8db5ea1750369504bfa4c63f20..dea71396539971e5f029353c44c145eb311b6d58 100644 (file)
@@ -18,7 +18,7 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([altos], 1.2.9.3)
+AC_INIT([altos], 1.2.9.4)
 AC_CONFIG_SRCDIR([src/core/ao.h])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE
@@ -242,22 +242,35 @@ AC_SUBST(ARM_CC)
 if test "x$HAVE_ARM_CC" = "xyes"; then
        save_CC="$CC"
        save_CFLAGS="$CFLAGS"
+       save_LIBS="$LIBS"
        CC="$ARM_CC"
        CFLAGS="-mthumb -mcpu=cortex-m0"
+       LIBS="-ffreestanding -nostdlib"
        AC_LANG_PUSH([C])
 
        AC_MSG_CHECKING([if ]$ARM_CC[ supports cortex-m0])
        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int i;])],
                          [HAVE_ARM_M0_CC=yes],
                          [HAVE_ARM_M0_CC=no])
-        AC_MSG_RESULT([$HAVE_ARM_M0])
+        AC_MSG_RESULT([$HAVE_ARM_M0_CC])
+
+       AC_CHECK_LIB(pdclib-cortex-m0,memcpy,
+                    [],
+                    [HAVE_ARM_M0_CC=no])
+
        CFLAGS="-mthumb -mcpu=cortex-m3"
        AC_MSG_CHECKING([if ]$ARM_CC[ supports cortex-m3])
        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int i;])],
                          [HAVE_ARM_M3_CC=yes],
                          [HAVE_ARM_M3_CC=no])
-        AC_MSG_RESULT([$HAVE_ARM_M3])
+        AC_MSG_RESULT([$HAVE_ARM_M3_CC])
+
+       AC_CHECK_LIB(pdclib-cortex-m3,memcpy,
+                    [],
+                    [HAVE_ARM_M3_CC=no])
+
        AC_LANG_POP([C])
+       LIBS="$save_LIBS"
        CFLAGS="$save_CFLAGS"
        CC="$save_CC"
 else
@@ -317,8 +330,30 @@ if test "x$HAVE_AVR_CC" = "xno" -o "x$HAVE_AVR_OBJCOPY" = "xno"; then
        AC_MSG_WARN([AVR compiler and objcopy not found, atmel binaries will not be built])
        HAVE_AVR_CC=no
 else
-       AVR_CC=$with_avr_cc
-       AVR_OBJCOPY=$with_avr_objcopy
+       save_CC="$CC"
+       save_CFLAGS="$CFLAGS"
+       save_LIBS="$LIBS"
+
+       CC="$with_avr_cc"
+       CFLAGS="-mmcu=attiny85"
+       AC_LANG_PUSH([C])
+       AC_MSG_CHECKING([if ]$with_avr_cc[ can link programs])
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
+                         [AVR_LINK=yes],
+                         [AVR_LINK=no])
+        AC_MSG_RESULT([$AVR_LINK])
+       AC_LANG_POP([C])
+
+       LIBS="$save_LIBS"
+       CFLAGS="$save_CFLAGS"
+       CC="$save_CC"
+
+       if test "x$AVR_LINK" = xyes; then
+               AVR_CC=$with_avr_cc
+               AVR_OBJCOPY=$with_avr_objcopy
+       else
+               HAVE_AVR_CC=no;
+       fi
 fi
 
 AC_SUBST(AVR_CC)
@@ -371,6 +406,8 @@ ao-tools/ao-sky-flash/Makefile
 ao-tools/ao-dumpflash/Makefile
 ao-tools/ao-edit-telem/Makefile
 ao-tools/ao-dump-up/Makefile
+ao-tools/ao-elftohex/Makefile
+ao-tools/ao-usbload/Makefile
 ao-utils/Makefile
 src/Version
 ])