Version 1.9.10.1
[fw/altos] / configure.ac
index 517cdc259ea216d981777d35579d2077a3fde556..2bf21751b1e0042a938c6363368cc8e2bc0807c7 100644 (file)
@@ -18,15 +18,19 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.57)
-AC_INIT([altos], 1.8.7)
-ANDROID_VERSION=18
+AC_INIT([altos], 1.9.10.1)
+ANDROID_VERSION=33
 AC_CONFIG_SRCDIR([src/kernel/ao.h])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_MAINTAINER_MODE
 
-RELEASE_DATE=2018-10-08
+RELEASE_DATE=2021-10-16
 AC_SUBST(RELEASE_DATE)
 
+DOC_DATE=`LC_ALL=C date -d $RELEASE_DATE +'%d %b %Y'`
+
+AC_SUBST(DOC_DATE)
+
 VERSION_DASH=`echo $VERSION | sed 's/\./-/g'`
 AC_SUBST(VERSION_DASH)
 AC_SUBST(ANDROID_VERSION)
@@ -34,8 +38,8 @@ AC_SUBST(ANDROID_VERSION)
 dnl ==========================================================================
 dnl Java library versions
 
-ALTOSUILIB_VERSION=13
-ALTOSLIB_VERSION=13
+ALTOSUILIB_VERSION=14
+ALTOSLIB_VERSION=14
 
 AC_SUBST(ALTOSLIB_VERSION)
 AC_DEFINE(ALTOSLIB_VERSION,$ALTOSLIB_VERSION,[Version of the AltosLib package])
@@ -64,27 +68,41 @@ AC_ARG_WITH(jcommon, AS_HELP_STRING([--with-jcommon=PATH],
 
 AC_SUBST(JCOMMON)
 
-AC_ARG_WITH(jvm, AS_HELP_STRING([--with-jvm-include=PATH],
-       [Set jvm include path for jni builds (default searches in /usr/lib/jvm)]),
-       [JVM_INCLUDE=$withval], [JVM_INCLUDE=auto])
+AC_ARG_WITH(jvm, AS_HELP_STRING([--with-jvm=PATH],
+       [Set jvm path for java builds (default searches in /usr/lib/jvm)]),
+       [JVM=$withval], [JVM=auto])
 
-if test "x$JVM_INCLUDE" = "xauto"; then
-       AC_MSG_CHECKING([JVM include files])
-       for jvm in default-java java-6-openjdk java-6-sun; do
-               if test "x$JVM_INCLUDE" = "xauto"; then
+if test "x$JVM" = "xauto"; then
+       AC_MSG_CHECKING([JVM])
+       for jvm in default-java java-6-openjdk java-7-openjdk java-8-openjdk java-9-openjdk java-10-openjdk java-11-openjdk java-12-openjdk java-13-openjdk java-6-sun java-8-openjdk-amd64; do
+               if test "x$JVM" = "xauto"; then
                        INCLUDE="/usr/lib/jvm/$jvm/include"
                        if test -f "$INCLUDE"/jni.h; then
-                               JVM_INCLUDE="$INCLUDE"
+                               JVM=/usr/lib/jvm/"$jvm"
                        fi
                fi
        done
-       if test "x$JVM_INCLUDE" = "xauto"; then
-               AC_MSG_ERROR([no JVM include files found])
+       if test "x$JVM" = "xauto"; then
+               AC_MSG_ERROR([no JVM files found])
        fi
-       AC_MSG_RESULT([$JVM_INCLUDE])
+       AC_MSG_RESULT([$JVM])
 fi
 
+AC_ARG_WITH(java-version, AS_HELP_STRING([--with-java-version=7],
+                                        [Set java language compatibility version (default is 7)]),
+          [JAVA_VERSION=$withval], [JAVA_VERSION=7])
+
+JAVAC="$JVM"/bin/javac
+JAVA="$JVM"/bin/java
+JVM_INCLUDE="$JVM"/include
+JAVAC_VERSION_FLAGS="-target 1.$JAVA_VERSION -source 1.$JAVA_VERSION"
+
+AC_SUBST(JAVAC)
+AC_SUBST(JAVA)
+AC_SUBST(JVM)
 AC_SUBST(JVM_INCLUDE)
+AC_SUBST(JAVAC_VERSION_FLAGS)
+
 
 AC_ARG_WITH(android, AS_HELP_STRING([--with-android=PATH],
        [Set android SDK path (default searches in a variety of places)]),
@@ -152,9 +170,7 @@ 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
+       ANDROID_RELEASE=yes
 else
        HAVE_ANDROID_SDK="no"
 fi
@@ -184,6 +200,9 @@ else
        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])
@@ -198,7 +217,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 \
@@ -244,18 +262,18 @@ if test "x$HAVE_ARM_CC" = "xyes"; then
        save_LIBS="$LIBS"
        CC="$ARM_CC"
        CFLAGS="-mthumb -mcpu=cortex-m0"
-       LIBS="-ffreestanding -nostdlib"
+       LIBS="--specs=picolibc.specs"
        AC_LANG_PUSH([C])
 
        AC_MSG_CHECKING([if ]$ARM_CC[ supports cortex-m0])
-       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int i;])],
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
                          [HAVE_ARM_M0_CC=yes],
                          [HAVE_ARM_M0_CC=no])
         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;])],
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
                          [HAVE_ARM_M3_CC=yes],
                          [HAVE_ARM_M3_CC=no])
         AC_MSG_RESULT([$HAVE_ARM_M3_CC])
@@ -276,39 +294,10 @@ if test "x$HAVE_ARM_M3_CC" = "xno"; then
 fi
 
 if test "x$HAVE_ARM_M0_CC" = "xno"; then
-       AC_MSG_WARN([No cortex-m0 arm compiler found, LPC11U14 binaries will not be built])
+       AC_MSG_WARN([No cortex-m0 arm compiler found, LPC11U14 and STM32F0 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
@@ -387,6 +376,31 @@ 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])
+
+AC_ARG_WITH([strip-nondeterminism],
+           [AS_HELP_STRING([--with-strip-nondeterminism],
+                           [Name of non-deterministic build data stripping tool])],
+           [],
+           [with_strip_nondeterminism=auto])
+
+if test "x$with_strip_nondeterminism" != "xno"; then
+       if test "x$with_strip_nondeterminism" = "xauto"; then
+               with_strip_nondeterminism="strip-nondeterminism"
+               AC_CHECK_PROG([HAVE_STRIP_NONDETERMINISM],[$with_strip_nondeterminism], yes, no)
+       else
+               HAVE_STRIP_NONDETERMINISM=yes
+       fi
+else
+       HAVE_STRIP_NONDETERMINISM=no
+fi
+AM_CONDITIONAL([STRIP_NONDETERMINISM], [test x$HAVE_STRIP_NONDETERMINISM != xno])
+AC_SUBST(STRIP_NONDETERMINISM, "$with_strip_nondeterminism")
+
 PKG_CHECK_MODULES([JANSSON], [jansson])
 
 AC_ARG_WITH([readline],
@@ -514,7 +528,8 @@ telegps/Info.plist
 telegps/telegps-windows.nsi
 altosdroid/Makefile
 altosdroid/local.properties
-altosdroid/AndroidManifest.xml
+altosdroid/app/src/main/AndroidManifest.xml
+altosdroid/app/build.gradle
 ao-tools/Makefile
 ao-tools/lib/Makefile
 ao-tools/ao-rawload/Makefile
@@ -540,14 +555,12 @@ 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
 ])
 
 echo ""
@@ -562,9 +575,9 @@ echo "    AVR support.................: ${HAVE_AVR_CC}"
 echo "    Android support.............: ${HAVE_ANDROID_SDK}"
 echo "    Android release support.....: ${ANDROID_RELEASE}"
 echo "    STlink support..............: ${HAVE_STLINK}"
-echo "    Newlib-nano support.........: ${NEWLIB_NANO}"
 echo "    i386 and amd64 libaltos.....: ${MULTI_ARCH}"
 echo "    install shared mime info....: ${INSTALL_SHARED_MIME_INFO}"
+echo "    Strip jar timestamps........: ${STRIP_NONDETERMINISM}"
 echo ""
 echo "  Java"
 echo "    freetts.....................: ${FREETTS}"