Update to the v0.7.0 release. Only a couple of trivial changes from the last development version we merged with: - add new product ID for the Sherwood Amphos 2.0 - make the example app use the product name and not vendor name for the McLean Extrme * tag 'v0.7.0': Release version 0.7.0 Use the product name as the family name Add support for the Sherwood Amphos 2.0
295 lines
7.4 KiB
Plaintext
295 lines
7.4 KiB
Plaintext
# Versioning.
|
|
m4_define([dc_version_major],[0])
|
|
m4_define([dc_version_minor],[7])
|
|
m4_define([dc_version_micro],[0])
|
|
m4_define([dc_version_suffix],[Subsurface-NG])
|
|
m4_define([dc_version],dc_version_major.dc_version_minor.dc_version_micro[]m4_ifset([dc_version_suffix],-[dc_version_suffix]))
|
|
|
|
# Libtool versioning.
|
|
m4_define([dc_version_lt_current],[0])
|
|
m4_define([dc_version_lt_revision],[0])
|
|
m4_define([dc_version_lt_age],[0])
|
|
|
|
# Initialize autoconf.
|
|
AC_PREREQ([2.60])
|
|
AC_INIT([libdivecomputer],[dc_version])
|
|
AC_CONFIG_SRCDIR([config.h.in])
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
# Initialize automake.
|
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
|
|
|
# Fix for automake >= 1.12
|
|
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
|
|
|
# Initialize libtool.
|
|
LT_PREREQ([2.2.0])
|
|
LT_INIT([win32-dll])
|
|
LT_PROG_RC
|
|
|
|
# Logging support.
|
|
AC_ARG_ENABLE([logging],
|
|
[AS_HELP_STRING([--enable-logging=@<:@yes/no@:>@],
|
|
[Enable logging @<:@default=yes@:>@])],
|
|
[], [enable_logging=yes])
|
|
AS_IF([test "x$enable_logging" = "xyes"], [
|
|
AC_DEFINE(ENABLE_LOGGING, [1], [Enable logging.])
|
|
])
|
|
|
|
# Pseudo terminal support.
|
|
AC_ARG_ENABLE([pty],
|
|
[AS_HELP_STRING([--enable-pty=@<:@yes/no@:>@],
|
|
[Enable pseudo terminal support @<:@default=no@:>@])],
|
|
[], [enable_pty=no])
|
|
AS_IF([test "x$enable_pty" = "xyes"], [
|
|
AC_DEFINE(ENABLE_PTY, [1], [Enable pseudo terminal support.])
|
|
])
|
|
|
|
# Example applications.
|
|
AC_ARG_ENABLE([examples],
|
|
[AS_HELP_STRING([--enable-examples=@<:@yes/no@:>@],
|
|
[Build example applications @<:@default=yes@:>@])],
|
|
[], [enable_examples=yes])
|
|
AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
|
|
|
|
# Documentation.
|
|
AC_ARG_ENABLE([doc],
|
|
[AS_HELP_STRING([--enable-doc=@<:@yes/no@:>@],
|
|
[Build documentation @<:@default=yes@:>@])],
|
|
[], [enable_doc=yes])
|
|
AM_CONDITIONAL([ENABLE_DOC], [test "x$enable_doc" = "xyes"])
|
|
|
|
# Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_CC_C99
|
|
AC_CHECK_PROGS([DOXYGEN], [doxygen])
|
|
AC_CHECK_PROGS([MANDOC], [mandoc])
|
|
|
|
AM_CONDITIONAL([HAVE_DOXYGEN],[test -n "$DOXYGEN"])
|
|
AM_CONDITIONAL([HAVE_MANDOC],[test -n "$MANDOC"])
|
|
|
|
# Enable automake silent build rules.
|
|
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
|
|
|
# Checks for operating system.
|
|
AC_MSG_CHECKING([for operating system])
|
|
case "$host" in
|
|
*-*-mingw*)
|
|
platform=windows
|
|
;;
|
|
*-*-darwin*)
|
|
platform=mac
|
|
;;
|
|
*)
|
|
platform=default
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT([$platform])
|
|
AM_CONDITIONAL([OS_WIN32], [test "$platform" = "windows"])
|
|
|
|
DEPENDENCIES=""
|
|
|
|
# Checks for USB support.
|
|
AC_ARG_WITH([libusb],
|
|
[AS_HELP_STRING([--without-libusb],
|
|
[Build without the libusb library])],
|
|
[], [with_libusb=auto])
|
|
AS_IF([test "x$with_libusb" != "xno"], [
|
|
PKG_CHECK_MODULES([LIBUSB], [libusb-1.0], [have_libusb=yes], [have_libusb=no])
|
|
AS_IF([test "x$have_libusb" = "xyes"], [
|
|
AC_DEFINE([HAVE_LIBUSB], [1], [libusb library])
|
|
DEPENDENCIES="$DEPENDENCIES libusb-1.0"
|
|
])
|
|
])
|
|
|
|
# Checks for MTP support.
|
|
AC_ARG_WITH([libmtp],
|
|
[AS_HELP_STRING([--without-libmtp],
|
|
[Build without the libmtp library])],
|
|
[], [with_libmtp=auto])
|
|
AS_IF([test "x$with_libmtp" != "xno"], [
|
|
PKG_CHECK_MODULES([LIBMTP], [libmtp], [have_libmtp=yes], [have_libmtp=no])
|
|
AS_IF([test "x$have_libmtp" = "xyes"], [
|
|
AC_DEFINE([HAVE_LIBMTP], [1], [libmtp library])
|
|
DEPENDENCIES="$DEPENDENCIES libmtp"
|
|
])
|
|
])
|
|
|
|
# Checks for HIDAPI support.
|
|
AC_ARG_WITH([hidapi],
|
|
[AS_HELP_STRING([--without-hidapi],
|
|
[Build without the hidapi library])],
|
|
[], [with_hidapi=auto])
|
|
AS_IF([test "x$with_hidapi" != "xno"], [
|
|
PKG_CHECK_MODULES([HIDAPI], [hidapi], [have_hidapi=yes], [have_hidapi=no])
|
|
AS_IF([test "x$have_hidapi" = "xyes"], [
|
|
AC_DEFINE([HAVE_HIDAPI], [1], [hidapi library])
|
|
DEPENDENCIES="$DEPENDENCIES hidapi"
|
|
])
|
|
])
|
|
|
|
# Checks for BlueZ (bluetooth) support.
|
|
AC_ARG_WITH([bluez],
|
|
[AS_HELP_STRING([--without-bluez],
|
|
[Build without the BlueZ library])],
|
|
[], [with_bluez=auto])
|
|
AS_IF([test "x$with_bluez" != "xno"], [
|
|
PKG_CHECK_MODULES([BLUEZ], [bluez], [have_bluez=yes], [have_bluez=no])
|
|
AS_IF([test "x$have_bluez" = "xyes"], [
|
|
AC_DEFINE([HAVE_BLUEZ], [1], [BlueZ library])
|
|
DEPENDENCIES="$DEPENDENCIES bluez"
|
|
])
|
|
])
|
|
|
|
AC_SUBST([DEPENDENCIES])
|
|
|
|
# Checks for Windows bluetooth support.
|
|
AC_CHECK_HEADERS([winsock2.h ws2bth.h], , , [
|
|
#if HAVE_WINSOCK2_H
|
|
# include <winsock2.h>
|
|
# endif
|
|
])
|
|
|
|
# Checks for IrDA support.
|
|
AC_CHECK_HEADERS([winsock2.h af_irda.h], , , [
|
|
#if HAVE_WINSOCK2_H
|
|
# include <winsock2.h>
|
|
# endif
|
|
])
|
|
|
|
AC_CHECK_HEADERS([sys/socket.h linux/types.h linux/irda.h], , , [
|
|
#if HAVE_SYS_SOCKET_H
|
|
# include <sys/socket.h>
|
|
# endif
|
|
#if HAVE_LINUX_TYPES_H
|
|
# include <linux/types.h>
|
|
# endif
|
|
])
|
|
|
|
# Checks for header files.
|
|
AC_CHECK_HEADERS([linux/serial.h])
|
|
AC_CHECK_HEADERS([IOKit/serial/ioss.h])
|
|
AC_CHECK_HEADERS([getopt.h])
|
|
AC_CHECK_HEADERS([sys/param.h])
|
|
AC_CHECK_HEADERS([pthread.h])
|
|
AC_CHECK_HEADERS([mach/mach_time.h])
|
|
|
|
# Checks for global variable declarations.
|
|
AC_CHECK_DECLS([optreset])
|
|
|
|
# Checks for structures.
|
|
AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[
|
|
#include <time.h>
|
|
])
|
|
|
|
# Checks for library functions.
|
|
AC_FUNC_STRERROR_R
|
|
AC_CHECK_FUNCS([localtime_r gmtime_r timegm _mkgmtime])
|
|
AC_CHECK_FUNCS([clock_gettime mach_absolute_time])
|
|
AC_CHECK_FUNCS([getopt_long])
|
|
|
|
# Checks for supported compiler options.
|
|
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option],[ERROR_CFLAGS])
|
|
AX_APPEND_COMPILE_FLAGS([ \
|
|
-Wall \
|
|
-Wshadow \
|
|
-Wrestrict \
|
|
-Wformat=2 \
|
|
-Wwrite-strings \
|
|
-Wpointer-arith \
|
|
-Wstrict-prototypes \
|
|
-Wmissing-prototypes \
|
|
-Wmissing-declarations \
|
|
-Wno-unused-parameter \
|
|
-Wno-unused-function \
|
|
-Wno-unused-variable \
|
|
-Wno-unused-but-set-variable \
|
|
-Wno-pointer-sign \
|
|
-Wno-shadow \
|
|
-fmacro-prefix-map='$(top_srcdir)/'= \
|
|
],,[$ERROR_CFLAGS])
|
|
|
|
# Windows specific compiler options.
|
|
AS_IF([test "$platform" = "windows"], [
|
|
AX_APPEND_COMPILE_FLAGS([-Wno-pedantic-ms-format])
|
|
])
|
|
|
|
# Versioning.
|
|
AC_SUBST([DC_VERSION],[dc_version])
|
|
AC_SUBST([DC_VERSION_MAJOR],[dc_version_major])
|
|
AC_SUBST([DC_VERSION_MINOR],[dc_version_minor])
|
|
AC_SUBST([DC_VERSION_MICRO],[dc_version_micro])
|
|
AC_SUBST([DC_VERSION_LIBTOOL],[dc_version_lt_current:dc_version_lt_revision:dc_version_lt_age])
|
|
|
|
# Version suffix.
|
|
m4_ifset([dc_version_suffix],[
|
|
AC_DEFINE(HAVE_VERSION_SUFFIX, [1], [Define if a version suffix is present.])
|
|
])
|
|
|
|
# Supported transports
|
|
transport_serial="yes"
|
|
transport_usb="${have_libusb-no}"
|
|
if test "$have_hidapi" = "yes"; then
|
|
transport_usbhid="yes"
|
|
elif test "$have_libusb" = "yes" && test "$platform" != "mac"; then
|
|
transport_usbhid="yes"
|
|
else
|
|
transport_usbhid="no"
|
|
fi
|
|
if test "$platform" = "windows"; then
|
|
transport_irda="$ac_cv_header_af_irda_h"
|
|
transport_bluetooth="$ac_cv_header_ws2bth_h"
|
|
else
|
|
transport_irda="$ac_cv_header_linux_irda_h"
|
|
transport_bluetooth="${have_bluez-no}"
|
|
fi
|
|
transport_ble="no"
|
|
|
|
AC_CONFIG_FILES([
|
|
libdivecomputer.pc
|
|
Makefile
|
|
include/Makefile
|
|
include/libdivecomputer/Makefile
|
|
include/libdivecomputer/version.h
|
|
src/Makefile
|
|
src/libdivecomputer.rc
|
|
doc/Makefile
|
|
doc/doxygen.cfg
|
|
doc/man/Makefile
|
|
examples/Makefile
|
|
])
|
|
AC_OUTPUT
|
|
AC_MSG_NOTICE([
|
|
$PACKAGE $VERSION
|
|
===============
|
|
|
|
Compiler:
|
|
|
|
CC : $CC
|
|
CFLAGS : $CFLAGS
|
|
LDFLAGS : $LDFLAGS
|
|
|
|
Features:
|
|
|
|
Logging : $enable_logging
|
|
Pseudo terminal : $enable_pty
|
|
Example applications : $enable_examples
|
|
Documentation : $enable_doc
|
|
|
|
Transports:
|
|
|
|
Serial : $transport_serial
|
|
USB : $transport_usb
|
|
USBHID : $transport_usbhid
|
|
IrDA : $transport_irda
|
|
Bluetooth : $transport_bluetooth
|
|
BLE : $transport_ble
|
|
|
|
Building:
|
|
|
|
Type 'make' to compile $PACKAGE.
|
|
|
|
Type 'make install' to install $PACKAGE.
|
|
])
|