diff --git a/mex/build/octave/Makefile.am b/mex/build/octave/Makefile.am index 6f3f3db7b951ba55cf4917e6ef1f6707f0b3dbc6..001705e66161a41c754369231f6b1a9f4b9d1d4d 100644 --- a/mex/build/octave/Makefile.am +++ b/mex/build/octave/Makefile.am @@ -2,8 +2,11 @@ ACLOCAL_AMFLAGS = -I ../../../m4 # libdynare++ must come before gensylv, k_order_perturbation, dynare_simul_ if DO_SOMETHING -SUBDIRS = mjdgges kronecker bytecode libdynare++ gensylv k_order_perturbation dynare_simul_ logposterior logMHMCMCposterior qzcomplex ordschur libslicot kalman_steady_state +SUBDIRS = mjdgges kronecker bytecode libdynare++ gensylv k_order_perturbation dynare_simul_ qzcomplex ordschur libslicot kalman_steady_state if HAVE_GSL SUBDIRS += swz endif +if HAVE_MATIO +SUBDIRS += logposterior logMHMCMCposterior +endif endif diff --git a/mex/build/octave/configure.ac b/mex/build/octave/configure.ac index 8654ef7447d0a81ecad4b17d41696fd20ae7bf1b..5ccdc90994f228928b1a63b01d8a12b3431664db 100644 --- a/mex/build/octave/configure.ac +++ b/mex/build/octave/configure.ac @@ -59,6 +59,12 @@ AC_SUBST([LIBADD_DLOPEN]) AX_GSL AM_CONDITIONAL([HAVE_GSL], [test "x$has_gsl" = "xyes"]) +# Check for libmatio, needed by estimation DLL (only under Octave, as an alternative to MATLAB's libmat) +AC_CHECK_HEADER([matio.h]) +AC_CHECK_LIB([matio], [Mat_Open], [LIBADD_MATIO="-lmatio"]) +AC_SUBST([LIBADD_MATIO]) +AM_CONDITIONAL([HAVE_MATIO], [test "x$ac_cv_header_matio_h" = "xyes" -a "x$ac_cv_lib_matio_Mat_Open" = "xyes"]) + AM_CONDITIONAL([DO_SOMETHING], [test "x$MKOCTFILE" != "x"]) if test "x$MKOCTFILE" != "x"; then @@ -77,6 +83,12 @@ else BUILD_SWZ_MEX_OCTAVE="no (missing GSL)" fi +if test "x$MKOCTFILE" != "x" -a "x$ac_cv_header_matio_h" = "xyes" -a "x$ac_cv_lib_matio_Mat_Open" = "xyes"; then + BUILD_ESTIMATION_MEX_OCTAVE="yes" +else + BUILD_ESTIMATION_MEX_OCTAVE="no (missing MatIO library)" +fi + AC_ARG_ENABLE([openmp], AS_HELP_STRING([--enable-openmp], [use OpenMP for parallelization of some MEX files]), [ if test "x$enable_openmp" = "xyes"; then CPPFLAGS="$CPPFLAGS -DUSE_OMP" @@ -92,6 +104,7 @@ Dynare is now configured for building the following components... Binaries (with "make"): MEX files for Octave (except SWZ): $BUILD_MEX_OCTAVE SWZ MEX files for Octave: $BUILD_SWZ_MEX_OCTAVE + Estimation MEX for Octave: $BUILD_ESTIMATION_MEX_OCTAVE ]) diff --git a/mex/build/octave/logMHMCMCposterior/Makefile.am b/mex/build/octave/logMHMCMCposterior/Makefile.am index d5d3d68d261deb76b7ed58aa22b7320c7e5300b0..071f3d8af8f8e6f721af547460f5aa51dec9df09 100644 --- a/mex/build/octave/logMHMCMCposterior/Makefile.am +++ b/mex/build/octave/logMHMCMCposterior/Makefile.am @@ -1,3 +1,5 @@ EXEEXT = .mex include ../mex.am include ../../logMHMCMCposterior.am + +logMHMCMCposterior_LDADD += $(LIBADD_MATIO)