From b31fe76dfda9964579add28e3d5f0dc95fbda4c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Thu, 24 Mar 2022 17:43:40 +0100
Subject: [PATCH] Provisions for MATLAB R2022a

---
 doc/manual/source/installation-and-configuration.rst | 2 +-
 m4/ax_matlab_version.m4                              | 5 ++++-
 macOS/build.sh                                       | 6 +++---
 matlab/add_path_to_mex_files.m                       | 6 +++---
 windows/README.txt                                   | 4 ++--
 windows/build.sh                                     | 6 +++---
 windows/dynare.nsi                                   | 6 +++---
 7 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/doc/manual/source/installation-and-configuration.rst b/doc/manual/source/installation-and-configuration.rst
index 98cb75bcb8..39ef995c78 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.11 (R2021b);
+* MATLAB, any version ranging from 8.3 (R2014a) to 9.12 (R2022a);
 * GNU Octave version ranging from 6.2.0 to 6.4.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 download
diff --git a/m4/ax_matlab_version.m4 b/m4/ax_matlab_version.m4
index 5cd35cb984..071793a104 100644
--- a/m4/ax_matlab_version.m4
+++ b/m4/ax_matlab_version.m4
@@ -1,4 +1,4 @@
-dnl Copyright © 2009-2021 Dynare Team
+dnl Copyright © 2009-2022 Dynare Team
 dnl
 dnl This file is part of Dynare.
 dnl
@@ -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
+    *2022a | *2022A)
+      MATLAB_VERSION="9.12"
+      ;;
     *2021b | *2021B)
       MATLAB_VERSION="9.11"
       ;;
diff --git a/macOS/build.sh b/macOS/build.sh
index 518dc9aec9..85dab2879e 100755
--- a/macOS/build.sh
+++ b/macOS/build.sh
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-# Copyright © 2019-2021 Dynare Team
+# Copyright © 2019-2022 Dynare Team
 #
 # This file is part of Dynare.
 #
@@ -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.11 \
+      "$PKGFILES"/mex/matlab/maci64-9.4-9.12 \
       "$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.11
+cp -L  "$ROOTDIR"/mex/matlab/*                                       "$PKGFILES"/mex/matlab/maci64-9.4-9.12
 
 
 ##
diff --git a/matlab/add_path_to_mex_files.m b/matlab/add_path_to_mex_files.m
index 73a24673d6..99dbdfa1a1 100644
--- a/matlab/add_path_to_mex_files.m
+++ b/matlab/add_path_to_mex_files.m
@@ -1,6 +1,6 @@
 function mexpath = add_path_to_mex_files(dynareroot, modifypath)
 
-% Copyright (C) 2015-2021 Dynare Team
+% Copyright (C) 2015-2022 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -60,7 +60,7 @@ else
                 end
             end
         else
-            tmp = [dynareroot '../mex/matlab/win64-9.4-9.11/'];
+            tmp = [dynareroot '../mex/matlab/win64-9.4-9.12/'];
             if exist(tmp, 'dir')
                 mexpath = tmp;
                 if modifypath
@@ -80,7 +80,7 @@ else
                 end
             end
         else
-            tmp = [dynareroot '../mex/matlab/maci64-9.4-9.11'];
+            tmp = [dynareroot '../mex/matlab/maci64-9.4-9.12'];
             if exist(tmp, 'dir')
                 mexpath = tmp;
                 if modifypath
diff --git a/windows/README.txt b/windows/README.txt
index c6c782eac4..550449b727 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 requires MATLAB®, any version ranging from 8.3 (R2014a) to 9.11
-(R2021b). Only 64-bit versions are supported.
+Dynare requires MATLAB®, any version ranging from 8.3 (R2014a) to 9.12
+(R2022a). 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 959f8aef60..b037d41806 100755
--- a/windows/build.sh
+++ b/windows/build.sh
@@ -5,7 +5,7 @@
 # The binaries are cross compiled for Windows (64-bit), Octave and MATLAB
 # (all supported versions).
 
-# Copyright © 2017-2021 Dynare Team
+# Copyright © 2017-2022 Dynare Team
 #
 # This file is part of Dynare.
 #
@@ -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.11
-    mv -- **/*.mexw64 "$ROOT_DIRECTORY"/../mex/matlab/win64-9.4-9.11
+    mkdir -p "$ROOT_DIRECTORY"/../mex/matlab/win64-9.4-9.12
+    mv -- **/*.mexw64 "$ROOT_DIRECTORY"/../mex/matlab/win64-9.4-9.12
 }
 
 # Create Windows DLL binaries for Octave/MinGW (64bit)
diff --git a/windows/dynare.nsi b/windows/dynare.nsi
index 311f6ca5f5..21d2d62d37 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.10 (R2018a to R2021b)"
- SetOutPath $INSTDIR\mex\matlab\win64-9.4-9.11
- File ..\mex\matlab\win64-9.4-9.11\*.mexw64
+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
 SectionEnd
 
 Section "MinGW compiler for MATLAB 64-bit"
-- 
GitLab