| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | Linux | 
					
						
							|  |  |  | ===== | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Debian style: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | sudo apt install libboost-all-dev | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | RPM style: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sudo dnf install boost-devel | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | macOS | 
					
						
							|  |  |  | ===== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Download the latest Boost sources from here: boost.org | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Currently v 1.74.0 - | 
					
						
							|  |  |  | https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2 | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | cd ~/Downloads | 
					
						
							|  |  |  | curl -L -O https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2 | 
					
						
							|  |  |  | mkdir src | 
					
						
							|  |  |  | cd !$ | 
					
						
							| 
									
										
										
										
											2020-10-01 23:07:49 +01:00
										 |  |  | tar --bzip2 -xf ~/Downloads/boost_1_74_0.tar.bz2 | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | cd boost_1_74_0/tools/build | 
					
						
							| 
									
										
										
										
											2020-10-01 19:51:55 +01:00
										 |  |  | ./bootstrap.sh | 
					
						
							|  |  |  | ./b2 toolset=clang --prefix=$HOME/local/boost-build install | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | cd ../.. | 
					
						
							|  |  |  | ~/local/boost-build/bin/b2 -j8 toolset=clang cflags=-mmacosx-version-min=10.12 \ | 
					
						
							|  |  |  |    cxxflags=-mmacosx-version-min=10.12 mflags=-mmacosx-version-min=10.12 \ | 
					
						
							|  |  |  |    mmflags=-mmacosx-version-min=10.12 mflags=-mmacosx-version-min=10.12 \ | 
					
						
							|  |  |  |    linkflags=-mmacosx-version-min=10.12 \ | 
					
						
							| 
									
										
										
										
											2020-10-01 19:51:55 +01:00
										 |  |  |    architecture=x86 address-model=64 --prefix=$HOME/local/boost install | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | That will take a while, once  successful (warnings can be ignored) you | 
					
						
							|  |  |  | can clean the build tree to save some space: | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ~/local/boost-build/bin/b2 toolset=clang cflags=-mmacosx-version-min=10.12 \ | 
					
						
							|  |  |  |    cxxflags=-mmacosx-version-min=10.12 mflags=-mmacosx-version-min=10.12 \ | 
					
						
							|  |  |  |    mmflags=-mmacosx-version-min=10.12 mflags=-mmacosx-version-min=10.12 \ | 
					
						
							|  |  |  |    linkflags=-mmacosx-version-min=10.12 \ | 
					
						
							| 
									
										
										
										
											2020-10-01 19:51:55 +01:00
										 |  |  |    architecture=x86 address-model=64 --prefix=$HOME/local/boost clean | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | All that remains is to reconfigure  your WSJT-X build trees to include | 
					
						
							|  |  |  | ~/local/boost in  your CMAKE_PREFIX_PATH,  maybe something  like these | 
					
						
							|  |  |  | (one each for  Debug and Release configuration builds  and assumes the | 
					
						
							|  |  |  | Macports GCC v7 tool-chain is being used): | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | FC=gfortran-mp-7 \ | 
					
						
							|  |  |  |    cmake \ | 
					
						
							| 
									
										
										
										
											2020-11-14 14:23:58 +00:00
										 |  |  |    -D CMAKE_PREFIX_PATH:PATH=~/local/boost\;~/Qt/5.15.0/clang_64\;~/local/hamlib/release\;/opt/local \ | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  |    -D CMAKE_INSTALL_PREFIX=~/local/wsjtx/release \ | 
					
						
							|  |  |  |    -D CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk \ | 
					
						
							|  |  |  |    -D CMAKE_BUILD_TYPE=Release \ | 
					
						
							|  |  |  |    -B ~/build/wsjtx-release \ | 
					
						
							|  |  |  |    ~/src/bitbucket.org/k1jt/wsjtx | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | FC=gfortran-mp-7 \ | 
					
						
							|  |  |  |    cmake \ | 
					
						
							| 
									
										
										
										
											2020-11-14 14:23:58 +00:00
										 |  |  |    -D CMAKE_PREFIX_PATH:PATH=~/local/boost\;~/Qt/5.15.0/clang_64\;~/local/hamlib/debug\;/opt/local \ | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  |    -D CMAKE_INSTALL_PREFIX=~/local/wsjtx/debug \ | 
					
						
							|  |  |  |    -D CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk \ | 
					
						
							|  |  |  |    -D CMAKE_BUILD_TYPE=Debug \ | 
					
						
							|  |  |  |    -B ~/build/wsjtx-debug \ | 
					
						
							|  |  |  |    ~/src/bitbucket.org/k1jt/wsjtx | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Substitute you  installed SDK  version, Qt  version and  location, and | 
					
						
							|  |  |  | Hamlib install locations. | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MS Windows | 
					
						
							|  |  |  | ========== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Because 32-bit and 64-bit builds are possible and each use different | 
					
						
							|  |  |  | tool-chains, two separate builds are necessary if both architectures | 
					
						
							|  |  |  | are required. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Common steps | 
					
						
							|  |  |  | ------------ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Download and extract the latest Boost library sources, at the time of | 
					
						
							|  |  |  | writing that was | 
					
						
							|  |  |  | https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.7z | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  | . Extract to some convenient location, I use %USERPROFILE%\src . | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Download    and     extract    the    libbacktrace     sources    from | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | https://github.com/ianlancetaylor/libbacktrace as follows. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  | cd %USERPROFILE%\src | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | mkdir github.com | 
					
						
							|  |  |  | cd github.com | 
					
						
							|  |  |  | mkdir ianlancetaylor | 
					
						
							|  |  |  | cd ianlancetaylor | 
					
						
							|  |  |  | git clone git@github.com:ianlancetaylor/libbacktrace.git | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | I  install  third-party  tools   under  the  C:\Tools  directory,  the | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | following assumes that, adjust to taste. Note that it is OK to install | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | both 32- and  64-bit builds of Boost  to the same path  as the library | 
					
						
							|  |  |  | names are unique per architecture and  tool-chain. This saves a lot of | 
					
						
							|  |  |  | space as the boost header files are  quite big, and there's no need to | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | install multiple copies. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  | Create  a  new file  %USERPROFILE%\src\boost_1_74_0\project-config.jam | 
					
						
							|  |  |  | with the  following three lines  to specify how Boost.Build  finds the | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | libbacktrace library matched to your relevant C++ compliers: | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | import toolset ; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | using gcc : : C:\\Qt\\Tools\\mingw730_32\\bin\\g++ : <compileflags>-I"C:\\Tools\\libbacktrace-1.0\\MinGW32\\include" <linkflags>-L"C:\\Tools\\libbacktrace-1.0\\MinGW32\\lib" ; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | using gcc : 8~64 : C:\\Qt\\Tools\\mingw810_64\\bin\\g++ : <compileflags>-I"C:\\Tools\\libbacktrace-1.0\\MinGW64\\include" <linkflags>-L"C:\\Tools\\libbacktrace-1.0\\MinGW64\\lib" ; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Note  that it  may  need some  local adjustment  of  the C++  compiler | 
					
						
							|  |  |  | version  and path  depending on  the  exact tool-chains  from your  Qt | 
					
						
							|  |  |  | installation. Above  I am using  the Qt v5.12.9 MinGW32  v7 tool-chain | 
					
						
							|  |  |  | for 32-bit  (toolset=gcc), and  Qt v5.15.0  MinGW64 v8  tool-chain for | 
					
						
							|  |  |  | 64-bit (toolchain=gcc-8~64). | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 32-bit | 
					
						
							|  |  |  | ------ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Start an  MSys or MSys2  shell with  the 32-bit C/C++  tool-chain from | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | your Qt installation on the PATH environment variable. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cd ~/src/github.com/ianlancetaylor/libbacktrace | 
					
						
							|  |  |  | ./configure --prefix=/c/Tools/libbacktrace-1.0/MinGW32 | 
					
						
							|  |  |  | make && make install | 
					
						
							|  |  |  | make clean | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Start a  CMD window suitably  configured for  use of the  32-bit MinGW | 
					
						
							|  |  |  | tool-chain  bundled  with  your  Qt binary  installation.  Verify  the | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | correct compiler is in the PATH. i.e. it identifies (g++ --version) as | 
					
						
							|  |  |  | i686-posix-dwarf-rev0. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  | cd %USERPROFILE%\src\boost_1_74_0\tools\build | 
					
						
							| 
									
										
										
										
											2020-10-01 23:06:20 +01:00
										 |  |  | bootstrap.bat mingw | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | .\b2 --prefix=C:\Tools\boost-build\MinGW32 install | 
					
						
							|  |  |  | cd ..\.. | 
					
						
							|  |  |  | C:\Tools\boost-build\MinGW32\bin\b2 -j8 toolset=gcc ^ | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  |   --build-dir=%USERPROFILE%\build\boost ^ | 
					
						
							|  |  |  |   address-model=32 architecture=x86 variant=debug,release ^ | 
					
						
							|  |  |  |   link=shared threading=multi ^ | 
					
						
							|  |  |  |   --with-log --with-stacktrace --prefix=C:\Tools\boost install | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | If all is  well you should see  the following line about a  1/3 of the | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | way through the initial configuration steps. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    - libbacktrace builds      : yes | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | After some time it should complete with something like: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ...failed updating 1574 targets... | 
					
						
							|  |  |  | ...skipped 1112 targets... | 
					
						
							|  |  |  | ...updated 3924 targets... | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | warnings can usually  be ignored. If successful; you  can release some | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | space by cleaning the build tree: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C:\Tools\boost-build\MinGW32\bin\b2 toolset=gcc ^ | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  |   --build-dir=%USERPROFILE%\build\boost ^ | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  |   --build-type=complete clean | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 64-bit | 
					
						
							|  |  |  | ====== | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Start an  MSys or MSys2  shell with  the 64-bit C/C++  tool-chain from | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | your Qt installation on the PATH environment variable. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cd ~/src/github.com/ianlancetaylor/libbacktrace | 
					
						
							|  |  |  | ./configure --prefix=/c/Tools/libbacktrace-1.0/MinGW64 | 
					
						
							|  |  |  | make && make install | 
					
						
							|  |  |  | make clean | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Start a  CMD window suitably  configured for  use of the  64-bit MinGW | 
					
						
							|  |  |  | tool-chain  bundled  with  your  Qt binary  installation.  Verify  the | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | correct compiler is in the PATH. i.e. it identifies (g++ --version) as | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | x86_64-posix-seh-rev0. Note  the toolchain  specified must  match your | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | compilers and the project-config.jam file you created above. With a v7 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | 64-bit C++  compiler use gcc-7~64, with  a v8 64-bit C++  compiler use | 
					
						
							|  |  |  | gcc-8~64. My  example matches  my 64-bit Qt  v5.15.0 with  the bundled | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | MinGW64 v8.1.0. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  | cd %USERPROFILE%\src\boost_1_74_0\tools\build | 
					
						
							|  |  |  | bootstrap.bat mingw | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | .\b2 --prefix=C:\Tools\boost-build\MinGW64 install | 
					
						
							|  |  |  | cd ..\.. | 
					
						
							|  |  |  | C:\Tools\boost-build\MinGW64\bin\b2 -j8 toolset=gcc-8~64 ^ | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  |   address-model=64 architecture=x86 variant=debug,release ^ | 
					
						
							|  |  |  |   link=shared threading=multi ^ | 
					
						
							|  |  |  |   --with-log --with-stacktrace ^ | 
					
						
							|  |  |  |   --build-dir=%USERPROFILE%\build\boost ^ | 
					
						
							|  |  |  |   --prefix=C:\Tools\boost install | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | If all is well you should see the following line about a 1/3 of the | 
					
						
							|  |  |  | way through the initial configuration steps. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    - libbacktrace builds      : yes | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | After some time it should complete with something like: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ...failed updating 108 targets... | 
					
						
							|  |  |  | ...skipped 32 targets... | 
					
						
							|  |  |  | ...updated 3648 targets... | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | warnings can usually  be ignored. If successful; you  can release some | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | space by cleaning the build tree: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | C:\Tools\boost-build\MinGW32\bin\b2 toolset=gcc-8~64 ^ | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  |   address-model=64 --build-dir=%USERPROFILE%\build\boost ^ | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  |   --build-type=complete clean | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | Run-time Environment | 
					
						
							|  |  |  | -------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You  will need  to  add C:\Tools\boost\lib  to  your PATH  environment | 
					
						
							|  |  |  | variable in order to run  installed Debug configurations of WSJT-X, or | 
					
						
							|  |  |  | to execute  build artefacts from a  build tree. It is  also needed for | 
					
						
							|  |  |  | teh install target of  release configuration builds. Installed Release | 
					
						
							|  |  |  | configurations will  move any  required DLLs  to the  installation bin | 
					
						
							|  |  |  | directory automatically. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | Setting up WSJT-X builds | 
					
						
							|  |  |  | ------------------------ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 03:00:21 +01:00
										 |  |  | All that  remains is  to add  C:\Tools\boost\ to  your 32-  and 64-bit | 
					
						
							|  |  |  | build  configurations CMAKE_PREFIX_PATH  variables.  I use  tool-chain | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | files for my WSJT-X builds on Windows, an extract from my 32-bit Debug | 
					
						
							|  |  |  | configuration tool-chain file: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # ... | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | set (BOOSTDIR C:/Tools/boost) | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  | set (QTDIR C:/Qt/5.15.2/mingw81_32) | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | set (FFTWDIR C:/Tools/fftw-3.3.5-dll32) | 
					
						
							|  |  |  | set (HAMLIBDIR C:/test-install/hamlib/mingw32/debug) | 
					
						
							|  |  |  | set (LIBUSBDIR C:/Tools/libusb-1.0.23) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # where to find required packages | 
					
						
							| 
									
										
										
										
											2020-11-26 12:33:51 +00:00
										 |  |  | set (CMAKE_PREFIX_PATH ${BOOSTDIR} ${QTDIR} ${FFTWDIR} ${HAMLIBDIR} ${HAMLIBDIR}/bin ${LIBUSBDIR}) | 
					
						
							| 
									
										
										
										
											2020-09-30 18:43:58 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # ... |