From 38f2a2a83cf861bd9ad6d63e9ccf261bf9f44e5e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Thu, 15 Sep 2022 15:39:40 +0200
Subject: [PATCH] Provisions for MATLAB R2022b

(manually cherry picked from commit 36a7b019fc3e3babdc97f5874c7fbe826a6506db)
---
 doc/manual/source/installation-and-configuration.rst | 2 +-
 m4/ax_matlab_version.m4                              | 3 +++
 macOS/build.sh                                       | 4 ++--
 matlab/add_path_to_mex_files.m                       | 4 ++--
 windows/README.txt                                   | 4 ++--
 windows/build.sh                                     | 4 ++--
 windows/dynare.nsi                                   | 6 +++---
 7 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/doc/manual/source/installation-and-configuration.rst b/doc/manual/source/installation-and-configuration.rst
index 531395ac03..4c9f847f2c 100644
--- a/doc/manual/source/installation-and-configuration.rst
+++ b/doc/manual/source/installation-and-configuration.rst
@@ -14,7 +14,7 @@ compilation steps are necessary in that case.
 
 In order to run Dynare, you need one of the following:
 
-* MATLAB, any version ranging from 8.3 (R2014a) to 9.12 (R2022a);
+* MATLAB, any version ranging from 8.3 (R2014a) to 9.13 (R2022b);
 * GNU Octave, any version ranging from 5.2.0 to 7.2.0, with the statistics
   package from `Octave-Forge`_. Note however that the Dynare installer for
   Windows requires a more specific version of Octave, as indicated on the
diff --git a/m4/ax_matlab_version.m4 b/m4/ax_matlab_version.m4
index 071793a104..daabee40e5 100644
--- a/m4/ax_matlab_version.m4
+++ b/m4/ax_matlab_version.m4
@@ -44,6 +44,9 @@ fi
 if test -n "$MATLAB_VERSION"; then
   dnl Convert a release number (Rnnnnx) into a version number (x.y)
   case $MATLAB_VERSION in
+    *2022b | *2022B)
+      MATLAB_VERSION="9.13"
+      ;;
     *2022a | *2022A)
       MATLAB_VERSION="9.12"
       ;;
diff --git a/macOS/build.sh b/macOS/build.sh
index 2dcd84d83c..2f149c9684 100755
--- a/macOS/build.sh
+++ b/macOS/build.sh
@@ -112,7 +112,7 @@ PKGFILES="$ROOTDIR"/macOS/pkg/"$NAME"
 mkdir -p \
       "$PKGFILES"/preprocessor \
       "$PKGFILES"/mex/matlab/maci64-8.3-9.3 \
-      "$PKGFILES"/mex/matlab/maci64-9.4-9.12 \
+      "$PKGFILES"/mex/matlab/maci64-9.4-9.13 \
       "$PKGFILES"/doc/dynare++ \
       "$PKGFILES"/dynare++ \
       "$PKGFILES"/scripts \
@@ -176,7 +176,7 @@ make clean
   --with-slicot="$LIB64"/Slicot/with-underscore \
   --with-matlab=/Applications/MATLAB_R2019b.app
 make -j"$NTHREADS"
-cp -L  "$ROOTDIR"/mex/matlab/*                                       "$PKGFILES"/mex/matlab/maci64-9.4-9.12
+cp -L  "$ROOTDIR"/mex/matlab/*                                       "$PKGFILES"/mex/matlab/maci64-9.4-9.13
 
 
 ##
diff --git a/matlab/add_path_to_mex_files.m b/matlab/add_path_to_mex_files.m
index 99dbdfa1a1..bf81a5dc89 100644
--- a/matlab/add_path_to_mex_files.m
+++ b/matlab/add_path_to_mex_files.m
@@ -60,7 +60,7 @@ else
                 end
             end
         else
-            tmp = [dynareroot '../mex/matlab/win64-9.4-9.12/'];
+            tmp = [dynareroot '../mex/matlab/win64-9.4-9.13/'];
             if exist(tmp, 'dir')
                 mexpath = tmp;
                 if modifypath
@@ -80,7 +80,7 @@ else
                 end
             end
         else
-            tmp = [dynareroot '../mex/matlab/maci64-9.4-9.12'];
+            tmp = [dynareroot '../mex/matlab/maci64-9.4-9.13'];
             if exist(tmp, 'dir')
                 mexpath = tmp;
                 if modifypath
diff --git a/windows/README.txt b/windows/README.txt
index df1e4ab708..21fb28c466 100644
--- a/windows/README.txt
+++ b/windows/README.txt
@@ -21,8 +21,8 @@ Note: Dynare comes with an automated uninstaller, which you can run from the
 Using Dynare with MATLAB®
 ─────────────────────────
 
-Dynare works on top of MATLAB®, any version ranging from 8.3 (R2014a) to 9.12
-(R2022a). Only 64-bit versions are supported.
+Dynare works on top of MATLAB®, any version ranging from 8.3 (R2014a) to 9.13
+(R2022b). Only 64-bit versions are supported.
 
 To use Dynare, you just have to add the ‘matlab’ subdirectory of your Dynare
 installation to MATLAB® path. You have two options for doing that:
diff --git a/windows/build.sh b/windows/build.sh
index b037d41806..1dd8f76b88 100755
--- a/windows/build.sh
+++ b/windows/build.sh
@@ -121,8 +121,8 @@ build_windows_matlab_mex_64_b ()
 		     PACKAGE_STRING="dynare $VERSION"
     make -j"$NTHREADS" all
     x86_64-w64-mingw32-strip -- **/*.mexw64
-    mkdir -p "$ROOT_DIRECTORY"/../mex/matlab/win64-9.4-9.12
-    mv -- **/*.mexw64 "$ROOT_DIRECTORY"/../mex/matlab/win64-9.4-9.12
+    mkdir -p "$ROOT_DIRECTORY"/../mex/matlab/win64-9.4-9.13
+    mv -- **/*.mexw64 "$ROOT_DIRECTORY"/../mex/matlab/win64-9.4-9.13
 }
 
 # Create Windows DLL binaries for Octave/MinGW (64bit)
diff --git a/windows/dynare.nsi b/windows/dynare.nsi
index fd48d83ca8..6e16380076 100644
--- a/windows/dynare.nsi
+++ b/windows/dynare.nsi
@@ -90,9 +90,9 @@ Section "MEX files for MATLAB 64-bit, version 8.3 to 9.3 (R2014a to R2017b)"
  File ..\mex\matlab\win64-8.3-9.3\*.mexw64
 SectionEnd
 
-Section "MEX files for MATLAB 64-bit, version 9.4 to 9.12 (R2018a to R2022a)"
- SetOutPath $INSTDIR\mex\matlab\win64-9.4-9.12
- File ..\mex\matlab\win64-9.4-9.12\*.mexw64
+Section "MEX files for MATLAB 64-bit, version 9.4 to 9.13 (R2018a to R2022b)"
+ SetOutPath $INSTDIR\mex\matlab\win64-9.4-9.13
+ File ..\mex\matlab\win64-9.4-9.13\*.mexw64
 SectionEnd
 
 Section "MinGW compiler for MATLAB 64-bit"
-- 
GitLab