Commit Graph

22 Commits (7dd2dd5e24a343fbeaf3522ea5e535c27d8b9f95)

Author SHA1 Message Date
Sébastien Villemot 888a87312d
Enable -Wunused-parameter for C++ MEX
Except for libdynare++, since Dynare++ is not ready (and is probably not worth
fixing by adding [[maybe_unused]] tags).
2022-07-05 12:12:53 +02:00
Sébastien Villemot dfcfdda318
Enable more compiler warnings for C++ 2022-06-07 18:01:58 +02:00
Sébastien Villemot cc8b2fd920
Bump to C++20 standard (with GNU extensions)
In practice, for the time being, we limit ourselves to C++20 features available
in GCC 10.
2022-05-04 18:33:07 +02:00
NormannR 5f828e241f Parallelizes local_state_space_iteration_fortran 2022-01-31 18:44:48 +01:00
Sébastien Villemot 2a1183e1fa
Fortran MEX: add -Wimplicit-interface to compiler flags
This warns about hard-to-detect bugs where a function is called with an
implicit interface, thus possibly having mismatches in the calling sequence.
2021-06-04 12:57:39 +02:00
Sébastien Villemot 0741963ca5
Build system: streamline handling of compilation flags for MEX
— allow the user to override compilation flags for MATLAB MEX (it was already
  working for the preprocessor, the MEX for Octave and Dynare++)
— increase the symmetry of MEX build infrastructure between MATLAB and Octave
— when linking MEX for Octave, do not add the output of “mkoctfile -p FLIBS”.
  It is unneeded, and it can create a conflict between the system compiler and
  a user-supplied compiler

By the way:
— restore optimization on macOS for C/C++ MEX (it had been removed in
  5df2392a09)
— remove -fno-omit-frame-pointer on MATLAB/Linux, since it would be cancelled
  by subsequent -O2 and should not be needed anyways
— remove FFLAGS under Octave, unused
2021-05-10 14:39:41 +02:00
Sébastien Villemot dd1e4d238b
Build system: remove useless rules for preprocessed Fortran 2008 files
Automake actually provides such rules.
2020-01-08 18:37:26 +01:00
Sébastien Villemot c0c95e1ceb
Add Fortran 2008 interface for a subset of BLAS/LAPACK functions 2020-01-06 18:29:47 +01:00
Sébastien Villemot ce9eca366d
Add Fortran 2008 interface for a subset of MEX functions 2020-01-06 18:29:47 +01:00
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 35acc111ff
Windows package: fix random build failure due to race condition
The MEX files are built out-of-tree (because we want to do them in parallel).
This would create a potential race condition if several builds want to create
the symlinks under mex/matlab/ or mex/octave/.

The solution is to disable those symlinks for out-of-tree builds.
2019-09-04 11:39:52 +02:00
Sébastien Villemot bae1fa255a
Add scripts and CI job for building Windows package
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.
2019-09-03 21:36:47 +02:00
Stéphane Adjemian (Charybdis) 537e384122 Fixed make parallel mode (missing dependency in automake). 2016-12-01 23:25:01 +01:00
Sébastien Villemot 9b5a09958c Fixes to make install.
- fix DESTDIR for preprocessor and MEX files (it was duplicated)
- don't install libdynare++.a
2014-07-18 12:15:36 +02:00
Houtan Bastani 8d2b79a224 make install, closes #576 2014-07-16 16:18:06 +02:00
Sébastien Villemot 3d39d77917 Remove spurious executable permissions 2012-10-13 16:10:01 +02:00
Sébastien Villemot 3e612e0211 Fix build system with Automake 1.12 2012-09-28 17:31:39 +02:00
Sébastien Villemot a66594caed Add MEXEXT define to build system, adapt relevant DLL and Windows packaging
Closes: #235
2012-01-09 12:39:09 +01:00
Sébastien Villemot 00c73845e0 Build system: further fixes for possibly empty directories (needed because of Git migration) 2010-02-01 10:50:29 +01:00
Sébastien Villemot d6aa4f1329 Build system: create empty directories (needed because of Git migration) 2010-01-29 15:13:34 +01:00
sebastien 30d2f00cc2 Reorganized the directory hierarchy for storing MEX files for MATLAB:
* mex/matlab/ is now the default location
* removed mex/2007a, mex/2007b and mex/2009a-64bit
* on Windows platforms, use version specific subdirs of mex/matlab if present (called win32-6.5.1-7.4, win32-7.4-7.9, win64-7.2-7.4, win64-7.5-7.7, win64-7.8-7.9)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3123 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-04 10:56:37 +00:00
sebastien 343e0b3c7d Build system: refactored the build system for MEX files, using two sub-packages with their own configure scripts
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3019 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-02 17:22:19 +00:00