The scripts are based the former “dynare-build” project. They have been
overhauled and simplified.
Building a Windows package (both installer and zip archive) is as easy as
running “make -C windows” (provided the right Debian packages are installed,
use the “windows/install-packages.sh” script for that purpose).
The layout of MEX files for Octave in the package has been
changed (mex/octave/win32/ and mex/octave/win64/ instead of mex/octave32/ and
mex/octave/), for consistency with MATLAB MEX.
- integrate with autoconf/automake, so that "make html pdf" now build the
manual
- remove the old texinfo manual
- the PDF manual is now called dynare-manual.pdf (Closes#1543)
- add a Gitlab CI job that updates the online unstable manual under
www.dynare.org/manual-unstable/
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).
- Use the -static flag when linking Dynare++, so that shipping libquadmath and
libgcc DLL in the installer is no longer needed.
- Use AM_CXXFLAGS and AM_LDFLAGS variables for changing flags, since CXXFLAGS
and LDFLAGS are user variables. Also, this avoids passing these flags down to
configure scripts in subdirectories.
- Check for the SZIP library in the configure test for the MatIO, this is
needed under MSYS2.
- Statically link MatIO and GSL in MEX files for MATLAB, this is needed under
MSYS2.
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.
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.