ao-tools: Fix warnings in ao-tools
[fw/altos] / configure.ac
index 89994cc..32fcea3 100644 (file)
@@ -18,19 +18,24 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([altos], 1.4.1.1)
+AC_INIT([altos], 1.9)
+ANDROID_VERSION=18
 AC_CONFIG_SRCDIR([src/kernel/ao.h])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE
 
+RELEASE_DATE=2018-12-31
+AC_SUBST(RELEASE_DATE)
+
 VERSION_DASH=`echo $VERSION | sed 's/\./-/g'`
 AC_SUBST(VERSION_DASH)
+AC_SUBST(ANDROID_VERSION)
 
 dnl ==========================================================================
 dnl Java library versions
 
-ALTOSUILIB_VERSION=3
-ALTOSLIB_VERSION=5
+ALTOSUILIB_VERSION=13
+ALTOSLIB_VERSION=13
 
 AC_SUBST(ALTOSLIB_VERSION)
 AC_DEFINE(ALTOSLIB_VERSION,$ALTOSLIB_VERSION,[Version of the AltosLib package])
@@ -144,18 +149,23 @@ if test "x$ANDROID_SDK" != "xno"; then
        fi
 fi
 
+ANDROID_RELEASE=no
 if test "x$ANDROID_SDK" != "xno"; then
        HAVE_ANDROID_SDK="yes"
+       if test -f "$HOME/altusmetrumllc/google-play-release.keystore" -a -f "$HOME/altusmetrumllc/google-play-passphrase"; then
+               ANDROID_RELEASE=yes
+       fi
 else
        HAVE_ANDROID_SDK="no"
 fi
 
 AM_CONDITIONAL([ANDROID], [test x$ANDROID_SDK != xno])
+AM_CONDITIONAL([ANDROID_RELEASE], [test x$ANDROID_RELEASE = xyes])
 
 AC_SUBST(ANDROID_SDK)
 
 AC_ARG_WITH(fat-dir, AS_HELP_STRING([--with-fat-dir=PATH],
-           [Set the directory to install the 'fat' distribution files to (defaults to not installing)]),
+           [Set the directory to install the 'fat-install' distribution files to (defaults to no such target)]),
            [FATDIR=$withval], [FATDIR=none])
 
 AM_CONDITIONAL(FATINSTALL, [test "x$FATDIR" != "xnone"])
@@ -163,17 +173,26 @@ 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])
+           [Set the file to read the AltosDroid maps API key from (defaults to ~/altusmetrumllc/google-altosdroid-maps-api-key)]),
+           [GOOGLEKEYFILE=$withval], [GOOGLEKEYFILE=$HOME/altusmetrumllc/google-altosdroid-maps-api-key])
 
 if test -r "$GOOGLEKEYFILE" -a -s "$GOOGLEKEYFILE"; then
-       GOOGLEKEY='"'`cat "$GOOGLEKEYFILE"`'"'
+       GOOGLEKEY=`cat "$GOOGLEKEYFILE"`
        HAVE_GOOGLE_KEY="yes"
 else
        GOOGLEKEY='null'
        HAVE_GOOGLE_KEY="no"
 fi
 
+WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs"
+AC_SUBST(WARN_CFLAGS)
+
+AC_ARG_ENABLE(faketime, AS_HELP_STRING([--enable-faketime],
+              [Use faketime program to ensure pdf files are reproducible (default=no)]),
+             [FAKETIME=$enableval], [FAKETIME=no])
+
+AM_CONDITIONAL(FAKETIME, [test x$FAKETIME = xyes])
+
 AC_SUBST(GOOGLEKEY)
 
 AC_PROG_CC
@@ -182,7 +201,6 @@ AC_PROG_LN_S
 AC_PROG_LIBTOOL
 PKG_PROG_PKG_CONFIG
 
-CFLAGS="-g"
 WARN_CFLAGS=""
 if test "x$GCC" = "xyes"; then
        WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
@@ -193,36 +211,6 @@ if test "x$GCC" = "xyes"; then
 fi
 AC_SUBST(WARN_CFLAGS)
 
-#
-# Configure SDCC
-#
-
-AC_ARG_WITH([sdcc],
-           [AS_HELP_STRING([--with-sdcc],
-                           [Name of SDCC])],
-           [],
-           [with_sdcc=auto])
-
-if test "x$with_sdcc" != "xno"; then       
-       if test "x$with_sdcc" = "xauto"; then
-               with_sdcc="sdcc"
-               AC_CHECK_PROG([HAVE_SDCC],[$with_sdcc], yes, no)
-       else
-               HAVE_SDCC=yes
-       fi
-else
-       HAVE_SDCC=no
-fi
-
-if test "x$HAVE_SDCC" = "xno"; then
-       AC_MSG_WARN([SDCC not found, cc1111 binaries will not be built])
-else
-       SDCC=$with_sdcc
-fi
-
-AC_SUBST(SDCC)
-AC_SUBST(HAVE_SDCC)
-
 #
 # Configure ARM compiler for STM32L and LPC11U14
 #
@@ -252,27 +240,6 @@ 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"
@@ -295,16 +262,6 @@ if test "x$HAVE_ARM_CC" = "xyes"; then
                          [HAVE_ARM_M3_CC=no])
         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"
@@ -324,6 +281,37 @@ if test "x$HAVE_ARM_M0_CC" = "xno"; then
        AC_MSG_WARN([No cortex-m0 arm compiler found, LPC11U14 binaries will not be built])
 fi
 
+AC_ARG_WITH([newlib-nano],
+           [AS_HELP_STRING([--with-newlib-nano],
+                           [Root of newlib nano install])],
+           [],
+           [with_newlib_nano=auto])
+
+HAVE_NEWLIB_NANO=no
+if test "x$with_newlib_nano" != "xno"; then
+       if test "x$with_newlib_nano" = "xauto"; then
+               for d in /usr/local/lib/newlib-nano /usr/lib/newlib-nano; do
+                       if test "x$with_newlib_nano" = "xauto" -a -d "$d"; then
+                               with_newlib_nano="$d"
+                               HAVE_NEWLIB_NANO=yes
+                       fi
+               done
+       else
+               HAVE_NEWLIB_NANO=yes
+       fi
+fi
+
+if test "x$HAVE_NEWLIB_NANO" = "xno"; then
+       AC_MSG_WARN([No newlib-nano library found, ARM binaries will not be built])
+       HAVE_ARM_M3_CC=no
+       HAVE_ARM_M0_CC=no
+else
+       NEWLIB_NANO="$with_newlib_nano"
+fi
+
+AC_SUBST(HAVE_NEWLIB_NANO)
+AC_SUBST(NEWLIB_NANO)
+
 #
 # Configure AVR compiler
 #
@@ -401,6 +389,14 @@ if test "x$HAVE_NICKLE" = "xno"; then
        AC_MSG_ERROR([Please install nickle to build AltOs])
 fi
 
+AC_CHECK_PROG([HAVE_ASCIIDOCTOR_PDF], [asciidoctor-pdf], yes, no)
+if test "x$HAVE_ASCIIDOCTOR_PDF" = "xno"; then
+       AC_MSG_WARN([asciidoctor-pdf not found, PDF docs will not be built])
+fi
+AM_CONDITIONAL([ASCIIDOCTOR_PDF], [test x$HAVE_ASCIIDOCTOR_PDF != xno])
+
+PKG_CHECK_MODULES([JANSSON], [jansson])
+
 AC_ARG_WITH([readline],
            [AS_HELP_STRING([--with-readline],
                              [enable readline functionality in ao-dbg @<:@default=auto@:>@])],
@@ -459,7 +455,7 @@ xauto)
        xx86_64|xi*86)
                save_CFLAGS="$CFLAGS"
                save_LIBS="$LIBS"
-               LIBS="-lbluetooth"
+               LIBS="-ldl"
                CFLAGS="-m64"
                AC_MSG_CHECKING([if ]$CC[ ]$CFLAGS[ can link programs])
                AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
@@ -497,13 +493,23 @@ esac
        
 AM_CONDITIONAL([MULTI_ARCH], [test x$MULTI_ARCH = xyes])
 
+AC_ARG_ENABLE([install-shared-mime-info],
+             [AS_HELP_STRING([--disable-install-shared-mime-info],
+                             [disable installing shared mime info files (default=yes)])],
+             [INSTALL_SHARED_MIME_INFO=$enableval],
+             [INSTALL_SHARED_MIME_INFO=yes])
+
+AM_CONDITIONAL([INSTALL_SHARED_MIME_INFO], [test x$INSTALL_SHARED_MIME_INFO = xyes])
+
 AC_OUTPUT([
 Makefile
 src/Makedefs
+src/chaoskey-v1.0/org.altusmetrum.ChaosKey.metainfo.xml
+doc/Makefile
 altoslib/Makefile
+altoslib/AltosVersion.java
 icon/Makefile
 altosuilib/Makefile
-altosuilib/AltosUIVersion.java
 altosui/Makefile
 altosui/Info.plist
 altosui/altos-windows.nsi
@@ -516,6 +522,7 @@ telegps/Info.plist
 telegps/telegps-windows.nsi
 altosdroid/Makefile
 altosdroid/local.properties
+altosdroid/AndroidManifest.xml
 ao-tools/Makefile
 ao-tools/lib/Makefile
 ao-tools/ao-rawload/Makefile
@@ -537,7 +544,17 @@ ao-tools/ao-flash/Makefile
 ao-tools/ao-test-igniter/Makefile
 ao-tools/ao-test-baro/Makefile
 ao-tools/ao-test-flash/Makefile
+ao-tools/ao-cal-accel/Makefile
+ao-tools/ao-cal-freq/Makefile
+ao-tools/ao-test-gps/Makefile
+ao-tools/ao-usbtrng/Makefile
+ao-tools/ao-chaosread/Makefile
+ao-tools/ao-makebin/Makefile
 ao-utils/Makefile
+map-server/Makefile
+map-server/altos-mapd/Makefile
+map-server/altos-map/Makefile
+map-server/altos-mapj/Makefile
 src/Version
 ])
 
@@ -548,21 +565,21 @@ echo "  Configuration"
 echo "    Arm compiler................: ${ARM_CC}"
 echo "    STM32L support..............: ${HAVE_ARM_M3_CC}"
 echo "    LPC11U14 support............: ${HAVE_ARM_M0_CC}"
-echo "    SDCC........................: ${SDCC}"
-echo "    CC1111 support..............: ${HAVE_SDCC}"
 echo "    AVR compiler................: ${AVR_CC} ${AVR_OBJCOPY}"
 echo "    AVR support.................: ${HAVE_AVR_CC}"
 echo "    Android support.............: ${HAVE_ANDROID_SDK}"
+echo "    Android release support.....: ${ANDROID_RELEASE}"
 echo "    STlink support..............: ${HAVE_STLINK}"
-echo "    Local pdclib................: ${HAVE_PDCLIB}"
+echo "    Newlib-nano support.........: ${NEWLIB_NANO}"
 echo "    i386 and amd64 libaltos.....: ${MULTI_ARCH}"
+echo "    install shared mime info....: ${INSTALL_SHARED_MIME_INFO}"
 echo ""
 echo "  Java"
 echo "    freetts.....................: ${FREETTS}"
 echo "    jfreechart..................: ${JFREECHART}"
 echo "    jcommon.....................: ${JCOMMON}"
 echo "    JVM include.................: ${JVM_INCLUDE}"
-echo "    Google maps API key.........: ${HAVE_GOOGLE_KEY}"
+echo "    AltosDroid maps API key.....: ${HAVE_GOOGLE_KEY}"
 if test x${ANDROID_SDK} != "xno"; then
 echo ""
 echo "  Android path"