mirror of
https://github.com/HEYAHONG/cc-tool.git
synced 2025-05-08 19:51:05 +08:00
update to 0.18 version
pulled in the latest changes from the source forge repo Signed-off-by: Scott Gustafson <scott@garlicsoftware.com>
This commit is contained in:
parent
f6a399300f
commit
e0ebf33372
2
AUTHORS
2
AUTHORS
@ -1 +1 @@
|
||||
https://sourceforge.net/projects/cctool/
|
||||
George Stark george-u@yandex.com
|
||||
|
@ -15,4 +15,7 @@
|
||||
03/12/2012 version 0.16
|
||||
* fixed CC debugger device USB PID value
|
||||
|
||||
06/06/2012 version 0.18
|
||||
* fixed wrong CC111x identification
|
||||
* added reference in linux man pages format
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
SUBDIRS=src
|
||||
SUBDIRS = src
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
man_MANS = man/cc-tool.1
|
||||
|
103
Makefile.in
103
Makefile.in
@ -59,6 +59,31 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
install-pdf-recursive install-ps-recursive install-recursive \
|
||||
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||
ps-recursive uninstall-recursive
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
man1dir = $(mandir)/man1
|
||||
am__installdirs = "$(DESTDIR)$(man1dir)"
|
||||
NROFF = nroff
|
||||
MANS = $(man_MANS)
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
||||
@ -244,6 +269,7 @@ top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = src
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
man_MANS = man/cc-tool.1
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
@ -290,6 +316,44 @@ clean-libtool:
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool config.lt
|
||||
install-man1: $(man_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
|
||||
@list=''; test -n "$(man1dir)" || exit 0; \
|
||||
{ for i in $$list; do echo "$$i"; done; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
|
||||
sed -n '/\.1[a-z]*$$/p'; \
|
||||
} | while read p; do \
|
||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; echo "$$p"; \
|
||||
done | \
|
||||
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
|
||||
sed 'N;N;s,\n, ,g' | { \
|
||||
list=; while read file base inst; do \
|
||||
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
|
||||
fi; \
|
||||
done; \
|
||||
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
test -z "$$files" || { \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
|
||||
done; }
|
||||
|
||||
uninstall-man1:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list=''; test -n "$(man1dir)" || exit 0; \
|
||||
files=`{ for i in $$list; do echo "$$i"; done; \
|
||||
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
|
||||
sed -n '/\.1[a-z]*$$/p'; \
|
||||
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
||||
test -z "$$files" || { \
|
||||
echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
|
||||
cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
@ -427,6 +491,19 @@ distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@list='$(MANS)'; if test -n "$$list"; then \
|
||||
list=`for p in $$list; do \
|
||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||
if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
|
||||
if test -n "$$list" && \
|
||||
grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
|
||||
echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
|
||||
grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
|
||||
echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
|
||||
echo " typically \`make maintainer-clean' will remove them" >&2; \
|
||||
exit 1; \
|
||||
else :; fi; \
|
||||
else :; fi
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
@ -603,9 +680,12 @@ distcleancheck: distclean
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile
|
||||
all-am: Makefile $(MANS)
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
for dir in "$(DESTDIR)$(man1dir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
@ -653,7 +733,7 @@ info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
install-data-am: install-man
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
@ -669,7 +749,7 @@ install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
install-man: install-man1
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
@ -699,7 +779,9 @@ ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
uninstall-am: uninstall-man
|
||||
|
||||
uninstall-man: uninstall-man1
|
||||
|
||||
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
|
||||
install-am install-strip tags-recursive
|
||||
@ -713,12 +795,13 @@ uninstall-am:
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs installdirs-am \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-recursive uninstall uninstall-am
|
||||
install-info install-info-am install-man install-man1 \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||
ps ps-am tags tags-recursive uninstall uninstall-am \
|
||||
uninstall-man uninstall-man1
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
|
99
README
99
README
@ -1,88 +1,21 @@
|
||||
cc-tool provides support of Texas Instruments CC Debugger and
|
||||
some evolution boards to program TI 8051-based System-On-Chip devices
|
||||
#### cc-tool version 0.18
|
||||
cc-tool provides support for Texas Instruments CC Debugger
|
||||
|
||||
The software has been tested on SmartRF05 Evaluation Board only
|
||||
(firmware version: 0005, revision 0009 and 0019)
|
||||
Reported corrected working with CC debugegr firmware revision 0025
|
||||
#### Project home:
|
||||
http://sourceforge.net/projects/cctool/
|
||||
|
||||
In order to work with the board using non-privileged account add this line
|
||||
to udev rules:
|
||||
#### Building from source, dependencies:
|
||||
Ubuntu 11.10: libusb-1.0, libboost-all-dev,
|
||||
Fedora 13-16: boost-devel, libusb1-devel
|
||||
|
||||
# SmartRF05 Evaluation Board
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a0", MODE="0666"
|
||||
#### User guide:
|
||||
man cc-tool
|
||||
|
||||
# SmartRF04 Evaluation Board
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="11a0", ATTRS{idProduct}=="db20", MODE="0666"
|
||||
#### Additional:
|
||||
File udev/90-cc-debugger.rules cotains udev rules changing permissions
|
||||
for TI CC Debugger device and TI evolution boards so they can be used
|
||||
from non-privileged accounts. Copy it to /etc/udev/rules.d
|
||||
|
||||
# CC Debugger
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a2", MODE="0666"
|
||||
|
||||
Building from sources was tested on Fedora 13-16, Ubuntu 11.10
|
||||
Packages for building: Ubuntu: libusb-1.0, libboost-all-dev, Fedora: boost-devel, libusb1-devel
|
||||
|
||||
Currently next chips are supported:
|
||||
Supported chips (* - tested):
|
||||
CC2540 CC2530* CC2531* CC2533 CC2430 CC2431 CC2510 CC2511* CC1110 CC1111
|
||||
|
||||
|
||||
Command line options:
|
||||
|
||||
-h, --help
|
||||
produce help message
|
||||
|
||||
-d, --device 'bus_number:device_number'
|
||||
set programmer device usb address. The option is useful if more than one
|
||||
debugger connected to the system simultaneously.
|
||||
|
||||
-f, --fast
|
||||
set fast debug interface speed (by default: slow)
|
||||
|
||||
-i, --read-info-page [file_name]
|
||||
read target info page. If no file-name provided data will be printed to
|
||||
console
|
||||
|
||||
-a, --read-mac-address
|
||||
read target's mac address(es)
|
||||
|
||||
-r, --read file_name
|
||||
read flash memory to the specified file
|
||||
|
||||
-e, --erase
|
||||
erase flash memory completely and reset lock bits
|
||||
|
||||
-w, --write file_name
|
||||
write flash memory. Option can be specified several times to build composite
|
||||
flash image or apply patches
|
||||
|
||||
-v, --verify
|
||||
verify flash after writing
|
||||
|
||||
--reset
|
||||
perform target reset
|
||||
|
||||
-t, --test
|
||||
only search for programmer and target and print various information
|
||||
|
||||
-n, --name target_name
|
||||
specify target name e.g. CC2530 etc. If specified target does not match
|
||||
detected one no operation is performed. Option is not required
|
||||
|
||||
-l, --lock lock_data
|
||||
specify lock data in hex numbers. Lock data size must be exactly
|
||||
1 byte (2 hex digits) or 16 bytes (32 hex digits) depend on target.
|
||||
For several targets lock data can be placed into flash image file
|
||||
|
||||
'file_name' format: [path\]file_name[,[format][,offset]]
|
||||
format can be 'hex' (Intel hex) or 'binary'. Format field can be omitted if file
|
||||
extension is hex or bin. Offset value (in decimal) is an absolute target flash
|
||||
address and is supported only for binary files and only for write operation.
|
||||
|
||||
Examples:
|
||||
|
||||
cc_tool --name cc2530 --write image.hex --write patch.bin,,80
|
||||
cc_tool --read image.bin
|
||||
|
||||
Verification is implemented by calculating crc-16 of 1 Kb flash blocks by means
|
||||
of target itself. After writing is completed target is configured to calculate
|
||||
CRC-16 over own flash and send out results to the cc-tool where it is compared
|
||||
to the input flash image. This method is much faster against read out all flash data.
|
||||
#### Bug reports:
|
||||
If you found a bug try to reproduce it added command line option --log and
|
||||
send the log file along with problem description to george-u@yandex.com
|
||||
|
568
configure
vendored
568
configure
vendored
@ -1,6 +1,8 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.66 for cc-tool 0.13.
|
||||
# Generated by GNU Autoconf 2.66 for cc-tool 0.18.
|
||||
#
|
||||
# Report bugs to <george-u@yandex.com>.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@ -236,10 +238,11 @@ fi
|
||||
$as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
|
||||
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
|
||||
else
|
||||
$as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
|
||||
$0: including any error possibly output before this
|
||||
$0: message. Then install a modern shell, or manually run
|
||||
$0: the script under such a shell if you do have one."
|
||||
$as_echo "$0: Please tell bug-autoconf@gnu.org and
|
||||
$0: george-u@yandex.com about your system, including any
|
||||
$0: error possibly output before this message. Then install
|
||||
$0: a modern shell, or manually run the script under such a
|
||||
$0: shell if you do have one."
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
@ -559,9 +562,9 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='cc-tool'
|
||||
PACKAGE_TARNAME='cc-tool'
|
||||
PACKAGE_VERSION='0.13'
|
||||
PACKAGE_STRING='cc-tool 0.13'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_VERSION='0.18'
|
||||
PACKAGE_STRING='cc-tool 0.18'
|
||||
PACKAGE_BUGREPORT='george-u@yandex.com'
|
||||
PACKAGE_URL=''
|
||||
|
||||
# Factoring default headers for most tests.
|
||||
@ -609,6 +612,9 @@ DEPS_CFLAGS
|
||||
PKG_CONFIG_LIBDIR
|
||||
PKG_CONFIG_PATH
|
||||
PKG_CONFIG
|
||||
BOOST_THREAD_LIBS
|
||||
BOOST_THREAD_LDPATH
|
||||
BOOST_THREAD_LDFLAGS
|
||||
BOOST_REGEX_LIBS
|
||||
BOOST_REGEX_LDPATH
|
||||
BOOST_REGEX_LDFLAGS
|
||||
@ -666,6 +672,14 @@ CPPFLAGS
|
||||
LDFLAGS
|
||||
CFLAGS
|
||||
CC
|
||||
host_os
|
||||
host_vendor
|
||||
host_cpu
|
||||
host
|
||||
build_os
|
||||
build_vendor
|
||||
build_cpu
|
||||
build
|
||||
LIBTOOL
|
||||
am__untar
|
||||
am__tar
|
||||
@ -690,18 +704,6 @@ am__isrc
|
||||
INSTALL_DATA
|
||||
INSTALL_SCRIPT
|
||||
INSTALL_PROGRAM
|
||||
target_os
|
||||
target_vendor
|
||||
target_cpu
|
||||
target
|
||||
host_os
|
||||
host_vendor
|
||||
host_cpu
|
||||
host
|
||||
build_os
|
||||
build_vendor
|
||||
build_cpu
|
||||
build
|
||||
target_alias
|
||||
host_alias
|
||||
build_alias
|
||||
@ -1313,7 +1315,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures cc-tool 0.13 to adapt to many kinds of systems.
|
||||
\`configure' configures cc-tool 0.18 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@ -1378,13 +1380,12 @@ Program names:
|
||||
System types:
|
||||
--build=BUILD configure for building on BUILD [guessed]
|
||||
--host=HOST cross-compile to build programs to run on HOST [BUILD]
|
||||
--target=TARGET configure for building compilers for TARGET [HOST]
|
||||
_ACEOF
|
||||
fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of cc-tool 0.13:";;
|
||||
short | recursive ) echo "Configuration of cc-tool 0.18:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@ -1434,7 +1435,7 @@ Some influential environment variables:
|
||||
Use these variables to override the choices made by `configure' or to help
|
||||
it to find libraries and programs with nonstandard names/locations.
|
||||
|
||||
Report bugs to the package provider.
|
||||
Report bugs to <george-u@yandex.com>.
|
||||
_ACEOF
|
||||
ac_status=$?
|
||||
fi
|
||||
@ -1497,7 +1498,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
cc-tool configure 0.13
|
||||
cc-tool configure 0.18
|
||||
generated by GNU Autoconf 2.66
|
||||
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
@ -1963,6 +1964,10 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
|
||||
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
|
||||
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
|
||||
( $as_echo "## ---------------------------------- ##
|
||||
## Report this to george-u@yandex.com ##
|
||||
## ---------------------------------- ##"
|
||||
) | sed "s/^/$as_me: WARNING: /" >&2
|
||||
;;
|
||||
esac
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||
@ -1983,7 +1988,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by cc-tool $as_me 0.13, which was
|
||||
It was created by cc-tool $as_me 0.18, which was
|
||||
generated by GNU Autoconf 2.66. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@ -2332,6 +2337,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
|
||||
|
||||
# AC_CANONICAL_SYSTEM
|
||||
am__api_version='1.11'
|
||||
|
||||
ac_aux_dir=
|
||||
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
|
||||
if test -f "$ac_dir/install-sh"; then
|
||||
@ -2361,119 +2369,6 @@ ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
|
||||
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
||||
|
||||
|
||||
# Make sure we can run config.sub.
|
||||
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
|
||||
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
|
||||
$as_echo_n "checking build system type... " >&6; }
|
||||
if test "${ac_cv_build+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_build_alias=$build_alias
|
||||
test "x$ac_build_alias" = x &&
|
||||
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
|
||||
test "x$ac_build_alias" = x &&
|
||||
as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
|
||||
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
|
||||
$as_echo "$ac_cv_build" >&6; }
|
||||
case $ac_cv_build in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
|
||||
esac
|
||||
build=$ac_cv_build
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
set x $ac_cv_build
|
||||
shift
|
||||
build_cpu=$1
|
||||
build_vendor=$2
|
||||
shift; shift
|
||||
# Remember, the first character of IFS is used to create $*,
|
||||
# except with old shells:
|
||||
build_os=$*
|
||||
IFS=$ac_save_IFS
|
||||
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
|
||||
$as_echo_n "checking host system type... " >&6; }
|
||||
if test "${ac_cv_host+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test "x$host_alias" = x; then
|
||||
ac_cv_host=$ac_cv_build
|
||||
else
|
||||
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
|
||||
$as_echo "$ac_cv_host" >&6; }
|
||||
case $ac_cv_host in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
|
||||
esac
|
||||
host=$ac_cv_host
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
set x $ac_cv_host
|
||||
shift
|
||||
host_cpu=$1
|
||||
host_vendor=$2
|
||||
shift; shift
|
||||
# Remember, the first character of IFS is used to create $*,
|
||||
# except with old shells:
|
||||
host_os=$*
|
||||
IFS=$ac_save_IFS
|
||||
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
|
||||
$as_echo_n "checking target system type... " >&6; }
|
||||
if test "${ac_cv_target+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test "x$target_alias" = x; then
|
||||
ac_cv_target=$ac_cv_host
|
||||
else
|
||||
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
|
||||
$as_echo "$ac_cv_target" >&6; }
|
||||
case $ac_cv_target in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
|
||||
esac
|
||||
target=$ac_cv_target
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
set x $ac_cv_target
|
||||
shift
|
||||
target_cpu=$1
|
||||
target_vendor=$2
|
||||
shift; shift
|
||||
# Remember, the first character of IFS is used to create $*,
|
||||
# except with old shells:
|
||||
target_os=$*
|
||||
IFS=$ac_save_IFS
|
||||
case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
|
||||
|
||||
|
||||
# The aliases save the names the user supplied, while $host etc.
|
||||
# will get canonicalized.
|
||||
test -n "$target_alias" &&
|
||||
test "$program_prefix$program_suffix$program_transform_name" = \
|
||||
NONENONEs,x,x, &&
|
||||
program_prefix=${target_alias}-
|
||||
|
||||
am__api_version='1.11'
|
||||
|
||||
# Find a good install program. We prefer a C program (faster),
|
||||
# so one script is as good as another. But avoid the broken or
|
||||
# incompatible versions:
|
||||
@ -2909,8 +2804,8 @@ fi
|
||||
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='cc-tool'
|
||||
VERSION='0.13'
|
||||
PACKAGE=cc-tool
|
||||
VERSION=0.18
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -2976,6 +2871,77 @@ macro_revision='1.3175'
|
||||
|
||||
ltmain="$ac_aux_dir/ltmain.sh"
|
||||
|
||||
# Make sure we can run config.sub.
|
||||
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
|
||||
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
|
||||
$as_echo_n "checking build system type... " >&6; }
|
||||
if test "${ac_cv_build+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_build_alias=$build_alias
|
||||
test "x$ac_build_alias" = x &&
|
||||
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
|
||||
test "x$ac_build_alias" = x &&
|
||||
as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
|
||||
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
|
||||
$as_echo "$ac_cv_build" >&6; }
|
||||
case $ac_cv_build in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
|
||||
esac
|
||||
build=$ac_cv_build
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
set x $ac_cv_build
|
||||
shift
|
||||
build_cpu=$1
|
||||
build_vendor=$2
|
||||
shift; shift
|
||||
# Remember, the first character of IFS is used to create $*,
|
||||
# except with old shells:
|
||||
build_os=$*
|
||||
IFS=$ac_save_IFS
|
||||
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
|
||||
$as_echo_n "checking host system type... " >&6; }
|
||||
if test "${ac_cv_host+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test "x$host_alias" = x; then
|
||||
ac_cv_host=$ac_cv_build
|
||||
else
|
||||
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
|
||||
$as_echo "$ac_cv_host" >&6; }
|
||||
case $ac_cv_host in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
|
||||
esac
|
||||
host=$ac_cv_host
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
set x $ac_cv_host
|
||||
shift
|
||||
host_cpu=$1
|
||||
host_vendor=$2
|
||||
shift; shift
|
||||
# Remember, the first character of IFS is used to create $*,
|
||||
# except with old shells:
|
||||
host_os=$*
|
||||
IFS=$ac_save_IFS
|
||||
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
|
||||
|
||||
|
||||
# Backslashify metacharacters that are still active within
|
||||
# double-quoted strings.
|
||||
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
|
||||
@ -15573,7 +15539,319 @@ fi
|
||||
|
||||
|
||||
|
||||
#BOOST_THREADS([mt])
|
||||
ac_ext=cpp
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the flags needed to use pthreads" >&5
|
||||
$as_echo_n "checking for the flags needed to use pthreads... " >&6; }
|
||||
if test "${boost_cv_pthread_flag+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
boost_cv_pthread_flag=
|
||||
# The ordering *is* (sometimes) important. Some notes on the
|
||||
# individual items follow:
|
||||
# (none): in case threads are in libc; should be tried before -Kthread and
|
||||
# other compiler flags to prevent continual compiler warnings
|
||||
# -lpthreads: AIX (must check this before -lpthread)
|
||||
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
|
||||
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
|
||||
# -llthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
|
||||
# -pthread: GNU Linux/GCC (kernel threads), BSD/GCC (userland threads)
|
||||
# -pthreads: Solaris/GCC
|
||||
# -mthreads: MinGW32/GCC, Lynx/GCC
|
||||
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
|
||||
# doesn't hurt to check since this sometimes defines pthreads too;
|
||||
# also defines -D_REENTRANT)
|
||||
# ... -mt is also the pthreads flag for HP/aCC
|
||||
# -lpthread: GNU Linux, etc.
|
||||
# --thread-safe: KAI C++
|
||||
case $host_os in #(
|
||||
*solaris*)
|
||||
# On Solaris (at least, for some versions), libc contains stubbed
|
||||
# (non-functional) versions of the pthreads routines, so link-based
|
||||
# tests will erroneously succeed. (We need to link with -pthreads/-mt/
|
||||
# -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
|
||||
# a function called by this macro, so we could check for that, but
|
||||
# who knows whether they'll stub that too in a future libc.) So,
|
||||
# we'll just look for -pthreads and -lpthread first:
|
||||
boost_pthread_flags="-pthreads -lpthread -mt -pthread";; #(
|
||||
*)
|
||||
boost_pthread_flags="-lpthreads -Kthread -kthread -llthread -pthread \
|
||||
-pthreads -mthreads -lpthread --thread-safe -mt";;
|
||||
esac
|
||||
# Generate the test file.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <pthread.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
pthread_t th; pthread_join(th, 0);
|
||||
pthread_attr_init(0); pthread_cleanup_push(0, 0);
|
||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
for boost_pthread_flag in '' $boost_pthread_flags; do
|
||||
boost_pthread_ok=false
|
||||
boost_pthreads__save_LIBS=$LIBS
|
||||
LIBS="$LIBS $boost_pthread_flag"
|
||||
if ac_fn_cxx_try_link "$LINENO"; then :
|
||||
if grep ".*$boost_pthread_flag" conftest.err; then
|
||||
echo "This flag seems to have triggered warnings" >&5
|
||||
else
|
||||
boost_pthread_ok=:; boost_cv_pthread_flag=$boost_pthread_flag
|
||||
fi
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext
|
||||
LIBS=$boost_pthreads__save_LIBS
|
||||
$boost_pthread_ok && break
|
||||
done
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_pthread_flag" >&5
|
||||
$as_echo "$boost_cv_pthread_flag" >&6; }
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
boost_threads_save_LIBS=$LIBS
|
||||
boost_threads_save_CPPFLAGS=$CPPFLAGS
|
||||
LIBS="$LIBS $boost_cv_pthread_flag"
|
||||
# Yes, we *need* to put the -pthread thing in CPPFLAGS because with GCC3,
|
||||
# boost/thread.hpp will trigger a #error if -pthread isn't used:
|
||||
# boost/config/requires_threads.hpp:47:5: #error "Compiler threading support
|
||||
# is not turned on. Please set the correct command line options for
|
||||
# threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
|
||||
CPPFLAGS="$CPPFLAGS $boost_cv_pthread_flag"
|
||||
if test x"$boost_cv_inc_path" = xno; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: Boost not available, not searching for the Boost thread library" >&5
|
||||
$as_echo "$as_me: Boost not available, not searching for the Boost thread library" >&6;}
|
||||
else
|
||||
ac_ext=cpp
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
if test x"$boost_cv_inc_path" = xno; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: Boost not available, not searching for boost/thread.hpp" >&5
|
||||
$as_echo "$as_me: Boost not available, not searching for boost/thread.hpp" >&6;}
|
||||
else
|
||||
ac_ext=cpp
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
boost_save_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
ac_fn_cxx_check_header_mongrel "$LINENO" "boost/thread.hpp" "ac_cv_header_boost_thread_hpp" "$ac_includes_default"
|
||||
if test "x$ac_cv_header_boost_thread_hpp" = x""yes; then :
|
||||
|
||||
$as_echo "#define HAVE_BOOST_THREAD_HPP 1" >>confdefs.h
|
||||
|
||||
else
|
||||
as_fn_error $? "cannot find boost/thread.hpp" "$LINENO" 5
|
||||
fi
|
||||
|
||||
|
||||
CPPFLAGS=$boost_save_CPPFLAGS
|
||||
ac_ext=cpp
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
fi
|
||||
|
||||
boost_save_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
# Now let's try to find the library. The algorithm is as follows: first look
|
||||
# for a given library name according to the user's PREFERRED-RT-OPT. For each
|
||||
# library name, we prefer to use the ones that carry the tag (toolset name).
|
||||
# Each library is searched through the various standard paths were Boost is
|
||||
# usually installed. If we can't find the standard variants, we try to
|
||||
# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist
|
||||
# but there's -obviously- libboost_threads-mt.dylib).
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the Boost thread library" >&5
|
||||
$as_echo_n "checking for the Boost thread library... " >&6; }
|
||||
if test "${boost_cv_lib_thread+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
boost_cv_lib_thread=no
|
||||
case "mt" in #(
|
||||
mt | mt-) boost_mt=-mt; boost_rtopt=;; #(
|
||||
mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "Xmt" : 'Xmt-*\(.*\)'`;; #(
|
||||
*) boost_mt=; boost_rtopt=mt;;
|
||||
esac
|
||||
if test $enable_static_boost = yes; then
|
||||
boost_rtopt="s$boost_rtopt"
|
||||
fi
|
||||
# Find the proper debug variant depending on what we've been asked to find.
|
||||
case $boost_rtopt in #(
|
||||
*d*) boost_rt_d=$boost_rtopt;; #(
|
||||
*[sgpn]*) # Insert the `d' at the right place (in between `sg' and `pn')
|
||||
boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #(
|
||||
*) boost_rt_d='-d';;
|
||||
esac
|
||||
# If the PREFERRED-RT-OPT are not empty, prepend a `-'.
|
||||
test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt"
|
||||
$boost_guess_use_mt && boost_mt=-mt
|
||||
# Look for the abs path the static archive.
|
||||
# $libext is computed by Libtool but let's make sure it's non empty.
|
||||
test -z "$libext" &&
|
||||
as_fn_error $? "the libext variable is empty, did you invoke Libtool?" "$LINENO" 5
|
||||
boost_save_ac_objext=$ac_objext
|
||||
# Generate the test file.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <boost/thread.hpp>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
boost::thread t; boost::mutex m;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||
ac_objext=do_not_rm_me_plz
|
||||
else
|
||||
as_fn_error $? "cannot compile a test that uses Boost thread" "$LINENO" 5
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext
|
||||
ac_objext=$boost_save_ac_objext
|
||||
boost_failed_libs=
|
||||
# Don't bother to ident the 6 nested for loops, only the 2 innermost ones
|
||||
# matter.
|
||||
for boost_tag_ in -$boost_cv_lib_tag ''; do
|
||||
for boost_ver_ in -$boost_cv_lib_version ''; do
|
||||
for boost_mt_ in $boost_mt -mt ''; do
|
||||
for boost_rtopt_ in $boost_rtopt '' -d; do
|
||||
for boost_lib in \
|
||||
boost_thread$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \
|
||||
boost_thread$boost_tag_$boost_rtopt_$boost_ver_ \
|
||||
boost_thread$boost_tag_$boost_mt_$boost_ver_ \
|
||||
boost_thread$boost_tag_$boost_ver_
|
||||
do
|
||||
# Avoid testing twice the same lib
|
||||
case $boost_failed_libs in #(
|
||||
*@$boost_lib@*) continue;;
|
||||
esac
|
||||
# If with_boost is empty, we'll search in /lib first, which is not quite
|
||||
# right so instead we'll try to a location based on where the headers are.
|
||||
boost_tmp_lib=$with_boost
|
||||
test x"$with_boost" = x && boost_tmp_lib=${boost_cv_inc_path%/include}
|
||||
for boost_ldpath in "$boost_tmp_lib/lib" '' \
|
||||
/opt/local/lib* /usr/local/lib* /opt/lib* /usr/lib* \
|
||||
"$with_boost" C:/Boost/lib /lib*
|
||||
do
|
||||
test -e "$boost_ldpath" || continue
|
||||
boost_save_LDFLAGS=$LDFLAGS
|
||||
# Are we looking for a static library?
|
||||
case $boost_ldpath:$boost_rtopt_ in #(
|
||||
*?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt)
|
||||
boost_cv_lib_thread_LIBS="$boost_ldpath/lib$boost_lib.$libext"
|
||||
test -e "$boost_cv_lib_thread_LIBS" || continue;; #(
|
||||
*) # No: use -lboost_foo to find the shared library.
|
||||
boost_cv_lib_thread_LIBS="-l$boost_lib";;
|
||||
esac
|
||||
boost_save_LIBS=$LIBS
|
||||
LIBS="$boost_cv_lib_thread_LIBS $LIBS"
|
||||
test x"$boost_ldpath" != x && LDFLAGS="$LDFLAGS -L$boost_ldpath"
|
||||
rm -f conftest$ac_exeext
|
||||
boost_save_ac_ext=$ac_ext
|
||||
boost_use_source=:
|
||||
# If we already have a .o, re-use it. We change $ac_ext so that $ac_link
|
||||
# tries to link the existing object file instead of compiling from source.
|
||||
test -f conftest.$ac_objext && ac_ext=$ac_objext && boost_use_source=false &&
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: re-using the existing conftest.$ac_objext" >&5
|
||||
if { { ac_try="$ac_link"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_link") 2>conftest.err
|
||||
ac_status=$?
|
||||
if test -s conftest.err; then
|
||||
grep -v '^ *+' conftest.err >conftest.er1
|
||||
cat conftest.er1 >&5
|
||||
mv -f conftest.er1 conftest.err
|
||||
fi
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; } && {
|
||||
test -z "$ac_cxx_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest$ac_exeext && {
|
||||
test "$cross_compiling" = yes ||
|
||||
$as_executable_p conftest$ac_exeext
|
||||
}; then :
|
||||
boost_cv_lib_thread=yes
|
||||
else
|
||||
if $boost_use_source; then
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
fi
|
||||
boost_cv_lib_thread=no
|
||||
fi
|
||||
ac_objext=$boost_save_ac_objext
|
||||
ac_ext=$boost_save_ac_ext
|
||||
rm -f core conftest.err conftest_ipa8_conftest.oo \
|
||||
conftest$ac_exeext
|
||||
ac_objext=$boost_save_ac_objext
|
||||
LDFLAGS=$boost_save_LDFLAGS
|
||||
LIBS=$boost_save_LIBS
|
||||
if test x"$boost_cv_lib_thread" = xyes; then
|
||||
boost_cv_lib_thread_LDFLAGS="-L$boost_ldpath -Wl,-R$boost_ldpath"
|
||||
boost_cv_lib_thread_LDPATH="$boost_ldpath"
|
||||
break 6
|
||||
else
|
||||
boost_failed_libs="$boost_failed_libs@$boost_lib@"
|
||||
fi
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
rm -f conftest.$ac_objext
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $boost_cv_lib_thread" >&5
|
||||
$as_echo "$boost_cv_lib_thread" >&6; }
|
||||
case $boost_cv_lib_thread in #(
|
||||
no) $as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
as_fn_error $? "cannot find the flags to link with Boost thread" "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
BOOST_THREAD_LDFLAGS=$boost_cv_lib_thread_LDFLAGS
|
||||
BOOST_THREAD_LDPATH=$boost_cv_lib_thread_LDPATH
|
||||
BOOST_LDPATH=$boost_cv_lib_thread_LDPATH
|
||||
BOOST_THREAD_LIBS=$boost_cv_lib_thread_LIBS
|
||||
CPPFLAGS=$boost_save_CPPFLAGS
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
fi
|
||||
|
||||
BOOST_THREAD_LIBS="$BOOST_THREAD_LIBS $boost_cv_pthread_flag"
|
||||
BOOST_CPPFLAGS="$BOOST_CPPFLAGS $boost_cv_pthread_flag"
|
||||
LIBS=$boost_threads_save_LIBS
|
||||
CPPFLAGS=$boost_threads_save_CPPFLAGS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -16385,7 +16663,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by cc-tool $as_me 0.13, which was
|
||||
This file was extended by cc-tool $as_me 0.18, which was
|
||||
generated by GNU Autoconf 2.66. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@ -16436,13 +16714,13 @@ $config_files
|
||||
Configuration commands:
|
||||
$config_commands
|
||||
|
||||
Report bugs to the package provider."
|
||||
Report bugs to <george-u@yandex.com>."
|
||||
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
cc-tool config.status 0.13
|
||||
cc-tool config.status 0.18
|
||||
configured by $0, generated by GNU Autoconf 2.66,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT(cc-tool, 0.16, george-u@yandex.com)
|
||||
AC_INIT(cc-tool, 0.18, george-u@yandex.com)
|
||||
|
||||
# AC_CANONICAL_SYSTEM
|
||||
AM_INIT_AUTOMAKE(cc-tool, 0.16)
|
||||
AM_INIT_AUTOMAKE(cc-tool, 0.18)
|
||||
|
||||
AC_PROG_LIBTOOL
|
||||
AC_PROG_CXX
|
||||
|
136
man/cc-tool.1
Normal file
136
man/cc-tool.1
Normal file
@ -0,0 +1,136 @@
|
||||
.\" Process this file with
|
||||
.\" groff -man -Tascii foo.1
|
||||
.\"
|
||||
.
|
||||
.TH cc-tool 1 "June 06 2012" "cc-tool 0.18" "USER COMMANDS"
|
||||
.
|
||||
.SH NAME
|
||||
cc-tool \- control Texas Instruments CC Debugger
|
||||
.
|
||||
.SH SYNOPSIS
|
||||
.B cc-tool
|
||||
[options]
|
||||
.
|
||||
.SH DESCRIPTION
|
||||
.B cc-tool
|
||||
provides support of Texas Instruments CC Debugger and several evaluation boards in order to program TI 8051-based System-On-Chip devices
|
||||
.
|
||||
.SH SUPPORTED DEVICES
|
||||
.B CC Debugger
|
||||
(VID: 0x0451 PID: 0x16a2)
|
||||
.br
|
||||
.B SmartRF04 Evaluation Board
|
||||
(VID: 0x11a0 PID: 0xdb20)
|
||||
.br
|
||||
.B SmartRF05 Evaluation Board
|
||||
(VID: 0x0451 PID: 0x16a0)
|
||||
.
|
||||
.SH SUPPORTED TARGETS
|
||||
CC2540 CC2530 CC2531 CC2533 CC2430 CC2431 CC2510 CC2511 CC1110 CC1111
|
||||
.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-h, \-\-help
|
||||
print help message
|
||||
.
|
||||
.TP
|
||||
.B \-d, \-\-device bus_number:device_number
|
||||
set programmer device usb address.
|
||||
The option should be used only if several CC Debugger devices connected to the system simultaneously.
|
||||
(you can use lsusb utility to enumerate devices connected to the system)
|
||||
.
|
||||
.TP
|
||||
.B \-f, \-\-fast
|
||||
set fast debug interface speed (by default: slow)
|
||||
.
|
||||
.TP
|
||||
.B \-i, \-\-read-info-page [file_name]
|
||||
read target info page (if target supports any). If no file-name specified data will be send to standard output.
|
||||
.
|
||||
.TP
|
||||
.B \-a, \-\-read-mac-address
|
||||
read target's mac address(es) (if target supports any).
|
||||
.
|
||||
.TP
|
||||
.B \-r, \-\-read file_name
|
||||
read flash memory and save to the specified file
|
||||
.
|
||||
.TP
|
||||
.B \-e, \-\-erase
|
||||
erase flash memory completely and reset lock bits
|
||||
.
|
||||
.TP
|
||||
.B \-w, \-\-write file_name[,offset]
|
||||
write specified file into flash memory. Optional offset value (in decimal) is an absolute target flash
|
||||
address and supported only for binary files. Option
|
||||
.I --write
|
||||
may be specified several times to build composite flash image from several hex and/or binary files,
|
||||
apply binary patches etc. Files will be merged in the order they appear in the command line.
|
||||
.
|
||||
.TP
|
||||
.B \-v, \-\-verify [method]
|
||||
verify flash after writing. Method can be
|
||||
.I crc
|
||||
(default) or
|
||||
.I read.
|
||||
Method
|
||||
.I read
|
||||
means that after writing all modified flash content is read back and compared to input flash image.
|
||||
Method
|
||||
.I crc
|
||||
means that after writing is completed target is configured to calculate
|
||||
CRC-16 over own flash and send results back so it ca be compared to crc of the input flash image.
|
||||
Method crc is much faster against read out all flash data.
|
||||
.
|
||||
.TP
|
||||
.B \-t, \-\-test
|
||||
search for programmer and target and print various information of them.
|
||||
.
|
||||
.TP
|
||||
.B \-l, \-\-lock lock_data
|
||||
specify lock data in hex numbers. Lock data size must be exactly 1 byte (2 hex digits) or 16 bytes (32 hex digits) depending on target.
|
||||
For several targets lock data can be placed into flash image file either
|
||||
.TP
|
||||
.B \-\-log [log_file]
|
||||
create log file with all operations performed. Useful for debugging cc-tool itself.
|
||||
Warning: if write operations is performed log file will also contain the written image!
|
||||
.
|
||||
.TP
|
||||
.B \-\-reset
|
||||
perform target reset. There's no need to use this option along with others because reset is performed anyway when needed
|
||||
.
|
||||
.TP
|
||||
.B \-n, \-\-name target_name
|
||||
specify target name e.g. CC2530 etc. If specified target does not match
|
||||
detected one no further actions are performed. This option is not required.
|
||||
.
|
||||
.SH SUPPORTED FILE FORMATS
|
||||
Supported image file formats are Intel hex or binary. Format will be determined automatically by file extention (hex or bin)
|
||||
or my be specified explicitly by adding
|
||||
.I ,bin
|
||||
or
|
||||
.I ,hex
|
||||
after file name. See EXAMPLES section.
|
||||
.
|
||||
.SH EXAMPLES
|
||||
.TP
|
||||
Read entire flash into binary file image.xxx
|
||||
.B cc_tool
|
||||
-r image.xxx,bin
|
||||
.TP
|
||||
Erase flash, write intel hex file image.hex and verify flash using default method
|
||||
.B cc_tool
|
||||
-v -e -w image.hex
|
||||
.TP
|
||||
Merge file image.hex and patch.bin (at offset 80), write resulting image, verify flash using read method
|
||||
.B cc_tool
|
||||
-v read -w image.hex --write patch.bin,80
|
||||
.
|
||||
.SH EXIT STATUS
|
||||
.B cc-tool
|
||||
returns a zero exist status if all action were performed successfully.
|
||||
Non zero is returned in case of failure.
|
||||
.
|
||||
.SH AUTHOR
|
||||
George Stark (george-u (at) yandex.com)
|
||||
.
|
@ -66,15 +66,12 @@ static void print_usage(const po::options_description &desc)
|
||||
//==============================================================================
|
||||
void CC_Base::init_options(po::options_description &desc)
|
||||
{
|
||||
desc.add_options()
|
||||
("load", po::value<std::vector<std::string> >(), "load firmware image ");
|
||||
|
||||
desc.add_options()
|
||||
("help,h", "produce help message");
|
||||
|
||||
desc.add_options()
|
||||
("log", po::value<String>(&option_log_name_)->implicit_value(""),
|
||||
"create in the current directory log of all operations");
|
||||
"create log of all operations");
|
||||
|
||||
desc.add_options()
|
||||
("device,d", po::value<String>(&option_device_address_),
|
||||
@ -201,14 +198,10 @@ bool CC_Base::execute(int argc, char *argv[])
|
||||
po::options_description desc;
|
||||
init_options(desc);
|
||||
|
||||
po::positional_options_description pd;
|
||||
pd.add("input-file", 1);
|
||||
|
||||
try
|
||||
{
|
||||
po::variables_map vm;
|
||||
po::parsed_options parsed = po::command_line_parser(argc, argv).options(desc).allow_unregistered().positional(pd).run();
|
||||
po::store(parsed, vm);
|
||||
po::store(po::parse_command_line(argc, argv, desc), vm);
|
||||
po::notify(vm);
|
||||
|
||||
if (vm.count("log"))
|
||||
@ -223,6 +216,7 @@ bool CC_Base::execute(int argc, char *argv[])
|
||||
process_tasks();
|
||||
log_info("main, finish task processing");
|
||||
programmer_.unit_close();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (std::runtime_error& e) // usb, file error
|
||||
|
@ -156,7 +156,7 @@ void CC_Flasher::init_options(po::options_description &desc)
|
||||
|
||||
desc.add_options()
|
||||
("write,w", po::value<StringVector>(),
|
||||
"write flash memory. Option can be specified several times.");
|
||||
"write flash memory.");
|
||||
|
||||
desc.add_options()
|
||||
("verify,v", po::value<String>(&option_verify_type_)->implicit_value(""),
|
||||
@ -326,8 +326,8 @@ void CC_Flasher::task_read_mac_address()
|
||||
|
||||
if (unit_info_.mac_address_count == 1)
|
||||
{
|
||||
std::cout << " MAC address: " << binary_to_hex(&mac0[0], mac0.size(), ":")
|
||||
<< "\n";
|
||||
std::cout << " MAC address: "
|
||||
<< binary_to_hex(&mac0[0], mac0.size(), ":") << "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -14,7 +14,6 @@
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
CC_Flasher cc_flasher;
|
||||
cc_flasher.execute(argc, argv);
|
||||
|
||||
return 0;
|
||||
return cc_flasher.execute(argc, argv) ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ void CC_243x::find_unit_info(UnitInfo &unit_info)
|
||||
unit_info.flags = UnitInfo::SUPPORT_MAC_ADDRESS;
|
||||
unit_info.lock_size = 1;
|
||||
unit_info.max_flash_size = 128;
|
||||
unit_info.flash_page_size = 2048;
|
||||
unit_info.flash_page_size = 2;
|
||||
unit_info.mac_address_count = 1;
|
||||
|
||||
ByteVector sfr;
|
||||
|
@ -11,6 +11,9 @@
|
||||
#include "cc_251x_111x.h"
|
||||
#include "cc_debug_interface.h"
|
||||
|
||||
const uint16_t XDATA_RAM_OFFSET = 0xF000;
|
||||
const uint16_t XDATA_SFR_OFFSET = 0xDF00;
|
||||
|
||||
//==============================================================================
|
||||
CC_251x_111x::CC_251x_111x(USB_Device &programmer, ProgressWatcher &pw) :
|
||||
CC_UnitDriver(programmer, pw)
|
||||
@ -21,8 +24,9 @@ CC_251x_111x::CC_251x_111x(USB_Device &programmer, ProgressWatcher &pw) :
|
||||
reg_info.verify_block_size = 512;
|
||||
reg_info.write_block_size = 512;
|
||||
reg_info.xbank_offset = 0;
|
||||
reg_info.dma0_cfg_offset = 0xFF00;
|
||||
reg_info.dma_data_offset = 0xF000;
|
||||
|
||||
reg_info.dma0_cfg_offset = XDATA_RAM_OFFSET + 0x0F00;
|
||||
reg_info.dma_data_offset = XDATA_RAM_OFFSET + 0x0000;
|
||||
|
||||
reg_info.rndh = 0xDFBD;
|
||||
reg_info.rndl = 0xDFBC;
|
||||
@ -46,8 +50,8 @@ void CC_251x_111x::supported_units(Unit_ID_List &units)
|
||||
{
|
||||
units.push_back(Unit_ID(0x2510, "CC2510"));
|
||||
units.push_back(Unit_ID(0x2511, "CC2511"));
|
||||
units.push_back(Unit_ID(0x1111, "CC1110"));
|
||||
units.push_back(Unit_ID(0x1110, "CC1111"));
|
||||
units.push_back(Unit_ID(0x1111, "CC1111"));
|
||||
units.push_back(Unit_ID(0x1110, "CC1110"));
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
@ -55,8 +59,9 @@ void CC_251x_111x::find_unit_info(UnitInfo &unit_info)
|
||||
{
|
||||
unit_info.lock_size = 1;
|
||||
unit_info.max_flash_size = 32;
|
||||
unit_info.flash_page_size = 1024;
|
||||
unit_info.flash_page_size = 1;
|
||||
unit_info.mac_address_count = 1;
|
||||
unit_info.flags = UnitInfo::SUPPORT_INFO_PAGE;
|
||||
|
||||
ByteVector sfr;
|
||||
|
||||
|
@ -510,7 +510,7 @@ void CC_UnitDriver::write_flash_slow(const DataSectionStore §ion_store)
|
||||
|
||||
ByteVector data;
|
||||
section_store.create_image(0xFF, data);
|
||||
data.resize((section_store.upper_address() + (WRITE_BLOCK_SIZE- 1)) &
|
||||
data.resize((section_store.upper_address() + (WRITE_BLOCK_SIZE - 1)) &
|
||||
~(WRITE_BLOCK_SIZE - 1), 0xFF);
|
||||
|
||||
pw_.write_start(data.size());
|
||||
|
@ -1,10 +1,10 @@
|
||||
/*
|
||||
* File : version.h
|
||||
* Last changed : $Date: 2011-12-13 01:50:21 +0400 (Tue, 13 Dec 2011) $
|
||||
* Revision : $Rev: 189 $
|
||||
* version.h
|
||||
*
|
||||
* Author : George Stark <george-u@yandex.com>
|
||||
* License : GNU GPL v2
|
||||
* Created on: Jul 28, 2011
|
||||
* Author: George Stark <george-u@yandex.com>
|
||||
*
|
||||
* License: GNU GPL v2
|
||||
*
|
||||
*/
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
#include "common.h"
|
||||
|
||||
const uint_t VERSION_MAJOR = 0;
|
||||
const uint_t VERSION_MINOR = 16;
|
||||
const uint_t VERSION_MINOR = 18;
|
||||
|
||||
const char MODULE_NAME[] = "cc-tool";
|
||||
const char MODULE_DESCRIPTION[] = "Texas Instruments 8051-based System-On-Chip devices programmer using TI CC Debugger";
|
||||
|
9
udev/90-cc-debugger.rules
Normal file
9
udev/90-cc-debugger.rules
Normal file
@ -0,0 +1,9 @@
|
||||
# SmartRF05 Evaluation Board
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a0", MODE="0666"
|
||||
|
||||
# SmartRF04 Evaluation Board
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="11a0", ATTRS{idProduct}=="db20", MODE="0666"
|
||||
|
||||
# CC Debugger
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a2", MODE="0666"
|
||||
|
Loading…
x
Reference in New Issue
Block a user