1 | # -*- Autoconf -*- |
2 | # Process this file with autoconf to produce a configure script. |
3 | |
4 | AC_PREREQ(2.63) |
5 | AC_INIT([xburst-tools], [201206]) |
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 | |