| 1 | # -*- Autoconf -*- |
| 2 | # Process this file with autoconf to produce a configure script. |
| 3 | |
| 4 | AC_PREREQ(2.63) |
| 5 | AC_INIT([xburst-tools], [201104]) |
| 6 | AC_CONFIG_AUX_DIR(m4) |
| 7 | AM_INIT_AUTOMAKE([foreign]) |
| 8 | AM_CONFIG_HEADER([xburst-tools-config.h]) |
| 9 | |
| 10 | AM_MAINTAINER_MODE |
| 11 | |
| 12 | AC_ARG_ENABLE([firmware], |
| 13 | [AS_HELP_STRING([--disable-firmware], |
| 14 | [Do not build initialization code] |
| 15 | [(for example, because some other package contains it).])], |
| 16 | [AS_CASE([$enableval], [yes], [firmware=true], [no], [firmware=false], |
| 17 | [AC_MSG_ERROR([bad value $enableval for --enable-firmware])])], |
| 18 | [firmware=true]) |
| 19 | AM_CONDITIONAL([COND_FIRMWARE], [test "$firmware" = true]) |
| 20 | |
| 21 | AC_ARG_VAR([CROSS_COMPILE], |
| 22 | [Cross compiler prefix for building firmware, ] |
| 23 | [e.g. CROSS_COMPILE=mipsel-openwrt-linux-.]) |
| 24 | |
| 25 | AS_VAR_IF([firmware], [true], |
| 26 | [ |
| 27 | AS_VAR_IF([CROSS_COMPILE], [], |
| 28 | [AC_MSG_ERROR([CROSS_COMPILE prefix is not set, set to cross-prefix- use --disable-firmware])]) |
| 29 | AC_CHECK_PROG([CROSS_GCC], [${CROSS_COMPILE}gcc], [yes], [no]) |
| 30 | AS_VAR_IF([CROSS_GCC], [no], |
| 31 | [AC_MSG_ERROR([No cross compiler, check CROSS_COMPILE value])]) |
| 32 | ], |
| 33 | [CROSS_COMPILE="dummy-"] |
| 34 | ) |
| 35 | |
| 36 | # Checks for programs. |
| 37 | AC_PROG_CC |
| 38 | AC_PROG_CXX |
| 39 | |
| 40 | # Checks for libraries. |
| 41 | AC_CHECK_LIB([c], [main]) |
| 42 | AC_CHECK_LIB([m], [main]) |
| 43 | AC_CHECK_LIB([gcc], [main]) |
| 44 | |
| 45 | AC_CHECK_LIB([confuse], [main], [], [ |
| 46 | echo "Error! You need to have libconfuse." |
| 47 | echo "Maybe run 'sudo apt-get install libconfuse-dev' under debian" |
| 48 | exit -1 ]) |
| 49 | AC_CHECK_LIB([usb], [main], [], [ |
| 50 | echo "Error! You need to have libusb-0.1. \n" |
| 51 | echo "Maybe run 'sudo apt-get install libusb-dev' under debian" |
| 52 | exit -1 ]) |
| 53 | |
| 54 | PKG_CHECK_MODULES(LIBUSB, libusb-1.0 > 1.0, |
| 55 | [LIBS="$LIBS $LIBUSB_LIBS" CFLAGS="$CFLAGS $LIBUSB_CFLAGS"], |
| 56 | AC_MSG_ERROR(Maybe run 'sudo apt-get install libusb-1.0-0-dev' under debian")) |
| 57 | |
| 58 | AC_ARG_WITH([readline], |
| 59 | [AS_HELP_STRING([--with-readline], |
| 60 | [support fancy command line editing @<:@default=check@:>@])], |
| 61 | [], |
| 62 | [with_readline=check]) |
| 63 | |
| 64 | READLINE_LIBS= |
| 65 | AS_IF([test "x$with_readline" != xno], |
| 66 | [AC_CHECK_LIB([readline], [main], |
| 67 | [AC_SUBST([READLINE_LIBS], ["-lreadline -lncurses"]) |
| 68 | AC_DEFINE([HAVE_READLINE], [1], |
| 69 | [Define if you have libreadline]) |
| 70 | ], |
| 71 | [if test "x$with_readline" != xcheck; then |
| 72 | AC_MSG_FAILURE( |
| 73 | [--with-readline was given, but test for readline failed]) |
| 74 | fi |
| 75 | ], -lncurses)]) |
| 76 | |
| 77 | LIBS="$LIBS $USB_LIBS $READLINE_LIBS" |
| 78 | CFLAGS="$CFLAGS $USB_CFLAGS" |
| 79 | |
| 80 | # Checks for header files. |
| 81 | AC_HEADER_STDC |
| 82 | AC_CHECK_HEADERS([fcntl.h stdint.h stdlib.h string.h unistd.h]) |
| 83 | |
| 84 | # Checks for typedefs, structures, and compiler characteristics. |
| 85 | AC_C_INLINE |
| 86 | AC_TYPE_SIZE_T |
| 87 | AC_TYPE_UINT8_T |
| 88 | |
| 89 | # Checks for library functions. |
| 90 | AC_FUNC_MALLOC |
| 91 | AC_FUNC_MEMCMP |
| 92 | AC_CHECK_FUNCS([memset strerror]) |
| 93 | |
| 94 | AC_CONFIG_FILES(Makefile \ |
| 95 | usbboot/Makefile usbboot/src/Makefile \ |
| 96 | xbboot/Makefile xbboot/host-app/Makefile \ |
| 97 | jzboot/Makefile jzboot/src/Makefile) |
| 98 | AC_OUTPUT |
| 99 | |