Hi All,

I have just pushed the latest updates I've made to Hamlib 3 to my public 
fork of the project. These changes are not yet fully completed so I have 
not submitted them to the hamlib team yet.

Also I intended to change the WSJT-X compile and link commands in the 
CMake script to ensure any unreferenced code is stripped from final 
release configuration builds. To assist in this the configuration of 
hamlib builds needs to change with a few extra compiler and linker flags.

Here is a generic build recipe for hamlib suitable for use in the WSJT-X 
build, it should work as is on Linux, on Mac a small patch to autogen.sh 
is probably required (depending on how you install the required 
autotools) and on Windows see below.

mkdir ~/hamlib-prefix
cd ~/hamlib-prefix
git clone git://git.code.sf.net/u/bsomervi/hamlib src
cd src
git checkout integration
mkdir ../build
cd ../build
../src/autogen.sh --prefix=$HOME/hamlib-prefix \
     --disable-shared --enable-static \
     --without-cxx-binding --disable-winradio \
     CFLAGS="-fdata-sections -ffunction-sections" \
     LDFLAGS="-Wl,--gc-sections"
make
make install

This will build a binary hamlib package located at ~/hamlib-prefix so 
you will need to add that to your CMAKE_PREFIX_PATH variable in your 
WSJT-X build. On Linux that is probably the only path you have on 
CMAKE_PREFIX_PATH unless you are using a locally installed Qt installation.

On Windows there is a complication in that the compilers used to build 
Qt and WSJT-X are the MinGW ones bundled with the Qt package but hamlib 
needs to be build from an MSYS shell. This means that you need to tell 
the hamlib configuration to use the Qt bundled MinGW compilers (if you 
don't then the thread support library use by hamlib will be incompatible 
with that used by Qt and WSJT-X). So on Windows the hamlib build recipe 
is something like:

In an MSYS shell:-

mkdir ~/hamib-prefix
cd ~/hamlib-prefix
git clone git://git.code.sf.net/u/bsomervi/hamlib src
cd src
git checkout integration
mkdir ../build
cd ../build
../src/autogen.sh --prefix=$HOME/hamlib-prefix \
     --disable-shared --enable-static \
     --without-cxx-binding --disable-winradio \
     CC=<path-to-Qt-MinGW-tools>/gcc \
     CXX=<path-to-Qt-MinGW-tools>/g++ \
     CFLAGS="-fdata-sections -ffunction-sections" \
     LDFLAGS="-Wl,--gc-sections"
make
make install

NOTE: <path-to-Qt-MinGQ-tools> should be substituted with the actual 
path to your Qt bundled tools e.g on my system it is 
C:\Tools\Qt\Tools\mingw48_32\bin .

this will leave a hamlib binary package installed at 
c:/Users/<user-name>/hamlib-prefix which is what needs to be on your 
CMAKE_PREFIX_PATH. On Windows you almost certainly will be using a CMake 
toolchain file and this is where you will need to specify the hamlib 
binary location as one of the paths in CMAKE_PREFIX_PATH.

73
Bill
G4WJS.

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to