X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=configure.ac;h=c2b8b55cd00afe9909e293aaf3fa4c97be7e650e;hp=729149daf5cf2e26e7351bf62acefdad5b2ea52e;hb=54b58e925e27e87bf2903678f87b7544ee2e8167;hpb=6a1e398e590121458176758858bb4210f3eb5a55 diff --git a/configure.ac b/configure.ac index 729149da..c2b8b55c 100644 --- a/configure.ac +++ b/configure.ac @@ -18,20 +18,19 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.57) -AC_INIT([altos], 1.2.9.2) -AC_CONFIG_SRCDIR([src/core/ao.h]) +AC_INIT([altos], 1.4.9.2) +AC_CONFIG_SRCDIR([src/kernel/ao.h]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE VERSION_DASH=`echo $VERSION | sed 's/\./-/g'` AC_SUBST(VERSION_DASH) - dnl ========================================================================== dnl Java library versions -ALTOSUILIB_VERSION=1 -ALTOSLIB_VERSION=2 +ALTOSUILIB_VERSION=3 +ALTOSLIB_VERSION=5 AC_SUBST(ALTOSLIB_VERSION) AC_DEFINE(ALTOSLIB_VERSION,$ALTOSLIB_VERSION,[Version of the AltosLib package]) @@ -163,6 +162,20 @@ AM_CONDITIONAL(FATINSTALL, [test "x$FATDIR" != "xnone"]) AC_SUBST(FATDIR) +AC_ARG_WITH(google-key, AS_HELP_STRING([--with-google-key=PATH], + [Set the file to read the google maps API key from (defaults to ~/altusmetrumllc/google-maps-api-key)]), + [GOOGLEKEYFILE=$withval], [GOOGLEKEYFILE=$HOME/altusmetrumllc/google-maps-api-key]) + +if test -r "$GOOGLEKEYFILE" -a -s "$GOOGLEKEYFILE"; then + GOOGLEKEY='"'`cat "$GOOGLEKEYFILE"`'"' + HAVE_GOOGLE_KEY="yes" +else + GOOGLEKEY='null' + HAVE_GOOGLE_KEY="no" +fi + +AC_SUBST(GOOGLEKEY) + AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S @@ -239,25 +252,61 @@ fi AC_SUBST(HAVE_ARM_CC) AC_SUBST(ARM_CC) +if test -d pdclib -a x"$HAVE_ARM_CC" = xyes; then + PDCLIB_ROOT='$(TOPDIR)/../pdclib-root' + PDCLIB_INCLUDES='-I$(TOPDIR)/../pdclib-root/include' + PDCLIB_LIBS_M0='-L$(TOPDIR)/../pdclib-root/lib -lpdclib-cortex-m0' + PDCLIB_LIBS_M3='-L$(TOPDIR)/../pdclib-root/lib -lpdclib-cortex-m3' + HAVE_PDCLIB=yes +else + PDCLIB_INCLUDES='' + PDCLIB_LIBS_M0='-lpdclib-cortex-m0' + PDCLIB_LIBS_M3='-lpdclib-cortex-m3' + HAVE_PDCLIB=no +fi + +AM_CONDITIONAL(PDCLIB, [test x$HAVE_PDCLIB = xyes]) + +AC_SUBST(PDCLIB_INCLUDES) +AC_SUBST(PDCLIB_LIBS_M0) +AC_SUBST(PDCLIB_LIBS_M3) +AC_SUBST(PDCLIB_ROOT) +AC_SUBST(HAVE_PDCLIB) + 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]) + 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]) + + if test x$HAVE_PDCLIB != xyes; then + AC_CHECK_LIB(pdclib-cortex-m0,memcpy, + [], + [HAVE_ARM_M0_CC=no]) + + AC_CHECK_LIB(pdclib-cortex-m3,memcpy, + [], + [HAVE_ARM_M3_CC=no]) + fi + AC_LANG_POP([C]) + LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" CC="$save_CC" else @@ -317,8 +366,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) @@ -330,21 +401,107 @@ if test "x$HAVE_NICKLE" = "xno"; then AC_MSG_ERROR([Please install nickle to build AltOs]) fi -AC_CHECK_LIB(readline, readline) +AC_ARG_WITH([readline], + [AS_HELP_STRING([--with-readline], + [enable readline functionality in ao-dbg @<:@default=auto@:>@])], + [], + [with_readline=auto]) + +LIBREADLINE_LIBS= + +if test x"$with_readline" != "xno"; then + AC_CHECK_LIB([readline], [main], + [AC_SUBST([LIBREADLINE], ["-lreadline -lncurses"]) + AC_DEFINE([HAVE_LIBREADLINE], [1], + [Define if you have libreadline])], + [if test "x$with_readline" != xauto; then + AC_MSG_ERROR([--with-readline was given, but test for readline failed]) + fi], + -lncurses) +fi PKG_CHECK_MODULES([LIBUSB], [libusb-1.0]) AC_CHECK_HEADERS(libelf.h libelf/libelf.h, [break]) AC_CHECK_HEADERS(gelf.h libelf/gelf.h, [break]) -PKG_CHECK_MODULES([LIBSTLINK], [stlink], [HAVE_STLINK=yes], [HAVE_STLINK=no]) +AC_ARG_WITH([stlink], + [AS_HELP_STRING([--with-stlink], + [Build tools that use the stlink library (default: auto)])], + [], + [with_stlink=auto]) + +if test x"$with_stlink" != "xno"; then + PKG_CHECK_MODULES([STLINK], [stlink], [HAVE_STLINK=yes], [HAVE_STLINK=no]) + if test x"$HAVE_STLINK" = "xno" -a x"$with_stlink" != "xauto"; then + AC_MSG_ERROR([--with-stlink was given, but stlink was not found]) + fi +else + HAVE_STLINK=no +fi + +if test x"$HAVE_STLINK" = "xyes"; then + AC_DEFINE(HAVE_STLINK,1,[Using STlink library]) +fi -AM_CONDITIONAL([LIBSTLINK], [test x$HAVE_STLINK != xno]) +AM_CONDITIONAL([LIBSTLINK], [test x$HAVE_STLINK = xyes]) + +AC_ARG_ENABLE([multi-arch], + [AS_HELP_STRING([--enable-multi-arch], + [enable building both i386 and amd64 libraries (default=auto)])], + [MULTI_ARCH=$enableval], + [MULTI_ARCH=auto]) + +case x"$MULTI_ARCH" in +xauto) + arch=`uname -m` + case x"$arch" in + xx86_64|xi*86) + save_CFLAGS="$CFLAGS" + save_LIBS="$LIBS" + LIBS="-lbluetooth" + CFLAGS="-m64" + AC_MSG_CHECKING([if ]$CC[ ]$CFLAGS[ can link programs]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([])], + [M64_LINK=yes], + [M64_LINK=no]) + AC_MSG_RESULT([$M64_LINK]) + CFLAGS="-m32" + AC_MSG_CHECKING([if ]$CC[ ]$CFLAGS[ can link programs]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([])], + [M32_LINK=yes], + [M32_LINK=no]) + AC_MSG_RESULT([$M32_LINK]) + CFLAGS="$save_CFLAGS" + LIBS="$save_LIBS" + case x"$M64_LINK"x"$M32_LINK" in + xyesxyes) + MULTI_ARCH=yes + ;; + *) + MULTI_ARCH=no + ;; + esac + ;; + *) + MULTI_ARCH=no + ;; + esac + ;; +xyes|xno) + ;; +*) + MULTI_ARCH="no" + ;; +esac + +AM_CONDITIONAL([MULTI_ARCH], [test x$MULTI_ARCH = xyes]) AC_OUTPUT([ Makefile src/Makedefs altoslib/Makefile +icon/Makefile altosuilib/Makefile altosuilib/AltosUIVersion.java altosui/Makefile @@ -354,6 +511,9 @@ libaltos/Makefile micropeak/Makefile micropeak/Info.plist micropeak/micropeak-windows.nsi +telegps/Makefile +telegps/Info.plist +telegps/telegps-windows.nsi altosdroid/Makefile altosdroid/local.properties ao-tools/Makefile @@ -371,6 +531,12 @@ 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-tools/ao-flash/Makefile +ao-tools/ao-test-igniter/Makefile +ao-tools/ao-test-baro/Makefile +ao-tools/ao-test-flash/Makefile ao-utils/Makefile src/Version ]) @@ -388,12 +554,15 @@ echo " AVR compiler................: ${AVR_CC} ${AVR_OBJCOPY}" echo " AVR support.................: ${HAVE_AVR_CC}" echo " Android support.............: ${HAVE_ANDROID_SDK}" echo " STlink support..............: ${HAVE_STLINK}" +echo " Local pdclib................: ${HAVE_PDCLIB}" +echo " i386 and amd64 libaltos.....: ${MULTI_ARCH}" echo "" -echo " Java paths" +echo " Java" echo " freetts.....................: ${FREETTS}" echo " jfreechart..................: ${JFREECHART}" echo " jcommon.....................: ${JCOMMON}" echo " JVM include.................: ${JVM_INCLUDE}" +echo " Google maps API key.........: ${HAVE_GOOGLE_KEY}" if test x${ANDROID_SDK} != "xno"; then echo "" echo " Android path"