X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=configure.ac;h=ece8ac9386b957a33f18d50b5d5f2a74a143ac60;hp=9dba0a5ed066bc23babfebfb36dd8e99cef9f064;hb=HEAD;hpb=e830d803d3e289f0f1a6d92ce208682af28d3f52 diff --git a/configure.ac b/configure.ac index 9dba0a5e..9e3db494 100644 --- a/configure.ac +++ b/configure.ac @@ -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.17) +ANDROID_VERSION=37 AC_CONFIG_SRCDIR([src/kernel/ao.h]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -RELEASE_DATE=2018-10-08 +RELEASE_DATE=2023-08-30 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,25 @@ else HAVE_GOOGLE_KEY="no" fi +AC_ARG_WITH(windows-key, AS_HELP_STRING([--with-windows-key=PATH], + [Set the file containing the Windows installer signing key (defaults to ~/altusmetrumllc/ssl.com/altus_metrum,_llc.p12)]), + [WINDOWSKEYFILE="$withval"], [WINDOWSKEYFILE=$HOME/altusmetrumllc/ssl.com/altus_metrum,_llc.p12]) + +AC_ARG_WITH(windows-key-pass, AS_HELP_STRING([--with-windows-key-pass=PATH], + [Set the file containing the Windows installer signing key password (defaults to ~/altusmetrumllc/ssl.com/password)]), + [WINDOWSKEYPASSFILE="$withval"], [WINDOWSKEYPASSFILE=$HOME/altusmetrumllc/ssl.com/password]) + +AC_CHECK_PROG(jsign, jsign, "yes", "no") + +if test -s "$WINDOWSKEYFILE" -a -s "$WINDOWSKEYPASSFILE" -a "$jsign" = yes; then + HAVE_WINDOWS_KEY="yes" +else + HAVE_WINDOWS_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]) @@ -191,6 +226,9 @@ AC_ARG_ENABLE(faketime, AS_HELP_STRING([--enable-faketime], AM_CONDITIONAL(FAKETIME, [test x$FAKETIME = xyes]) AC_SUBST(GOOGLEKEY) +AC_SUBST(WINDOWSKEYFILE) +AC_SUBST(WINDOWSKEYPASSFILE) +AC_SUBST(HAVE_WINDOWS_KEY) AC_PROG_CC AC_PROG_INSTALL @@ -198,7 +236,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 \ @@ -209,36 +246,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 # @@ -268,59 +275,28 @@ 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" + 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]) - 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" @@ -337,9 +313,11 @@ 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 + + # # Configure AVR compiler # @@ -417,6 +395,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], @@ -472,39 +475,20 @@ AC_ARG_ENABLE([multi-arch], case x"$MULTI_ARCH" in xauto) - arch=`uname -m` - case x"$arch" in - xx86_64|xi*86) - save_CFLAGS="$CFLAGS" - save_LIBS="$LIBS" - LIBS="-ldl" - 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=yes + for arch in i686-linux-gnu x86_64-linux-gnu aarch64-linux-gnu arm-linux-gnueabi arm-linux-gnueabihf; do + crossgcc="$arch"-gcc + AC_CHECK_PROG(ARCH_SUPPORTED,$crossgcc,yes,no) + case "$ARCH_SUPPORTED" in + yes) ;; *) MULTI_ARCH=no ;; esac - ;; - *) - MULTI_ARCH=no - ;; - esac + done + AC_MSG_CHECKING([MULTI_ARCH]) + AC_MSG_RESULT([$MULTI_ARCH]) ;; xyes|xno) ;; @@ -544,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 @@ -566,18 +551,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-test-pressure/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 ]) echo "" @@ -587,16 +571,14 @@ 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 " i386 and amd64 libaltos.....: ${MULTI_ARCH}" +echo " multi-arch libaltos.........: ${MULTI_ARCH}" echo " install shared mime info....: ${INSTALL_SHARED_MIME_INFO}" +echo " Strip jar timestamps........: ${STRIP_NONDETERMINISM}" echo "" echo " Java" echo " freetts.....................: ${FREETTS}" @@ -604,6 +586,7 @@ echo " jfreechart..................: ${JFREECHART}" echo " jcommon.....................: ${JCOMMON}" echo " JVM include.................: ${JVM_INCLUDE}" echo " AltosDroid maps API key.....: ${HAVE_GOOGLE_KEY}" +echo " Windows installer key.......: ${HAVE_WINDOWS_KEY}" if test x${ANDROID_SDK} != "xno"; then echo "" echo " Android path"