From eabca4c4fd41a13e6d38d75d5bc421a26c3fadaa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien.villemot@ens.fr>
Date: Mon, 19 Sep 2011 12:12:42 +0200
Subject: [PATCH] Improve the way we test for existence of toolboxes (more
 reliable in the case where the toolbox is installed but not activated)

---
 matlab/dynare_config.m      | 2 +-
 matlab/dynare_solve.m       | 2 +-
 matlab/solve_one_boundary.m | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/matlab/dynare_config.m b/matlab/dynare_config.m
index a3813d406..7dfdee6d7 100644
--- a/matlab/dynare_config.m
+++ b/matlab/dynare_config.m
@@ -66,7 +66,7 @@ if ~exist('OCTAVE_VERSION')
     addpath([dynareroot '/missing/rows_columns'])
     % Replacement for vec() (inexistent under MATLAB)
     addpath([dynareroot '/missing/vec'])
-    if isempty(ver('stats'))
+    if ~license('test', 'statistics_toolbox')
         % Replacements for functions of the stats toolbox
         addpath([dynareroot '/missing/stats/'])
     end
diff --git a/matlab/dynare_solve.m b/matlab/dynare_solve.m
index 104ac1450..9e27df3ee 100644
--- a/matlab/dynare_solve.m
+++ b/matlab/dynare_solve.m
@@ -38,7 +38,7 @@ global options_
 options_ = set_default_option(options_,'solve_algo',2);
 info = 0;
 if options_.solve_algo == 0
-    if ~exist('OCTAVE_VERSION') && isempty(ver('optim'))
+    if ~exist('OCTAVE_VERSION') && ~license('test', 'optimization_toolbox')
         error('You can''t use solve_algo=0 since you don''t have MATLAB''s Optimization Toolbox')
     end
     options=optimset('fsolve');
diff --git a/matlab/solve_one_boundary.m b/matlab/solve_one_boundary.m
index 94de81104..1b987ced1 100644
--- a/matlab/solve_one_boundary.m
+++ b/matlab/solve_one_boundary.m
@@ -225,7 +225,7 @@ for it_=start:incr:finish
                 if (verbose == 1)
                     disp('steady: fsolve');
                 end
-                if exist('OCTAVE_VERSION') || isempty(ver('optim'))
+                if exist('OCTAVE_VERSION') || ~license('test', 'optimization_toolbox')
                     % Note that fsolve() exists under Octave, but has a different syntax
                     % So we fail for the moment under Octave, until we add the corresponding code
                     error('DYNARE_SOLVE: you can''t use solve_algo=0 since you don''t have Matlab''s Optimization Toolbox')
-- 
GitLab