Submitted by Rene Liebscher:

* configure.ac: Check for presence of <pthread.h>
* ft245r.c: Depend on HAVE_PTHREAD_H
* Makefile.am: Add -lpthread if needed.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1092 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Joerg Wunsch 2012-06-13 20:45:22 +00:00
parent bde3c841e5
commit d486a0a1cd
4 changed files with 44 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2012-06-13 Rene Liebscher <R.Liebscher@gmx.de>
* configure.ac: Check for presence of <pthread.h>
* ft245r.c: Depend on HAVE_PTHREAD_H
* Makefile.am: Add -lpthread if needed.
2012-06-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 2012-06-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
* usbtiny.c (usbtiny_paged_load, usbtiny_paged_write): * usbtiny.c (usbtiny_paged_load, usbtiny_paged_write):

View File

@ -61,7 +61,7 @@ avrdude_CFLAGS = @ENABLE_WARNINGS@
libavrdude_a_CFLAGS = @ENABLE_WARNINGS@ libavrdude_a_CFLAGS = @ENABLE_WARNINGS@
avrdude_LDADD = $(top_builddir)/$(noinst_LIBRARIES) @LIBUSB@ @LIBUSB_1_0@ @LIBFTDI@ @LIBHID@ @LIBELF@ -lm avrdude_LDADD = $(top_builddir)/$(noinst_LIBRARIES) @LIBUSB@ @LIBUSB_1_0@ @LIBFTDI@ @LIBHID@ @LIBELF@ @LIBPTHREAD@ -lm
bin_PROGRAMS = avrdude bin_PROGRAMS = avrdude

View File

@ -149,10 +149,17 @@ AH_TEMPLATE([HAVE_LIBFTDI],
[Define if FTDI support is enabled via libftdi]) [Define if FTDI support is enabled via libftdi])
AC_CHECK_LIB([ftdi], [ftdi_usb_get_strings], [have_libftdi=yes], [], [-lusb]) AC_CHECK_LIB([ftdi], [ftdi_usb_get_strings], [have_libftdi=yes], [], [-lusb])
if test x$have_libftdi = xyes; then if test x$have_libftdi = xyes; then
LIBFTDI="-lftdi -lusb -lpthread" LIBFTDI="-lftdi -lusb"
AC_DEFINE([HAVE_LIBFTDI]) AC_DEFINE([HAVE_LIBFTDI])
fi fi
AC_SUBST(LIBFTDI, $LIBFTDI) AC_SUBST(LIBFTDI, $LIBFTDI)
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. # Checks for header files.
AC_CHECK_HEADERS([limits.h stdlib.h string.h]) 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([fcntl.h sys/ioctl.h sys/time.h termios.h unistd.h])
@ -460,3 +467,10 @@ if test x$have_libhid = xyes; then
else else
echo "DON'T HAVE libhid" echo "DON'T HAVE libhid"
fi fi
if test x$have_pthread = xyes; then
echo "DO HAVE pthread"
else
echo "DON'T HAVE pthread"
fi

View File

@ -70,6 +70,8 @@
#include "bitbang.h" #include "bitbang.h"
#include "ft245r.h" #include "ft245r.h"
#ifdef HAVE_PTHREAD_H
#include <pthread.h> #include <pthread.h>
#include <semaphore.h> #include <semaphore.h>
@ -829,6 +831,26 @@ void ft245r_initpgm(PROGRAMMER * pgm) {
strcpy(pgm->type, "ftdi_syncbb"); strcpy(pgm->type, "ftdi_syncbb");
pgm->open = ft245r_noftdi_open; pgm->open = ft245r_noftdi_open;
} }
#endif
#else
static int ft245r_nopthread_open (struct programmer_t *pgm, char * name) {
fprintf(stderr,
"%s: error: no pthread support. Please compile again with pthread installed."
#if defined(_WIN32)
" See http://sourceware.org/pthreads-win32/."
#endif
"\n",
progname);
exit(1);
}
void ft245r_initpgm(PROGRAMMER * pgm) {
strcpy(pgm->type, "ftdi_syncbb");
pgm->open = ft245r_nopthread_open;
}
#endif #endif
const char ft245r_desc[] = "FT245R/FT232R Synchronous BitBangMode Programmer"; const char ft245r_desc[] = "FT245R/FT232R Synchronous BitBangMode Programmer";