dnl
dnl  Copyright © 2008,2009 Keith Packard <keithp@keithp.com>
dnl
dnl  This program is free software; you can redistribute it and/or modify
dnl  it under the terms of the GNU General Public License as published by
dnl  the Free Software Foundation; either version 2 of the License, or
dnl  (at your option) any later version.
dnl
dnl  This program is distributed in the hope that it will be useful, but
dnl  WITHOUT ANY WARRANTY; without even the implied warranty of
dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
dnl  General Public License for more details.
dnl
dnl  You should have received a copy of the GNU General Public License along
dnl  with this program; if not, write to the Free Software Foundation, Inc.,
dnl  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
dnl
dnl Process this file with autoconf to create configure.

AC_PREREQ(2.57)
AC_INIT([altos], 1.9.18)
ANDROID_VERSION=37
AC_CONFIG_SRCDIR([src/kernel/ao.h])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE

RELEASE_DATE=2024-04-28
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)

dnl ==========================================================================
dnl Java library versions

ALTOSUILIB_VERSION=14
ALTOSLIB_VERSION=14

AC_SUBST(ALTOSLIB_VERSION)
AC_DEFINE(ALTOSLIB_VERSION,$ALTOSLIB_VERSION,[Version of the AltosLib package])
AC_SUBST(ALTOSUILIB_VERSION)
AC_DEFINE(ALTOSUILIB_VERSION,$ALTOSUILIB_VERSION,[Version of the AltosUILib package])

dnl ==========================================================================

AM_CONFIG_HEADER(config.h)

AC_ARG_WITH(freetts, AS_HELP_STRING([--with-freetts=PATH],
	[Set freetts class path (default /usr/share/java)]),
	[FREETTS=$withval], [FREETTS=/usr/share/java])

AC_SUBST(FREETTS)

AC_ARG_WITH(jfreechart, AS_HELP_STRING([--with-jfreechart=PATH],
	[Set jfreechart class path (default /usr/share/java)]),
	[JFREECHART=$withval], [JFREECHART=/usr/share/java])

AC_SUBST(JFREECHART)

AC_ARG_WITH(jcommon, AS_HELP_STRING([--with-jcommon=PATH],
	[Set jcommon class path (default /usr/share/java)]),
	[JCOMMON=$withval], [JCOMMON=/usr/share/java])

AC_SUBST(JCOMMON)

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" = "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=/usr/lib/jvm/"$jvm"
			fi
		fi
	done
	if test "x$JVM" = "xauto"; then
		AC_MSG_ERROR([no JVM files found])
	fi
	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)]),
	[ANDROID_SDK=$withval], [ANDROID_SDK=${ANDROID_SDK:-auto}])

if test "x$ANDROID_SDK" = "xauto"; then
	AC_MSG_CHECKING([Android SDK])
	for sdk in ../android/android-sdk-linux ../android/android-sdk ../android-sdk ../android-sdk-linux $HOME/android; do
		if test "x$ANDROID_SDK" = "xauto"; then
			SDK="$sdk"
			if test -f "$SDK/SDK Readme.txt"; then
				ANDROID_SDK=`readlink -m "$SDK"`
			fi
		fi
	done
	if test "x$ANDROID_SDK" = "xauto"; then
		AC_MSG_NOTICE([no Android SDK found])
		ANDROID_SDK=no
	fi
	AC_MSG_RESULT([$ANDROID_SDK])
fi
if test "x$ANDROID_SDK" != "xno"; then
	AC_MSG_CHECKING([Android SDK version])
	SDK_VERSION=`grep -i '^Pkg.Revision=' $ANDROID_SDK/tools/source.properties | cut -f2- -d= | sed s/^r//`
	SDK_MAJOR_VERSION="`echo $SDK_VERSION | sed 's/[[^0-9]].*//'`"
	if test "$SDK_MAJOR_VERSION" -lt 17 ; then
		AC_MSG_NOTICE([SDK version $SDK_VERSION is too old. Need >= r17])
		ANDROID_SDK=no
	else
		AC_MSG_RESULT([$SDK_VERSION])
	fi
fi
if test "x$ANDROID_SDK" != "xno"; then
	AC_MSG_CHECKING([Android SDK API Level])
	if test -f "$ANDROID_SDK/platforms/android-10/source.properties"; then
		API_LEVEL=`sed -ne 's/^AndroidVersion.ApiLevel=//p' $ANDROID_SDK/platforms/android-10/source.properties`
		if test "$API_LEVEL" = "10"; then
			AC_MSG_RESULT([$API_LEVEL])
		else
			AC_MSG_NOTICE([API Level 10 not installed correctly.])
			ANDROID_SDK=no
		fi
	else
		AC_MSG_NOTICE([API Level 10 not installed, but is required.])
		ANDROID_SDK=no
	fi
fi
if test "x$ANDROID_SDK" != "xno"; then
	AC_MSG_CHECKING([Android SDK required extras])
	if test -f "$ANDROID_SDK/extras/android/support/source.properties"; then
		ANDROID_SUPPORT_LIB_NAME=`sed -ne 's/^Extra.NameDisplay=//p' $ANDROID_SDK/extras/android/support/source.properties`
		if test -f "$ANDROID_SDK/extras/google/google_play_services/source.properties"; then
			GOOGLE_PLAY_SERVICES_NAME=`sed -ne 's/^Extra.NameDisplay=//p' $ANDROID_SDK/extras/google/google_play_services/source.properties`
			AC_MSG_RESULT([$ANDROID_SUPPORT_LIB_NAME, $GOOGLE_PLAY_SERVICES_NAME])
		else
			AC_MSG_NOTICE([Google Play Services library not installed.])
			ANDROID_SDK=no
		fi
	else
		AC_MSG_NOTICE([Android Support Library not installed.])
		ANDROID_SDK=no
	fi
fi

ANDROID_RELEASE=no
if test "x$ANDROID_SDK" != "xno"; then
	HAVE_ANDROID_SDK="yes"
	ANDROID_RELEASE=yes
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-install' distribution files to (defaults to no such target)]),
	    [FATDIR=$withval], [FATDIR=none])

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 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"`
	HAVE_GOOGLE_KEY="yes"
else
	GOOGLEKEY='null'
	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])

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
AC_PROG_LN_S
AC_PROG_LIBTOOL
PKG_PROG_PKG_CONFIG

WARN_CFLAGS=""
if test "x$GCC" = "xyes"; then
	WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
	-Wmissing-prototypes -Wmissing-declarations \
	-Wnested-externs -fno-strict-aliasing"
	AC_DEFINE_UNQUOTED(HAVE_WARNING_CPP_DIRECTIVE,1,
	[Can use #warning in C files])
fi
AC_SUBST(WARN_CFLAGS)

#
# Configure ARM compiler for STM32L and LPC11U14
#

AC_ARG_WITH([arm-cc],
	    [AS_HELP_STRING([--with-arm-cc],
	                    [Name of ARM C compiler])],
	    [],
	    [with_arm_cc=auto])

if test "x$with_arm_cc" != "xno"; then	    
	if test "x$with_arm_cc" = "xauto"; then
		with_arm_cc="arm-none-eabi-gcc"
		AC_CHECK_PROG([HAVE_ARM_CC],[$with_arm_cc], yes, no)
	else
		HAVE_ARM_CC=yes
	fi
else
	HAVE_ARM_CC=no
fi

if test "x$HAVE_ARM_CC" = "xno"; then
	AC_MSG_WARN([Arm compiler not found, ARM binaries will not be built])
else
	ARM_CC=$with_arm_cc
fi
AC_SUBST(HAVE_ARM_CC)
AC_SUBST(ARM_CC)

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="--specs=picolibc.specs"
	AC_LANG_PUSH([C])

	AC_MSG_CHECKING([if ]$ARM_CC[ supports cortex-m0])
	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_LINK_IFELSE([AC_LANG_PROGRAM([])],
			  [HAVE_ARM_M3_CC=yes],
			  [HAVE_ARM_M3_CC=no])
        AC_MSG_RESULT([$HAVE_ARM_M3_CC])

	AC_LANG_POP([C])
	LIBS="$save_LIBS"
	CFLAGS="$save_CFLAGS"
	CC="$save_CC"
else
	HAVE_ARM_M3_CC=no
	HAVE_ARM_M0_CC=no
fi
AC_SUBST(HAVE_ARM_M3_CC)
AC_SUBST(HAVE_ARM_M0_CC)
	
if test "x$HAVE_ARM_M3_CC" = "xno"; then
	AC_MSG_WARN([No cortex-m3 arm compiler found, STM32L binaries will not be built])
fi

if test "x$HAVE_ARM_M0_CC" = "xno"; then
	AC_MSG_WARN([No cortex-m0 arm compiler found, LPC11U14 and STM32F0 binaries will not be built])
fi



#
# Configure AVR compiler
#

AC_ARG_WITH([avr-cc],
	    [AS_HELP_STRING([--with-avr-cc],
	                    [Name of AVR C compiler])],
	    [],
	    [with_avr_cc=auto])

if test "x$with_avr_cc" != "xno"; then	    
	if test "x$with_avr_cc" = "xauto"; then
		with_avr_cc="avr-gcc"
		AC_CHECK_PROG([HAVE_AVR_CC],[$with_avr_cc], yes, no)
	else
		HAVE_AVR_CC=yes
	fi
else
	HAVE_AVR_CC=no
fi

AC_ARG_WITH([avr-objcopy],
	    [AS_HELP_STRING([--with-avr-objcopy],
	                    [Name of AVR objcopy])],
	    [],
	    [with_avr_objcopy=auto])

if test "x$with_avr_objcopy" != "xno"; then	    
	if test "x$with_avr_objcopy" = "xauto"; then
		with_avr_objcopy="avr-objcopy"
		AC_CHECK_PROG([HAVE_AVR_OBJCOPY],[$with_avr_objcopy], yes, no)
	else
		HAVE_AVR_OBJCOPY=yes
	fi
else
	HAVE_AVR_OBJCOPY=no
fi

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
	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)
AC_SUBST(AVR_OBJCOPY)
AC_SUBST(HAVE_AVR_CC)

AC_CHECK_PROG([HAVE_NICKLE], [nickle], yes, no)
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],
	    [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])

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 = 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)
	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
	done
	AC_MSG_CHECKING([MULTI_ARCH])
	AC_MSG_RESULT([$MULTI_ARCH])
	;;
xyes|xno)
	;;
*)
	MULTI_ARCH="no"
	;;
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
altosui/Makefile
altosui/Info.plist
altosui/altos-windows.nsi
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
altosdroid/app/src/main/AndroidManifest.xml
altosdroid/app/build.gradle
ao-tools/Makefile
ao-tools/lib/Makefile
ao-tools/ao-rawload/Makefile
ao-tools/ao-dbg/Makefile
ao-tools/ao-bitbang/Makefile
ao-tools/ao-eeprom/Makefile
ao-tools/ao-list/Makefile
ao-tools/ao-load/Makefile
ao-tools/ao-telem/Makefile
ao-tools/ao-stmload/Makefile
ao-tools/ao-send-telem/Makefile
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-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-makebin/Makefile
ao-utils/Makefile
map-server/Makefile
map-server/altos-mapd/Makefile
map-server/altos-map/Makefile
map-server/altos-mapj/Makefile
])

echo ""
echo "  Package: ${PACKAGE_NAME} ${PACKAGE_VERSION}"
echo ""
echo "  Configuration"
echo "    Arm compiler................: ${ARM_CC}"
echo "    STM32L support..............: ${HAVE_ARM_M3_CC}"
echo "    LPC11U14 support............: ${HAVE_ARM_M0_CC}"
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 "    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}"
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"
echo "    Android SDK.................: ${ANDROID_SDK}"
fi
echo ""
