From d0e71b4a73cb96ddbe698194c761d31babc8f61c Mon Sep 17 00:00:00 2001 From: coffeeandspaceships <51803461+coffeeandspaceships@users.noreply.github.com> Date: Sun, 9 Feb 2020 20:10:26 +0000 Subject: [PATCH] Update README to be clear about the current INFORMAL support position on Windows build. --- windows/README | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/windows/README b/windows/README index 356b9f1a..e11ac80e 100644 --- a/windows/README +++ b/windows/README @@ -7,6 +7,8 @@ You will also find two sets of files : - VisualC++6 workspace and project files, in order to compile JACK with MSVC - Code::Blocks (10.05) workspace and project files, in order to compile JACK with MingW +The current maintainer focus is on using waf and MSVC for a successful, repeatable build. See the repo for other possibilities. WARNING: The Code::Blocks workspaces are not formally maintained. The last major commit (6803149) was at the end of 2011. + The built binaries will be located in '/Release/bin' (or '/Debug/bin' if you build the Debug target). Once compiled, you'll find there everything you need : - the two 'libjack.dll' and 'libjackserver.dll', client and server jack libraries. - the 'jackd.exe', main application : the JACK server @@ -16,19 +18,22 @@ The built binaries will be located in '/Release/bin' (or '/Debug/bin' if you bui In Code::Blocks all the projects are automatically built in a correct order (DLL's then apps) by doing 'build->build workspace'. In VC6, you'll have to build the projects one by one. -The needed regexp library TRE can be found here http://laurikari.net/tre/. Unzip and place the "tre-0.8.0" folder into the "windows" folder. -Then edit and comment "#define snprintf sprintf_s" at the end off the "tre-0.8.0/win32/config.h" file before building the JACK project. +Jack requires a regexp library. TRE is the recommended choice - source available here http://laurikari.net/tre/. +The TRE build is not fully integrated in the Code::Blocks environment and it is therefore recommended that TRE is installed separately at the OS level. -------------------------------- -Notes about VC and GCC versions -------------------------------- +If you do plan to build from source, in-tree, unzip the code and place the "tre-0.8.0" folder into the "windows" folder. +Then edit and comment "#define snprintf sprintf_s" at the end off the "tre-0.8.0/win32/config.h" file before building the JACK project. (This #define conflicts with a fix for WIN32 snprintf support made in the main Jack source tree.) + +--------------------------------- +Notes about MSVC and GCC versions +--------------------------------- + +Using the waf build tools in conjunction with MSVC, jack will build with recent compilers, known good up to 2017 15.9, including #define logic consuming the _MSC_VER macro to support build with older versions. The Visual Studio workspace was last tested at VC6. -The Visual Studio workspace is limited to VC6. JACK will not compile on most recent MSVC's. The fact is recent compilers (MSVC7, 8 or 9) don't agree with some of the JACK sources. -But now you can compile JACK using GCC, with MingW. The project is actually organized in a Code::Blocks workspace. This is a simple and efficient way to compile the whole project. +You can compile JACK using GCC, with MingW. The project is organized in a Code::Blocks workspace to support this, but see the warning at the start of this README. -But for some reasons, you need to compile JACK using a SJLJ version of G++ (available on MingW website). -Current GCC/G++ version (3.4.5) doesn't includes SJLJ so you'll have to use another one. -JACK needs the use of SJLJ exceptions instead of DW2 because exceptions are exchanged between DLL's, and DW2 does not allow to throw an exception out of a DLL, so it wouldn't be cought. +But for some reasons, you need to compile JACK using a version of G++ with SJLJ support (available on MingW website). +JACK needs the use of SJLJ exceptions instead of DW2 because exceptions are exchanged between DLL's, and DW2 does not allow to throw an exception out of a DLL, so it wouldn't be caught. The resources files has been created with ResEdit (ANSI build). VisualStudio uses 'ressource.rc' and 'ressource_vc.h'. The other files are used by MingW. @@ -53,7 +58,6 @@ You can also pick a binary of Qjackctl, but this is still in development. Running Jack on windows ------------------------------- -More information at : 'http://www.grame.fr/~letz/jackdmp.html'. +For any question or suggestion, you can refer to the mailing list 'jack-devel@jackaudio.org' or the community at https://github.com/jackaudio/jack2/ -For any question or suggestion, you can refer to the mailing list 'jack-devel@jackaudio.org' Enjoy JACK on windows... ;-)