Merge branch 'master' of ssh://hamlib.git.sourceforge.net/gitroot/hamlib/hamlib

Hamlib-1.2.15
Stephane Fillod 2011-12-11 16:15:54 +01:00
commit ba08f75119
4 zmienionych plików z 42 dodań i 355 usunięć

Wyświetl plik

@ -7,70 +7,18 @@ pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = hamlib.pc
EXTRA_DIST = PLAN TODO LICENSE hamlib.m4 hamlib.pc.in README.developer \
README.betatester README.win32 hamlib.spec
README.betatester README.win32
# BINDINGS_LIST subdirs are no longer built
SUBDIRS = macros include lib $(subdirs) src @BACKEND_LIST@ @ROT_BACKEND_LIST@ \
@BINDINGS@ tests doc
# tcl, perl, and kylix subdirs are no longer distributed
# perl and kylix subdirs are no longer distributed
DIST_SUBDIRS = macros include lib $(subdirs) src c++ bindings tests doc \
icom kenwood aor yaesu dummy pcr alinco uniden tentec kachina jrc \
rpcrig winradio easycomm fodtrack rpcrot drake rotorez \
flexradio sartek lowe rft rs tapr kit skanti prm80 wj racal tuner \
gs232a heathkit spid ars m2 amsat scripts ts7400 celestron
rpm: Makefile dist
$(RPMBUILD) -ta $(PACKAGE)-$(VERSION).tar.gz
rm $(PACKAGE)-$(VERSION).tar.gz
ACLOCAL_AMFLAGS = -I macros
# Hack for generating the win32 binaries
.PHONY: dist-win32
distdirw32="$(distdir)-win32"
# FIXME: get libusb-win32 path from configure
libusb_win32_bin_path=$(top_builddir)/../libusb-win32-bin-1.2.4.0
msvc_toolkit_path=~/.wine/drive_c/Program\ Files/Microsoft\ Visual\ C++\ Toolkit\ 2003
zipdir=hamlib-win32-$(VERSION)
# aka unix2dos
TODOS=todos
dist-win32:
@# Import internal ./libltdl and build it for mingw32
mkdir -p $(distdirw32)/_build $(distdirw32)/_inst
@# Configure and build hamlib for mingw32, with libusb-win32
@# FIXME: Need to forge a file libusb.pc
$(am__cd) $(distdirw32)/_build \
&& ( test -d libltdl || ( libtoolize --ltdl && \
$(am__cd) libltdl && ./configure --disable-static --host=i586-mingw32msvc && make ) ) \
&& ../../$(top_srcdir)/configure --disable-static \
--host=i586-mingw32msvc \
--prefix=`pwd`/../_inst \
--without-rpc-backends \
--without-cxx-binding \
PKG_CONFIG_LIBDIR=../../$(libusb_win32_bin_path)/lib/pkgconfig \
&& make $(AM_MAKEFLAGS) install
mkdir -p $(zipdir)/bin $(zipdir)/lib/msvc $(zipdir)/lib/gcc $(zipdir)/include
cp -a $(distdirw32)/_build/src/libhamlib.def $(zipdir)/lib/msvc/libhamlib-@ABI_VERSION@.def
cp -a $(distdirw32)/_inst/include/hamlib $(zipdir)/include/.
$(TODOS) $(zipdir)/lib/msvc/libhamlib-@ABI_VERSION@.def $(zipdir)/include/hamlib/*.h
@# C++ binding is pointless on win32 because of its ABI
rm -f $(zipdir)/include/hamlib/{rig,rot}class.h
for f in README README.betatester LICENSE COPYING.LIB README_VB ; do \
cp -a $(top_srcdir)/$${f} $(zipdir)/$${f}.txt && $(TODOS) $(zipdir)/$${f}.txt ; done
cp -a $(distdirw32)/_inst/bin/{libhamlib-@ABI_VERSION@.dll,rigctld.exe,rigctl.exe,rigmem.exe,rigsmtr.exe,rigswr.exe,rotctld.exe,rotctl.exe} $(zipdir)/bin/.
cp -a $(distdirw32)/_inst/lib/hamlib/hamlib-*.dll $(zipdir)/bin/.
cp -a $(distdirw32)/_inst/lib/libhamlib.dll.a $(zipdir)/lib/gcc
@# NB: Do no strip libusb0.dll
i586-mingw32msvc-strip $(zipdir)/bin/*.exe $(zipdir)/bin/*hamlib-*.dll
cp -a ${libusb_win32_bin_path}/bin/x86/libusb0_x86.dll $(zipdir)/bin/libusb0.dll
@# Need VC++ free toolkit installed somewhere (TODO: or dlltool is enough?)
$(am__cd) $(zipdir)/lib/msvc/ && \
wine $(msvc_toolkit_path)/bin/link.exe /lib /machine:i386 /def:libhamlib-@ABI_VERSION@.def || true
zip -r hamlib-win32-$(VERSION).zip $(zipdir)
rm -rf $(distdirw32)

Wyświetl plik

@ -588,26 +588,28 @@ via the Hamlib API. From an application's perspective, setting a specific
level includes all messages at that level and all at any lower level.
In the library, passing RIG_DEBUG_ERR to rig_debug() limits display of that
message to a level setting of ERR or BUG. Use of a given level can show the
value of a critical variable without the need of a TRACE level message which
can get lost in the stream of output produced by low-level Hamlib functions.
message to a level setting of ERR or any higher level. In this case if the
application sets the message level to RIG_DEBUG_INFO, the message will not
be seen. Use of a given level can show the value of a critical variable
without the need of a TRACE level message where it can get lost in the
stream of output produced by low-level Hamlib functions.
Here are my (N0NB's) suggested use of rig_debug() levels in backends.
* Many backend functions should have an initial call to rig_debug() as follows:
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
rig_debug(RIG_DEBUG_VERBOSE, "%s() entered\n", __func__);
The use of RIG_DEBUG_VERBOSE allows tracking the chain of function calls
through the backend while still keeping rigctl's output mostly
uncluttered by use of the -vvvv switch.
* Developers will want to call rig_debug() to display values of critical
variable(s) in a backend function. For this RIG_DEBUG_VERBOSE should be
a good choice as the output won't be lost in the stream of RIG_DEBUG_TRACE
level output by various low-level Hamlib functions (rigctl -vvvv). It will
also match the display of the values of critical variable(s) with the
function calls as above.
variable(s) in a backend function. For this RIG_DEBUG_VERBOSE
(rigctl -vvvv) should be a good choice as the output won't be lost in the
stream of RIG_DEBUG_TRACE (rigctl -vvvvv) level output by various
low-level Hamlib functions. It will also match the display of the values
of critical variable(s) with the function calls as above.
* Use RIG_DEBUG_TRACE when it makes sense to see the variable(s) in the
context of a lot of low-level debugging output (rigctl -vvvvv).
@ -623,6 +625,8 @@ If an application sets the debugging level to RIG_DEBUG_NONE, then
rig_debug() functions will produce no output. Therefore rig_debug() cannot
be counted on to output a message in all runtime cases.
The debugging levels may be an area for consideration in API_3.
8.3 Submitting patches

Wyświetl plik

@ -7,7 +7,7 @@ AC_PREREQ(2.59)
## ------------------------ ##
## Autoconf initialisation. ##
## ------------------------ ##
dnl Please do not use '-' in the version number, 'make rpm' will fail,
dnl Please do not use '-' in the version number, as package managers will fail,
dnl however, the use of '~' should be fine as apt (others?) will treat
dnl it as an earlier version than the actual release. TNX KA6MAL
dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars!
@ -46,7 +46,6 @@ AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_CHECK_PROGS(RPMBUILD, rpmbuild, rpm)
dnl Pkgconfig
PKG_PROG_PKG_CONFIG
@ -56,8 +55,8 @@ AC_ISC_POSIX
AC_MINIX
AC_PROG_CC()
AC_DIAGNOSE([obsolete],[AM_PROG_CC_STDC:
your code should no longer depend upon `am_cv_prog_cc_stdc', but upon
`ac_cv_prog_cc_stdc'. Remove this warning and the assignment when
your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon
'ac_cv_prog_cc_stdc'. Remove this warning and the assignment when
you adjust the code. You can also remove the above call to
AC_PROG_CC if you already called it elsewhere.])
am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
@ -542,8 +541,30 @@ amsat/Makefile
ts7400/Makefile
celestron/Makefile
scripts/Makefile
hamlib.pc
hamlib.spec]
hamlib.pc]
)
AC_OUTPUT
echo \
"----------------------------------------------------------------------
${PACKAGE_NAME} Version ${PACKAGE_VERSION} configuration:
Prefix ${prefix}
Compiler ${CC} ${CFLAGS} ${CPPFLAGS}
Package features:
With C++ binding ${cf_with_cxx_binding}
With Perl binding ${cf_with_perl_binding}
With Python binding ${cf_with_python_binding}
With TCL binding ${build_tcl}
Enable Rig Matrix ${enable_rigmatrix}
Enable WinRadio ${cf_with_winradio}
Enable USRP ${cf_with_usrp}
Enable USB backends ${cf_with_libusb}
Enable RPC backends ${cf_with_rpc_backends}
Enable shared libs ${enable_shared}
Enable static libs ${enable_static}
-----------------------------------------------------------------------"

Wyświetl plik

@ -1,286 +0,0 @@
%define ver @VERSION@
%define prefix /usr
Summary: Run-time library to control radio transcievers and receivers.
Name: hamlib
Version: %ver
Release: 1
Copyright: LGPL
Group: Ham/Libraries
Packager: Stephane Fillod <fillods@users.sourceforge.net>
Source: http://prdownloads.sourceforge.net/hamlib/hamlib-%{ver}.tar.gz
BuildRoot: /tmp/hamlib-%{ver}-buildroot
URL: http://hamlib.sourceforge.net
BuildRequires: binutils >= 2.9.4, gcc >= 2.95, glibc-devel >= 2.1
BuildRequires: /bin/sh, fileutils, findutils, flex
BuildRequires: gzip, make >= 3.77, patch >= 2.5, rpm >= 3.0, sed
BuildRequires: textutils
BuildRequires: /bin/sh, automake >= 1.4, libtool >= 2.2, fileutils, findutils
%changelog
* Tue Sep 26 2004 Stephane Fillod
- New backends: skanti, racal, wj, tuner
- New command 'rigswr'
* Tue Jan 20 2004 Tomi Manninen
- Fix for 1.1.5pre2
- Better use of rpm macros
- Disable all bindings
* Tue Oct 08 2003 Joop Stakenborg
- Fix 'make rpm' again by disabling c++ bindings.
- rotclass.h and rigclass.h go into the devel package for now (FIXME)
* Wed Jan 15 2003 Joop Stakenborg
- Fix the spec file for 1.1.4CVS
- 'make rpm' should work now
* Thu Jun 17 2002 Stephane Fillod
- Added rotator support
- Added RPC daemon, hamlib.m4
- Upstream version 1.1.3
* Mon Jul 18 2001 Stephane Fillod
- Made initial "working" SPEC file
%description
Most recent amateur radio transceivers allow external control of their
functions through a computer interface. Unfortunately, control commands are
not always consistent across a manufacturer's product line and each
manufacturer's product line differs greatly from its competitors.
.
This library addresses that issue by providing a standardised programming
interface that applications can talk to and translating that into the
appropriate commands required by the radio in use.
.
This package provides the run-time form of the library. If you wish to
develop software using this library you need the 'hamlib-devel' package.
.
Also included in the package is a simple radio control program 'rigctl',
which let one control a radio transceiver or receiver, either from
command line interface or in a text-oriented interactive interface.
%package devel
Summary: Development library to control radio transcievers and receivers.
Group: Development/Libraries
Requires: hamlib
%description devel
Most recent amateur radio transceivers allow external control of their
functions through a computer interface. Unfortunately, control commands are
not always consistent across a manufacturer's product line and each
manufacturer's product line differs greatly from its competitors.
.
This library addresses that issue by providing a standardised programming
interface that applications can talk to and translating that into the
appropriate commands required by the radio in use.
.
This package provides the development library. If you wish to run applications
developed using this library you'll need the 'hamlib' package.
#%package c++
#Summary: Hamlib radio control library C++ binding
#Group: Development/Libraries
#Requires: hamlib
#%description c++
#C++ Binding.
#%package c++-devel
#Summary: Hamlib radio control library C++ binding headers and static libs
#Group: Development/Libraries
#Requires: hamlib, hamlib-devel
#%description c++-devel
#This package contains all of the headers and the static libraries
#for C++ binding of Hamlib.
#You'll only need this package if you are doing development.
#%package perl
#Summary: Hamlib radio control library Perl binding
#Group: Development/Libraries
#Requires: hamlib
#
#%description perl
#Perl Binding.
%prep
%setup
%build
%configure --without-cxx-binding \
--without-perl-binding \
--without-kylix-binding \
--without-tcl-binding \
--without-python-binding
make CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" all
%install
rm -rf $RPM_BUILD_ROOT
(umask 077 && mkdir -p $RPM_BUILD_ROOT)
chmod go= $RPM_BUILD_ROOT
%makeinstall
chmod 644 $RPM_BUILD_ROOT%{prefix}/lib/*.la
#strip $RPM_BUILD_ROOT%{prefix}/lib/*-%{version}.so
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(644, root, root, 755)
%doc COPYING
#%doc doc/*.html
#%doc doc/*.sgml
#%doc doc/*.txt
%defattr(755, root, root, 755)
%{_libdir}/libhamlib-%{ver}.so.@ABI_VERSION@
%{_libdir}/libhamlib-%{ver}.so.@ABI_VERSION@.0.4
%{_libdir}/libhamlib.la
%{_libdir}/hamlib-alinco.so
%{_libdir}/hamlib-alinco.la
%{_libdir}/hamlib-aor.so
%{_libdir}/hamlib-aor.la
%{_libdir}/hamlib-drake.so
%{_libdir}/hamlib-drake.la
%{_libdir}/hamlib-dummy.so
%{_libdir}/hamlib-dummy.la
%{_libdir}/hamlib-easycomm.so
%{_libdir}/hamlib-easycomm.la
%{_libdir}/hamlib-flexradio.so
%{_libdir}/hamlib-flexradio.la
%{_libdir}/hamlib-fodtrack.so
%{_libdir}/hamlib-fodtrack.la
%{_libdir}/hamlib-icom.so
%{_libdir}/hamlib-icom.la
%{_libdir}/hamlib-jrc.so
%{_libdir}/hamlib-jrc.la
%{_libdir}/hamlib-kachina.so
%{_libdir}/hamlib-kachina.la
%{_libdir}/hamlib-kenwood.so
%{_libdir}/hamlib-kenwood.la
%{_libdir}/hamlib-kit.so
%{_libdir}/hamlib-kit.la
%{_libdir}/hamlib-lowe.so
%{_libdir}/hamlib-lowe.la
%{_libdir}/hamlib-microtune.so
%{_libdir}/hamlib-microtune.la
%{_libdir}/hamlib-pcr.so
%{_libdir}/hamlib-pcr.la
%{_libdir}/hamlib-racal.so
%{_libdir}/hamlib-racal.la
%{_libdir}/hamlib-rft.so
%{_libdir}/hamlib-rft.la
%{_libdir}/hamlib-rotorez.so
%{_libdir}/hamlib-rotorez.la
%{_libdir}/hamlib-rpcrig.so
%{_libdir}/hamlib-rpcrig.la
%{_libdir}/hamlib-rpcrot.so
%{_libdir}/hamlib-rpcrot.la
%{_libdir}/hamlib-sartek.so
%{_libdir}/hamlib-sartek.la
%{_libdir}/hamlib-skanti.so
%{_libdir}/hamlib-skanti.la
%{_libdir}/hamlib-tapr.so
%{_libdir}/hamlib-tapr.la
%{_libdir}/hamlib-tentec.so
%{_libdir}/hamlib-tentec.la
%{_libdir}/hamlib-tuner.so
%{_libdir}/hamlib-tuner.la
%{_libdir}/hamlib-uniden.so
%{_libdir}/hamlib-uniden.la
%{_libdir}/hamlib-winradio.so
%{_libdir}/hamlib-winradio.la
%{_libdir}/hamlib-wj.so
%{_libdir}/hamlib-wj.la
%{_libdir}/hamlib-yaesu.so
%{_libdir}/hamlib-yaesu.la
%{_bindir}/rigctl
%{_sbindir}/rpc.rigd
%{_mandir}/man1/rigctl.1.gz
%{_mandir}/man8/rpc.rigd.8.gz
%{_bindir}/rotctl
%{_sbindir}/rpc.rotd
%{_mandir}/man1/rotctl.1.gz
%{_mandir}/man8/rpc.rotd.8.gz
%{_bindir}/rigmem
%{_mandir}/man1/rigmem.1.gz
%{_bindir}/rigswr
%{_mandir}/man1/rigswr.1.gz
%files devel
%defattr(644, root, root, 755)
%{_includedir}/hamlib/rig.h
%{_includedir}/hamlib/rigclass.h
%{_includedir}/hamlib/rotclass.h
%{_includedir}/hamlib/rig_dll.h
%{_includedir}/hamlib/riglist.h
%{_includedir}/hamlib/rotator.h
%{_includedir}/hamlib/rotlist.h
%{_datadir}/aclocal/hamlib.m4
%{_libdir}/pkgconfig/hamlib.pc
%{_libdir}/libhamlib.a
%{_libdir}/libhamlib.so
%{_libdir}/hamlib-alinco.a
%{_libdir}/hamlib-aor.a
%{_libdir}/hamlib-drake.a
%{_libdir}/hamlib-dummy.a
%{_libdir}/hamlib-easycomm.a
%{_libdir}/hamlib-flexradio.a
%{_libdir}/hamlib-fodtrack.a
%{_libdir}/hamlib-icom.a
%{_libdir}/hamlib-jrc.a
%{_libdir}/hamlib-kachina.a
%{_libdir}/hamlib-kenwood.a
%{_libdir}/hamlib-kit.a
%{_libdir}/hamlib-lowe.a
%{_libdir}/hamlib-microtune.a
%{_libdir}/hamlib-pcr.a
%{_libdir}/hamlib-racal.a
%{_libdir}/hamlib-rft.a
%{_libdir}/hamlib-rotorez.a
%{_libdir}/hamlib-rpcrig.a
%{_libdir}/hamlib-rpcrot.a
%{_libdir}/hamlib-sartek.a
%{_libdir}/hamlib-skanti.a
%{_libdir}/hamlib-tapr.a
%{_libdir}/hamlib-tentec.a
%{_libdir}/hamlib-tuner.a
%{_libdir}/hamlib-uniden.a
%{_libdir}/hamlib-winradio.a
%{_libdir}/hamlib-wj.a
%{_libdir}/hamlib-yaesu.a
#%files c++
#%defattr(755, root, root, 755)
#%{_libdir}/libhamlib++-%{version}.so
#%files c++-devel
#%defattr(644, root, root, 755)
#%{_includedir}/hamlib/rigclass.h
#%{_includedir}/hamlib/rotclass.h
#%{_datadir}/aclocal/hamlib++.m4
#%{_libdir}/libhamlib++.a
#%{_libdir}/libhamlib++.la
#%files perl
#%defattr(755, root, root, 755)
#/usr/local/lib/perl/5.6.1/Hamlib.pm
#%dir /usr/local/lib/perl/5.6.1/auto/Hamlib
#%doc /usr/local/man/man3/Hamlib.3pm