Commit Graph

77 Commits (2f13d6610d6842adc4a4b448eb45ebd4223967e6)

Author SHA1 Message Date
Sébastien Villemot 47e4649026
Add support for Fortran 2008 in MEX files
By the same token, remove unused support for Fortran 77.
2020-01-06 18:29:47 +01:00
Sébastien Villemot 4e314a529b
Bump minimal required Octave version to 4.4 2020-01-06 18:29:47 +01:00
Sébastien Villemot 39ed7c6742
Bump version number to 4.7-unstable 2019-12-20 17:20:07 +01:00
Houtan Bastani 0c77f7e92f
macOS packaging: compile against the version of Octave distributed via https://octave-app.org (currently 4.4.1) 2019-12-10 15:14:16 +01:00
Sébastien Villemot 5cae192487
Build system: really error out if some dependency is missing
The changes in 8065e9d439 were not working as
intended, because AC_CHECK_PROG expect values and not actions. Hence
AC_MSG_ERROR was not properly executed.

By the way, simplify some test conditions using && instead of if/then/fi
blocks.
2019-11-28 14:43:44 +01:00
Sébastien Villemot 8065e9d439
Build system: by default, error out if some dependency is missing
In particular, if either MATLAB or Octave is missing, one needs to pass either
--disable-matlab or --disable-octave.

Moreover, several new configure flags have been introduced for disabling some
components:
--disable-doc
--disable-dynare++
--disable-mex-dynare++
--disable-mex-ms-sbvar
--disable-mex-kalman-steady-state
2019-11-26 13:53:42 +01:00
Houtan Bastani f8eb982767
octave configure: remove unnecessary library linking for macOS 2019-09-24 15:22:36 +02:00
Sébastien Villemot 0d0a0a9bbb
Bump to C++17
This means we now require GCC 8.

Boost filesystem library is no longer needed.

Ref preprocessor#16
2019-09-11 15:06:12 +02:00
Sébastien Villemot 9557061fa3
Add new num_procs MEX file for getting number of available processing units 2019-06-27 14:34:09 +02:00
Sébastien Villemot 7c39b12b7b
Always compile MEX files with OpenMP (when they can take advantage of it)
As a consequence, remove the --enable-openmp option of the configure script.
2019-06-25 17:26:17 +02:00
Sébastien Villemot 5b591fac42
New perfect_foresight_problem MEX file
It constructs the stacked residuals and jacobian of the perfect foresight
problem.

It is an almost perfect replacement for the perfect_foresight_problem.m
routine, while being much more efficient.

Note however that the DLL never return complex numbers (it instead puts NaNs at
the place where there would have been complex). This may create problems for
some MOD files; the algorithms will need to be adapted to use a more
line-search method.
2019-06-24 17:53:59 +02:00
Sébastien Villemot f5e2bfc30a
Ask GCC to warn about C-style casts (-Wold-style-cast)
Adapt the code accordingly.
2019-04-23 13:03:20 +02:00
Sébastien Villemot f953374dba
More Unicode copyright symbol 2019-04-16 14:34:05 +02:00
Sébastien Villemot c46023ad56
POSIX shell stylistic improvements 2019-03-25 18:47:49 +01:00
Sébastien Villemot 752a02a36c
Dynare++: use C++11 threads (instead of POSIX threads API)
On Windows, this means that a POSIX threads implementation is no longer needed,
since C++11 threads are implemented using native Windows threads.

On GNU/Linux and macOS, POSIX threads are still used under the hood.

A new m4 macro (AX_CXX11_THREAD) is used to add the proper compilation
flags (instead of AX_PTHREAD).
2019-01-28 18:44:24 +01:00
Sébastien Villemot c6f5c804d9
Gensylv MEX also needs MatIO (because Dynare++ code does) 2018-11-12 12:56:01 +01:00
Sébastien Villemot feeda74dfb Remove spurious executable permission 2018-09-27 12:24:57 +02:00
Sébastien Villemot e669321eec Require C++14 for MEX files
Needed because bytecode DLL uses some preprocessor code which is C++14.
2018-06-05 11:34:41 +02:00
Sébastien Villemot 02084ce310 Remove qzcomplex Oct-file
It's actually not needed. The QZ complex decomposition can be obtained in
Octave on real matrices by casting them to the complex type.
2018-05-17 12:11:15 +02:00
Sébastien Villemot 3f674f0f26 Enforce minimal Octave version in the configure script 2018-05-16 10:50:27 +02:00
Sébastien Villemot e2c2f2d966 Remove fallbacks for ilu, linsolve and ordschur under Octave
These functions are all included in Octave 4.2.
2018-05-16 10:48:44 +02:00
Sébastien Villemot fbddfc0aae Require C99 when compiling MEX files, since mjdgges now uses C99 features 2018-05-15 14:53:56 +02:00
Houtan Bastani fb6a11f544 move estimation-dll to its own repository: https://github.com/DynareTeam/estimation-dll.git 2017-09-22 15:31:23 +02:00
Stéphane Adjemian (Charybdis) e3769670df Updated AC_INIT 2017-05-19 18:54:32 +02:00
Sébastien Villemot d0628af1f2 No longer compile ordschur.oct for Octave >= 4.0.
The function is now an Octave builtin.
2015-03-17 17:53:11 +01:00
Sébastien Villemot 75ae191d33 Upgrade to a newer version of the AX_BOOST_BASE macro.
Our workaround for cross-compilation has been incorporated upstream.
2014-03-03 11:13:27 +01:00
Sébastien Villemot 66d48f5917 Compatibility fixes for Octave 3.8.
- no longer use OCTAVE_QUIT in MEX files; this seems now only possible in
  oct-files. (Ref #304)
- do not build linsolve.oct on Octave >= 3.8, it is available natively.
- do not add strjoin.m to the patch on Octave >= 3.8, it is available natively.
- default_save_options has been renamed save_default_options.
2014-01-03 11:05:39 +01:00
Sébastien Villemot 7ada720e7b Bump version number 2013-12-02 17:55:10 +01:00
Sébastien Villemot 82edf48256 No longer consider automake warnings as fatal
With automake 1.14 there are a lot of new warnings related to the way we deal
with MEX files (they are compiled from source files located in a different
tree). Automake wants us to use the 'subdir-objects' option, but it breaks in
our case.

In automake 2.0, the 'subdir-objects' option will be activated by default, so
we will have to refactor the build system for MEX files. But for now we can
live with the automake warnings.
2013-09-09 14:50:32 +02:00
Sébastien Villemot d8e9bc978d Revert "Compatibility fix with automake 1.14"
This reverts commit 7541bb52f5.

This commit was breaking compilation of MEX files: the subdir-objects option
does not deal well with source files that are under a distinct tree.
2013-09-09 14:47:29 +02:00
Sébastien Villemot 7541bb52f5 Compatibility fix with automake 1.14 2013-09-06 15:00:37 +02:00
Houtan Bastani 47b53dbeea build system: osx fix for bytecode mex in octave 2013-04-17 17:45:28 +02:00
Sébastien Villemot c8e59f1361 Do not put -lumfpack in LIBS, rather use a special variable for it 2013-03-29 15:30:31 +01:00
Sébastien Villemot 513ae741e3 Build system for MEX/Octave: use Octave's LDFLAGS in the configure script
This will facilitate the detection of UMFPACK under Windows
2013-03-29 15:07:58 +01:00
Sébastien Villemot 86db8d805c Add configure test for UMFPACK 2013-03-23 17:09:00 +01:00
Sébastien Villemot 3e612e0211 Fix build system with Automake 1.12 2012-09-28 17:31:39 +02:00
Houtan Bastani 4f54391e94 add --with-matio option to configure 2012-09-19 12:11:57 +02:00
Houtan Bastani e48f535004 bug fix: ms_sbvar requires matio under octave but configure output doesn't state that it's missing. 2012-09-19 12:11:57 +02:00
Houtan Bastani a54af094f2 bug fix: slicot configuration (allow path specification using --with-slicot flag) 2012-09-18 14:45:32 +02:00
Sébastien Villemot c07ffd8705 Merge branch 'slicot' 2012-09-13 11:11:46 +02:00
Sébastien Villemot 0332309647 Remove embedded SLICOT, rely on external binary 2012-09-13 11:08:42 +02:00
Sébastien Villemot 5f861cb0d8 Use MatIO in Dynare++ instead of the home-made engine 2012-08-23 18:31:07 +02:00
Sébastien Villemot 2e65a9ab96 Provide a better implementation of linsolve for Octave
Closes: #273
2012-08-06 18:26:16 +02:00
Houtan Bastani 7c4b36695d change autoconf min version to match that of root config file 2012-08-02 16:17:08 +02:00
Sébastien Villemot 91967eac6d Bump version numbers 2012-06-11 12:07:10 +02:00
Stéphane Adjemian (Charybdis) 40329e3e29 Added routine to compute one step ahead state space iteration (mex and m). The state space
equations are approximated at order two around the deterministic steady state.
2012-03-04 22:07:27 +01:00
Stéphane Adjemian (Charybdis) 4869fff243 Added new mex file for computing Quasi Monte-Carlo sequences (Sobol), texinfo headers and unitary tests are available in <DYNARE_PATH>/matlab/qmc_sequence.m. 2011-12-21 18:23:15 +01:00
Sébastien Villemot a1ee7f1ee4 block_kalman_filter: add MEX to build system 2011-09-23 18:22:15 +02:00
Houtan Bastani 75f5b88f86 SWZ: integrate ms-sbvar in build system 2011-02-22 15:16:51 +01:00
Houtan Bastani 6cdbf51a54 SWZ: Revert "SWZ: remove gsl from build system, to be reintstated if gsl remains a requirement in the ms new code"
This reverts commit e19026d130.
2011-02-22 15:06:38 +01:00