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 pkgconfig_DATA = hamlib.pc
EXTRA_DIST = PLAN TODO LICENSE hamlib.m4 hamlib.pc.in README.developer \ 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 # BINDINGS_LIST subdirs are no longer built
SUBDIRS = macros include lib $(subdirs) src @BACKEND_LIST@ @ROT_BACKEND_LIST@ \ SUBDIRS = macros include lib $(subdirs) src @BACKEND_LIST@ @ROT_BACKEND_LIST@ \
@BINDINGS@ tests doc @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 \ DIST_SUBDIRS = macros include lib $(subdirs) src c++ bindings tests doc \
icom kenwood aor yaesu dummy pcr alinco uniden tentec kachina jrc \ icom kenwood aor yaesu dummy pcr alinco uniden tentec kachina jrc \
rpcrig winradio easycomm fodtrack rpcrot drake rotorez \ rpcrig winradio easycomm fodtrack rpcrot drake rotorez \
flexradio sartek lowe rft rs tapr kit skanti prm80 wj racal tuner \ flexradio sartek lowe rft rs tapr kit skanti prm80 wj racal tuner \
gs232a heathkit spid ars m2 amsat scripts ts7400 celestron 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 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. 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 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 message to a level setting of ERR or any higher level. In this case if the
value of a critical variable without the need of a TRACE level message which application sets the message level to RIG_DEBUG_INFO, the message will not
can get lost in the stream of output produced by low-level Hamlib functions. 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. 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: * 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 The use of RIG_DEBUG_VERBOSE allows tracking the chain of function calls
through the backend while still keeping rigctl's output mostly through the backend while still keeping rigctl's output mostly
uncluttered by use of the -vvvv switch. uncluttered by use of the -vvvv switch.
* Developers will want to call rig_debug() to display values of critical * 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 variable(s) in a backend function. For this RIG_DEBUG_VERBOSE
a good choice as the output won't be lost in the stream of RIG_DEBUG_TRACE (rigctl -vvvv) should be a good choice as the output won't be lost in the
level output by various low-level Hamlib functions (rigctl -vvvv). It will stream of RIG_DEBUG_TRACE (rigctl -vvvvv) level output by various
also match the display of the values of critical variable(s) with the low-level Hamlib functions. It will also match the display of the values
function calls as above. 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 * 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). 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 rig_debug() functions will produce no output. Therefore rig_debug() cannot
be counted on to output a message in all runtime cases. 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 8.3 Submitting patches

Wyświetl plik

@ -7,7 +7,7 @@ AC_PREREQ(2.59)
## ------------------------ ## ## ------------------------ ##
## Autoconf initialisation. ## ## 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 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 it as an earlier version than the actual release. TNX KA6MAL
dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars! dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars!
@ -46,7 +46,6 @@ AC_PROG_CPP
AC_PROG_INSTALL AC_PROG_INSTALL
AC_PROG_LN_S AC_PROG_LN_S
AC_PROG_MAKE_SET AC_PROG_MAKE_SET
AC_CHECK_PROGS(RPMBUILD, rpmbuild, rpm)
dnl Pkgconfig dnl Pkgconfig
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
@ -56,8 +55,8 @@ AC_ISC_POSIX
AC_MINIX AC_MINIX
AC_PROG_CC() AC_PROG_CC()
AC_DIAGNOSE([obsolete],[AM_PROG_CC_STDC: AC_DIAGNOSE([obsolete],[AM_PROG_CC_STDC:
your code should no longer depend upon `am_cv_prog_cc_stdc', but upon 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 'ac_cv_prog_cc_stdc'. Remove this warning and the assignment when
you adjust the code. You can also remove the above call to you adjust the code. You can also remove the above call to
AC_PROG_CC if you already called it elsewhere.]) AC_PROG_CC if you already called it elsewhere.])
am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
@ -542,8 +541,30 @@ amsat/Makefile
ts7400/Makefile ts7400/Makefile
celestron/Makefile celestron/Makefile
scripts/Makefile scripts/Makefile
hamlib.pc hamlib.pc]
hamlib.spec]
) )
AC_OUTPUT 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