From 60019c9444bbccdd1f9dc3c2ef9406e196f4d7ba Mon Sep 17 00:00:00 2001 From: Remi Chateauneu Date: Sun, 8 Sep 2013 14:56:28 +0100 Subject: [PATCH] Monolitic libraries. --- INSTALL | 554 ++++++++++++++++++++++----------------- Makefile.am | 4 +- adat/Makefile.am | 9 +- alinco/Makefile.am | 9 +- amsat/Makefile.am | 11 +- aor/Makefile.am | 9 +- ars/Makefile.am | 11 +- celestron/Makefile.am | 9 +- configure.ac | 18 +- drake/Makefile.am | 9 +- dummy/Makefile.am | 11 +- easycomm/Makefile.am | 9 +- ether6/Makefile.am | 9 +- flexradio/Makefile.am | 11 +- fodtrack/Makefile.am | 11 +- gnuradio/Makefile.am | 5 +- gs232a/Makefile.am | 9 +- heathkit/Makefile.am | 9 +- icom/Makefile.am | 11 +- include/hamlib/rig.h | 4 + include/hamlib/riglist.h | 38 --- include/hamlib/rotlist.h | 35 --- jrc/Makefile.am | 9 +- kachina/Makefile.am | 9 +- kenwood/Makefile.am | 9 +- kit/Makefile.am | 21 +- lib/getaddrinfo.c | 6 +- lowe/Makefile.am | 9 +- m2/Makefile.am | 9 +- microtune/Makefile.am | 10 +- miniVNA/Makefile.am | 9 +- pcr/Makefile.am | 11 +- prm80/Makefile.am | 9 +- racal/Makefile.am | 11 +- rft/Makefile.am | 9 +- rotorez/Makefile.am | 9 +- rs/Makefile.am | 9 +- sartek/Makefile.am | 9 +- skanti/Makefile.am | 9 +- spid/Makefile.am | 9 +- src/Makefile.am | 4 + src/misc.c | 15 ++ src/register.c | 184 +++++++------ src/register.h | 26 +- src/rot_reg.c | 163 ++++++------ src/tones.h | 2 +- tapr/Makefile.am | 9 +- tentec/Makefile.am | 11 +- tests/Makefile.am | 85 ++++-- tests/rigctld.c | 4 +- tests/rotctld.c | 4 +- ts7400/Makefile.am | 11 +- tuner/Makefile.am | 9 +- uniden/Makefile.am | 9 +- winradio/Makefile.am | 9 +- wj/Makefile.am | 9 +- yaesu/Makefile.am | 13 +- 57 files changed, 818 insertions(+), 730 deletions(-) diff --git a/INSTALL b/INSTALL index da5efa563..7d1c323be 100644 --- a/INSTALL +++ b/INSTALL @@ -1,220 +1,201 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007, 2008, 2009 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + Basic Installation ================== -For more information specific to Hamlib, please read the README as well as -README.betatester and the first part of README.developer to see which -additional development packages are needed. This source code distribution is -autoconfiguring and you should be able to compile it and install it without -manual interventions such as editing Makefiles, configuration files, and so -on. These are generic instructions for people who are not familiar with -installing autoconfiguring software (along with some Hamlib-specific -information). - -The simplest way to compile this package is to enter the source code -main directory and do the following: - - 1. Configure the source code by typing: - - $ ./configure - - If you are planning to install the package into your home directory - or to a location other than `/usr/local' then add the flag - `--prefix=PATH' to `configure'. For example, if your home directory - is `/home/username' and you would like to install it to a directory - named 'local' you can configure the package to install itself - there by invoking: - - $ ./configure --prefix=$HOME/local - - The configure script has several options to configure Hamlib. See the - Optional Features section below. - - While running, `configure' prints some messages telling you which - features it is checking for. - - 2. Compile the package by typing: - - $ make - - Running `make' takes a while. Since Hamlib is a package, now is the - time to go get a cup of coffee. - - 3. Some packages are bundled with self-tests for source-code verification. - If this package includes such tests, you can optionally run them after - compilation by typing - - $ make check - - 4. Type `make install' to install the programs and any data files and - documentation. Type `make uninstall' to undo the installation. - - N.B. Be aware that Super User (root) privileges will be required to - install to /usr/local or any other system location outside of your home - directory. Many distributions include the `sudo' command which will - permit you to install Hamlib after entering your password. Otherwise - you will need to log in as 'root'. - - During installation, the following files go to the following directories: - Executables -> /prefix/bin - Libraries -> /prefix/lib - Public header files -> /prefix/include - Man pages -> /prefix/man/man? - Info files -> /prefix/info - Doc files -> /prefix/share/doc/ - Share files -> /prefix/share/ - where `prefix' is either `/usr/local' or the PATH that you specified - in the `--prefix' flag. - - If any of these directories do not presently exist, they will be - created on demand. - - If you are installing in your home directory make sure that - `/home/username/bin' is in your path. If you're using the bash shell - add these lines at the end of your .bashrc file: - - PATH="/home/username/bin:${PATH}" - export PATH - - If you are using csh or tcsh, then use this line instead: - - setenv PATH /home/username/bin:${PATH} - - By prepending your home directory to the rest of the PATH you can - override systemwide installed software with your own custom installation. - - 5. After installation you may need to update the ld.so.cache as the - installation files are placed in /usr/local/lib by default. On most - systems this is easily accomplished by running the `ldconfig' command - as the superuser (root). The following line may need to be added to - /etc/ld.so.conf: - - /usr/local/lib - - Most modern distributions have an /etc/ld.so.conf.d/ directory where - local configuration can be made. Later versions of Debian and - derivatives have a file named 'libc.conf' in this directory. The - contents of libc.conf are: - - # libc default configuration - /usr/local/lib - - If your system does not have such a file, one will need to be created - and then `ldconfig' will need to be run as the root user so that - applications using the Hamlib libraries can find them. - - Now `ldconfig' can be run. - - While the programs built along with Hamlib will probably work fine - without running `ldconfig', experience has shown that precompiled - binaries like Fldigi will not be able to find a locally compiled - libhamlib.so.2 without updating the ld.so.cache. - - 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. The - `configure' program will need to be run again to recompile Hamlib. - - 7. You can optionally generate the Doxygen documentation files: - - cd doc - make doc - - The HTML output files are provided for binary releases on the hamlib.org - web site. - - 8. Finally, if you wish to remove Hamlib, run `make uninstall' as - superuser (root), unless Hamlib was installed into your home directory, - from the Hamlib source directory. This will work unless `make distclean' - has been run. - -Compiler configuration (Advanced usage) -======================================= - - The `configure' shell script is responsible for choosing and configuring -the compiler(s). - -The following options allow you to specify whether you -want to enable or disable various debugging mechanisms: - -`--enable-warnings' - Make the compilers very picky about warnings. Try this whenever you - write new code since it may catch a few bugs. This is not active by - default because all too often warnings can be too picky and scare - the end-user. - -All programs are compiled with optimization level 2 by default (-O2). -Occasionally that confuses the debugger when code is inlined. To disable -optimization and enable debugging, set the shell environment variables -CFLAGS, CXXFLAGS. On the bash shell, you can do this -like this: - - $ export CFLAGS="-g" - $ export CXXFLAGS="-g" - -On the tcsh shell, use the `setenv' command instead: - - % setenv CFLAGS "-g" - ...etc... - -For other shells, please consult your shell's documentation. - -Similarly, you can increase the optimization level by assigning these -variables to "-g -O3". - -Depending on what languages the package uses, some of these options may -or may not be available. To see what is available, type: - % sh ./configure --help - -About the configure script -========================== + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. - The file `configure.ac' is used to create `configure' by a program -called `autoreconf'. You only need `configure.ac' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. This -project uses a custom `autogen.sh' for running autoreconf in a developer's -checkout of Hamlib from a source repository. + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. -Advanced installation options. -============================== + The simplest way to compile this package is: - The `configure' script also understands the following more advanced -options, to handle situations for which `--prefix' alone is not sufficient. + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type `make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular +options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. -Optional Features -================= - Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE @@ -227,71 +208,158 @@ find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. -MS Windows -========== -- Debian system with mingw32msvc cross-compiler + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. - ./configure --with-included-ltdl --host=i586-mingw32msvc +Particular systems +================== -- Mingw compiler under Cygwin - CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \ - ./configure --with-included-ltdl --host=i686-pc-mingw32 + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: -- Cygwin - Native Cygwin requires no special options besides regular ones. + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" -N.B. See the 'build-win32.sh' script and its associated README.build-win32 file -in the 'scripts' directory for complete details on build a Win32 binary. +and if that doesn't work, install pre-built binaries of GCC for HP-UX. -Hamlib Specific Features -======================== + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try - Various Hamlib features requiring the presence of third party packages are -enabled with options beginning with '--with-'. At this time these options -are: + ./configure CC="cc" - --with-xml-support build rigmem with XML support [default=no] - --without-readline disable readline in rigctl/rotctl [default=yes] - --without-cxx-binding do not build C++ binding and demo [default=yes] - --with-perl-binding build perl binding and demo [default=no] - --with-perl-inc directory containing perl includes - --with-python-binding build python binding and demo [default=no] - --with-tcl-binding build Tcl binding and demo [default=no] - --with-tcl=PATH directory containing tcl configuration (tclConfig.sh) +and if that doesn't work, try - Optional features that may require specialized hardware are: + ./configure CC="cc -nodtk" - --disable-html-matrix do not generate HTML rig feature matrix (requires - libgd-dev) [default=check] - --disable-winradio do not build winradio backend [default=yes] - --enable-usrp build USRP backend [default=no] + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. -Bindings notes --------------- + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: - Should you encounter any problem with the build of the C++ binding, -you can disable this optional part by passing `--without-cxx-binding' -to the configure script (may happen under MacOSX). + ./configure --prefix=/boot/common - Note that the Perl, Python, and TCL bindings are disabled by default so -they will need to be specifically enabled for language binding support (this -has no effect on rigctld/rotctld). You may get a make error (which means it -will quit before compilation is complete) if the ---with-[perl|python|tcl]-binding option(s) are given and the Swig package is -not installed. +Specifying the System Type +========================== - Perl and Python bindings should be installed into a 'configure' runtime -discovered location under the default prefix. + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: - The TCL binding will be installed into $(libdir)/tcl/Hamlib (default). If a -non-default --prefix is passed to 'configure', the 'lappend' line in tcltest.tcl -script will need to be modified accordingly so the script can load the Hamlib -package. As TCL doesn't seem to have a "standard" location for additional -packages and since there seemed to be no common location among distributions, -this path was chosen abitrarily. Any patches to improve installation path -discovery of local packages are welcome. + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. - When running 'make uninstall' the installed files for the Python and TCL -modules are removed. The Perl files will remain due to a design decision -of the Perl MakeMaker module. Installed Perl binding files will need to be -removed manually. diff --git a/Makefile.am b/Makefile.am index c21a468a1..96b5ec7cc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,9 +13,11 @@ SUBDIRS = if BUILD_LIBLTDL SUBDIRS += libltdl endif -SUBDIRS += macros include lib src \ +# SUBDIRS += macros include lib src +SUBDIRS += macros include lib \ @BACKEND_LIST@ \ @ROT_BACKEND_LIST@ \ + src \ @BINDINGS@ \ tests doc android diff --git a/adat/Makefile.am b/adat/Makefile.am index 0cc448a18..8a2f6416a 100644 --- a/adat/Makefile.am +++ b/adat/Makefile.am @@ -1,9 +1,10 @@ ADATSRC = adt_200a.c adat.c -pkglib_LTLIBRARIES = hamlib-adat.la -hamlib_adat_la_SOURCES = $(ADATSRC) -hamlib_adat_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_adat_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-adat.la +libhamlib_adat_la_SOURCES = $(ADATSRC) +# libhamlib_adat_la_LDFLAGS = -no-undefined -module -avoid-version +libhamlib_adat_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# hamlib_adat_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = adat.h adt_200a.h diff --git a/alinco/Makefile.am b/alinco/Makefile.am index 9c5be7898..70962e91e 100644 --- a/alinco/Makefile.am +++ b/alinco/Makefile.am @@ -1,9 +1,10 @@ ALINCOSRCLIST = dx77.c -pkglib_LTLIBRARIES = hamlib-alinco.la -hamlib_alinco_la_SOURCES = $(ALINCOSRCLIST) alinco.c -hamlib_alinco_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_alinco_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-alinco.la +libhamlib_alinco_la_SOURCES = $(ALINCOSRCLIST) alinco.c +libhamlib_alinco_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_alinco_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_alinco_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = alinco.h diff --git a/amsat/Makefile.am b/amsat/Makefile.am index 8443970b7..bea646378 100644 --- a/amsat/Makefile.am +++ b/amsat/Makefile.am @@ -1,8 +1,9 @@ -pkglib_LTLIBRARIES = hamlib-amsat.la -hamlib_amsat_la_SOURCES = if100.c -hamlib_amsat_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_amsat_la_LIBADD = $(top_builddir)/lib/libmisc.la \ - $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-amsat.la +libhamlib_amsat_la_SOURCES = if100.c +libhamlib_amsat_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_amsat_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_amsat_la_LIBADD = $(top_builddir)/lib/libmisc.la \ +# $(top_builddir)/src/libhamlib.la EXTRA_DIST = Android.mk diff --git a/aor/Makefile.am b/aor/Makefile.am index 8d73348ca..7dcc0e23f 100644 --- a/aor/Makefile.am +++ b/aor/Makefile.am @@ -1,10 +1,11 @@ AORSRCLIST = ar8200.c ar8000.c ar5000.c ar3000.c ar7030.c ar3030.c \ ar2700.c ar8600.c ar7030p.c ar7030p_utils.c sr2200.c -pkglib_LTLIBRARIES = hamlib-aor.la -hamlib_aor_la_SOURCES = $(AORSRCLIST) aor.c -hamlib_aor_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_aor_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-aor.la +libhamlib_aor_la_SOURCES = $(AORSRCLIST) aor.c +libhamlib_aor_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_aor_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_aor_la_LIBADD = $(top_builddir)/src/libhamlib.la EXTRA_DIST = README.aor README.ar5000 README.ar7030 Android.mk diff --git a/ars/Makefile.am b/ars/Makefile.am index 1e0d7c7c7..4204beaf7 100644 --- a/ars/Makefile.am +++ b/ars/Makefile.am @@ -1,10 +1,11 @@ AM_CFLAGS = @AM_CFLAGS@ $(PTHREAD_CFLAGS) -pkglib_LTLIBRARIES = hamlib-ars.la -hamlib_ars_la_SOURCES = ars.c -hamlib_ars_la_LDFLAGS = -no-undefined -module -avoid-version $(PTHREAD_LIBS) -hamlib_ars_la_LIBADD = $(top_builddir)/lib/libmisc.la \ - $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-ars.la +libhamlib_ars_la_SOURCES = ars.c +libhamlib_ars_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_ars_la_LDFLAGS = -no-undefined -module -avoid-version $(PTHREAD_LIBS) +#hamlib_ars_la_LIBADD = $(top_builddir)/lib/libmisc.la \ +# $(top_builddir)/src/libhamlib.la noinst_HEADERS = ars.h diff --git a/celestron/Makefile.am b/celestron/Makefile.am index 4ca8ce8d4..f35019e46 100644 --- a/celestron/Makefile.am +++ b/celestron/Makefile.am @@ -1,8 +1,9 @@ -pkglib_LTLIBRARIES = hamlib-celestron.la -hamlib_celestron_la_SOURCES = celestron.c -hamlib_celestron_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_celestron_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-celestron.la +libhamlib_celestron_la_SOURCES = celestron.c +libhamlib_celestron_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_celestron_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_celestron_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = celestron.h diff --git a/configure.ac b/configure.ac index 6981c6db3..44d9e8a8d 100644 --- a/configure.ac +++ b/configure.ac @@ -47,7 +47,9 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) dnl New backends must be listed here! Also the new Makefile path must be dnl added to AC_CONFIG_FILES near the end of this file. See README.developer BACKEND_LIST="icom kenwood aor yaesu dummy pcr alinco uniden tentec kachina jrc drake lowe rft rs kit skanti prm80 tapr flexradio wj racal tuner adat" -ROT_BACKEND_LIST="dummy easycomm fodtrack gs232a heathkit kit rotorez sartek spid ars m2 amsat ts7400 celestron ether6" +# ROT_BACKEND_LIST="dummy easycomm fodtrack gs232a heathkit kit rotorez sartek spid ars m2 amsat ts7400 celestron ether6" +# Beware of duplication. At the end we will have a single list. +ROT_BACKEND_LIST="easycomm fodtrack gs232a heathkit rotorez sartek spid ars m2 amsat ts7400 celestron ether6" dnl See README.release on setting these values # Values given to -version-info when linking. See libtool documentation. @@ -261,7 +263,7 @@ dnl libltdl to be used instead of an installed version), useful on systems dnl where libltdl-dev is not installed. LTDL_INIT([convenience recursive]) -dnl Ugly hack to work around libtool LT_CONFIG_H bug #12262 +## dnl Ugly hack to work around libtool LT_CONFIG_H bug #12262 dnl http://lists.gnu.org/archive/html/bug-libtool/2012-08/msg00007.html AC_CONFIG_COMMANDS_PRE([LT_CONFIG_H=`expr "$LT_CONFIG_H" : '.*/\(.*\)'`]) @@ -637,13 +639,13 @@ AC_MSG_RESULT([$cf_with_libusb]) # otherwise parallel 'make -jn' will fail for be in ${BACKEND_LIST} ; do - BACKENDEPS="${BACKENDEPS} \$(top_builddir)/${be}/hamlib-${be}.la" + BACKENDEPS="${BACKENDEPS} \$(top_builddir)/${be}/libhamlib-${be}.la" done # dlopen force or preopen self for static version ? -BACKENDLNK="-dlopen force" +BACKENDLNK="" for be in ${BACKEND_LIST} ; do - BACKENDLNK="${BACKENDLNK} -dlopen \$(top_builddir)/${be}/hamlib-${be}.la" + BACKENDLNK="${BACKENDLNK} \$(top_builddir)/${be}/libhamlib-${be}.la" done AC_SUBST([BACKEND_LIST]) AC_SUBST([BACKENDLNK]) @@ -657,13 +659,13 @@ AC_SUBST([BACKENDEPS]) # otherwise parallel 'make -jn' will fail for be in ${ROT_BACKEND_LIST} ; do - ROT_BACKENDEPS="${ROT_BACKENDEPS} \$(top_builddir)/${be}/hamlib-${be}.la" + ROT_BACKENDEPS="${ROT_BACKENDEPS} \$(top_builddir)/${be}/libhamlib-${be}.la" done # dlopen force or preopen self for static version ? -ROT_BACKENDLNK="-dlopen force" +ROT_BACKENDLNK="" for be in ${ROT_BACKEND_LIST} ; do - ROT_BACKENDLNK="${ROT_BACKENDLNK} -dlopen \$(top_builddir)/${be}/hamlib-${be}.la" + ROT_BACKENDLNK="${ROT_BACKENDLNK} \$(top_builddir)/${be}/libhamlib-${be}.la" done AC_SUBST([ROT_BACKEND_LIST]) AC_SUBST([ROT_BACKENDLNK]) diff --git a/drake/Makefile.am b/drake/Makefile.am index c0e67f881..6c3e7a638 100644 --- a/drake/Makefile.am +++ b/drake/Makefile.am @@ -1,9 +1,10 @@ DRAKESRC = r8a.c r8b.c -pkglib_LTLIBRARIES = hamlib-drake.la -hamlib_drake_la_SOURCES = $(DRAKESRC) drake.c -hamlib_drake_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_drake_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-drake.la +libhamlib_drake_la_SOURCES = $(DRAKESRC) drake.c +libhamlib_drake_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_drake_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_drake_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = drake.h diff --git a/dummy/Makefile.am b/dummy/Makefile.am index 84b2e2a35..655a51678 100644 --- a/dummy/Makefile.am +++ b/dummy/Makefile.am @@ -1,9 +1,10 @@ -pkglib_LTLIBRARIES = hamlib-dummy.la -hamlib_dummy_la_SOURCES = dummy.c rot_dummy.c netrigctl.c netrotctl.c -hamlib_dummy_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_dummy_la_LIBADD = $(top_builddir)/src/libhamlib.la \ - @MATH_LIBS@ +noinst_LTLIBRARIES = libhamlib-dummy.la +libhamlib_dummy_la_SOURCES = dummy.c rot_dummy.c netrigctl.c netrotctl.c +libhamlib_dummy_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_dummy_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_dummy_la_LIBADD = $(top_builddir)/src/libhamlib.la \ +# @MATH_LIBS@ noinst_HEADERS = dummy.h rot_dummy.h diff --git a/easycomm/Makefile.am b/easycomm/Makefile.am index 15e5e3816..4f6a83ce2 100644 --- a/easycomm/Makefile.am +++ b/easycomm/Makefile.am @@ -1,8 +1,9 @@ -pkglib_LTLIBRARIES = hamlib-easycomm.la -hamlib_easycomm_la_SOURCES = easycomm.c -hamlib_easycomm_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_easycomm_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-easycomm.la +libhamlib_easycomm_la_SOURCES = easycomm.c +libhamlib_easycomm_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_easycomm_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_easycomm_la_LIBADD = $(top_builddir)/src/libhamlib.la EXTRA_DIST = easycomm.txt Android.mk diff --git a/ether6/Makefile.am b/ether6/Makefile.am index 4ef71c8ab..aa572dd43 100644 --- a/ether6/Makefile.am +++ b/ether6/Makefile.am @@ -1,7 +1,8 @@ -pkglib_LTLIBRARIES = hamlib-ether6.la -hamlib_ether6_la_SOURCES = ether6.c ether6.h -hamlib_ether6_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_ether6_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-ether6.la +libhamlib_ether6_la_SOURCES = ether6.c ether6.h +libhamlib_ether6_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_ether6_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_ether6_la_LIBADD = $(top_builddir)/src/libhamlib.la EXTRA_DIST = README.ether6 ether6.txt diff --git a/flexradio/Makefile.am b/flexradio/Makefile.am index 1c8b21b2e..1d8c9a5c8 100644 --- a/flexradio/Makefile.am +++ b/flexradio/Makefile.am @@ -1,9 +1,10 @@ -pkglib_LTLIBRARIES = hamlib-flexradio.la -hamlib_flexradio_la_SOURCES = flexradio.c sdr1k.c dttsp.c -hamlib_flexradio_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_flexradio_la_LIBADD = $(top_builddir)/lib/libmisc.la \ - $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-flexradio.la +libhamlib_flexradio_la_SOURCES = flexradio.c sdr1k.c dttsp.c +libhamlib_flexradio_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_flexradio_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_flexradio_la_LIBADD = $(top_builddir)/lib/libmisc.la \ +# $(top_builddir)/src/libhamlib.la noinst_HEADERS = flexradio.h diff --git a/fodtrack/Makefile.am b/fodtrack/Makefile.am index c9b623aeb..57a679f17 100644 --- a/fodtrack/Makefile.am +++ b/fodtrack/Makefile.am @@ -1,9 +1,10 @@ -pkglib_LTLIBRARIES = hamlib-fodtrack.la -hamlib_fodtrack_la_SOURCES = fodtrack.c -hamlib_fodtrack_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_fodtrack_la_LIBADD = $(top_builddir)/lib/libmisc.la \ - $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-fodtrack.la +libhamlib_fodtrack_la_SOURCES = fodtrack.c +libhamlib_fodtrack_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_fodtrack_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_fodtrack_la_LIBADD = $(top_builddir)/lib/libmisc.la \ +# $(top_builddir)/src/libhamlib.la noinst_HEADERS = fodtrack.h diff --git a/gnuradio/Makefile.am b/gnuradio/Makefile.am index 59222a965..34a6a6e6e 100644 --- a/gnuradio/Makefile.am +++ b/gnuradio/Makefile.am @@ -2,10 +2,11 @@ AM_CFLAGS = @AM_CFLAGS@ @GNURADIO_CFLAGS@ $(PTHREAD_CFLAGS) AM_CXXFLAGS = @AM_CXXFLAGS@ @GNURADIO_CFLAGS@ $(PTHREAD_CFLAGS) -pkglib_LTLIBRARIES = hamlib-gnuradio.la +noinst_LTLIBRARIES = hamlib-gnuradio.la hamlib_gnuradio_la_SOURCES = mc4020.c graudio.c gr.c gnuradio.cc -hamlib_gnuradio_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_gnuradio_la_LDFLAGS = -no-undefined -module -avoid-version +hamlib_gnuradio_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) # requires libgnuradio, libfftw and c++ hamlib_gnuradio_la_LIBADD = $(top_builddir)/src/libhamlib.la @GNURADIO_LIBS@ -lstdc++ $(PTHREAD_LIBS) diff --git a/gs232a/Makefile.am b/gs232a/Makefile.am index ff404f476..1a9932b9f 100644 --- a/gs232a/Makefile.am +++ b/gs232a/Makefile.am @@ -1,8 +1,9 @@ -pkglib_LTLIBRARIES = hamlib-gs232a.la -hamlib_gs232a_la_SOURCES = gs232a.c gs232b.c gs232.c -hamlib_gs232a_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_gs232a_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-gs232a.la +libhamlib_gs232a_la_SOURCES = gs232a.c gs232b.c gs232.c +libhamlib_gs232a_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_gs232a_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_gs232a_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = gs232a.h diff --git a/heathkit/Makefile.am b/heathkit/Makefile.am index c3f878a92..08c512e2d 100644 --- a/heathkit/Makefile.am +++ b/heathkit/Makefile.am @@ -1,8 +1,9 @@ -pkglib_LTLIBRARIES = hamlib-heathkit.la -hamlib_heathkit_la_SOURCES = hd1780.c -hamlib_heathkit_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_heathkit_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-heathkit.la +libhamlib_heathkit_la_SOURCES = hd1780.c +libhamlib_heathkit_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_heathkit_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_heathkit_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = hd1780.h diff --git a/icom/Makefile.am b/icom/Makefile.am index 5cf9be208..9c6b2b5c1 100644 --- a/icom/Makefile.am +++ b/icom/Makefile.am @@ -8,11 +8,12 @@ ICOMSRCLIST = ic706.c icr8500.c ic735.c ic775.c ic756.c \ ic707.c ic728.c ic751.c ic761.c \ ic78.c ic7800.c ic7000.c ic7200.c ic7600.c ic7700.c -pkglib_LTLIBRARIES = hamlib-icom.la -hamlib_icom_la_SOURCES = $(ICOMSRCLIST) icom.c frame.c optoscan.c -hamlib_icom_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_icom_la_LIBADD = $(top_builddir)/lib/libmisc.la \ - $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-icom.la +libhamlib_icom_la_SOURCES = $(ICOMSRCLIST) icom.c frame.c optoscan.c +libhamlib_icom_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_icom_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_icom_la_LIBADD = $(top_builddir)/lib/libmisc.la \ +# $(top_builddir)/src/libhamlib.la EXTRA_DIST = README.icom TODO.icom Android.mk diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 02cf599ae..024b0bb1a 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -1725,6 +1725,10 @@ extern HAMLIB_EXPORT(scan_t) rig_parse_scan(const char *s); extern HAMLIB_EXPORT(rptr_shift_t) rig_parse_rptr_shift(const char *s); extern HAMLIB_EXPORT(chan_type_t) rig_parse_mtype(const char *s); +struct addrinfo; +extern HAMLIB_EXPORT(int) rig_getaddrinfo(const char *node, const char *service, + const struct addrinfo *hints, struct addrinfo **res); +extern HAMLIB_EXPORT(void) rig_freeaddrinfo(struct addrinfo *res); __END_DECLS diff --git a/include/hamlib/riglist.h b/include/hamlib/riglist.h index a0e36a9ac..e17453936 100644 --- a/include/hamlib/riglist.h +++ b/include/hamlib/riglist.h @@ -519,44 +519,6 @@ */ typedef int rig_model_t; - -/*! \def RIG_BACKEND_LIST - * \brief Static list of rig models. - * - * This is a NULL terminated list of available rig backends. Each entry - * in the list consists of two fields: The branch number, which is an integer, - * and the branch name, which is a character string. - */ -#define RIG_BACKEND_LIST { \ - { RIG_DUMMY, RIG_BACKEND_DUMMY }, \ - { RIG_YAESU, RIG_BACKEND_YAESU }, \ - { RIG_KENWOOD, RIG_BACKEND_KENWOOD }, \ - { RIG_ICOM, RIG_BACKEND_ICOM }, \ - { RIG_PCR, RIG_BACKEND_PCR }, \ - { RIG_AOR, RIG_BACKEND_AOR }, \ - { RIG_JRC, RIG_BACKEND_JRC }, \ - { RIG_UNIDEN, RIG_BACKEND_UNIDEN }, \ - { RIG_DRAKE, RIG_BACKEND_DRAKE }, \ - { RIG_LOWE, RIG_BACKEND_LOWE }, \ - { RIG_RACAL, RIG_BACKEND_RACAL }, \ - { RIG_WJ, RIG_BACKEND_WJ }, \ - { RIG_SKANTI, RIG_BACKEND_SKANTI }, \ - { RIG_WINRADIO, RIG_BACKEND_WINRADIO }, \ - { RIG_TENTEC, RIG_BACKEND_TENTEC }, \ - { RIG_ALINCO, RIG_BACKEND_ALINCO }, \ - { RIG_KACHINA, RIG_BACKEND_KACHINA }, \ - /* { RIG_RPC, RIG_BACKEND_RPC }, */ \ - { RIG_TAPR, RIG_BACKEND_TAPR }, \ - { RIG_FLEXRADIO, RIG_BACKEND_FLEXRADIO }, \ - { RIG_RFT, RIG_BACKEND_RFT }, \ - { RIG_KIT, RIG_BACKEND_KIT }, \ - { RIG_TUNER, RIG_BACKEND_TUNER }, \ - { RIG_RS, RIG_BACKEND_RS }, \ - { RIG_PRM80, RIG_BACKEND_PRM80 }, \ - { RIG_ADAT, RIG_BACKEND_ADAT }, \ - { 0, NULL }, /* end */ \ -} - /* * struct rig_backend_list { * rig_model_t model; diff --git a/include/hamlib/rotlist.h b/include/hamlib/rotlist.h index 20adc5c68..7e91c67dc 100644 --- a/include/hamlib/rotlist.h +++ b/include/hamlib/rotlist.h @@ -276,41 +276,6 @@ */ typedef int rot_model_t; -/*! \def ROT_BACKEND_LIST - * \brief Static list of rotator models. - * - * This is a NULL terminated list of available rotator backends. Each entry - * in the list consists of two fields: The branch number, which is an integer, - * and the branch name, which is a character string. - */ -#define ROT_BACKEND_LIST { \ - { ROT_DUMMY, ROT_BACKEND_DUMMY }, \ - /* { ROT_RPC, ROT_BACKEND_RPC }, */ \ - { ROT_EASYCOMM, ROT_BACKEND_EASYCOMM }, \ - { ROT_FODTRACK, ROT_BACKEND_FODTRACK }, \ - { ROT_ROTOREZ, ROT_BACKEND_ROTOREZ }, \ - { ROT_SARTEK, ROT_BACKEND_SARTEK }, \ - { ROT_GS232A, ROT_BACKEND_GS232A }, \ - { ROT_KIT, ROT_BACKEND_KIT }, \ - { ROT_HEATHKIT, ROT_BACKEND_HEATHKIT }, \ - { ROT_SPID, ROT_BACKEND_SPID }, \ - { ROT_M2, ROT_BACKEND_M2 }, \ - { ROT_ARS, ROT_BACKEND_ARS }, \ - { ROT_AMSAT, ROT_BACKEND_AMSAT }, \ - { ROT_TS7400, ROT_BACKEND_TS7400 }, \ - { ROT_CELESTRON, ROT_BACKEND_CELESTRON }, \ - { ROT_ETHER6, ROT_BACKEND_ETHER6 }, \ - { 0, NULL }, /* end */ \ -} - -/* - * struct rot_backend_list { - * rot_model_t model; - * const char *backend; - * } rot_backend_list[] = ROT_LIST; - * - */ - #endif /* _ROTLIST_H */ /** @} */ diff --git a/jrc/Makefile.am b/jrc/Makefile.am index 9870db425..83ec72e47 100644 --- a/jrc/Makefile.am +++ b/jrc/Makefile.am @@ -1,9 +1,10 @@ JRCSRCLIST = nrd535.c nrd545.c nrd525.c -pkglib_LTLIBRARIES = hamlib-jrc.la -hamlib_jrc_la_SOURCES = $(JRCSRCLIST) jrc.c -hamlib_jrc_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_jrc_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-jrc.la +libhamlib_jrc_la_SOURCES = $(JRCSRCLIST) jrc.c +libhamlib_jrc_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_jrc_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_jrc_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = jrc.h diff --git a/kachina/Makefile.am b/kachina/Makefile.am index 632d0d105..8e2094067 100644 --- a/kachina/Makefile.am +++ b/kachina/Makefile.am @@ -1,9 +1,10 @@ KACHINASRCLIST = 505dsp.c -pkglib_LTLIBRARIES = hamlib-kachina.la -hamlib_kachina_la_SOURCES = $(KACHINASRCLIST) kachina.c -hamlib_kachina_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_kachina_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-kachina.la +libhamlib_kachina_la_SOURCES = $(KACHINASRCLIST) kachina.c +libhamlib_kachina_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_kachina_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_kachina_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = kachina.h diff --git a/kenwood/Makefile.am b/kenwood/Makefile.am index cf46943a3..b9fe12f0d 100644 --- a/kenwood/Makefile.am +++ b/kenwood/Makefile.am @@ -7,12 +7,13 @@ IC10SRCLIST = ts440.c ts940.c ts711.c ts811.c r5000.c THSRCLIST = thd7.c thf7.c thg71.c tmd700.c tmv7.c thf6a.c thd72.c tmd710.c -pkglib_LTLIBRARIES = hamlib-kenwood.la -hamlib_kenwood_la_SOURCES = $(TSSRCLIST) $(THSRCLIST) $(IC10SRCLIST) \ +noinst_LTLIBRARIES = libhamlib-kenwood.la +libhamlib_kenwood_la_SOURCES = $(TSSRCLIST) $(THSRCLIST) $(IC10SRCLIST) \ kenwood.c th.c ic10.c elecraft.c transfox.c -hamlib_kenwood_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_kenwood_la_LIBADD = $(top_builddir)/src/libhamlib.la @MATH_LIBS@ +libhamlib_kenwood_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_kenwood_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_kenwood_la_LIBADD = $(top_builddir)/src/libhamlib.la @MATH_LIBS@ EXTRA_DIST = README.kenwood README.k2 README.k3 Android.mk diff --git a/kit/Makefile.am b/kit/Makefile.am index 3df750d4b..cbf4e3cb7 100644 --- a/kit/Makefile.am +++ b/kit/Makefile.am @@ -8,24 +8,29 @@ if HAVE_USRP # Append to the already defined AM_CXXFLAGS that exists outside the conditional. AM_CXXFLAGS += @USRP_CFLAGS@ KITSRCLIST += usrp_impl.cc - hamlib_kit_la_LINK = $(CXXLINK) $(hamlib_kit_la_LDFLAGS) + libhamlib_kit_la_LINK = $(CXXLINK) $(libhamlib_kit_la_LDFLAGS) else # automake gets confused and invokes the C++ linker via libtool regardless # of whether or not HAVE_USRP enables the .cc source. This override forces # automake to invoke the C linker as no C++ is involved: - hamlib_kit_la_LINK = $(LINK) $(hamlib_kit_la_LDFLAGS) + libhamlib_kit_la_LINK = $(LINK) $(libhamlib_kit_la_LDFLAGS) endif KITROTSRCLIST = pcrotor.c -pkglib_LTLIBRARIES = hamlib-kit.la -hamlib_kit_la_SOURCES = $(KITSRCLIST) $(KITROTSRCLIST) kit.c -hamlib_kit_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_kit_la_LIBADD = $(top_builddir)/lib/libmisc.la \ +noinst_LTLIBRARIES = libhamlib-kit.la +libhamlib_kit_la_SOURCES = $(KITSRCLIST) $(KITROTSRCLIST) kit.c +libhamlib_kit_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_kit_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_kit_la_LIBADD = $(top_builddir)/lib/libmisc.la \ +# $(USRP_LIBS) \ +# $(LIBUSB_LIBS) \ +# @MATH_LIBS@ \ +# $(top_builddir)/src/libhamlib.la +libhamlib_kit_la_LIBADD = \ $(USRP_LIBS) \ $(LIBUSB_LIBS) \ - @MATH_LIBS@ \ - $(top_builddir)/src/libhamlib.la + @MATH_LIBS@ noinst_HEADERS = kit.h usrp_impl.h si570avrusb.h funcube.h diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c index d6586f45f..3f4981037 100644 --- a/lib/getaddrinfo.c +++ b/lib/getaddrinfo.c @@ -53,13 +53,15 @@ # endif #endif +#include + /* * Replacement for getaddrinfo. Only one addrinfo is returned. * Weak checking. * Return 0 when success, otherwise -1. */ #ifndef HAVE_GETADDRINFO -int getaddrinfo(const char *node, const char *service, +int HAMLIB_API getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res) { struct addrinfo *p; @@ -118,7 +120,7 @@ int getaddrinfo(const char *node, const char *service, return 0; } -void freeaddrinfo(struct addrinfo *res) +void HAMLIB_API freeaddrinfo(struct addrinfo *res) { free(res->ai_addr); free(res); diff --git a/lowe/Makefile.am b/lowe/Makefile.am index b4d277439..085fbcc08 100644 --- a/lowe/Makefile.am +++ b/lowe/Makefile.am @@ -1,9 +1,10 @@ LOWESRC = hf235.c -pkglib_LTLIBRARIES = hamlib-lowe.la -hamlib_lowe_la_SOURCES = $(LOWESRC) lowe.c -hamlib_lowe_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_lowe_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-lowe.la +libhamlib_lowe_la_SOURCES = $(LOWESRC) lowe.c +libhamlib_lowe_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_lowe_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_lowe_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = lowe.h diff --git a/m2/Makefile.am b/m2/Makefile.am index 86cbae75b..89e4fb98f 100644 --- a/m2/Makefile.am +++ b/m2/Makefile.am @@ -1,8 +1,9 @@ -pkglib_LTLIBRARIES = hamlib-m2.la -hamlib_m2_la_SOURCES = rc2800.c -hamlib_m2_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_m2_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-m2.la +libhamlib_m2_la_SOURCES = rc2800.c +libhamlib_m2_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_m2_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_m2_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = rc2800.h diff --git a/microtune/Makefile.am b/microtune/Makefile.am index 9fb6a1fdd..457c98913 100644 --- a/microtune/Makefile.am +++ b/microtune/Makefile.am @@ -28,10 +28,12 @@ GRIO_SOURCES = \ microtune_4702.cc \ microtune_eval_board.cc -pkglib_LTLIBRARIES = hamlib-microtune.la -hamlib_microtune_la_SOURCES = $(MTSRCLIST) $(GRIO_SOURCES) microtune.cc -hamlib_microtune_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_microtune_la_LIBADD = $(top_builddir)/src/libhamlib.la -lstdc++ +noinst_LTLIBRARIES = libhamlib-microtune.la +libhamlib_microtune_la_SOURCES = $(MTSRCLIST) $(GRIO_SOURCES) microtune.cc +libhamlib_microtune_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_microtune_la_LDFLAGS = -no-undefined -module -avoid-version +#libhamlib_microtune_la_LIBADD = $(top_builddir)/src/libhamlib.la -lstdc++ +hamlib_microtune_la_LIBADD = -lstdc++ noinst_HEADERS = \ i2c.h \ diff --git a/miniVNA/Makefile.am b/miniVNA/Makefile.am index 84319c86e..c16ce1be7 100644 --- a/miniVNA/Makefile.am +++ b/miniVNA/Makefile.am @@ -1,7 +1,8 @@ -pkglib_LTLIBRARIES = hamlib-miniVNA.la -hamlib_miniVNA_la_SOURCES = miniVNA.c -hamlib_miniVNA_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_miniVNA_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-miniVNA.la +libhamlib_miniVNA_la_SOURCES = miniVNA.c +libhamlib_miniVNA_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_miniVNA_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_miniVNA_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = miniVNA.h diff --git a/pcr/Makefile.am b/pcr/Makefile.am index 7c2cb0bda..c995e6b71 100644 --- a/pcr/Makefile.am +++ b/pcr/Makefile.am @@ -1,10 +1,11 @@ PCRSRCLIST = pcr1000.c pcr100.c pcr1500.c pcr2500.c -pkglib_LTLIBRARIES = hamlib-pcr.la -hamlib_pcr_la_SOURCES = $(PCRSRCLIST) pcr.c -hamlib_pcr_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_pcr_la_LIBADD = $(top_builddir)/src/libhamlib.la \ - $(top_builddir)/lib/libmisc.la +noinst_LTLIBRARIES = libhamlib-pcr.la +libhamlib_pcr_la_SOURCES = $(PCRSRCLIST) pcr.c +libhamlib_pcr_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_pcr_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_pcr_la_LIBADD = $(top_builddir)/src/libhamlib.la \ +# $(top_builddir)/lib/libmisc.la noinst_HEADERS = pcr.h diff --git a/prm80/Makefile.am b/prm80/Makefile.am index 6150611c4..443eab01a 100644 --- a/prm80/Makefile.am +++ b/prm80/Makefile.am @@ -1,9 +1,10 @@ PRM80SRCLIST = prm8060.c -pkglib_LTLIBRARIES = hamlib-prm80.la -hamlib_prm80_la_SOURCES = $(PRM80SRCLIST) prm80.c -hamlib_prm80_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_prm80_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-prm80.la +libhamlib_prm80_la_SOURCES = $(PRM80SRCLIST) prm80.c +libhamlib_prm80_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_prm80_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_prm80_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = prm80.h diff --git a/racal/Makefile.am b/racal/Makefile.am index dc2c54242..7b72235a8 100644 --- a/racal/Makefile.am +++ b/racal/Makefile.am @@ -1,10 +1,11 @@ RACALSRCLIST = ra6790.c ra3702.c -pkglib_LTLIBRARIES = hamlib-racal.la -hamlib_racal_la_SOURCES = $(RACALSRCLIST) racal.c ra37xx.c -hamlib_racal_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_racal_la_LIBADD = $(top_builddir)/src/libhamlib.la \ - $(top_builddir)/lib/libmisc.la +noinst_LTLIBRARIES = libhamlib-racal.la +libhamlib_racal_la_SOURCES = $(RACALSRCLIST) racal.c ra37xx.c +libhamlib_racal_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_racal_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_racal_la_LIBADD = $(top_builddir)/src/libhamlib.la \ +# $(top_builddir)/lib/libmisc.la noinst_HEADERS = racal.h ra37xx.h diff --git a/rft/Makefile.am b/rft/Makefile.am index 06c8b35b7..d1f47e8b8 100644 --- a/rft/Makefile.am +++ b/rft/Makefile.am @@ -1,9 +1,10 @@ RFTSRC = ekd500.c -pkglib_LTLIBRARIES = hamlib-rft.la -hamlib_rft_la_SOURCES = $(RFTSRC) rft.c -hamlib_rft_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_rft_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-rft.la +libhamlib_rft_la_SOURCES = $(RFTSRC) rft.c +libhamlib_rft_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_rft_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_rft_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = rft.h diff --git a/rotorez/Makefile.am b/rotorez/Makefile.am index f0fa1ed2c..c6c9ca86b 100644 --- a/rotorez/Makefile.am +++ b/rotorez/Makefile.am @@ -1,8 +1,9 @@ -pkglib_LTLIBRARIES = hamlib-rotorez.la -hamlib_rotorez_la_SOURCES = rotorez.c -hamlib_rotorez_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_rotorez_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-rotorez.la +libhamlib_rotorez_la_SOURCES = rotorez.c +libhamlib_rotorez_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_rotorez_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_rotorez_la_LIBADD = $(top_builddir)/src/libhamlib.la EXTRA_DIST = README.rotorez rotorez.txt Android.mk diff --git a/rs/Makefile.am b/rs/Makefile.am index f5718d484..bf072c756 100644 --- a/rs/Makefile.am +++ b/rs/Makefile.am @@ -1,9 +1,10 @@ RSSRC = esmc.c eb200.c -pkglib_LTLIBRARIES = hamlib-rs.la -hamlib_rs_la_SOURCES = $(RSSRC) rs.c -hamlib_rs_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_rs_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-rs.la +libhamlib_rs_la_SOURCES = $(RSSRC) rs.c +libhamlib_rs_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_rs_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_rs_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = rs.h diff --git a/sartek/Makefile.am b/sartek/Makefile.am index 227e35194..a39b91bec 100644 --- a/sartek/Makefile.am +++ b/sartek/Makefile.am @@ -1,8 +1,9 @@ -pkglib_LTLIBRARIES = hamlib-sartek.la -hamlib_sartek_la_SOURCES = sartek.c -hamlib_sartek_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_sartek_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-sartek.la +libhamlib_sartek_la_SOURCES = sartek.c +libhamlib_sartek_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_sartek_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_sartek_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = sartek.h diff --git a/skanti/Makefile.am b/skanti/Makefile.am index 8af9f7199..bf47ade94 100644 --- a/skanti/Makefile.am +++ b/skanti/Makefile.am @@ -1,9 +1,10 @@ SKANTISRCLIST = trp8000.c trp8255.c -pkglib_LTLIBRARIES = hamlib-skanti.la -hamlib_skanti_la_SOURCES = $(SKANTISRCLIST) skanti.c -hamlib_skanti_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_skanti_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-skanti.la +libhamlib_skanti_la_SOURCES = $(SKANTISRCLIST) skanti.c +libhamlib_skanti_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_skanti_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_skanti_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = skanti.h diff --git a/spid/Makefile.am b/spid/Makefile.am index f67288fcc..fab17b118 100644 --- a/spid/Makefile.am +++ b/spid/Makefile.am @@ -1,8 +1,9 @@ -pkglib_LTLIBRARIES = hamlib-spid.la -hamlib_spid_la_SOURCES = spid.c -hamlib_spid_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_spid_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-spid.la +libhamlib_spid_la_SOURCES = spid.c +libhamlib_spid_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_spid_la_LDFLAGS = -no-undefined -module -avoid-version +# hamlib_spid_la_LIBADD = $(top_builddir)/src/libhamlib.la EXTRA_DIST = spid.txt Android.mk diff --git a/src/Makefile.am b/src/Makefile.am index 5b453eda9..3c7e4b7b8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -2,6 +2,7 @@ # $(LTDLINCL) is set by LTDL_INIT macro in configure.ac AM_CPPFLAGS = @AM_CPPFLAGS@ $(LTDLINCL) +# AM_CPPFLAGS = @AM_CPPFLAGS@ RIGSRC = rig.c serial.c misc.c register.c event.c cal.c conf.c tones.c \ rotator.c locator.c rot_reg.c rot_conf.c iofunc.c ext.c \ @@ -15,9 +16,12 @@ libhamlib_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) -DHAMLIB_MODULE_DIR=\"$(pkglibdir # $(LIBLTDL) is set by LTDL_INIT macro libhamlib_la_LIBADD = $(LIBLTDL) $(top_builddir)/lib/libmisc.la \ + @BACKENDEPS@ @ROT_BACKENDEPS@ \ @NET_LIBS@ @MATH_LIBS@ $(LIBUSB_LIBS) +# libhamlib_la_DEPENDENCIES = $(LTDLDEPS) $(top_builddir)/lib/libmisc.la @BACKENDEPS@ @ROT_BACKENDEPS@ libhamlib_la_DEPENDENCIES = $(LTDLDEPS) $(top_builddir)/lib/libmisc.la +# libhamlib_la_DEPENDENCIES = $(top_builddir)/lib/libmisc.la noinst_HEADERS = event.h misc.h serial.h iofunc.h cal.h tones.h \ rot_conf.h token.h idx_builtin.h register.h par_nt.h \ diff --git a/src/misc.c b/src/misc.c index 360618e87..1d0104393 100644 --- a/src/misc.c +++ b/src/misc.c @@ -841,4 +841,19 @@ void HAMLIB_API rig_force_cache_timeout(struct timeval *tv) tv->tv_usec = 0; } + +int HAMLIB_API rig_getaddrinfo(const char *node, const char *service, + const struct addrinfo *hints, struct addrinfo **res) +{ + return getaddrinfo(node, service, hints, res); +} + +void HAMLIB_API rig_freeaddrinfo(struct addrinfo *res) +{ + freeaddrinfo(res); +} + + + + /** @} */ diff --git a/src/register.c b/src/register.c index 75c487de8..dedf3caa3 100644 --- a/src/register.c +++ b/src/register.c @@ -37,8 +37,7 @@ #include #include -/* This is libtool's dl wrapper */ -#include +#include #include @@ -48,18 +47,93 @@ #define RIG_BACKEND_MAX 32 +#define DEFINE_INITRIG_BACKEND(backend) \ + int MAKE_VERSIONED_FN(PREFIX_INITRIG, ABI_VERSION, backend(void *be_handle)); \ + rig_model_t MAKE_VERSIONED_FN(PREFIX_PROBERIG, ABI_VERSION, backend(hamlib_port_t *port, rig_probe_func_t cfunc, rig_ptr_t data)) + +#define RIG_FUNCNAMA(backend) MAKE_VERSIONED_FN(PREFIX_INITRIG, ABI_VERSION, backend) +#define RIG_FUNCNAMB(backend) MAKE_VERSIONED_FN(PREFIX_PROBERIG, ABI_VERSION, backend) + +#define RIG_FUNCNAM(backend) RIG_FUNCNAMA(backend),RIG_FUNCNAMB(backend) + /* - * RIG_BACKEND_LIST is defined in riglist.h, please keep it up to data, + * RIG_BACKEND_LIST is defined here, please keep it up to data, * ie. each time you give birth to a new backend * Also, it should be possible to register "external" backend, * that is backend that were not known by Hamlib at compile time. * Maybe, riglist.h should reserve some numbers for them? --SF */ +DEFINE_INITRIG_BACKEND(dummy); +DEFINE_INITRIG_BACKEND(yaesu); +DEFINE_INITRIG_BACKEND(kenwood); +DEFINE_INITRIG_BACKEND(icom); +DEFINE_INITRIG_BACKEND(pcr); +DEFINE_INITRIG_BACKEND(aor); +DEFINE_INITRIG_BACKEND(jrc); +DEFINE_INITRIG_BACKEND(uniden); +DEFINE_INITRIG_BACKEND(drake); +DEFINE_INITRIG_BACKEND(lowe); +DEFINE_INITRIG_BACKEND(racal); +DEFINE_INITRIG_BACKEND(wj); +DEFINE_INITRIG_BACKEND(skanti); +DEFINE_INITRIG_BACKEND(winradio); +DEFINE_INITRIG_BACKEND(tentec); +DEFINE_INITRIG_BACKEND(alinco); +DEFINE_INITRIG_BACKEND(kachina); +// DEFINE_INITRIG_BACKEND(rpc); +DEFINE_INITRIG_BACKEND(tapr); +DEFINE_INITRIG_BACKEND(flexradio); +DEFINE_INITRIG_BACKEND(rft); +DEFINE_INITRIG_BACKEND(kit); +DEFINE_INITRIG_BACKEND(tuner); +DEFINE_INITRIG_BACKEND(rs); +DEFINE_INITRIG_BACKEND(prm80); +DEFINE_INITRIG_BACKEND(adat); + + + +/*! \def rig_backend_list + * \brief Static list of rig models. + * + * This is a NULL terminated list of available rig backends. Each entry + * in the list consists of two fields: The branch number, which is an integer, + * and the branch name, which is a character string. + */ static struct { int be_num; const char *be_name; + int (* be_init_all)(void * handle); rig_model_t (* be_probe_all)(hamlib_port_t*, rig_probe_func_t, rig_ptr_t); -} rig_backend_list[RIG_BACKEND_MAX] = RIG_BACKEND_LIST; +} rig_backend_list[RIG_BACKEND_MAX] = +{ + { RIG_DUMMY, RIG_BACKEND_DUMMY, RIG_FUNCNAMA(dummy) }, + { RIG_YAESU, RIG_BACKEND_YAESU, RIG_FUNCNAM(yaesu) }, + { RIG_KENWOOD, RIG_BACKEND_KENWOOD, RIG_FUNCNAM(kenwood) }, + { RIG_ICOM, RIG_BACKEND_ICOM, RIG_FUNCNAM(icom) }, + { RIG_PCR, RIG_BACKEND_PCR, RIG_FUNCNAMA(pcr) }, + { RIG_AOR, RIG_BACKEND_AOR, RIG_FUNCNAMA(aor) }, + { RIG_JRC, RIG_BACKEND_JRC, RIG_FUNCNAMA(jrc) }, + { RIG_UNIDEN, RIG_BACKEND_UNIDEN, RIG_FUNCNAM(uniden) }, + { RIG_DRAKE, RIG_BACKEND_DRAKE, RIG_FUNCNAM(drake) }, + { RIG_LOWE, RIG_BACKEND_LOWE, RIG_FUNCNAM(lowe) }, + { RIG_RACAL, RIG_BACKEND_RACAL, RIG_FUNCNAMA(racal) }, + { RIG_WJ, RIG_BACKEND_WJ, RIG_FUNCNAMA(wj) }, + { RIG_SKANTI, RIG_BACKEND_SKANTI, RIG_FUNCNAMA(skanti) }, + { RIG_WINRADIO, RIG_BACKEND_WINRADIO, RIG_FUNCNAMA(winradio) }, + { RIG_TENTEC, RIG_BACKEND_TENTEC, RIG_FUNCNAMA(tentec) }, + { RIG_ALINCO, RIG_BACKEND_ALINCO, RIG_FUNCNAMA(alinco) }, + { RIG_KACHINA, RIG_BACKEND_KACHINA, RIG_FUNCNAMA(kachina) }, + /* { RIG_RPC, RIG_BACKEND_RPC, RIG_FUNCNAM(rpc) }, */ + { RIG_TAPR, RIG_BACKEND_TAPR, RIG_FUNCNAMA(tapr) }, + { RIG_FLEXRADIO, RIG_BACKEND_FLEXRADIO, RIG_FUNCNAMA(flexradio) }, + { RIG_RFT, RIG_BACKEND_RFT, RIG_FUNCNAMA(rft) }, + { RIG_KIT, RIG_BACKEND_KIT, RIG_FUNCNAMA(kit) }, + { RIG_TUNER, RIG_BACKEND_TUNER, RIG_FUNCNAMA(tuner) }, + { RIG_RS, RIG_BACKEND_RS, RIG_FUNCNAMA(rs) }, + { RIG_PRM80, RIG_BACKEND_PRM80, RIG_FUNCNAMA(prm80) }, + { RIG_ADAT, RIG_BACKEND_ADAT, RIG_FUNCNAM(adat) }, + { 0, NULL }, /* end */ +}; /* * This struct to keep track of known rig models. @@ -67,7 +141,6 @@ static struct { */ struct rig_list { const struct rig_caps *caps; - lt_dlhandle handle; /* handle returned by lt_dlopen() */ struct rig_list *next; }; @@ -107,7 +180,7 @@ int HAMLIB_API rig_register(const struct rig_caps *caps) hval = HASH_FUNC(caps->rig_model); p->caps = caps; - p->handle = NULL; + // p->handle = NULL; p->next = rig_hash_table[hval]; rig_hash_table[hval] = p; @@ -284,105 +357,30 @@ int rig_load_all_backends() } -#define MAXFUNCNAMELEN 64 typedef int (*backend_init_t)(rig_ptr_t); -/* - * rig_check_backend_version - * Check that the versioned init function name for be_name is the correct version. - */ -static int rig_check_backend_version(const lt_dlhandle be_handle, const char *be_name, - backend_init_t *be_init) -{ - char initfname[MAXFUNCNAMELEN]; - - snprintf(initfname, MAXFUNCNAMELEN, "initrigs%d_%s", ABI_VERSION, be_name); - *be_init = (backend_init_t) lt_dlsym(be_handle, initfname); - if (!*be_init) { - rig_debug(RIG_DEBUG_ERR, "rig: dlsym(%s) failed (%s)\n", - initfname, lt_dlerror()); - return -RIG_EINVAL; - } - - return RIG_OK; -} - /* * rig_load_backend - * Dynamically load a rig backend through dlopen mechanism */ int HAMLIB_API rig_load_backend(const char *be_name) { -# define PREFIX "hamlib-" - - lt_dlhandle be_handle; - backend_init_t be_init; - int status; - char libname[PATH_MAX]; - char probefname[MAXFUNCNAMELEN]; int i; + backend_init_t be_init; - /* - * lt_dlinit may be called several times - * - * FIXME: make static build seamless - */ -#if 0 - LTDL_SET_PRELOADED_SYMBOLS(); -#endif - - status = lt_dlinit(); - if (status) { - rig_debug(RIG_DEBUG_ERR, "rig_backend_load: lt_dlinit for %s " - "failed: %s\n", be_name, lt_dlerror()); - return -RIG_EINTERNAL; - } - - lt_dladdsearchdir(HAMLIB_MODULE_DIR); - - rig_debug(RIG_DEBUG_VERBOSE, "rig: loading backend %s\n",be_name); - - /* - * add hamlib directory here - */ - snprintf (libname, sizeof (libname), PREFIX"%s", be_name); - - be_handle = lt_dlopenext (libname); - - /* - * external module not found? try dlopenself for backends - * compiled in static - */ - if (!be_handle || rig_check_backend_version(be_handle, be_name, &be_init) != RIG_OK) { - rig_debug(RIG_DEBUG_VERBOSE, "rig: lt_dlopen(\"%s\") failed (%s), " - "trying static symbols...\n", - libname, lt_dlerror()); - be_handle = lt_dlopen (NULL); - if (!be_handle || rig_check_backend_version(be_handle, be_name, &be_init) != RIG_OK) { - rig_debug(RIG_DEBUG_ERR, "rig: lt_dlopen(\"%s\") failed (%s)\n", - libname, lt_dlerror()); - return -RIG_EINVAL; - } - } - - - /* - * register probe function if present - * NOTE: rig_load_backend might have been called upon a backend - * not in riglist.h! In this case, do nothing. - */ for (i=0; i #include -/* This is libtool's dl wrapper */ -#include - #include +#include "register.h" #ifndef PATH_MAX # define PATH_MAX 1024 @@ -50,18 +48,78 @@ #define ROT_BACKEND_MAX 32 +#define DEFINE_INITROT_BACKEND(backend) \ + int MAKE_VERSIONED_FN(PREFIX_INITROTS, ABI_VERSION, backend(void *be_handle)); \ + rig_model_t MAKE_VERSIONED_FN(PREFIX_PROBEROTS, ABI_VERSION, backend(hamlib_port_t *port, rig_probe_func_t cfunc, rig_ptr_t data)) + + +#define ROT_FUNCNAMA(backend) MAKE_VERSIONED_FN(PREFIX_INITROTS, ABI_VERSION, backend) +#define ROT_FUNCNAMB(backend) MAKE_VERSIONED_FN(PREFIX_PROBEROTS, ABI_VERSION, backend) + +#define ROT_FUNCNAM(backend) ROT_FUNCNAMA(backend),ROT_FUNCNAMB(backend) + + +DEFINE_INITROT_BACKEND(dummy); +DEFINE_INITROT_BACKEND(rpc); +DEFINE_INITROT_BACKEND(easycomm); +DEFINE_INITROT_BACKEND(fodtrack); +DEFINE_INITROT_BACKEND(rotorez); +DEFINE_INITROT_BACKEND(sartek); +DEFINE_INITROT_BACKEND(gs232a); +DEFINE_INITROT_BACKEND(kit); +DEFINE_INITROT_BACKEND(heathkit); +DEFINE_INITROT_BACKEND(spid); +DEFINE_INITROT_BACKEND(m2); +DEFINE_INITROT_BACKEND(ars); +DEFINE_INITROT_BACKEND(amsat); +DEFINE_INITROT_BACKEND(ts7400); +DEFINE_INITROT_BACKEND(celestron); +DEFINE_INITROT_BACKEND(ether6); + +/*! \def ROT_BACKEND_LIST + * \brief Static list of rotator models. + * + * This is a NULL terminated list of available rotator backends. Each entry + * in the list consists of two fields: The branch number, which is an integer, + * and the branch name, which is a character string. + * An external library, loaded dynamically, could add its own functions pointers + * in this array. + */ +static struct { + int be_num; + const char *be_name; + int (*be_init)(void *); + rot_model_t (*be_probe)(hamlib_port_t *); +} rot_backend_list[ROT_BACKEND_MAX] = +{ + { ROT_DUMMY, ROT_BACKEND_DUMMY, ROT_FUNCNAMA(dummy) }, + /* { ROT_RPC, ROT_BACKEND_RPC, ROT_FUNCNAMA(rpc) }, */ + { ROT_EASYCOMM, ROT_BACKEND_EASYCOMM, ROT_FUNCNAMA(easycomm) }, + { ROT_FODTRACK, ROT_BACKEND_FODTRACK, ROT_FUNCNAMA(fodtrack) }, + { ROT_ROTOREZ, ROT_BACKEND_ROTOREZ, ROT_FUNCNAMA(rotorez) }, + { ROT_SARTEK, ROT_BACKEND_SARTEK, ROT_FUNCNAMA(sartek) }, + { ROT_GS232A, ROT_BACKEND_GS232A, ROT_FUNCNAMA(gs232a) }, + { ROT_KIT, ROT_BACKEND_KIT, ROT_FUNCNAMA(kit) }, + { ROT_HEATHKIT, ROT_BACKEND_HEATHKIT, ROT_FUNCNAMA(heathkit) }, + { ROT_SPID, ROT_BACKEND_SPID, ROT_FUNCNAMA(spid) }, + { ROT_M2, ROT_BACKEND_M2, ROT_FUNCNAMA(m2) }, + { ROT_ARS, ROT_BACKEND_ARS, ROT_FUNCNAMA(ars) }, + { ROT_AMSAT, ROT_BACKEND_AMSAT, ROT_FUNCNAMA(amsat) }, + { ROT_TS7400, ROT_BACKEND_TS7400, ROT_FUNCNAMA(ts7400) }, + { ROT_CELESTRON, ROT_BACKEND_CELESTRON, ROT_FUNCNAMA(celestron) }, + { ROT_ETHER6, ROT_BACKEND_ETHER6, ROT_FUNCNAMA(ether6) }, + { 0, NULL }, /* end */ +}; + +// Apparently, no rotator can be probed. + /* - * ROT_BACKEND_LIST is defined in rotlist.h, please keep it up to data, + * ROT_BACKEND_LIST is here, please keep it up to data, * ie. each time you give birth to a new backend * Also, it should be possible to register "external" backend, * that is backend that were not known by Hamlib at compile time. * Maybe, rotlist.h should reserve some numbers for them? --SF */ -static struct { - int be_num; - const char *be_name; - rot_model_t (*be_probe)(hamlib_port_t *); -} rot_backend_list[ROT_BACKEND_MAX] = ROT_BACKEND_LIST; /* @@ -70,7 +128,6 @@ static struct { */ struct rot_list { const struct rot_caps *caps; - lt_dlhandle handle; /* handle returned by lt_dlopen() */ struct rot_list *next; }; @@ -110,7 +167,7 @@ int HAMLIB_API rot_register(const struct rot_caps *caps) hval = HASH_FUNC(caps->rot_model); p->caps = caps; - p->handle = NULL; + // p->handle = NULL; p->next = rot_hash_table[hval]; rot_hash_table[hval] = p; @@ -257,92 +314,30 @@ int rot_load_all_backends() return RIG_OK; } - -#define MAXFUNCNAMELEN 64 /* * rot_load_backend * Dynamically load a rot backend through dlopen mechanism */ int HAMLIB_API rot_load_backend(const char *be_name) { -# define PREFIX "hamlib-" - - lt_dlhandle be_handle; - int (*be_init)(rig_ptr_t); int status; - char libname[PATH_MAX]; - char initfname[MAXFUNCNAMELEN]; - char probefname[MAXFUNCNAMELEN]; + int (*be_init)(rig_ptr_t); int i; - /* - * lt_dlinit may be called several times - */ -#if 0 - LTDL_SET_PRELOADED_SYMBOLS(); -#endif - - status = lt_dlinit(); - if (status) { - rot_debug(RIG_DEBUG_ERR, "rot_backend_load: lt_dlinit for %s " - "failed: %s\n", be_name, lt_dlerror()); - return -RIG_EINTERNAL; - } - - lt_dladdsearchdir(HAMLIB_MODULE_DIR); - - rot_debug(RIG_DEBUG_VERBOSE, "rot: loading backend %s\n",be_name); - - /* - * add hamlib directory here - */ - snprintf (libname, sizeof (libname), PREFIX"%s", be_name); - - be_handle = lt_dlopenext (libname); - - /* - * external module not found? try dlopenself for backends - * compiled in static - */ - if (!be_handle) { - rig_debug(RIG_DEBUG_VERBOSE, "rig: lt_dlopen(\"%s\") failed (%s), " - "trying static symbols...\n", - libname, lt_dlerror()); - be_handle = lt_dlopen (NULL); - } - - if (!be_handle) { - rot_debug(RIG_DEBUG_ERR, "rot: lt_dlopen(\"%s\") failed (%s)\n", - libname, lt_dlerror()); - return -RIG_EINVAL; - } - - snprintf(initfname, MAXFUNCNAMELEN, "initrots%d_%s", ABI_VERSION, be_name); - be_init = (int (*)(rig_ptr_t)) lt_dlsym (be_handle, initfname); - if (!be_init) { - rot_debug(RIG_DEBUG_ERR, "rot: dlsym(%s) failed (%s)\n", - initfname, lt_dlerror()); - lt_dlclose(be_handle); - return -RIG_EINVAL; - } - - - /* - * register probe function if present - * NOTE: rot_load_backend might have been called upon a backend - * not in rotlist.h! In this case, do nothing. - */ for (i=0; i sup-info/rigmatrix.html diff --git a/tests/rigctld.c b/tests/rigctld.c index fd9abb6cc..c3f2f5655 100644 --- a/tests/rigctld.c +++ b/tests/rigctld.c @@ -383,7 +383,7 @@ int main (int argc, char *argv[]) hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */ hints.ai_protocol = 0; /* Any protocol */ - retcode = getaddrinfo(src_addr, portno, &hints, &result); + retcode = rig_getaddrinfo(src_addr, portno, &hints, &result); if (retcode != 0) { fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(retcode)); exit(2); @@ -406,7 +406,7 @@ int main (int argc, char *argv[]) exit (1); } - freeaddrinfo(result); /* No longer needed */ + rig_freeaddrinfo(result); /* No longer needed */ if (listen(sock_listen, 4) < 0) { rig_debug(RIG_DEBUG_ERR, "listening: %s\n", strerror(errno)); diff --git a/tests/rotctld.c b/tests/rotctld.c index eb4acf5f0..bb43225b6 100644 --- a/tests/rotctld.c +++ b/tests/rotctld.c @@ -295,7 +295,7 @@ int main (int argc, char *argv[]) hints.ai_flags = AI_PASSIVE; /* For wildcard IP address */ hints.ai_protocol = 0; /* Any protocol */ - retcode = getaddrinfo(src_addr, portno, &hints, &result); + retcode = rig_getaddrinfo(src_addr, portno, &hints, &result); if (retcode != 0) { fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(retcode)); exit(2); @@ -318,7 +318,7 @@ int main (int argc, char *argv[]) exit (1); } - freeaddrinfo(result); /* No longer needed */ + rig_freeaddrinfo(result); /* No longer needed */ if (listen(sock_listen,4) < 0) { rig_debug(RIG_DEBUG_ERR, "listening: %s\n", strerror(errno)); diff --git a/ts7400/Makefile.am b/ts7400/Makefile.am index 0e129502c..fe45d138e 100644 --- a/ts7400/Makefile.am +++ b/ts7400/Makefile.am @@ -2,10 +2,11 @@ EXTRA_DIST = include/ep93xx_adc.h include/io.h include/peekpoke.h \ include/readADC.h include/io.c include/peekpoke.c include/readADC.c \ include/test7400ADC.c Android.mk -pkglib_LTLIBRARIES = hamlib-ts7400.la -hamlib_ts7400_la_SOURCES = ts7400.c -hamlib_ts7400_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_ts7400_la_LIBADD = $(top_builddir)/src/libhamlib.la \ - @MATH_LIBS@ +noinst_LTLIBRARIES = libhamlib-ts7400.la +libhamlib_ts7400_la_SOURCES = ts7400.c +libhamlib_ts7400_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_ts7400_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_ts7400_la_LIBADD = $(top_builddir)/src/libhamlib.la \ +# @MATH_LIBS@ noinst_HEADERS = ts7400.h diff --git a/tuner/Makefile.am b/tuner/Makefile.am index a9dd753d0..95498bbe8 100644 --- a/tuner/Makefile.am +++ b/tuner/Makefile.am @@ -1,9 +1,10 @@ TUNERSRCLIST = v4l.c v4l2.c -pkglib_LTLIBRARIES = hamlib-tuner.la -hamlib_tuner_la_SOURCES = $(TUNERSRCLIST) tuner.c -hamlib_tuner_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_tuner_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-tuner.la +libhamlib_tuner_la_SOURCES = $(TUNERSRCLIST) tuner.c +libhamlib_tuner_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_tuner_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_tuner_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = tuner.h videodev.h videodev2.h diff --git a/uniden/Makefile.am b/uniden/Makefile.am index 18b38c5ca..3b769f0a1 100644 --- a/uniden/Makefile.am +++ b/uniden/Makefile.am @@ -1,10 +1,11 @@ UNIDENSRC = bc895.c bc898.c bc245.c pro2052.c bc780.c bc250.c \ bcd396t.c bcd996t.c -pkglib_LTLIBRARIES = hamlib-uniden.la -hamlib_uniden_la_SOURCES = $(UNIDENSRC) uniden.c uniden_digital.c -hamlib_uniden_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_uniden_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-uniden.la +libhamlib_uniden_la_SOURCES = $(UNIDENSRC) uniden.c uniden_digital.c +libhamlib_uniden_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_uniden_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_uniden_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = uniden.h uniden_digital.h diff --git a/winradio/Makefile.am b/winradio/Makefile.am index b3ce96e9c..9f06f2862 100644 --- a/winradio/Makefile.am +++ b/winradio/Makefile.am @@ -2,10 +2,11 @@ WRSRCLIST = wr1000.c wr1500.c wr1550.c wr3100.c wr3150.c wr3500.c wr3700.c \ g303.c g313.c g305.c linradio/wrg313api.c -pkglib_LTLIBRARIES = hamlib-winradio.la -hamlib_winradio_la_SOURCES = $(WRSRCLIST) winradio.c -hamlib_winradio_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_winradio_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-winradio.la +libhamlib_winradio_la_SOURCES = $(WRSRCLIST) winradio.c +libhamlib_winradio_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_winradio_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_winradio_la_LIBADD = $(top_builddir)/src/libhamlib.la EXTRA_DIST = NOTES Android.mk diff --git a/wj/Makefile.am b/wj/Makefile.am index 333680d65..7759ff9e4 100644 --- a/wj/Makefile.am +++ b/wj/Makefile.am @@ -1,9 +1,10 @@ WJSRCLIST = wj8888.c -pkglib_LTLIBRARIES = hamlib-wj.la -hamlib_wj_la_SOURCES = $(WJSRCLIST) wj.c -hamlib_wj_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_wj_la_LIBADD = $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-wj.la +libhamlib_wj_la_SOURCES = $(WJSRCLIST) wj.c +libhamlib_wj_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_wj_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_wj_la_LIBADD = $(top_builddir)/src/libhamlib.la noinst_HEADERS = wj.h diff --git a/yaesu/Makefile.am b/yaesu/Makefile.am index 80cbe748d..50c4d2bbe 100644 --- a/yaesu/Makefile.am +++ b/yaesu/Makefile.am @@ -9,12 +9,13 @@ YAESUSRC = ft100.c ft747.c ft817.c ft847.c ft890.c ft900.c ft920.c \ ## Yaesu radios that use the new Kenwood style CAT commands NEWCATSRC = newcat.c ft450.c ft950.c ft2000.c ft9000.c ft5000.c -pkglib_LTLIBRARIES = hamlib-yaesu.la -hamlib_yaesu_la_SOURCES = $(YAESUSRC) $(NEWCATSRC) yaesu.c -hamlib_yaesu_la_LDFLAGS = -no-undefined -module -avoid-version -hamlib_yaesu_la_LIBADD = $(top_builddir)/lib/libmisc.la \ - @MATH_LIBS@ \ - $(top_builddir)/src/libhamlib.la +noinst_LTLIBRARIES = libhamlib-yaesu.la +libhamlib_yaesu_la_SOURCES = $(YAESUSRC) $(NEWCATSRC) yaesu.c +libhamlib_yaesu_la_CFLAGS = -DIN_HAMLIB $(AM_CFLAGS) +# libhamlib_yaesu_la_LDFLAGS = -no-undefined -module -avoid-version +#hamlib_yaesu_la_LIBADD = $(top_builddir)/lib/libmisc.la \ +# @MATH_LIBS@ \ +# $(top_builddir)/src/libhamlib.la EXTRA_DIST = README.ft890 README.ft920 Android.mk