Documentation updates

This commit is contained in:
Bill Somerville 2020-10-29 22:40:19 +00:00
parent 6f2449f510
commit 072da278ee
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F

View File

@ -17,6 +17,7 @@ Here is an overview list, details are filled out below:
* libusb usb device library * libusb usb device library
* MSYS2 *nix like command line environment * MSYS2 *nix like command line environment
* Hamlib rig control library * Hamlib rig control library
* Pkg Config Lite
* Boost C++ libraries * Boost C++ libraries
Qt Framework Qt Framework
@ -64,8 +65,9 @@ You only need the 64-bit package.
libusb library libusb library
-------------- --------------
This library is available from https://libusb.info/, unzip this This library is available from https://libusb.info/, download the .7z
package into C:\Tools. archive as the .zip archive does not contain the libraries we
require. Unzip this package into C:\Tools.
MSYS2 MSYS2
----- -----
@ -76,6 +78,8 @@ installed and updated you will need to install some packages, these
are needed to provide the necessary *nix tools and utilities to build are needed to provide the necessary *nix tools and utilities to build
Hamlib from sources. Hamlib from sources.
pacman -S autoconf automake libtool make
Hamlib Hamlib
------ ------
@ -88,7 +92,78 @@ up to date with the official project master branch, we recommend
building from the 'integration' branch of that fork. The fork is a git building from the 'integration' branch of that fork. The fork is a git
repository which can be cloned with this command: repository which can be cloned with this command:
mkdir -p ~/src/sf/bsomervi
cd !$
git clone git://git.code.sf.net/u/bsomervi/hamlib hamlib git clone git://git.code.sf.net/u/bsomervi/hamlib hamlib
cd hamlib cd hamlib
git checkout integration git checkout integration
Next you must build Hamlib using the MinGW compiler tools bundled with
Qt. As you will build Hamlib again when there are updates you should
set up you Msys2 command line environment for this. I use a
$HOME/.bash_profile file containing these lines:
dll_paths_64bit=/c/Tools/libusb-1.0.23/MinGW64/dll
export PATH=/c/Qt/Tools/mingw810_64/bin:$dll_paths_64bit:$PATH
Test the amended ~/.bash_profile file by opening a new Msys2 shell and
typing:
which gcc
which libusb-1.0.dll
The first time you checkout the Hamlib sources you must bootstrap the
configuration script, this is done with a script at the root of the
Hamlib sources:
cd ~/src/sf/bsomervi/hamlib
./bootstrap
Now you need to configure and build Hamlib from an Msys2 shell. Create
a build directory outside of the Hamlib sources you have just cloned,
then change working directory to that build directory.
mkdir -p ~/build/hamlib/release
cd !$
~/src/sf/bsomervi/hamlib/configure --disable-shared \
--prefix=$HOME/local/hamlib/mingw64/release \
CFLAGS="-DNDEBUG -g -O2 -fdata-sections -ffunction-sections -I/c/Tools/libusb-1.0.23/include" \
CXXFLAGS="-DNDEBUG -g -O2 -fdata-sections -ffunction-sections" \
LDFLAGS="-Wl,--gc-sections" \
LIBUSB_LIBS="-L/c/Tools/libusb-1.0.23/MinGW64/dll -lusb-1.0"
Then build and install the Hamlib package into a local directory:
make & make install-strip
If you wish you can make a debug configuration build of Hamlib which
can be useful if you intended to contribute to the Hamlib project, or
for tracking down issues:
mkdir -p ~/build/hamlib/debug
cd !$
~/src/sf/bsomervi/hamlib/configure --disable-shared \
--prefix=$HOME/local/hamlib/mingw64/debug \
CFLAGS="-g -O0 -I/c/Tools/libusb-1.0.23/include" \
CXXFLAGS="-g -O0" \
LIBUSB_LIBS="-L/c/Tools/libusb-1.0.23/MinGW64/dll -lusb-1.0"
make && make install
To update the Hamlib sources to the latest commit and rebuild:
cd ~/src/sf/bsomervi/hamlib
git pull
cd ~/build/hamlib/release
make & make install-strip
cd ~/build/hamlib/debug
make && make install
Pkg Config Lite
---------------
This package allows the WSJT-X CMake configuration to locate and learn
the options needed to consume the Hamlib package. You can download it
from https://sourceforge.net/projects/pkgconfiglite/files/0.28-1/ and
unzip it into a convenient location, as with other ancillary tools and
libraries I put these under C:\Tools\.