mirror of
https://github.com/avrdudes/avrdude.git
synced 2026-07-20 00:19:22 +03:00
Let the autoreconf tool handle the sequencing of tool calls. The autoreconf tool has been dealing with calling tools like aclocal, libtoolize, etc. quite well for about the last 20 years. This keeps the "bootstrap" script around to keep the old way of calling bootstrap working, i.e. maintain compatibility with the existing workflows.
683 lines
18 KiB
Plaintext
683 lines
18 KiB
Plaintext
#
|
|
# avrdude - A Downloader/Uploader for AVR device programmers
|
|
# Copyright (C) 2003, 2004 Theodore A. Roth <troth@openavr.org>
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
# Process this file with autoreconf to produce a configure script.
|
|
|
|
AC_PREREQ(2.60)
|
|
AC_INIT([avrdude],
|
|
m4_esyscmd([./build-helpers/package-version . version-stamp]),
|
|
[https://github.com/avrdudes/avrdude/issues])
|
|
|
|
AC_CONFIG_SRCDIR([main.c])
|
|
AC_CONFIG_HEADERS([ac_cfg.h])
|
|
AC_CONFIG_AUX_DIR([auto-aux])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AC_CANONICAL_BUILD
|
|
AC_CANONICAL_HOST
|
|
AC_CANONICAL_TARGET
|
|
|
|
AM_INIT_AUTOMAKE([foreign])
|
|
|
|
# Check that the build-helpers/package-version script has worked properly.
|
|
case "$PACKAGE_VERSION" in
|
|
devel|version_error_*)
|
|
AC_MSG_ERROR([
|
|
Autogenerating the package version (${PACKAGE_VERSION}) has failed.
|
|
|
|
Please file an issue at ${PACKAGE_BUGREPORT}
|
|
|
|
You can write some version number to the file version-stamp as a
|
|
workaround to allow building avrdude until the filed issue has been
|
|
fixed.
|
|
])
|
|
;;
|
|
esac
|
|
|
|
LT_INIT()
|
|
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
|
|
# Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_INSTALL
|
|
AC_PROG_SED
|
|
AC_PROG_YACC
|
|
AC_PROG_LEX
|
|
AN_MAKEVAR([AR], [AC_PROG_AR])
|
|
AN_PROGRAM([ar], [AC_PROG_AR])
|
|
AC_DEFUN([AC_PROG_AR], [AC_CHECK_TARGET_TOOL(AR, ar, :)])
|
|
AC_PROG_AR
|
|
AH_TEMPLATE([HAVE_YYLEX_DESTROY],
|
|
[Define if lex/flex has yylex_destroy])
|
|
# flex should have this
|
|
if test "x$LEX" = xflex; then
|
|
AC_MSG_CHECKING([whether yylex_destroy is generated by flex])
|
|
flex_version=`$LEX -V -v --version 2>/dev/null | $SED -e 's/^.* //'`
|
|
case $flex_version in
|
|
[[0-1].*)]
|
|
AC_MSG_RESULT([version $flex_version => no])
|
|
;;
|
|
[2.[0-4].*)]
|
|
AC_MSG_RESULT([version $flex_version => no])
|
|
;;
|
|
[2.5.[0-8])]
|
|
AC_MSG_RESULT([version $flex_version => no])
|
|
;;
|
|
[2.5.[0-8][A-Za-z]*)]
|
|
AC_MSG_RESULT([version $flex_version => no])
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT([version $flex_version => yes])
|
|
AC_DEFINE([HAVE_YYLEX_DESTROY])
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
dnl Makefile.am:77: compiling `config_gram.c' with per-target flags requires `AM_PROG_CC_C_O' in `configure.ac'
|
|
AM_PROG_CC_C_O
|
|
|
|
# Checks for libraries.
|
|
# For MinGW.
|
|
AC_CHECK_LIB([ws2_32], [WSAStartup])
|
|
|
|
AC_CHECK_LIB([termcap], [tputs])
|
|
AC_CHECK_LIB([ncurses], [tputs])
|
|
AC_CHECK_LIB([readline], [readline])
|
|
AH_TEMPLATE([HAVE_LIBELF],
|
|
[Define if ELF support is enabled via libelf])
|
|
AC_CHECK_LIB([elf], [elf_getshdrstrndx], [have_libelf=yes])
|
|
if test x$have_libelf = xyes; then
|
|
case $target in
|
|
*)
|
|
LIBELF="-lelf"
|
|
;;
|
|
esac
|
|
AC_DEFINE([HAVE_LIBELF])
|
|
AC_CHECK_HEADERS([libelf.h libelf/libelf.h])
|
|
fi
|
|
AC_SUBST(LIBELF, $LIBELF)
|
|
|
|
AC_SEARCH_LIBS([gethostent], [nsl])
|
|
AC_SEARCH_LIBS([setsockopt], [socket])
|
|
AH_TEMPLATE([HAVE_LIBUSB],
|
|
[Define if USB support is enabled via libusb])
|
|
AC_CHECK_LIB([usb], [usb_get_string_simple], [have_libusb=yes])
|
|
if test x$have_libusb = xyes; then
|
|
case $target in
|
|
*-*-darwin*)
|
|
LIBUSB="-lusb -framework CoreFoundation -framework IOKit"
|
|
;;
|
|
*)
|
|
LIBUSB="-lusb"
|
|
;;
|
|
esac
|
|
AC_DEFINE([HAVE_LIBUSB])
|
|
AC_CHECK_HEADERS([usb.h])
|
|
AC_CHECK_HEADERS([lusb0_usb.h])
|
|
fi
|
|
AC_SUBST(LIBUSB, $LIBUSB)
|
|
|
|
AC_ARG_ENABLE(
|
|
[libusb_1_0],
|
|
AC_HELP_STRING(
|
|
[--disable-libusb_1_0],
|
|
[Allow to build with libusb instead of libusb_1_0 if both are present]),
|
|
[case "${enableval}" in
|
|
yes) enabled_libusb_1_0=yes ;;
|
|
no) enabled_libusb_1_0=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for enable-libusb_1_0 option) ;;
|
|
esac],
|
|
[enabled_libusb_1_0=yes])
|
|
|
|
AH_TEMPLATE([HAVE_LIBUSB_1_0],
|
|
[Define if USB support is enabled via libusb 1.0])
|
|
AC_CHECK_LIB([usb-1.0], [libusb_init], [have_libusb_1_0=yes])
|
|
if test x$have_libusb_1_0 = xyes && test x$enabled_libusb_1_0 = xyes; then
|
|
case $target in
|
|
*-*-darwin*)
|
|
LIBUSB_1_0="-lusb-1.0 -framework CoreFoundation -framework IOKit"
|
|
;;
|
|
*)
|
|
LIBUSB_1_0="-lusb-1.0"
|
|
;;
|
|
esac
|
|
AC_DEFINE([HAVE_LIBUSB_1_0])
|
|
AC_CHECK_HEADERS([libusb-1.0/libusb.h])
|
|
AC_CHECK_HEADERS([libusb.h])
|
|
fi
|
|
AH_TEMPLATE([HAVE_LIBUSB_1_0],
|
|
[Define if USB support is enabled via a libusb-1.0 compatible libusb])
|
|
AC_CHECK_LIB([usb], [libusb_init], [have_libusb_1_0=yes])
|
|
if test x$have_libusb_1_0 = xyes && test x$enabled_libusb_1_0 = xyes; then
|
|
case $target in
|
|
*-*-freebsd*)
|
|
# FreeBSD 8+ has a native libusb-1.0 API compatible
|
|
# library offered by -lusb (which is also libusb-0.1
|
|
# compatible). FreeBSD <8 does not have a libusb-1.0
|
|
# at all so probing will fail but we do not have to
|
|
# special-case that.
|
|
LIBUSB_1_0="-lusb"
|
|
;;
|
|
*)
|
|
LIBUSB_1_0="-lusb-1.0"
|
|
;;
|
|
esac
|
|
AC_DEFINE([HAVE_LIBUSB_1_0])
|
|
AC_CHECK_HEADERS([libusb.h])
|
|
fi
|
|
AC_SUBST(LIBUSB_1_0, $LIBUSB_1_0)
|
|
|
|
AH_TEMPLATE([HAVE_LIBHIDAPI],
|
|
[Define if HID support is enabled via libhidapi])
|
|
AC_SEARCH_LIBS([hid_init], [hidapi hidapi-libusb hidapi-hidraw], [have_libhidapi=yes])
|
|
if test x$have_libhidapi = xyes; then
|
|
case $target in
|
|
*-*-darwin*)
|
|
LIBHIDAPI="-lhidapi -iframework CoreFoundation -framework IOKit"
|
|
;;
|
|
*)
|
|
LIBHIDAPI="$ac_cv_lib_hid_init"
|
|
;;
|
|
esac
|
|
AC_DEFINE([HAVE_LIBHIDAPI])
|
|
AC_CHECK_HEADERS([hidapi/hidapi.h])
|
|
fi
|
|
AC_SUBST(LIBHIDAPI, $LIBHIDAPI)
|
|
|
|
AH_TEMPLATE([HAVE_LIBSERIALPORT],
|
|
[Define if libserialport is found])
|
|
AC_CHECK_LIB([serialport], [sp_open], [have_libserialport=yes])
|
|
if test x$have_libserialport = xyes; then
|
|
case $target in
|
|
*)
|
|
LIBSERIALPORT="-lserialport"
|
|
;;
|
|
esac
|
|
AC_DEFINE([HAVE_LIBSERIALPORT])
|
|
AC_CHECK_HEADERS([libserialport.h])
|
|
fi
|
|
AC_SUBST(LIBSERIALPORT, $LIBSERIALPORT)
|
|
|
|
AH_TEMPLATE([HAVE_LIBFTDI1],
|
|
[Define if FTDI support is enabled via libftdi1])
|
|
AH_TEMPLATE([HAVE_LIBFTDI],
|
|
[Define if FTDI support is enabled via libftdi])
|
|
AH_TEMPLATE([HAVE_LIBFTDI_TYPE_232H],
|
|
[Define if libftdi supports FT232H, libftdi version >= 0.20])
|
|
AC_CHECK_LIB([ftdi1], [ftdi_new], [have_libftdi1=yes], [], [$LIBUSB_1_0])
|
|
AC_CHECK_LIB([ftdi], [ftdi_usb_get_strings], [have_libftdi=yes], [], [-lusb])
|
|
if test x$have_libftdi1 = xyes; then
|
|
LIBFTDI1="-lftdi1"
|
|
AC_DEFINE([HAVE_LIBFTDI1])
|
|
AC_SUBST(LIBFTDI1, $LIBFTDI1)
|
|
LIBS="${LIBS} ${LIBFTDI1}"
|
|
AC_CHECK_FUNCS(ftdi_tcioflush)
|
|
else
|
|
if test x$have_libftdi = xyes; then
|
|
LIBFTDI="-lftdi -lusb"
|
|
AC_DEFINE([HAVE_LIBFTDI])
|
|
AC_SUBST(LIBFTDI, $LIBFTDI)
|
|
AC_CHECK_DECL(TYPE_232H,[have_libftdi_FT232H=yes], [], [[#include <ftdi.h>]])
|
|
if test x$have_libftdi_FT232H = xyes; then
|
|
AC_DEFINE([HAVE_LIBFTDI_TYPE_232H])
|
|
fi
|
|
fi
|
|
fi
|
|
AC_CHECK_HEADERS([pthread.h])
|
|
# as there exits header file only pthread implementations for Windows, check if we have a library
|
|
AC_CHECK_LIB([pthread], [pthread_create], [have_pthread=yes])
|
|
if test x$have_pthread = xyes; then
|
|
LIBPTHREAD="-lpthread"
|
|
fi
|
|
AC_SUBST(LIBPTHREAD, $LIBPTHREAD)
|
|
# Checks for header files.
|
|
AC_CHECK_HEADERS([limits.h stdlib.h string.h])
|
|
AC_CHECK_HEADERS([fcntl.h sys/ioctl.h sys/time.h termios.h unistd.h])
|
|
AC_CHECK_HEADERS([ddk/hidsdi.h],,,[#include <windows.h>
|
|
#include <setupapi.h>])
|
|
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_HEADER_TIME
|
|
|
|
AC_CHECK_HEADERS([netinet/in.h])
|
|
|
|
# Checks for library functions.
|
|
AC_CHECK_FUNCS([memset select strcasecmp strdup strerror strncasecmp strtol strtoul gettimeofday usleep getaddrinfo])
|
|
|
|
AC_MSG_CHECKING([for a Win32 HID library])
|
|
SAVED_LIBS="${LIBS}"
|
|
case $target in
|
|
*-*-mingw32* | *-*-cygwin* | *-*-windows*)
|
|
LIBHID="-lhid -lsetupapi"
|
|
HIDINCLUDE="#include <hidsdi.h>"
|
|
;;
|
|
*)
|
|
LIBHID=""
|
|
;;
|
|
esac
|
|
LIBS="${LIBS} ${LIBHID}"
|
|
|
|
AH_TEMPLATE([HAVE_LIBHID],
|
|
[Define if HID support is enabled via the Win32 DDK])
|
|
AC_TRY_LINK([#include <windows.h>
|
|
#include <setupapi.h>
|
|
$HIDINCLUDE],
|
|
[int
|
|
main(void)
|
|
{
|
|
GUID hidGuid;
|
|
HidD_GetHidGuid(&hidGuid);
|
|
|
|
return 0;
|
|
}
|
|
], [have_libhid=yes], [have_libhid=no])
|
|
AC_MSG_RESULT([$have_libhid])
|
|
if test x$have_libhid = xyes; then
|
|
AC_DEFINE([HAVE_LIBHID])
|
|
else
|
|
LIBHID=""
|
|
fi
|
|
LIBS="${SAVED_LIBS}"
|
|
AC_SUBST(LIBHID, $LIBHID)
|
|
|
|
# Check for types
|
|
|
|
# Solaris has uint_t and ulong_t typedefs in <sys/types.h>, avoid
|
|
# the redeclaration in usbtiny.c.
|
|
AC_CHECK_TYPES([uint_t], [], [], [#include <sys/types.h>])
|
|
AC_CHECK_TYPES([ulong_t], [], [], [#include <sys/types.h>])
|
|
|
|
# Checks for misc stuff.
|
|
|
|
AC_ARG_ENABLE(
|
|
[versioned-doc],
|
|
AC_HELP_STRING(
|
|
[--enable-versioned-doc],
|
|
[install docs in directory with version name (default)]),
|
|
[case "${enableval}" in
|
|
yes) versioned_doc=yes ;;
|
|
no) versioned_doc=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for versioned-doc option) ;;
|
|
esac],
|
|
[versioned_doc=yes])
|
|
|
|
if test "$versioned_doc" = "yes"; then
|
|
DOC_INST_DIR='$(DESTDIR)$(datadir)/doc/avrdude-$(VERSION)'
|
|
else
|
|
DOC_INST_DIR='$(DESTDIR)$(datadir)/doc/avrdude'
|
|
fi
|
|
|
|
AC_ARG_ENABLE(
|
|
[doc],
|
|
AC_HELP_STRING(
|
|
[--enable-doc],
|
|
[Enable building documents]),
|
|
[case "${enableval}" in
|
|
yes) enabled_doc=yes ;;
|
|
no) enabled_doc=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for disable-doc option) ;;
|
|
esac],
|
|
[enabled_doc=no])
|
|
|
|
AC_ARG_ENABLE(
|
|
[parport],
|
|
AC_HELP_STRING(
|
|
[--enable-parport],
|
|
[Enable accessing parallel ports(default)]),
|
|
[case "${enableval}" in
|
|
yes) enabled_parport=yes ;;
|
|
no) enabled_parport=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for enable-parport option) ;;
|
|
esac],
|
|
[enabled_parport=no])
|
|
|
|
AC_ARG_ENABLE(
|
|
[linuxgpio],
|
|
AC_HELP_STRING(
|
|
[--enable-linuxgpio],
|
|
[Enable the Linux sysfs GPIO interface programmer type]),
|
|
[case "${enableval}" in
|
|
yes) enabled_linuxgpio=yes ;;
|
|
no) enabled_linuxgpio=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for enable-linuxgpio option) ;;
|
|
esac],
|
|
[enabled_linuxgpio=no])
|
|
|
|
AC_ARG_ENABLE(
|
|
[linuxspi],
|
|
AC_HELP_STRING(
|
|
[--enable-linuxspi],
|
|
[Enable the Linux SPIDEV interface programmer type]),
|
|
[case "${enableval}" in
|
|
yes) enabled_linuxspi=yes ;;
|
|
no) enabled_linuxspi=no ;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for enable-linuxspi option) ;;
|
|
esac],
|
|
[enabled_linuxspi=no])
|
|
|
|
DIST_SUBDIRS_AC='doc'
|
|
|
|
if test "$enabled_doc" = "yes"; then
|
|
SUBDIRS_AC='doc'
|
|
else
|
|
SUBDIRS_AC=''
|
|
fi
|
|
|
|
AC_SUBST(DOC_INST_DIR, $DOC_INST_DIR)
|
|
AC_SUBST(SUBDIRS_AC, $SUBDIRS_AC)
|
|
AC_SUBST(DIST_SUBDIRS_AC, $DIST_SUBDIRS_AC)
|
|
|
|
|
|
# Find the parallel serial device files based on target system
|
|
# If a system doesn't have a PC style parallel, mark it as unknown.
|
|
case $target in
|
|
i[[3456]]86-*-linux*|x86_64-*-linux*)
|
|
DEFAULT_PAR_PORT="/dev/parport0"
|
|
DEFAULT_SER_PORT="/dev/ttyS0"
|
|
DEFAULT_LINUXGPIO_PORT="gpiochip0"
|
|
;;
|
|
*-*-linux*)
|
|
DEFAULT_PAR_PORT="unknown"
|
|
DEFAULT_SER_PORT="/dev/ttyS0"
|
|
DEFAULT_LINUXGPIO_PORT="gpiochip0"
|
|
;;
|
|
i[[3456]]86-*-*freebsd*|amd64-*-*freebsd*)
|
|
DEFAULT_PAR_PORT="/dev/ppi0"
|
|
DEFAULT_SER_PORT="/dev/cuad0"
|
|
DEFAULT_LINUXGPIO_PORT="unknown"
|
|
;;
|
|
*-*-*freebsd*)
|
|
DEFAULT_PAR_PORT="unknown"
|
|
DEFAULT_SER_PORT="/dev/cuad0"
|
|
DEFAULT_LINUXGPIO_PORT="unknown"
|
|
;;
|
|
*-*-solaris*)
|
|
DEFAULT_PAR_PORT="/dev/printers/0"
|
|
DEFAULT_SER_PORT="/dev/term/a"
|
|
DEFAULT_LINUXGPIO_PORT="unknown"
|
|
;;
|
|
*-*-msdos* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
|
|
DEFAULT_PAR_PORT="lpt1"
|
|
DEFAULT_SER_PORT="com1"
|
|
DEFAULT_LINUXGPIO_PORT="unknown"
|
|
;;
|
|
*)
|
|
DEFAULT_PAR_PORT="unknown"
|
|
DEFAULT_SER_PORT="unknown"
|
|
DEFAULT_LINUXGPIO_PORT="unknown"
|
|
;;
|
|
esac
|
|
|
|
if test "$enabled_parport" = "yes"; then
|
|
AC_MSG_CHECKING([for parallel device])
|
|
if test "$DEFAULT_PAR_PORT" = "unknown"; then
|
|
AC_MSG_NOTICE([parallel port access disabled for this system])
|
|
enabled_parport=no
|
|
else
|
|
AC_MSG_RESULT([$DEFAULT_PAR_PORT])
|
|
fi
|
|
AC_SUBST(DEFAULT_PAR_PORT, $DEFAULT_PAR_PORT)
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for serial device])
|
|
AC_MSG_RESULT([$DEFAULT_SER_PORT])
|
|
AC_SUBST(DEFAULT_SER_PORT, $DEFAULT_SER_PORT)
|
|
|
|
if test "$enabled_parport" = "yes"; then
|
|
AC_DEFINE(HAVE_PARPORT, 1, [parallel port access enabled])
|
|
confsubst="-e /^@HAVE_PARPORT_/d"
|
|
else
|
|
confsubst="-e /^@HAVE_PARPORT_BEGIN@/,/^@HAVE_PARPORT_END@/d"
|
|
fi
|
|
|
|
|
|
if test "$enabled_linuxgpio" = "yes"; then
|
|
AC_MSG_CHECKING([for default linuxgpio port])
|
|
if test "$DEFAULT_LINUXGPIO_PORT" = "unknown"; then
|
|
AC_MSG_NOTICE([linuxgpio port access disabled for this system])
|
|
enabled_linuxgpio=no
|
|
else
|
|
AC_MSG_RESULT([$DEFAULT_LINUXGPIO_PORT])
|
|
fi
|
|
AC_SUBST(DEFAULT_LINUXGPIO_PORT, $DEFAULT_LINUXGPIO_PORT)
|
|
fi
|
|
|
|
if test "$enabled_linuxgpio" = "yes"; then
|
|
AC_DEFINE(HAVE_LINUXGPIO, 1, [Linux sysfs GPIO support enabled])
|
|
confsubst="$confsubst -e /^@HAVE_LINUXGPIO_/d"
|
|
else
|
|
confsubst="$confsubst -e /^@HAVE_LINUXGPIO_BEGIN@/,/^@HAVE_LINUXGPIO_END@/d"
|
|
fi
|
|
|
|
|
|
if test "$enabled_linuxspi" = "yes"; then
|
|
AC_DEFINE(HAVE_LINUXSPI, 1, [Linux SPI support enabled])
|
|
confsubst="$confsubst -e /^@HAVE_LINUXSPI_/d"
|
|
else
|
|
confsubst="$confsubst -e /^@HAVE_LINUXSPI_BEGIN@/,/^@HAVE_LINUXSPI_END@/d"
|
|
fi
|
|
|
|
|
|
# If we are compiling with gcc, enable all warnings and make warnings errors.
|
|
if test "$GCC" = yes; then
|
|
ENABLE_WARNINGS="-Wall -Wextra -Wno-unused-parameter"
|
|
|
|
# does this compiler support -Wno-pointer-sign ?
|
|
AC_MSG_CHECKING([if gcc accepts -Wno-pointer-sign ])
|
|
|
|
safe_CFLAGS=$CFLAGS
|
|
CFLAGS="$ENABLE_WARNINGS -Wno-pointer-sign"
|
|
|
|
AC_TRY_COMPILE(, [ int main () { return 0 ; } ], [
|
|
no_pointer_sign=yes
|
|
AC_MSG_RESULT([yes])
|
|
], [
|
|
no_pointer_sign=no
|
|
AC_MSG_RESULT([no])
|
|
])
|
|
CFLAGS=$safe_CFLAGS
|
|
|
|
if test x$no_pointer_sign = xyes; then
|
|
ENABLE_WARNINGS="$ENABLE_WARNINGS -Wno-pointer-sign"
|
|
fi
|
|
fi
|
|
AC_SUBST(ENABLE_WARNINGS,$ENABLE_WARNINGS)
|
|
|
|
# See if we need to drop into the windows subdir.
|
|
case $target in
|
|
*-*-mingw32* | *-*-cygwin* | *-*-windows*)
|
|
if test "$GCC" = yes -a \( "$CC" = "cc" -o "$CC" = "gcc" \); then
|
|
# does this compiler support -mno-cygwin?
|
|
AC_MSG_CHECKING([if $CC accepts -mno-cygwin])
|
|
|
|
safe_CFLAGS="$CFLAGS"
|
|
CFLAGS="$ENABLE_WARNINGS -mno-cygwin"
|
|
|
|
AC_TRY_COMPILE(, [ int main () { return 0 ; } ], [
|
|
no_cygwin=yes
|
|
AC_MSG_RESULT([yes])
|
|
], [
|
|
no_cygwin=no
|
|
AC_MSG_RESULT([no])
|
|
])
|
|
CFLAGS="$safe_CFLAGS"
|
|
|
|
if test x$no_cygwin = xyes; then
|
|
CFLAGS="${CFLAGS} -mno-cygwin"
|
|
else
|
|
AC_MSG_NOTICE([Your compiler does not understand the -mno-cygwin option.])
|
|
AC_MSG_NOTICE([You might want to select an alternative compiler, like])
|
|
AC_MSG_NOTICE([])
|
|
AC_MSG_NOTICE([CC=mingw32-gcc ./configure])
|
|
AC_MSG_NOTICE([])
|
|
fi
|
|
fi
|
|
|
|
AC_MSG_CHECKING([if linker accepts -static])
|
|
|
|
safe_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="${LDFLAGS} -static"
|
|
AC_TRY_LINK(, [ int main () { return 0 ; } ], [
|
|
can_link_static=yes
|
|
AC_MSG_RESULT([yes])
|
|
], [
|
|
can_link_static_cygwin=no
|
|
AC_MSG_RESULT([no])
|
|
])
|
|
LDFLAGS="$safe_LDFLAGS"
|
|
|
|
if test x$can_link_static = xyes; then
|
|
LDFLAGS="${LDFLAGS} -static"
|
|
fi
|
|
|
|
CFLAGS="${CFLAGS} -DWIN32NATIVE"
|
|
;;
|
|
esac
|
|
|
|
AC_CONFIG_FILES([
|
|
doc/Makefile
|
|
avrdude.spec
|
|
Makefile
|
|
])
|
|
|
|
AC_CONFIG_FILES([
|
|
GNUmakefile
|
|
])
|
|
|
|
# Pass version number into avrdude.conf
|
|
dnl AVRDUDE_FULL_VERSION="${PACKAGE_VERSION} (${GIT_COMMIT_HASH})"
|
|
AC_SUBST([AVRDUDE_FULL_VERSION], ["$PACKAGE_VERSION"])
|
|
|
|
# The procedure to create avrdude.conf involves two steps. First,
|
|
# normal autoconf substitution will be applied, resulting in
|
|
# avrdude.conf.tmp. Finally, a sed command will be applied to filter
|
|
# out unwanted parts (currently the parallel port programmer types)
|
|
# based on previous configuration results, thereby producing the final
|
|
# avrdude.conf file.
|
|
|
|
AC_CONFIG_FILES([avrdude.conf.tmp:avrdude.conf.in],
|
|
[sed $confsubst avrdude.conf.tmp > avrdude.conf],
|
|
[confsubst="$confsubst"])
|
|
|
|
AC_OUTPUT
|
|
|
|
echo ""
|
|
echo ""
|
|
echo "Configuration summary:"
|
|
echo "----------------------"
|
|
|
|
if test x$have_libelf = xyes; then
|
|
echo "DO HAVE libelf"
|
|
else
|
|
echo "DON'T HAVE libelf"
|
|
fi
|
|
|
|
if test x$have_libusb = xyes; then
|
|
echo "DO HAVE libusb"
|
|
else
|
|
echo "DON'T HAVE libusb"
|
|
fi
|
|
|
|
if test x$have_libusb_1_0 = xyes; then
|
|
if test x$enabled_libusb_1_0 = xyes; then
|
|
echo "DO HAVE libusb_1_0"
|
|
else
|
|
echo "DISABLED libusb_1_0"
|
|
fi
|
|
else
|
|
echo "DON'T HAVE libusb_1_0"
|
|
fi
|
|
|
|
if test x$have_libftdi1 = xyes; then
|
|
echo "DO HAVE libftdi1"
|
|
else
|
|
echo "DON'T HAVE libftdi1"
|
|
fi
|
|
|
|
if test x$have_libftdi = xyes; then
|
|
if test x$have_libftdi1 = xyes; then
|
|
echo "DO HAVE libftdi (but prefer to use libftdi1)"
|
|
else
|
|
echo "DO HAVE libftdi"
|
|
fi
|
|
else
|
|
echo "DON'T HAVE libftdi"
|
|
fi
|
|
|
|
if test x$have_libhid = xyes; then
|
|
echo "DO HAVE libhid"
|
|
else
|
|
echo "DON'T HAVE libhid"
|
|
fi
|
|
|
|
if test x$have_libhidapi = xyes; then
|
|
echo "DO HAVE libhidapi"
|
|
else
|
|
echo "DON'T HAVE libhidapi"
|
|
fi
|
|
|
|
if test x$have_readline = xyes; then
|
|
echo "DO HAVE libreadline"
|
|
else
|
|
echo "DON'T HAVE libreadline"
|
|
fi
|
|
|
|
if test x$have_libserialport = xyes; then
|
|
echo "DO HAVE libserialport"
|
|
else
|
|
echo "DON'T HAVE libserialport"
|
|
fi
|
|
|
|
if test x$have_pthread = xyes; then
|
|
echo "DO HAVE pthread"
|
|
else
|
|
echo "DON'T HAVE pthread"
|
|
fi
|
|
|
|
if test x$enabled_doc = xyes; then
|
|
echo "ENABLED doc"
|
|
else
|
|
echo "DISABLED doc"
|
|
fi
|
|
|
|
if test x$enabled_parport = xyes; then
|
|
echo "ENABLED parport"
|
|
else
|
|
echo "DISABLED parport"
|
|
fi
|
|
|
|
if test x$enabled_linuxgpio = xyes; then
|
|
echo "ENABLED linuxgpio"
|
|
else
|
|
echo "DISABLED linuxgpio"
|
|
fi
|
|
|
|
if test x$enabled_linuxspi = xyes; then
|
|
echo "ENABLED linuxspi"
|
|
else
|
|
echo "DISABLED linuxspi"
|
|
fi
|
|
|