📄 configure.in
字号:
# Process this file with autoconf to produce a configure script.AC_PREREQ(2.50)AC_INIT(cmdline.cpp)AM_INIT_AUTOMAKE(jelie, 1.3)AC_CONFIG_HEADERS(config.h)AC_ARG_WITH([hardware], AC_HELP_STRING([--with-hardware=ARG],[compile debughandler for given target (armonie, korebot)(default is armonie)]), [HARDWARE=$withval], [HARDWARE=armonie])# Macro to check libusb versionAC_DEFUN([AC_LIB_LIBUSB_VERSION],[dnl# Check for libusb-configAC_CHECK_PROG([LIBUSBCONF],[libusb-config],[libusb-config])# Check if version of linusb is sufficientac_libusb_version="$1"echo $ac_libusb_majorecho $ac_libusb_versionif test "x$LIBUSBCONF" != "x"; then AC_MSG_CHECKING(for libusb version greater than or equal to $ac_libusb_version) # NB: It would be nice to log the error if there is one, but we cannot rely # on autoconf internals current_libusb_version=`libusb-config --version` echo $current_libusb_version if test $? -ne 0; then AC_MSG_RESULT(no); $3 else AC_MSG_RESULT(ok); $2 fielse AC_MSG_WARN([[could not find libusb-config check libusb installation]])fi])dnl# Checks for programs.AC_PROG_CXXAC_PROG_CCAC_PROG_MAKE_SETAM_PROG_ASdnl CROSS_CC=nodnl AC_ARG_VAR(CROSS_CC, "the cross compiler used for building the debug handler")AC_CHECK_PROG(CROSS_CC, arm-uclibc-gcc, arm-uclibc-)AC_CHECK_PROG(CROSS_CC, xscale-elf-gcc, xscale-elf-)AC_CHECK_PROG(CROSS_CC, arm-linux-gcc, arm-linux-)if test "x$CROSS_CC" = x; then DEBUG_HANDLER="" FREQ_PROGS=""else DEBUG_HANDLER=debug_handler.bin FREQ_PROGS="fcs.bin turbo.bin"fiAC_SUBST(DEBUG_HANDLER)AC_SUBST(FREQ_PROGS)# Look for sdcc. It's required only if the user changes jelie.c:# a binary image is distributed.AC_PATH_PROG(SDCC, sdcc, sdcc)AC_C_BIGENDIAN# Checks for libraries.AC_CHECK_LIB([ncurses], [initscr],, AC_CHECK_LIB([curses], [initscr]))AC_CHECK_LIB([readline], [rl_set_prompt])AC_CHECK_LIB([usb], [usb_init], [ USE_JTAG_CONTROL_EZUSB=yes AC_PATH_GENERIC([libusb],[0.1.7],[],[ USE_JTAG_CONTROL_EZUSB=no AC_MSG_WARN(libusb >= 0.1.7 not found ! Not compiling EzUSB support. Check libusb installation.)]) AC_CHECK_HEADERS([usb.h],[],[ USE_JTAG_CONTROL_EZUSB=no AC_MSG_WARN(usb.h not found ! Not compiling EzUSB support. Check libusb installation.)]) ], [ USE_JTAG_CONTROL_EZUSB=no AC_MSG_WARN(libusb not found ! Not compiling EzUSB support. Get it on http://libusb.sourceforge.net/)])# Checks for header files.AC_HEADER_STDCAC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h signal.h])# Checks for typedefs, structures, and compiler characteristics.AC_C_CONSTAC_HEADER_TIMEAC_STRUCT_TM# Checks for library functions.AC_FUNC_MEMCMPAC_TYPE_SIGNALAC_FUNC_VPRINTFAC_CHECK_FUNCS([gethostbyname gettimeofday inet_ntoa memset select socket strchr strdup strerror strtol strtoul])# Determines what jtag controllers to use.JTAG_CONTROLERS_OBJ=''# Compile with EzUSB jtag driver ?if test "$USE_JTAG_CONTROL_EZUSB" = yes; then AC_DEFINE(USE_JTAG_CONTROL_EZUSB, 1, [compile and link with the EzUSB controler]) JTAG_CONTROLERS_OBJ="$JTAG_CONTROLERS_OBJ ezusb_loader.o ezusb_jtag.o" LIBUSB_LDADD="-lusb"else LIBUSB_LDADD=""fiAC_SUBST(LIBUSB_LDADD)# Compile with x86 linux parallel port support ?AC_MSG_CHECKING([for linux style parallel port]) AC_TRY_COMPILE([ #include <unistd.h> /* for libc5 */ #include <sys/io.h> /* for glibc */], [ ioperm(0x378,3,1); inb(0x379); outb(0, 0x378);],result=yes,result=no)AC_MSG_RESULT($result)if test "$result" = yes; then AC_DEFINE(USE_JTAG_CONTROL_PP, 1, [compile and link with the parallel port controler]) JTAG_CONTROLERS_OBJ="$JTAG_CONTROLERS_OBJ pp_jtag.o"fiif test "x$JTAG_CONTROLERS_OBJ" = "x"; then AC_MSG_ERROR([No jtag controller can be compiled !])fiAC_SUBST(JTAG_CONTROLERS_OBJ)# compile with given hardware supportcase $HARDWARE in *korebot*) BOARD_SPECIFIC='korebot-conf.$(OBJEXT)' ;; *armonie*) BOARD_SPECIFIC='armonie-conf.$(OBJEXT)' ;; *) AC_MSG_ERROR([the board $HARDWARE is unknown !]) ;;esacAC_SUBST(BOARD_SPECIFIC) dnl Set PACKAGE_DATA_DIR in config.h.if test "x${datadir}" = 'x${prefix}/share'; then if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share/${PACKAGE}", [data directory]) else AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share/${PACKAGE}", [data directory]) fielse AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${datadir}/${PACKAGE}", [data directory])fidnl Set PACKAGE_SOURCE_DIR in config.h.packagesrcdir=`cd $srcdir && pwd`AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [source directory])AC_OUTPUT([Makefile debugHandler/Makefile doc/Makefile freq/Makefile flash/Makefile])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -