X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=configure.in;h=9eaeb7e4d6f6f782b2368a5b7487a5a44f06ba99;hp=039f7e0ba795a75553c82797d83ab637de3e3a71;hb=5ee99a7e80c5a904fa4618f9492313aa3b3eca19;hpb=713854f714d7a5777d2e73c580a000dc851ec3f2 diff --git a/configure.in b/configure.in index 039f7e0ba7..9eaeb7e4d6 100644 --- a/configure.in +++ b/configure.in @@ -9,6 +9,7 @@ AC_SEARCH_LIBS([dlopen], [dl]) AC_CHECK_HEADERS(jtag_minidriver.h) AC_CHECK_HEADERS(sys/param.h) AC_CHECK_HEADERS(sys/time.h) +AC_CHECK_HEADERS(sys/select.h) AC_CHECK_HEADERS(elf.h) AC_CHECK_HEADERS(strings.h) AC_CHECK_HEADERS(stdbool.h) @@ -28,6 +29,7 @@ build_bitq=no is_cygwin=no is_mingw=no is_win32=no +is_darwin=no build_release=yes AC_ARG_ENABLE(release, @@ -110,10 +112,11 @@ true ) #======================================== -# FTD2XXX support comes in 3 forms. +# FTD2XXX support comes in 4 forms. # (1) win32 - via a zip file # (2) linux - via a tar file # (3) linux/cygwin/mingw - via libftdi +# (4) darwin - installed under /usr/local # # In case (1) and (2) we need to know where the package was unpacked. @@ -189,6 +192,51 @@ AC_ARG_ENABLE(werror, AS_HELP_STRING([--disable-werror], [Do not treat warnings as errors]), [gcc_werror=$enableval], [gcc_werror=$gcc_warnings]) +# set default verbose options, overridden by following options +debug_jtag_io=no +debug_usb_io=no +debug_usb_comms=no + +AC_ARG_ENABLE(verbose, + AS_HELP_STRING([--enable-verbose], + [Enable verbose JTAG I/O messages (for debugging).]), + [ + debug_jtag_io=$enableval + debug_usb_io=$enableval + debug_usb_comms=$enableval + ], []) + +AC_ARG_ENABLE(verbose_jtag_io, + AS_HELP_STRING([--enable-verbose-jtag-io], + [Enable verbose JTAG I/O messages (for debugging).]), + [debug_jtag_io=$enableval], []) +AC_ARG_ENABLE(verbose_usb_io, + AS_HELP_STRING([--enable-verbose-usb-io], + [Enable verbose USB I/O messages (for debugging)]), + [debug_usb_io=$enableval], []) +AC_ARG_ENABLE(verbose_usb_comms, + AS_HELP_STRING([--enable-verbose-usb-comms], + [Enable verbose USB communication messages (for debugging)]), + [debug_usb_comms=$enableval], []) + +AC_MSG_CHECKING([whether to enable verbose JTAG I/O messages]); +AC_MSG_RESULT($debug_jtag_io) +if test $debug_jtag_io = yes; then + AC_DEFINE([_DEBUG_JTAG_IO_],[1], [Print verbose JTAG I/O messages]) +fi + +AC_MSG_CHECKING([whether to enable verbose USB I/O messages]); +AC_MSG_RESULT($debug_usb_io) +if test $debug_usb_io = yes; then + AC_DEFINE([_DEBUG_USB_IO_],[1], [Print verbose USB I/O messages]) +fi + +AC_MSG_CHECKING([whether to enable verbose USB communication messages]); +AC_MSG_RESULT($debug_usb_comms) +if test $debug_usb_comms = yes; then + AC_DEFINE([_DEBUG_USB_COMMS_],[1], [Print verbose USB communication messages]) +fi + AC_ARG_ENABLE(parport, AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), @@ -305,6 +353,7 @@ case $host in fi AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.]) + AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.]) ;; *-mingw*) is_mingw=yes @@ -314,11 +363,22 @@ case $host in AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.]) AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.]) + AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.]) ;; + *darwin*) + is_darwin=yes + + parport_use_giveio=no + + AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.]) + AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.]) + AC_DEFINE(IS_DARWIN, 1, [1 if building for Darwin.]) + ;; *) parport_use_giveio=no AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.]) AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.]) + AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.]) ;; esac @@ -514,7 +574,31 @@ AC_MSG_CHECKING([for ftd2xx.lib exists (win32)]) fi fi -if test $is_win32 = no; then +if test $is_darwin = yes ; then +if test "${with_ftd2xx_win32_zipdir+set}" = set +then + AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only]) +fi +if test "${with_ftd2xx_linux_tardir+set}" = set +then + AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.]) +fi + +if test $build_ft2232_ftd2xx = yes ; then + AC_MSG_CHECKING([for libftd2xx.a (darwin)]) + + if test ! -f /usr/local/include/ftd2xx.h ; then + AC_MSG_ERROR([ftd2xx library from FTDICHIP.com seems to be missing, cannot find: /usr/local/include/ftd2xx.h]) + fi + + CFLAGS="$CFLAGS -I/usr/local/include" + LDFLAGS="$LDFLAGS -L/usr/local/lib" + LIBS="$LIBS -lftd2xx" + AC_MSG_RESULT([-L/usr/local/lib -lftd2xx]) +fi +fi + +if test $is_win32 = no && test $is_darwin = no ; then if test "${with_ftd2xx_win32_zipdir+set}" = set then @@ -522,39 +606,33 @@ then fi if test $build_ft2232_ftd2xx = yes ; then - AC_MSG_CHECKING([for libftd2xx.a (linux)]) - # Must be linux - - # Cause FTDICHIP does not supply a MAC-OS version + # Must be linux if test $host_os != linux-gnu && test $host_os != linux ; then AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead]) fi # Are we given a TAR directory? if test "${with_ftd2xx_linux_tardir+set}" = set then + AC_MSG_CHECKING([uninstalled ftd2xx distribution]) # The .H file is simple.. - f=$with_ftd2xx_linux_tardir/ftd2xx.h - if test ! -f $f ; then - AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: $f]) + FTD2XX_H=$with_ftd2xx_linux_tardir/ftd2xx.h + if test ! -f "${FTD2XX_H}"; then + AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: ${FTD2XX_H}]) fi CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir" - if test $with_ftd2xx_lib = shared - then - LDFLAGS="$LDFLAGS -L$with_ftd2xx_linux_tardir" - LIBS="$LIBS -lftd2xx" - AC_MSG_RESULT([ Assuming: -L$with_ftd2xx_linux_tardir -lftd2xx]) - else + FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir" + FTD2XX_LIB="-lftd2xx" + if test $with_ftd2xx_lib != shared; then # Test #1 - Future proof - if/when ftdichip fixes their distro. # Try it with the simple ".a" suffix. - f=$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a - if test -f $f ; then - # Yea we are done - LDFLAGS="$LDFLAGS -L$with_ftd2xx_linux_tardir/static_lib" - LIBS="$LIBS -lftd2xx" + FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a" + if test -f "${FTD2XX_LIB}"; then + FTD2XX_LDFLAGS="${FTD2XX_LDFLAGS}/static_lib" else # Test Number2. # Grr.. perhaps it exists as a version number? - f="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*" - count=`ls $f | wc -l` + FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*" + count=`ls ${FTD2XX_LIB} | wc -l` if test $count -gt 1 ; then AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet]) fi @@ -563,17 +641,20 @@ if test $build_ft2232_ftd2xx = yes ; then fi # Because the "-l" rules do not understand version numbers... # we will just stuff the absolute path onto the LIBS variable - f=`ls $f` - # - LIBS="$LIBS $f -lpthread" - # No need to bother with LDFLAGS... + FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread" + FTD2XX_LDFLAGS="" fi - AC_MSG_RESULT([Found: $f]) fi + LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}" + LIBS="${LIBS} ${FTD2XX_LIB}" + AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}]) else - LIBS="$LIBS -lftd2xx" - AC_MSG_RESULT([Assumed: installed]) - AC_MSG_WARN([The (linux) FTDICHIP.COM files ftd2xx.h and libftd2xx.so are assumed to be in a proper place]) + AC_CHECK_HEADER([ftd2xx.h],[],[ + AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.]) + ]) + AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[ + AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.]) + ],[]) fi fi fi @@ -583,7 +664,7 @@ if test $build_ft2232_ftd2xx = yes; then # Before we go any further - make sure we can *BUILD* and *RUN* # a simple app with the "ftd2xx.lib" file - in what ever form we where given # We should be able to compile, link and run this test program now - AC_MSG_CHECKING([Test: Build & Link with ftd2xx]) + AC_MSG_CHECKING([whether ftd2xx library works]) # # Save the LDFLAGS for later.. @@ -685,6 +766,7 @@ AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = yes) AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes) AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes) AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes) +AM_CONDITIONAL(IS_DARWIN, test $is_darwin = yes) AM_CONDITIONAL(BITQ, test $build_bitq = yes) AC_LANG_C @@ -695,6 +777,9 @@ AC_PROG_RANLIB GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security" if test "${gcc_wextra}" = yes; then GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter" + GCC_WARNINGS="${GCC_WARNINGS} -Wbad-function-cast" + GCC_WARNINGS="${GCC_WARNINGS} -Wcast-align" + GCC_WARNINGS="${GCC_WARNINGS} -Wredundant-decls" fi if test "${gcc_werror}" = yes; then GCC_WARNINGS="${GCC_WARNINGS} -Werror"