diff --git a/README.md b/README.md index d96eed5..73ec96c 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ The **Version 3.4** stream is a learning, discovery and technique refinement exp ### Direction -The **JTSDK 3.4.0** matures the evolution of the kits from Windows Batch Files towards Windows +The **JTSDK 3.4.1** matures the evolution of the kits from Windows Batch Files towards Windows [PowerShell][]-based scripts. [PowerShell][] is also supported in Mac and Linux environs, so common-adaptation for these purposes may occur as the kits evolve. @@ -21,17 +21,17 @@ completely removes needs for capable third-party environments such as [Python][] ### Release Notes: 3.4 Stream -As of [JTSDK64-3.4.0][] there are no longer distinctions between "Base" and "Tools" packages. There will just me "Main Releases" and "Updates". +As of [JTSDK64-3.4.1][] there are no longer distinctions between "Base" and "Tools" packages. There will just me "Main Releases" and "Updates". -- Under the [JTSDK64-3.2-Stream][] the "Base Package" was [JTSDK64-Base-3.2.3][]. Under the [JTSDK64-3.4-Stream][] the former "Base" deployment package will become [JTSDK64-3.4.0][]. -- Under the [JTSDK64-3.2-Stream][] the "Patch Package" was [JTSDK64-Tools-3.2.3.3][]. Under the [JTSDK64-3.4-Stream][] the "Update" packages will become [JTSDK64-3.4.0-U1][]. +- Under the [JTSDK64-3.2-Stream][] the "Base Package" was [JTSDK64-Base-3.2.3][]. Under the [JTSDK64-3.4-Stream][] the former "Base" deployment package will become [JTSDK64-3.4.1][]. +- Under the [JTSDK64-3.2-Stream][] the "Patch Package" was [JTSDK64-Tools-3.2.3.3][]. Under the [JTSDK64-3.4-Stream][] the "Update" packages will become [JTSDK64-3.4.1-U1][]. -The Main deployment package - [JTSDK64-3.4.0][] - can be downloaded at https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/JTSDK64-3.4.0.exe +The Main deployment package - [JTSDK64-3.4.1][] - can be downloaded at https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/JTSDK64-3.4.1.exe This README.md file includes deployment instructions. The very latest news - including tips to solve issues - can be found at https://hamlib-sdk.sourceforge.io/ ( see https://hamlib-sdk.sourceforge.io/QU.html ). -The **JTSDK 3.4.0** primarily integrates the new nomenclature and former "Tools" package [JTSDK64-Tools-3.2.3.3][] +The **JTSDK 3.4.1** primarily integrates the new nomenclature and former "Tools" package [JTSDK64-Tools-3.2.3.3][] integrated fully into [JTSDK64-Base-3.2.3][] . There are also updates to some utilities and Libraries (i.e. NSIS 3.09, Updates to Ruby, LibUSB bumped to Version 1.0.27). @@ -41,7 +41,7 @@ has significant enhancements - centred around Hamlib being deployed now as a DLL in that many of the key commands now accept switches that can make the process of developing code quicker and simpler. -[JTSDK64-3.4.0][] with basic **[MSYS2][]** and **mingw64** compilers and tools pre-deployed. +[JTSDK64-3.4.1][] with basic **[MSYS2][]** and **mingw64** compilers and tools pre-deployed. This kit only supports the construction of 64-bit software. @@ -53,11 +53,7 @@ The preferred [MSYS2][] development environment for building Hamlib is now execu ### Release Notes: Updates -An update package [JTSDK64-3.4.0-U2][] is now available. - -This update package basically reverts Boost source back to the JFrog download Site, away from the GitHub repo recommended to us in the past: - -i.e.: https://boostorg.jfrog.io/artifactory/main/release/1.85.0/source/boost_1_85_0.zip +Currently there are no Update packages available. The first update package for this stream would be An update package [JTSDK64-3.4.1-U1][]. ************************************************************************************ **The Project needs contributors - Especially for management and to write Cross-Language Documentation !** @@ -89,9 +85,11 @@ are available - saving many hours. Note that the continued production of these f - [Boost-1.82.0][], [Boost-1.83.0][] and [Boost-1.84.0][] and [Boost-1.85.0][] are built with and supplied under Qt's [MinGW 8.1](MinGW) and [MinGW 11.3](MinGW) environs. - [Boost-1.85.0][] is built with and supplied under Qt's [MinGW 8.1](MinGW) environs. +**Note:** It is not recommended to use [Boost-1.86.0][] with [Qt][] 5.15.2 as there are some build and compatability issues.** + Extract the folder for the Boost version-package that you want to use into **x:\JTSDK64-Tools\tools\boost** (create the directory if it does not exist) and then remove the -7.3, -8.1 or -11.2 suffix ! ************************************************************************************ -The recommended development environment should be [JTSDK64-3.4.0][] with the latest update applied i.e [JTSDK64-3.4.0-U2][] . +The recommended development environment should be [JTSDK64-3.4.1][] with the latest update applied i.e [JTSDK64-3.4.1-U1][] if available. The current environment incorporates [Qt][] 5.15.2 and support for building [Boost-1.85.0][] working with [MinGW 8.1](MinGW) under the **mingw64** [MSYS2][] environment. @@ -177,10 +175,10 @@ The basic concept of supporting **Windows Environment Variables** through [Power will remain a cornerstone concept. ************************************************************************************ -## Upgrades from Versions earlier than Version 3.4.0 +## Upgrades from Versions earlier than Version 3.4.1 ************************************************************************************ -It is not recommended that the [JTSDK64-3.4.0][] and [JTSDK64-3.4.0-U2][] be installed over the top of previous kits. +It is not recommended that the [JTSDK64-3.4.1][] be installed over the top of previous kits. **It is highly recommended that a new, fresh deployment be considered with each new release.** @@ -207,7 +205,7 @@ Maintenance updates will be applied in the form of **Update** packages when nece are designed to be deployed to an existing deployment within the same stream. An **Update** package can only be applied to a matching release. i.e. You cannot apply a -[JTSDK64-3.4.0-U2][] package to a [JTSDK64-Base-3.2.1][] - based deployment without experiencing significant issues. +[JTSDK64-3.4.1-U1][] package to a [JTSDK64-Base-3.2.1][] - based deployment without experiencing significant issues. ### Application of Maintenance **Update** packages @@ -218,10 +216,10 @@ An **Update** package can only be applied to a matching release. i.e. You cannot - Download the latest **Update** packages from https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/ ************************************************************************************ -The current **Update Package** is [JTSDK64-3.4.0-U2][] . +There are no current update packages available. ************************************************************************************ -- Deploy the **Update** package [JTSDK64-3.4.0-U2][] to your JTSDK install directory. +- Deploy the **Update** package (if it is available and if it exists) [JTSDK64-3.4.1-U1][] to your JTSDK install directory. Updates may be required for the [MSYS2][] environment. Therefore the "profile" directory for [MSYS2][] may be deleted and re-created. @@ -306,7 +304,7 @@ The section of the **Versions.ini** file where these keys are found are shown be ... #Set current Qt version qt5v=5.15.2 -qt6v=6.7.0 +qt6v=6.7.2 ... ``` @@ -316,7 +314,7 @@ that the Qt Maintainers will ever make a Qt 5 version beyond Version 5.15.2 avai The Qt maintainers are constantly evolving and improving Qt releases in the Version 6 stream. It may be necessary to align the *qt6v* key to the currently available Qt version. -- As at the time of document publication, the latest currently available Qt 6 version available to Open Source licensees is **Qt 6.7.0**. +- As at the time of document publication, the latest currently available Qt 6 version available to Open Source licensees is **Qt 6.7.2**. You will be advised on the [JTSDK@GROUPS.io](JTSDK Forum) forum should changes to any of these keys be necessary. @@ -333,12 +331,12 @@ Obtain a current release version of your product from: **Install it so that it can be found in the search path.*** -### Step 1: Deploy the JTSDK64-3.4.0.exe Installer and any available Update Packages +### Step 1: Deploy the JTSDK64-3.4.1.exe Installer and any available Update Packages ** Note that these instructions assumes a fresh Windows 10 or 11 Virtual Machine is used ** -- Deploy the **Release** installer [JTSDK64-3.4.0][] inside a FRESH, FULLY UPDATED WINDOWS 10 or 11 VM. -- Deploy the latest **update** Package i.e. [JTSDK64-3.4.0-U2][] to your deployment. +- Deploy the **Release** installer [JTSDK64-3.4.1][] inside a FRESH, FULLY UPDATED WINDOWS 10 or 11 VM. +- Deploy the latest **update** Package, if it exists, to your deployment i.e. [JTSDK64-3.4.1-U1][] It is recommended to use all the initial default settings and file locations. @@ -350,28 +348,25 @@ A screen similar to the following should eventually appear: ``` ------------------------------------------- - JTSDK Setup v3.4.0.2 + JTSDK Setup v3.4.1 ------------------------------------------- Required Tools PowerShell ..... 5.1.22621.2506 - VC Runtimes .... Installed - Git ............ Installed - OmniRig ........ Installed + VC Runtimes .... Not Installed + Git ............ Not Installed + OmniRig ........ Not Installed - Qt Script-Provisioned Tool Chains + Qt Tool Chain(s) Deployed - x64: - MinGW 8.1 ...... Qt Not Installed - MinGW 11.x ..... Qt Not Installed + Qt: none - x86 (Legacy: unsupported): - MinGW 8.1 ...... Qt Not Installed + Tools: none Optional Components - VS Code ........ Installed + VS Code ........ Not Installed Boost .......... Not Installed Post Install / Manual Setup Commands @@ -394,21 +389,21 @@ The following information will be displayed: At the prompts indicate which components you want to install or redeploy. - For VC Runtimes, OmniRig, Git, MSYS2 and VS Code use + For VC Runtimes, OmniRig, Git, MSYS2 and VS Code use: --> Y/Yes or N/No - For the Qt Install Selection: - - D / Y = Default ( minimal set of tools ) - F = Full ( full set of tools ) - N = Skip Installation + Qt deployment now just runs the Installer and/or + Maintenance Tool and no longer offers a scripted + deployment option. Use: + --> Y/Yes or N/No - NOTE: VC Runtimes, Git, Qt and MSYS2 are mandatory - to build JT-software. + NOTE: VC Runtimes, Git, Qt and MSYS2 are mandatory to + build JT-software. The Latest PowerShell is highly + recommended. - Enter Your Install/Redeployment Selection(s): +* Enter Your Install/Redeployment Selection(s): -(required) Latest PowerShell (Y|N) ..: + (recommended) Latest PowerShell (Y|N) .: ``` - The latest PowerShell (i.e. PowerShell 7) is highly recommended as it has considerable performance benefits. Select 'Y' even if you already have it deployed. @@ -429,28 +424,28 @@ The following information will be displayed: ``` - The Git-SCM is required. Select 'Y' ``` -(required) Default Qt (D/Y|F|N) ...: +(required) Qt (Y|N) ...................: ``` ************************************************************************************ **Since initial release Qt 5.15.2 is not avaialble except through "Archive"** +As a result Qt deployments are no longer scripted. This means that, as a minimum, you will need to deploy the Qt toolchain and its recommended MinGW support packages. + +i.e. [Qt][]5.15.2 requires the [MinGW][]8.1 toolchain. + There is a document at https://hamlib-sdk.sourceforge.io/Qt/ADQT.html that is intended to be used as a guide for Qt 5.15.2 from Archive Repos. -**This deployment must be performed manually - after one has completed a successful Qt 6.x deployment.** +**This deployment must be performed manually.** -************************************************************************************ +You can also add a Qt 6 toolchain at the same time -Qt Presents a number of options. 'D' or 'Y' Selects a scripted "Default" +i.e. [Qt][]6.7.2 requires the [MinGW][]13.1 toolchain. -deployment being Qt 5.15.2 as the base. 'F' Deploys 5.15.2 and 6.7.0. -************************************************************************************ -**It is now recommended that you perform a FULL Deployment and then install Qt 5.15.2 from Archive.** -**See https://sourceforge.net/projects/hamlib-sdk/files/JTware-Deployment/Deploying-Archived-Versions-of-Qt-via-Maintenance-Tool.docx** ************************************************************************************ -- Qt is required. Select 'Y'/'D' or 'F' (note:'F' is now recommended) +- A Qt toolchain is required. Select 'Y' ``` (required) MSYS2 Setup (Y|N) ......: ``` @@ -560,9 +555,9 @@ Once complete you can exit the **JTSDK64-Setup** environment (i.e. close the **J **Step 3a: Upgrade your Qt Deployment** A Minimum Qt installation pegs at [Qt][] at version 5.15.2. If you did not use the "F" Full option for [Qt][] deployment or you -want to add additional Qt versions - i.e. test Qt 6.7.0 - you should do so now. +want to add additional Qt versions - i.e. test Qt 6.7.2 - you should do so now. -**The use of Qt 5.15.2 is the Qt deployment for JT-ware. Qt6 streams are not yet supported for JT-ware compiles.** +**The use of Qt 5.15.2 is the Qt deployment for JT-ware. Qt6 streams are not yet supported for mainstream JT-ware compiles.** **It is not recommended that versions of Qt below Qt 6.3.2 / MinGW 11.2 be used in this JTSDK** @@ -575,19 +570,19 @@ To add an additional version of Qt to the default Qt 5.15.2 version: - Navigate to the Qt Deployment directory - Run the Qt Maintenance Tool from your Qt deployment directory (i.e. **C:\JTASK64-Tools\tools\Qt**) -To add Qt 6.7.0: +To add Qt 6.7.2: -- Add Qt 6.7.0 MinGW -- Ensure that components Qt 6.7.0/MinGW 13.1.0 64 bit and Qt 6.7.0/Qt5 Compatability Module are added. -- Select Qt 6.7.0/All Additional Libraries . +- Add Qt 6.7.2 MinGW +- Ensure that components Qt 6.7.2/MinGW 13.1.0 64 bit and Qt 6.7.2/Qt5 Compatability Module are added. +- Select Qt 6.7.2/All Additional Libraries . - Add Developer and Designer Tools / MinGW 13.1.0 64-bit -- (Recommended) Add the OpenSSL 1.1.1x toolkit (it helps with a WSJTX download). +- (Recommended) Add the OpenSSL 1.1.1x toolkit (it helps with a WSJTX download - if it is still available). - (Recommended) Add the OpenSSL 3.x.1x toolkit (Future Enhancement). On Completion: - Adjust the maker file in **x:\JTSDK64-Tools\config** marker file to match the Qt version that you want to use -- i.e. rename **qt5.15.2** to **qt6.7.0** +- i.e. rename **qt5.15.2** to **qt6.7.2** ************************************************************************************ There must only be ONE marker file for Qt in **x:\JTSDK64-Tools\config** @@ -843,9 +838,9 @@ Base ref: https://sourceforge.net/projects/jtsdk/files/win64/3.1.0/README.md Dat [JTSDK64-Tools-3.2.3.2]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.2-Stream/JTSDK64-Tools-3.2.3.2.exe [JTSDK64-Tools-3.2.3.3]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.2-Stream/JTSDK64-Tools-3.2.3.3.exe [JTSDK64-3.4-Stream]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/ -[JTSDK64-3.4.0]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/JTSDK64-3.4.0.exe -[JTSDK64-3.4.0-U1]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/JTSDK64-3.4.0-U1.exe -[JTSDK64-3.4.0-U2]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/JTSDK64-3.4.0-U2.exe +[JTSDK64-3.4.1]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/JTSDK64-3.4.1.exe +[JTSDK64-3.4.1-U1]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/JTSDK64-3.4.1-U1.exe +[JTSDK64-3.4.1-U2]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/JTSDK64-3.4.1-U2.exe [Git]: https://git-scm.com/ [VS Code]: https://code.visualstudio.com/Download [Issue Tracker]: https://sourceforge.net/p/hamlib-sdk/tickets/ @@ -863,6 +858,7 @@ Base ref: https://sourceforge.net/projects/jtsdk/files/win64/3.1.0/README.md Dat [Boost-1.83.0]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.2-Stream/Boost-1.83.0-MinGW-v8.1-v11.2.7z [Boost-1.84.0]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.2-Stream/Boost-1.84.0-MinGW-v8.1-v11.2.7z [Boost-1.85.0]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/Boost-1.85.0-MinGW-v8.1.7z +[Boost-1.86.0]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/Boost-1.86.0-MinGW-v13.1.7z [WSJT-X Support Forum]: mailto://wsjt-devel@lists.sourceforge.net [Tests]: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.2-Stream/Tests/ [WSJT-X 2.2.3]: https://physics.princeton.edu/pulsar/k1jt/wsjtx-2.2.3.tgz diff --git a/docs/ver3/UG3.html b/docs/ver3/UG3.html index 0a0026e..55e0841 100644 --- a/docs/ver3/UG3.html +++ b/docs/ver3/UG3.html @@ -3,7 +3,7 @@
-The JTSDK 3.4.0 evolves the kits from Windows Batch Files towards Windows +
The JTSDK 3.4.1 evolves the kits from Windows Batch Files towards Windows PowerShell-based scripts. PowerShell is also supported in Mac and Linux environs, so common-adaptation for these purposes may occur as the kits evolve.
This started as an experiment to reduce maintenance (i.e. new package versions). @@ -51,12 +51,12 @@
The parent Version 3.2 stream is a learning, discovery and technique refinement experiment. Subsequent versions are an evolution from this.
The JTSDK 3.4.0 outwardly will appear similar to previous JTSDK Version 3-stream releases. Yet the JTSDK 3.4.0 has significant updates and enhancements in that many of the key commands now accept +
The JTSDK 3.4.1 outwardly will appear similar to previous JTSDK Version 3-stream releases. Yet the JTSDK 3.4.1 has significant updates and enhancements in that many of the key commands now accept switches that can make the process of developing code quicker and simpler.
-The JTSDK 3.4.0 also moves away from PowerShell Windows 5.1 (The default MS-Windows-supplied version - also referred to as "PowerShell Core") to more contemporary release versions.
-The JTSDK 3.4.0 solves a long standing issue with LibUSB support - that up until now has been +
The JTSDK 3.4.1 also moves away from PowerShell Windows 5.1 (The default MS-Windows-supplied version - also referred to as "PowerShell Core") to more contemporary release versions.
+The JTSDK 3.4.1 solves a long standing issue with LibUSB support - that up until now has been disabled. Most changes in this preview incorporate enhancements to the MSYS2 environment to better support the LibUSB with Hamlib.
The JTSDK64-3.4.0 can be installed over the top of previous kits - yet it is +
The JTSDK64-3.4.1 can be installed over the top of previous kits - yet it is highly recommended that one start from scratch.
It is highly recommended that kits are deployed into Virtual machines (see "Deployment" section).
It is highly recommended that a new, fresh deployment be considered with each new base package release.
@@ -158,7 +158,7 @@Maintenance updates will be applied in the form of "Update" packages. The current update to the JTSDK64-3.4.0 is JTSDK64-3.4.0-U2.exe .
+Maintenance updates will be applied in the form of "Update" packages. There is no current update package available. The first update to the JTSDK64-3.4.1 would be JTSDK64-3.4.1-U1.exe .
Note: Maintainers are no longer supporting the "Base" and "Tools" nomenclature.
See https://sourceforge.net/projects/hamlib-sdk/files/JTware-Deployment/Deploying-Archived-Versions-of-Qt-via-Maintenance-Tool.docx for a set of instructions on how to deploy Qt 5.15.2. | +
-(required) MSYS2 Setup (Y|N) ......: +(required) MSYS2 Setup (Y|N) ........:
-(optional) VS Code (Y|N) ..........: +(optional) VS Code (Y|N) ............:
* Your Installation Selections: - --> VC Runtimes .: Y - --> OmniRig .....: Y - --> Git .........: Y - --> Qt ..........: Y - --> MSYS2 .......: Y - --> VS Code .....: Y + --> Latest PowerShell .....: Y + --> VC Runtimes ...........: Y + --> OmniRig ...............: Y + --> Git ...................: Y + --> Qt ....................: Y + --> MSYS2 .................: Y + --> VS Code ...............: Y
Qt Deployment steps are not shown here. See the Qt Deployment Guide for deploying Qt 5.15.2 | +
Earlier in the guide it was recommended that one performs a "Full" deployment of Qt at install time.
-This should properly deploy Qt 6.7.0 along with the Qt Maintenance Tool.
-Once the JTSDK is deployed you can then add Qt 5.15.2 MANUALLY from Archive.
+it is HIGHLY RECOMMENDED that the latest Qt from the Version 6.6 stream be used for JT-Ware Experiments | +
Scripted deployment of Qt has now been removed from the kit. Qt and its associated MinGW tools must now be deployed manually.
+This section will not detail how to deploy Qt. Qt deployment instructions (for the latest version) can be found at https://doc.qt.io/qt-6/windows-deployment.html .
See the guide https://sourceforge.net/projects/hamlib-sdk/files/JTware-Deployment/Deploying-Archived-Versions-of-Qt-via-Maintenance-Tool.docx for latest instructions | +See https://sourceforge.net/projects/hamlib-sdk/files/JTware-Deployment/Deploying-Archived-Versions-of-Qt-via-Maintenance-Tool.docx for a set of instructions on how to deploy Qt 5.15.2. |
A Minimum Qt installation pegs at Qt at version 5.15.2. If you did not use - the "F" Full option for Qt deployment or you - want to update Qt to an experimental version you should do so now. - Note that using Qt 5.15.2 is the only Qt version that JT-ware source supports at this time.
-Perform the following steps:
+Note: As a minimum, Qt 5.15.2. along with the MinGW 8.1 Toolset should be deployed.
+Perform the following steps:
+To add Qt 6.7.0 (as an example - later versions are now available):
+To add Qt 6.7.2 (as an example - later versions may be available):
Around 90 minutes later you should now have a deployment of Boost based at the recommended v1.85.0 (configurable in C:\JTSDK64-Tools\config\Versions.ini) that is suitable to build JT-software under your selected Qt version on your machine.
-Precompiled drop-in packages for Boost-1.74.0, Boost-1.84.0 and Boost-1.85.0 are available at the time of writing.
-Each “drop-in” package has folders i.e. 1.74.0-7.3 for MinGW 7.3 (pre-Qt 5.15) and 1.75.0-8.1 (for post-Qt 5.15 including the 6.x.x streams).
+Precompiled drop-in packages for Boost-1.85.0 are available at the time of writing.
+Each “drop-in” package has folders i.e. 1.85.0-8.1 and 1.85.0-11.1 (for post-Qt 5.15 including the 6.x.x streams).
A Windows symbolic link will work too: i.e.: Assume that both the 1.82.0-8.1 and 1.82.0-11.2 distributions have been unpacked from Boost-1.82.0-MinGW-v8.1-v11.2.7z to C:\JTSDK64-Tools\tools\boost . Assume that the command shell or powershell windows are positioned at C:\JTSDK64-Tools\tools\boost
+A Windows symbolic link will work too: i.e.: Assume that both the 1.85.0-8.1 and 1.85.0-11.2 distributions have been unpacked from Boost-1.85.0-MinGW-v8.1-v11.2.7z to C:\JTSDK64-Tools\tools\boost . Assume that the command shell or powershell windows are positioned at C:\JTSDK64-Tools\tools\boost
Both the jtbuild and build-hamlib- scripts now contain a number of switches that can be used to disable default features of the scripts.
Use the embedded help facilities to discover the currently available set of switches:
-i.e. 1: In The PowerShell Environment:
+i.e. 1: In The PowerShell Environment:
@@ -746,7 +760,7 @@Additional Options for Developers
i.e. 2: In The MSYS2 Environment:
+i.e. 2: In The MSYS2 Environment:
@@ -806,13 +820,13 @@Conclusion and Further References
The aim of JTSDK64-Tools is to use an Agile delivery approach to create a high-quality, yet flexible build system.
-Base ref: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.2-Stream/README.md
+Base ref: https://sourceforge.net/projects/hamlib-sdk/files/Windows/JTSDK-3.4-Stream/README.md
Original Author: Steve VK3VM/VK3SIR | +Editor: Steve VK3VM/VK3SIR | Contact | diff --git a/jtsdk64-setup.ps1 b/jtsdk64-setup.ps1 index af34d53..793d68b 100644 --- a/jtsdk64-setup.ps1 +++ b/jtsdk64-setup.ps1 @@ -1,7 +1,7 @@ #-----------------------------------------------------------------------------:: # Name .........: jtsdk64-setup.ps1 # Project ......: Part of the JTSDK64 Tools Project -# Version ......: 3.4.0b +# Version ......: 3.4.1b # Description ..: JTSDK64 Postinstall Setup Environment # Project URL ..: https://github.com/KI7MT/jtsdk64-tools.git # Usage ........: Call this file directly from the command line @@ -31,21 +31,41 @@ function ConvertForward($inValue) { return $inValue.replace(":","") } +# --- CENTER TEXT ------------------------------------------------------------- +# --> Writest text in the center of the line +# --> Based off: https://stackoverflow.com/questions/48621267/is-there-a-way-to-center-text-in-powershell +# --> if Width = 0 assumes buffer width +# function Write-HostCenter { param($Message) Write-Host ("{0}{1}" -f (' ' * (([Math]::Max(0, $Host.UI.RawUI.BufferSize.Width / 2) - [Math]::Floor($Message.Length / 2)))), $Message) } +function Write-HostCenter($Message, $width) { + if ( $width -eq 0 ) { + $bufferWidth = [Math]::Max(0, $Host.UI.RawUI.BufferSize.Width) + } else { + $bufferWidth = $width + } + $pad="" + For ($i=0; $i -le $bufferWidth/2; $i++) { + Write-Host -NoNewLine " " + } + Write-Host $Message +} + + +#------------------------------------------------------------------------------ +# GLOBAL ENVIRONMENT VARIABLES and PATHS +#------------------------------------------------------------------------------ + +# --- Main Paths -------------------------------------------------------------- + $env:JTSDK64_VERSION = [IO.File]::ReadAllText($PSScriptRoot+"\ver.jtsdk") $host.ui.RawUI.WindowTitle = 'JTSDK64 Tools Setup ' + $env:JTSDK64_VERSION #Clear-Host +# Write-HostCenter("Test", 12); Write-Host "------------------------------------------------------------" Write-Host " JTSDK64 Setup $env:JTSDK64_VERSION" -ForegroundColor Yellow Write-Host "------------------------------------------------------------" Write-Host "" -#------------------------------------------------------------------------------ -# GLOBAL ENVIRONMENT VARIABLES and PATHS -#------------------------------------------------------------------------------ - -# --- Main Paths -------------------------------------------------------------- - Write-Host "* Setting Environment Variables" $env:JTSDK_HOME = $PSScriptRoot $env:JTSDK_HOME_F = ConvertForward($env:JTSDK_HOME) @@ -84,9 +104,6 @@ $env:VCRUNTIME_STATUS="Not Installed" $env:GIT_STATUS="Not Installed" $env:QTMAINT_STATUS="Not Installed" $env:QTCREATOR_STATUS="Not Installed" -$env:MinGW11x_STATUS="Not Installed" -$env:MinGW81_STATUS="Not Installed" -$env:MinGW81_32STATUS="Not Installed" $env:VSCODE_STATUS="Not Installed" $env:BOOST_STATUS="Not Installed" $env:OMNIRIG_STATUS="Not Installed" @@ -156,34 +173,39 @@ Write-Host "* Checking Qt deployment" if (Test-Path "$env:JTSDK_TOOLS\Qt\MaintenanceTool.exe") { $env:QTMAINT_STATUS="Installed" } if (Test-Path "$env:JTSDK_TOOLS\Qt\Tools\QtCreator\bin\qtcreator.exe") { $env:QTCREATOR_STATUS="Installed" } -if (Test-Path "$env:JTSDK_TOOLS\Qt\[1-9]*\mingw73_64\bin") { $env:MinGW73_STATUS = Get-ChildItem $env:JTSDK_TOOLS\Qt\[1-9]*\mingw73_64\bin\Qt?Core.dll } -$env:MinGW73_STATUS = $env:MinGW73_STATUS -replace "JTSDK64" -replace "Tools2" -replace "Tools3" -replace "mingw73_64" -replace "mingw73_32" -replace "Qt5Core.dll" -replace "Qt6Core.dll" -replace "[^\d\.\ ]" -replace (" ",", Qt ") -if ($env:MinGW73_STATUS -eq ", Qt ") { $env:MinGW73_STATUS="Not Installed" } - -if (Test-Path "$env:JTSDK_TOOLS\Qt\[1-9]*\mingw81_64\bin") { $env:MinGW81_STATUS = Get-ChildItem $env:JTSDK_TOOLS\Qt\[1-9]*\mingw81_64\bin\Qt?Core.dll } -$env:MinGW81_STATUS = $env:MinGW81_STATUS -replace "JTSDK64" -replace "Tools2" -replace "Tools3" -replace "mingw81_64" -replace "Qt5Core.dll" -replace "Qt6Core.dll" -replace "[^\d\.\ ]" -replace (" ",", Qt ") -if ($env:MinGW81_STATUS -eq ", Qt ") { $env:MinGW81_STATUS="Not Installed" } - -if (Test-Path "$env:JTSDK_TOOLS\Qt\[1-9]*\mingw81_32\bin") { $env:MinGW81_32STATUS = Get-ChildItem $env:JTSDK_TOOLS\Qt\[1-9]*\mingw81_32\bin\Qt?Core.dll } -$env:MinGW81_32STATUS = $env:MinGW81_32STATUS -replace "JTSDK64" -replace "Tools2" -replace "Tools3" -replace "JTSDK" -replace "mingw81_32" -replace "Qt5Core.dll" -replace "Qt6Core.dll" -replace "[^\d\.\ ]" -replace (" ",", Qt ") -if ($env:MinGW81_32STATUS -eq ", Qt ") { $env:MinGW81_32STATUS="Not Installed" } - -if (Test-Path "$env:JTSDK_TOOLS\Qt\[1-9]*\mingw_64\bin") { $env:MinGW11x_STATUS = Get-ChildItem $env:JTSDK_TOOLS\Qt\[1-9]*\mingw_64\bin\Qt?Core.dll } -$env:MinGW11x_STATUS = $env:MinGW11x_STATUS -replace "JTSDK64" -replace "Tools2" -replace "Tools3" -replace "mingw_64" -replace "Qt5Core.dll" -replace "Qt6Core.dll" -replace "[^\d\.\ ]" -replace (" ",", Qt ") -replace "64" -if ($env:MinGW11x_STATUS -eq ", Qt ") { $env:MinGW11x_STATUS="Not Installed" } +# $objList = Where-Object {$_.name -match "[\d+].[\d+].[\d+]?"} | select name +# $objTest = Get-ChildItem C:\JTSDK64-Tools\Tools\Qt\Tools -filter "mingw*" -Directory +# $objTest | ForEach-Object -process {$_.Name} +$env:QtMinGWDeployed="None" +if (Test-Path -path "$env:SystemDrive:\JTSDK64-Tools\Tools\Qt\Tools") { + Get-ChildItem "$env:SystemDrive:\JTSDK64-Tools\Tools\Qt\Tools" -filter "mingw*" -Directory | ForEach-Object -process { + if ( $env:QtMinGWDeployed -eq "None" ) { $env:QtMinGWDeployed = "" } + $env:QtMinGWDeployed=$env:QtMinGWDeployed + $_.Name + " " + } +} +$env:QtDeployed="None" +if (Test-Path -path "$env:SystemDrive:\JTSDK64-Tools\Tools\Qt\Licenses" ) { + try { + Get-ChildItem "$env:SystemDrive:\JTSDK64-Tools\Tools\Qt\" | Where-Object {$_.name -match "[\d+].[\d+].[\d+]?"} | ForEach-Object -process { + if ( $env:QtDeployed -eq "None" ) { $env:QtDeployed = "" } + $env:QtDeployed=$env:QtDeployed + $_.name + " " + } + } + catch { + } +} # --- Complete ! -------------------------------------------------------------- Write-Host " " Write-Host -ForegroundColor yellow "Note: PowerShell Windows 5.1 is preferred for Deployment." Write-Host " " -Write-Host "The environment for JTSDK deployment is now in place." +Write-Host "* The environment for JTSDK deployment is now in place." Write-Host " " -#Read-Host -Prompt "*** Press [ENTER] to Launch JTSDK64-Setup Environment *** " -$input = $(Write-Host -NoNewLine -ForegroundColor blue "*** Press [ENTER] to Launch JTSDK64-Setup Environment *** " ; Read-Host) +$input = $(Write-Host -NoNewLine -ForegroundColor blue "*** Press [ENTER] to Launch JTSDK64-Setup Environment *** " ; Read-Host) #------------------------------------------------------------------------------ # PRINT TOOL CHAN STATUS / CREATE INTERACTIVE POWERSHELL ENVIRON @@ -204,14 +226,13 @@ invoke-expression 'cmd /c start powershell -NoExit -Command { Write-Host " Git ............ $env:GIT_STATUS" Write-Host " OmniRig ........ $env:OMNIRIG_STATUS" Write-Host "" - Write-Host " Qt Script-Provisioned Tool Chains" -ForegroundColor Yellow + Write-Host " Qt Tool Chain(s) Deployed" -ForegroundColor Yellow Write-Host "" - Write-Host " x64:" -ForegroundColor Green - Write-Host " MinGW 8.1 ...... Qt $env:MinGW81_STATUS" - Write-Host " MinGW 11.x ..... Qt $env:MinGW11x_STATUS" + Write-Host -NoNewLine " Qt: " -ForegroundColor Green + Write-Host "$env:QtDeployed" Write-Host "" - Write-Host " x86 (Legacy: unsupported):" -ForegroundColor Green - Write-Host " MinGW 8.1 ...... Qt $env:MinGW81_32STATUS" + Write-Host -NoNewLine " Tools: " -ForegroundColor Green + Write-Host "$env:QtMinGWDeployed" Write-Host "" Write-Host " Optional Components" -ForegroundColor Yellow Write-Host "" diff --git a/jtsdk64.ps1 b/jtsdk64.ps1 index 3810525..24bc1a7 100644 --- a/jtsdk64.ps1 +++ b/jtsdk64.ps1 @@ -1,7 +1,7 @@ #-----------------------------------------------------------------------------:: # Name .........: jtsdk64.ps1 # Project ......: Part of the JTSDK64 Tools Project -# Version ......: 3.4.1 Beta +# Version ......: 3.4.1 # Description ..: Main Development Environment Script # Sets environment variables for development and MSYS2 # Original URL .: https://github.com/KI7MT/jtsdk64-tools.git @@ -35,6 +35,7 @@ # : Inclusion of CMAKE config variables to fins LibUSB 14-7-2024 Steve I VK3VM # : Major enhancements and removal of "Fudges" to hopefully support Qt 6.7 and MinGW 13.1 18-9-2024 Steve I VK3VM # : Minor legacy bugfix with JTSDK_MSYS2_F fixed 18-9-2024 Steve I VK3VM +# : (Non-ideal) Support for "extras" folder 2024-10-2 coordinated by Steve I VK3VM # #-----------------------------------------------------------------------------:: @@ -70,6 +71,15 @@ function CreateFolders { New-Item -Path $env:JTSDK_TOOLS -Name "\scripts" -ItemType "directory" | Out-Null Write-Host " --> Created $env:JTSDK_SCRIPTS" } + +# Suppoort for Extras folder. Note that usage of this is frowned upon but may be necessary for some. +# it is BETTER that one FIXES/RECOMPILES the package that needs additional DLL's as it is most +# likely that some MS-compiler components are used in the library ... Recompile under MSYS2/MinGW + + if (!(Test-Path "$env:JTSDK_TOOLS\extras")) { + New-Item -Path $env:JTSDK_TOOLS -Name "\extras" -ItemType "directory" | Out-Null + Write-Host " --> Created $env:JTSDK_TOOLS\extras" + } } # --- CONVERT FORWARD --------------------------------------------------------- diff --git a/tools/scripts/Deploy-Boost.ps1 b/tools/scripts/Deploy-Boost.ps1 index a90e5ce..53f5dd2 100644 --- a/tools/scripts/Deploy-Boost.ps1 +++ b/tools/scripts/Deploy-Boost.ps1 @@ -39,6 +39,7 @@ function ErrorDetected($fnctn) { # Main Logic # ---------------------------------------------------------------------------- +Clear-Host # Commence backup of original Path if ( -Not ( Test-Path env:PATH_BKP ) ) { $env:PATH_BKP = $env:PATH } # $env:PATH = $env:PATH +";" + $env:QT_JTSDK_PATH @@ -50,12 +51,12 @@ $env:PATH = $env:PATH + ";" + $pwd.drive.name + ":\JTSDK64-Tools\tools\msys64\mi # Note that this is ALREADY there ... It just moves it "higher up the foodchain" # to prevent other compilers being detected and used first (i.e Visual Studio Compilers ! -$env:Path = "C:\JTSDK64-Tools\tools\Qt\Tools\$GCC_MINGW\bin;" + $env:Path +$env:Path = $env:SystemDrive + "\JTSDK64-Tools\tools\Qt\Tools\" + $env:GCC_MINGW + "\bin;" + $env:Path $scriptRoot = $PSScriptRoot # Save execution location Set-Location -Path $env:JTSDK_HOME #Change to the JTSDK HOME Directory -Clear-Host + Write-Host "-----------------------------------------------" Write-Host " JTSDK64 Boost Deployment $env:JTSDK64_VERSION" Write-Host "-----------------------------------------------" diff --git a/tools/scripts/jtbuild.ps1 b/tools/scripts/jtbuild.ps1 index 5aaf268..5a8afb9 100644 --- a/tools/scripts/jtbuild.ps1 +++ b/tools/scripts/jtbuild.ps1 @@ -1,6 +1,6 @@ # ----------------------------------------------------------------------------- # Name ..............: jtbuild.ps1 -# Version ...........: 3.2.3.3 +# Version ...........: 3.4.1 # Description .......: Build script for WSJT-X, JTDX and JS8CALL # Concept ...........: Greg, Beam, KI7MT,