dnl Process this file with autoconf to create configure.
AC_PREREQ(2.57)
-AC_INIT([altos], 1.2.9.4)
-AC_CONFIG_SRCDIR([src/core/ao.h])
+AC_INIT([altos], 1.3.2.4)
+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=2
+ALTOSLIB_VERSION=4
AC_SUBST(ALTOSLIB_VERSION)
AC_DEFINE(ALTOSLIB_VERSION,$ALTOSLIB_VERSION,[Version of the AltosLib package])
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
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"
[HAVE_ARM_M0_CC=no])
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=no])
AC_MSG_RESULT([$HAVE_ARM_M3_CC])
- AC_CHECK_LIB(pdclib-cortex-m3,memcpy,
- [],
- [HAVE_ARM_M3_CC=no])
+ 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"
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])
-AM_CONDITIONAL([LIBSTLINK], [test x$HAVE_STLINK != xno])
+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 = 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
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
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-utils/Makefile
src/Version
])
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"