* Convert the rest of the already existing build system to Automake
* Add new autoconf macros git-svn-id: https://www.dynare.org/svn/dynare/trunk@2914 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
dccc35afd3
commit
ddd286863d
|
@ -1,3 +1,3 @@
|
|||
SUBDIRS = preprocessor doc
|
||||
SUBDIRS = preprocessor doc tests
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
|
32
configure.ac
32
configure.ac
|
@ -22,7 +22,6 @@ AC_INIT([dynare], [4.1-unstable])
|
|||
AC_CONFIG_SRCDIR([preprocessor/DynareMain.cc])
|
||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
|
||||
# Use C++ for testing headers
|
||||
|
@ -53,32 +52,29 @@ AC_CHECK_HEADERS([FlexLexer.h], [], [AC_MSG_ERROR([Can't find FlexLexer.h])])
|
|||
AC_PROG_YACC
|
||||
AX_PROG_BISON([], AC_MSG_ERROR([No suitable bison found.]))
|
||||
|
||||
AX_BOOST_BASE([1.34])
|
||||
AC_CHECK_HEADERS([boost/graph/adjacency_list.hpp], [], [AC_MSG_ERROR([Can't find Boost Graph Library])])
|
||||
AC_CHECK_HEADERS([boost/graph/max_cardinality_matching.hpp], [], [AC_MSG_ERROR([Your Boost version is too old. Please install a newer one.])])
|
||||
|
||||
# Don't use deprecated hash structures
|
||||
AC_DEFINE([BOOST_NO_HASH])
|
||||
|
||||
AC_CHECK_PROG([PDFLATEX], [pdflatex], [pdflatex])
|
||||
AC_CHECK_PROG([BIBTEX], [bibtex], [bibtex])
|
||||
AC_CHECK_PROG([DBLATEX], [dblatex], [dblatex])
|
||||
AC_CHECK_PROG([XSLTPROC], [xsltproc], [xsltproc])
|
||||
AM_CONDITIONAL([HAVE_PDFLATEX], [test "x$PDFLATEX" != "x"])
|
||||
|
||||
if test -n "${XSLTPROC}" -a -f /etc/xml/catalog
|
||||
then
|
||||
AC_PROG_GREP
|
||||
AC_MSG_CHECKING([for DocBook XSL files in XML catalog])
|
||||
cat /etc/xml/catalog | ${GREP} -q http://docbook.sourceforge.net/release/xsl/
|
||||
if test $? -eq 0
|
||||
then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_WARN([The creation of the HTML version will be very slow! You should install the docbook-xsl package.])
|
||||
fi
|
||||
fi
|
||||
AC_CHECK_PROG([BIBTEX], [bibtex], [bibtex])
|
||||
AM_CONDITIONAL([HAVE_BIBTEX], [test "x$BIBTEX" != "x"])
|
||||
|
||||
AC_CHECK_PROG([DBLATEX], [dblatex], [dblatex])
|
||||
AM_CONDITIONAL([HAVE_DBLATEX], [test "x$DBLATEX" != "x"])
|
||||
|
||||
AX_PROG_XSLTPROC
|
||||
AM_CONDITIONAL([HAVE_XSLT], [test "x$XSLTPROC" != "x"])
|
||||
|
||||
AX_CHECK_DOCBOOK_XSLT_MIN(1.73.0)
|
||||
AM_CONDITIONAL([HAVE_XSLT], [test "x$DOCBOOK_XSLT_CURRENT_VERSION" != "xno"])
|
||||
|
||||
AC_CHECK_PROG([OCTAVE], [octave], [octave])
|
||||
AM_CONDITIONAL([HAVE_OCTAVE], [test "x$OCTAVE" != "x"])
|
||||
|
||||
AX_MATLAB
|
||||
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
SUBDIRS = preprocessor macroprocessor userguide
|
||||
|
||||
TARGETS =
|
||||
|
||||
if HAVE_PDFLATEX
|
||||
TARGETS += guide.pdf bvar-a-la-sims.pdf
|
||||
endif
|
||||
|
||||
if HAVE_BIBTEX
|
||||
TARGETS += manual.pdf
|
||||
endif
|
||||
|
||||
if HAVE_XSLT
|
||||
TARGETS += manual-html/index.html
|
||||
endif
|
||||
|
||||
all-local: $(TARGETS)
|
||||
|
||||
EXTRA_DIST = guide.tex guide.bbl bibmad.sty bvar-a-la-sims.tex manual.xml dynare_html.xsl manual.xml
|
||||
|
||||
guide.pdf: guide.tex guide.bbl bibmad.sty
|
||||
$(PDFLATEX) guide
|
||||
$(PDFLATEX) guide
|
||||
|
||||
bvar-a-la-sims.pdf: bvar-a-la-sims.tex
|
||||
$(PDFLATEX) bvar-a-la-sims
|
||||
$(PDFLATEX) bvar-a-la-sims
|
||||
|
||||
manual-html/index.html: manual.xml dynare_html.xsl
|
||||
$(XSLTPROC) -stringparam base.dir ./manual-html/ dynare_html.xsl manual.xml
|
||||
|
||||
manual.pdf: manual.xml
|
||||
$(DBLATEX) manual.xml
|
||||
|
||||
clean-local:
|
||||
rm -f *~ *.pdf *.log *.aux
|
||||
rm -rf manual-html
|
|
@ -1,42 +0,0 @@
|
|||
PDFLATEX = @PDFLATEX@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
DBLATEX = @DBLATEX@
|
||||
|
||||
all: guide.pdf manual-html/index.html manual.pdf bvar-a-la-sims.pdf
|
||||
make -C preprocessor
|
||||
make -C macroprocessor
|
||||
make -C userguide
|
||||
.PHONY: all
|
||||
|
||||
guide.pdf: guide.tex guide.bbl bibmad.sty
|
||||
ifdef PDFLATEX
|
||||
$(PDFLATEX) guide
|
||||
$(PDFLATEX) guide
|
||||
endif
|
||||
|
||||
bvar-a-la-sims.pdf: bvar-a-la-sims.tex
|
||||
ifdef PDFLATEX
|
||||
$(PDFLATEX) bvar-a-la-sims
|
||||
$(PDFLATEX) bvar-a-la-sims
|
||||
endif
|
||||
|
||||
manual-html/index.html: manual.xml dynare_html.xsl
|
||||
ifdef XSLTPROC
|
||||
$(XSLTPROC) -stringparam base.dir ./manual-html/ dynare_html.xsl manual.xml
|
||||
endif
|
||||
|
||||
manual.pdf: manual.xml
|
||||
ifdef DBLATEX
|
||||
$(DBLATEX) manual.xml
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f *~ *.pdf *.log *.aux
|
||||
rm -rf manual-html
|
||||
make -C preprocessor clean
|
||||
make -C macroprocessor clean
|
||||
make -C userguide clean
|
||||
.PHONY: clean
|
||||
|
||||
Makefile: Makefile.in ../config.status
|
||||
cd .. && ./config.status
|
|
@ -0,0 +1,14 @@
|
|||
if HAVE_PDFLATEX
|
||||
all-local: macroprocessor.pdf
|
||||
endif
|
||||
|
||||
SRC = macroprocessor.tex old-design.pdf new-design.pdf
|
||||
|
||||
EXTRA_DIST = $(SRC)
|
||||
|
||||
macroprocessor.pdf: $(SRC)
|
||||
$(PDFLATEX) macroprocessor
|
||||
$(PDFLATEX) macroprocessor
|
||||
|
||||
clean-local:
|
||||
rm -f macroprocessor.pdf *.toc *.aux *.log *.nav *.snm *.vrb *.out *~
|
|
@ -1,14 +0,0 @@
|
|||
PDFLATEX = @PDFLATEX@
|
||||
|
||||
macroprocessor.pdf: macroprocessor.tex old-design.pdf new-design.pdf
|
||||
ifdef PDFLATEX
|
||||
$(PDFLATEX) macroprocessor
|
||||
$(PDFLATEX) macroprocessor
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f macroprocessor.pdf *.toc *.aux *.log *.nav *.snm *.vrb *.out *~
|
||||
.PHONY: clean
|
||||
|
||||
Makefile: Makefile.in ../../config.status
|
||||
cd ../.. && ./config.status
|
|
@ -0,0 +1,14 @@
|
|||
if HAVE_PDFLATEX
|
||||
all-local: preprocessor.pdf
|
||||
endif
|
||||
|
||||
SRC = preprocessor.tex expr.png expr-sharing.png matrices.png overview.png
|
||||
|
||||
EXTRA_DIST = $(SRC)
|
||||
|
||||
preprocessor.pdf: $(SRC)
|
||||
$(PDFLATEX) preprocessor
|
||||
$(PDFLATEX) preprocessor
|
||||
|
||||
clean-local:
|
||||
rm -f *.pdf *.toc *.aux *.log *.nav *.snm *.vrb *.out *~
|
|
@ -1,14 +0,0 @@
|
|||
PDFLATEX = @PDFLATEX@
|
||||
|
||||
preprocessor.pdf: preprocessor.tex expr.png expr-sharing.png matrices.png overview.png
|
||||
ifdef PDFLATEX
|
||||
$(PDFLATEX) preprocessor
|
||||
$(PDFLATEX) preprocessor
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f *.pdf *.toc *.aux *.log *.nav *.snm *.vrb *.out *~
|
||||
.PHONY: clean
|
||||
|
||||
Makefile: Makefile.in ../../config.status
|
||||
cd ../.. && ./config.status
|
|
@ -1,27 +1,21 @@
|
|||
PDFLATEX = @PDFLATEX@
|
||||
BIBTEX = @BIBTEX@
|
||||
|
||||
all: UserGuide.pdf
|
||||
.PHONY: all
|
||||
if HAVE_PDFLATEX
|
||||
if HAVE_BIBTEX
|
||||
all-local: UserGuide.pdf
|
||||
endif
|
||||
endif
|
||||
|
||||
SRC = UserGuide.tex Graphics/DynareTitle.pdf DynareBib.bib \
|
||||
ch-intro.tex ch-inst.tex ch-solbase.tex ch-soladv.tex ch-estbase.tex \
|
||||
ch-estadv.tex ch-solbeh.tex ch-estbeh.tex ch-ramsey.tex ch-trouble.tex
|
||||
|
||||
UserGuide.pdf:
|
||||
ifdef PDFLATEX
|
||||
ifdef BIBTEX
|
||||
EXTRA_DIST = $(SRC)
|
||||
|
||||
UserGuide.pdf: $(SRC)
|
||||
$(PDFLATEX) UserGuide
|
||||
$(BIBTEX) UserGuide
|
||||
$(PDFLATEX) UserGuide
|
||||
$(PDFLATEX) UserGuide
|
||||
endif
|
||||
endif
|
||||
|
||||
clean:
|
||||
clean-local:
|
||||
rm -f *.log *.aux *.toc *.lof *.blg *.bbl *.out
|
||||
rm -f UserGuide.pdf
|
||||
.PHONY: clean
|
||||
|
||||
Makefile: Makefile.in ../../config.status
|
||||
cd ../.. && ./config.status
|
|
@ -0,0 +1,219 @@
|
|||
# ===========================================================================
|
||||
# http://www.nongnu.org/autoconf-archive/ax_boost_base.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_BOOST_BASE([MINIMUM-VERSION])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Test for the Boost C++ libraries of a particular version (or newer)
|
||||
#
|
||||
# If no path to the installed boost library is given the macro searchs
|
||||
# under /usr, /usr/local, /opt and /opt/local and evaluates the
|
||||
# $BOOST_ROOT environment variable. Further documentation is available at
|
||||
# <http://randspringer.de/boost/index.html>.
|
||||
#
|
||||
# This macro calls:
|
||||
#
|
||||
# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
|
||||
#
|
||||
# And sets:
|
||||
#
|
||||
# HAVE_BOOST
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved.
|
||||
|
||||
AC_DEFUN([AX_BOOST_BASE],
|
||||
[
|
||||
AC_ARG_WITH([boost],
|
||||
AS_HELP_STRING([--with-boost@<:@=DIR@:>@], [use boost (default is yes) - it is possible to specify the root directory for boost (optional)]),
|
||||
[
|
||||
if test "$withval" = "no"; then
|
||||
want_boost="no"
|
||||
elif test "$withval" = "yes"; then
|
||||
want_boost="yes"
|
||||
ac_boost_path=""
|
||||
else
|
||||
want_boost="yes"
|
||||
ac_boost_path="$withval"
|
||||
fi
|
||||
],
|
||||
[want_boost="yes"])
|
||||
|
||||
|
||||
AC_ARG_WITH([boost-libdir],
|
||||
AS_HELP_STRING([--with-boost-libdir=LIB_DIR],
|
||||
[Force given directory for boost libraries. Note that this will overwrite library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.]),
|
||||
[
|
||||
if test -d $withval
|
||||
then
|
||||
ac_boost_lib_path="$withval"
|
||||
else
|
||||
AC_MSG_ERROR(--with-boost-libdir expected directory name)
|
||||
fi
|
||||
],
|
||||
[ac_boost_lib_path=""]
|
||||
)
|
||||
|
||||
if test "x$want_boost" = "xyes"; then
|
||||
boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
|
||||
boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
|
||||
boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
|
||||
boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
|
||||
boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
|
||||
if test "x$boost_lib_version_req_sub_minor" = "x" ; then
|
||||
boost_lib_version_req_sub_minor="0"
|
||||
fi
|
||||
WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
|
||||
AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req)
|
||||
succeeded=no
|
||||
|
||||
dnl first we check the system location for boost libraries
|
||||
dnl this location ist chosen if boost libraries are installed with the --layout=system option
|
||||
dnl or if you install boost with RPM
|
||||
if test "$ac_boost_path" != ""; then
|
||||
BOOST_LDFLAGS="-L$ac_boost_path/lib"
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include"
|
||||
else
|
||||
for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
|
||||
BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib"
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
|
||||
break;
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
dnl overwrite ld flags if we have required special directory with
|
||||
dnl --with-boost-libdir parameter
|
||||
if test "$ac_boost_lib_path" != ""; then
|
||||
BOOST_LDFLAGS="-L$ac_boost_lib_path"
|
||||
fi
|
||||
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
@%:@include <boost/version.hpp>
|
||||
]], [[
|
||||
#if BOOST_VERSION >= $WANT_BOOST_VERSION
|
||||
// Everything is okay
|
||||
#else
|
||||
# error Boost version is too old
|
||||
#endif
|
||||
]])],[
|
||||
AC_MSG_RESULT(yes)
|
||||
succeeded=yes
|
||||
found_system=yes
|
||||
],[
|
||||
])
|
||||
AC_LANG_POP([C++])
|
||||
|
||||
|
||||
|
||||
dnl if we found no boost with system layout we search for boost libraries
|
||||
dnl built and installed without the --layout=system option or for a staged(not installed) version
|
||||
if test "x$succeeded" != "xyes"; then
|
||||
_version=0
|
||||
if test "$ac_boost_path" != ""; then
|
||||
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
|
||||
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
V_CHECK=`expr $_version_tmp \> $_version`
|
||||
if test "$V_CHECK" = "1" ; then
|
||||
_version=$_version_tmp
|
||||
fi
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
|
||||
done
|
||||
fi
|
||||
else
|
||||
for ac_boost_path in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
|
||||
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
V_CHECK=`expr $_version_tmp \> $_version`
|
||||
if test "$V_CHECK" = "1" ; then
|
||||
_version=$_version_tmp
|
||||
best_path=$ac_boost_path
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
|
||||
if test "$ac_boost_lib_path" = ""
|
||||
then
|
||||
BOOST_LDFLAGS="-L$best_path/lib"
|
||||
fi
|
||||
|
||||
if test "x$BOOST_ROOT" != "x"; then
|
||||
if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then
|
||||
version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
|
||||
stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
|
||||
stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
|
||||
V_CHECK=`expr $stage_version_shorten \>\= $_version`
|
||||
if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
|
||||
AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
|
||||
BOOST_CPPFLAGS="-I$BOOST_ROOT"
|
||||
BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
@%:@include <boost/version.hpp>
|
||||
]], [[
|
||||
#if BOOST_VERSION >= $WANT_BOOST_VERSION
|
||||
// Everything is okay
|
||||
#else
|
||||
# error Boost version is too old
|
||||
#endif
|
||||
]])],[
|
||||
AC_MSG_RESULT(yes)
|
||||
succeeded=yes
|
||||
found_system=yes
|
||||
],[
|
||||
])
|
||||
AC_LANG_POP([C++])
|
||||
fi
|
||||
|
||||
if test "$succeeded" != "yes" ; then
|
||||
if test "$_version" = "0" ; then
|
||||
AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
|
||||
else
|
||||
AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
|
||||
fi
|
||||
else
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
AC_SUBST(BOOST_LDFLAGS)
|
||||
AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
fi
|
||||
|
||||
])
|
|
@ -0,0 +1,108 @@
|
|||
# ===========================================================================
|
||||
# http://www.nongnu.org/autoconf-archive/ax_check_docbook_xslt_min.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_CHECK_DOCBOOK_XSLT_MIN(min-xslt-version)
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Check that the 'current' version of docbook is at least version
|
||||
# min-xslt-version. If the test is successful,
|
||||
# $DOCBOOK_XSLT_CURRENT_VERSION will be set to the current docbook
|
||||
# version; if not, it will be set to 'no'.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# AX_CHECK_DOCBOOK_XSLT_MIN(1.72.0)
|
||||
# if test "x$DOCBOOK_XSLT_CURRENT_VERSION" = "xno"; then
|
||||
# ...
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Zmanda Inc. <http://www.zmanda.com/>
|
||||
# Copyright (c) 2008 Dustin J. Mitchell <dustin@zmanda.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
AU_ALIAS([AC_CHECK_DOCBOOK_XSLT_MIN], [AX_CHECK_DOCBOOK_XSLT_MIN])
|
||||
AC_DEFUN([AX_CHECK_DOCBOOK_XSLT_MIN],
|
||||
[
|
||||
AC_REQUIRE([AX_PROG_XSLTPROC])
|
||||
|
||||
AC_CACHE_CHECK([for current Docbook XSLT version], [ac_cv_docbook_xslt_current_version],
|
||||
[
|
||||
ac_cv_docbook_xslt_current_version=no
|
||||
|
||||
if test -n "$XSLTPROC"; then
|
||||
cat >conftest.xsl <<EOF
|
||||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:fm="http://freshmeat.net/projects/freshmeat-submit/"
|
||||
version="1.0">
|
||||
<xsl:output method="text"/>
|
||||
<xsl:template match="fm:project/fm:Version">
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
<!-- do nothing with any other text -->
|
||||
<xsl:template match="text()"/>
|
||||
</xsl:stylesheet>
|
||||
EOF
|
||||
echo "Trying '$XSLTPROC $XSLTPROC_FLAGS http://docbook.sourceforge.net/release/xsl/current/VERSION' with input:" >&AS_MESSAGE_LOG_FD
|
||||
echo "====" >&AS_MESSAGE_LOG_FD
|
||||
cat conftest.xsl >&AS_MESSAGE_LOG_FD
|
||||
echo "====" >&AS_MESSAGE_LOG_FD
|
||||
|
||||
ac_cv_docbook_xslt_current_version=`$XSLTPROC $XSLTPROC_FLAGS conftest.xsl http://docbook.sourceforge.net/release/xsl/current/VERSION 2>&AS_MESSAGE_LOG_FD`
|
||||
|
||||
if test "$?" != 0; then
|
||||
ac_cv_docbook_xslt_current_version='no'
|
||||
fi
|
||||
|
||||
rm conftest.xsl
|
||||
fi
|
||||
])
|
||||
|
||||
DOCBOOK_XSLT_CURRENT_VERSION="$ac_cv_docbook_xslt_current_version"
|
||||
AC_MSG_CHECKING([whether Docbook XSLT version is $1 or newer])
|
||||
|
||||
if test x"$DOCBOOK_XSLT_CURRENT_VERSION" = x"no"; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
AX_COMPARE_VERSION([$DOCBOOK_XSLT_CURRENT_VERSION], [lt], [$1], [
|
||||
# version is less than required, so mark it as "no"
|
||||
DOCBOOK_XSLT_CURRENT_VERSION=no
|
||||
])
|
||||
|
||||
if test x"$DOCBOOK_XSLT_CURRENT_VERSION" = x"no"; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
AC_MSG_RESULT([yes ($DOCBOOK_XSLT_CURRENT_VERSION)])
|
||||
fi
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,174 @@
|
|||
# ===========================================================================
|
||||
# http://www.nongnu.org/autoconf-archive/ax_compare_version.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# This macro compares two version strings. Due to the various number of
|
||||
# minor-version numbers that can exist, and the fact that string
|
||||
# comparisons are not compatible with numeric comparisons, this is not
|
||||
# necessarily trivial to do in a autoconf script. This macro makes doing
|
||||
# these comparisons easy.
|
||||
#
|
||||
# The six basic comparisons are available, as well as checking equality
|
||||
# limited to a certain number of minor-version levels.
|
||||
#
|
||||
# The operator OP determines what type of comparison to do, and can be one
|
||||
# of:
|
||||
#
|
||||
# eq - equal (test A == B)
|
||||
# ne - not equal (test A != B)
|
||||
# le - less than or equal (test A <= B)
|
||||
# ge - greater than or equal (test A >= B)
|
||||
# lt - less than (test A < B)
|
||||
# gt - greater than (test A > B)
|
||||
#
|
||||
# Additionally, the eq and ne operator can have a number after it to limit
|
||||
# the test to that number of minor versions.
|
||||
#
|
||||
# eq0 - equal up to the length of the shorter version
|
||||
# ne0 - not equal up to the length of the shorter version
|
||||
# eqN - equal up to N sub-version levels
|
||||
# neN - not equal up to N sub-version levels
|
||||
#
|
||||
# When the condition is true, shell commands ACTION-IF-TRUE are run,
|
||||
# otherwise shell commands ACTION-IF-FALSE are run. The environment
|
||||
# variable 'ax_compare_version' is always set to either 'true' or 'false'
|
||||
# as well.
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8])
|
||||
# AX_COMPARE_VERSION([3.15],[lt],[3.15.8])
|
||||
#
|
||||
# would both be true.
|
||||
#
|
||||
# AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8])
|
||||
# AX_COMPARE_VERSION([3.15],[gt],[3.15.8])
|
||||
#
|
||||
# would both be false.
|
||||
#
|
||||
# AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8])
|
||||
#
|
||||
# would be true because it is only comparing two minor versions.
|
||||
#
|
||||
# AX_COMPARE_VERSION([3.15.7],[eq0],[3.15])
|
||||
#
|
||||
# would be true because it is only comparing the lesser number of minor
|
||||
# versions of the two values.
|
||||
#
|
||||
# Note: The characters that separate the version numbers do not matter. An
|
||||
# empty string is the same as version 0. OP is evaluated by autoconf, not
|
||||
# configure, so must be a string, not a variable.
|
||||
#
|
||||
# The author would like to acknowledge Guido Draheim whose advice about
|
||||
# the m4_case and m4_ifvaln functions make this macro only include the
|
||||
# portions necessary to perform the specific comparison specified by the
|
||||
# OP argument in the final configure script.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Tim Toolan <toolan@ele.uri.edu>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved.
|
||||
|
||||
dnl #########################################################################
|
||||
AC_DEFUN([AX_COMPARE_VERSION], [
|
||||
AC_REQUIRE([AC_PROG_AWK])
|
||||
|
||||
# Used to indicate true or false condition
|
||||
ax_compare_version=false
|
||||
|
||||
# Convert the two version strings to be compared into a format that
|
||||
# allows a simple string comparison. The end result is that a version
|
||||
# string of the form 1.12.5-r617 will be converted to the form
|
||||
# 0001001200050617. In other words, each number is zero padded to four
|
||||
# digits, and non digits are removed.
|
||||
AS_VAR_PUSHDEF([A],[ax_compare_version_A])
|
||||
A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
|
||||
-e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/[[^0-9]]//g'`
|
||||
|
||||
AS_VAR_PUSHDEF([B],[ax_compare_version_B])
|
||||
B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
|
||||
-e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
|
||||
-e 's/[[^0-9]]//g'`
|
||||
|
||||
dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary
|
||||
dnl # then the first line is used to determine if the condition is true.
|
||||
dnl # The sed right after the echo is to remove any indented white space.
|
||||
m4_case(m4_tolower($2),
|
||||
[lt],[
|
||||
ax_compare_version=`echo "x$A
|
||||
x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"`
|
||||
],
|
||||
[gt],[
|
||||
ax_compare_version=`echo "x$A
|
||||
x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"`
|
||||
],
|
||||
[le],[
|
||||
ax_compare_version=`echo "x$A
|
||||
x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"`
|
||||
],
|
||||
[ge],[
|
||||
ax_compare_version=`echo "x$A
|
||||
x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"`
|
||||
],[
|
||||
dnl Split the operator from the subversion count if present.
|
||||
m4_bmatch(m4_substr($2,2),
|
||||
[0],[
|
||||
# A count of zero means use the length of the shorter version.
|
||||
# Determine the number of characters in A and B.
|
||||
ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'`
|
||||
ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'`
|
||||
|
||||
# Set A to no more than B's length and B to no more than A's length.
|
||||
A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"`
|
||||
B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"`
|
||||
],
|
||||
[[0-9]+],[
|
||||
# A count greater than zero means use only that many subversions
|
||||
A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
|
||||
B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
|
||||
],
|
||||
[.+],[
|
||||
AC_WARNING(
|
||||
[illegal OP numeric parameter: $2])
|
||||
],[])
|
||||
|
||||
# Pad zeros at end of numbers to make same length.
|
||||
ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`"
|
||||
B="$B`echo $A | sed 's/./0/g'`"
|
||||
A="$ax_compare_version_tmp_A"
|
||||
|
||||
# Check for equality or inequality as necessary.
|
||||
m4_case(m4_tolower(m4_substr($2,0,2)),
|
||||
[eq],[
|
||||
test "x$A" = "x$B" && ax_compare_version=true
|
||||
],
|
||||
[ne],[
|
||||
test "x$A" != "x$B" && ax_compare_version=true
|
||||
],[
|
||||
AC_WARNING([illegal OP parameter: $2])
|
||||
])
|
||||
])
|
||||
|
||||
AS_VAR_POPDEF([A])dnl
|
||||
AS_VAR_POPDEF([B])dnl
|
||||
|
||||
dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE.
|
||||
if test "$ax_compare_version" = "true" ; then
|
||||
m4_ifvaln([$4],[$4],[:])dnl
|
||||
m4_ifvaln([$5],[else $5])dnl
|
||||
fi
|
||||
]) dnl AX_COMPARE_VERSION
|
|
@ -0,0 +1,95 @@
|
|||
# ===========================================================================
|
||||
# http://www.nongnu.org/autoconf-archive/ax_prog_xsltproc.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_PROG_XSLTPROC([default-flags])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Find an xsltproc executable.
|
||||
#
|
||||
# Input:
|
||||
#
|
||||
# "default-flags" is the default $XSLTPROC_FLAGS, which will be overridden
|
||||
# if the user specifies --with-xsltproc-flags.
|
||||
#
|
||||
# Output:
|
||||
#
|
||||
# $XSLTPROC contains the path to xsltproc, or is empty if none was found
|
||||
# or the user specified --without-xsltproc. $XSLTPROC_FLAGS contains the
|
||||
# flags to use with xsltproc.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008,2009 Zmanda Inc. <http://www.zmanda.com/>
|
||||
# Copyright (c) 2008,2009 Dustin J. Mitchell <dustin@zmanda.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
AU_ALIAS([AC_PROG_XSLTPROC], [AX_PROG_XSLTPROC])
|
||||
AC_DEFUN([AX_PROG_XSLTPROC],
|
||||
[
|
||||
XSLTPROC_FLAGS="$1"
|
||||
AC_SUBST(XSLTPROC_FLAGS)
|
||||
|
||||
# The (lack of) whitespace and overquoting here are all necessary for
|
||||
# proper formatting.
|
||||
AC_ARG_WITH(xsltproc,
|
||||
AS_HELP_STRING([--with-xsltproc[[[[[=PATH]]]]]],
|
||||
[Use the xsltproc binary in in PATH.]),
|
||||
[ ac_with_xsltproc=$withval; ],
|
||||
[ ac_with_xsltproc=maybe; ])
|
||||
|
||||
AC_ARG_WITH(xsltproc-flags,
|
||||
AS_HELP_STRING([ --with-xsltproc-flags=FLAGS],
|
||||
[Flags to pass to xsltproc (default $1)]),
|
||||
[ if test "x$withval" == "xno"; then
|
||||
XSLTPROC_FLAGS=''
|
||||
else
|
||||
if test "x$withval" != "xyes"; then
|
||||
XSLTPROC_FLAGS="$withval"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
# search for xsltproc if it wasn't specified
|
||||
if test "$ac_with_xsltproc" = "yes" -o "$ac_with_xsltproc" = "maybe"; then
|
||||
AC_PATH_PROGS(XSLTPROC,xsltproc)
|
||||
else
|
||||
if test "$ac_with_xsltproc" != "no"; then
|
||||
if test -x "$ac_with_xsltproc"; then
|
||||
XSLTPROC="$ac_with_xsltproc";
|
||||
else
|
||||
AC_MSG_WARN([Specified xsltproc of $ac_with_xsltproc isn't])
|
||||
AC_MSG_WARN([executable; searching for an alternative.])
|
||||
AC_PATH_PROGS(XSLTPROC,xsltproc)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
])
|
|
@ -48,9 +48,7 @@ dynare_m_SOURCES = \
|
|||
BlockTriangular.cc \
|
||||
BlockTriangular.hh \
|
||||
DynareMain.cc \
|
||||
DynareMain.hh \
|
||||
DynareMain2.cc \
|
||||
DynareMain2.hh \
|
||||
CodeInterpreter.hh
|
||||
|
||||
dynare_m_LDADD = macro/libmacro.a
|
||||
|
@ -61,5 +59,5 @@ DynareFlex.cc: DynareFlex.ll
|
|||
DynareBison.cc DynareBison.hh location.hh stack.hh position.hh: DynareBison.yy
|
||||
$(YACC) -o DynareBison.cc DynareBison.yy
|
||||
|
||||
all-am:
|
||||
all-local:
|
||||
cp $(PROGRAMS) ../matlab/
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
OCTAVE = @OCTAVE@
|
||||
|
||||
DYNARE_ROOT = @abs_top_srcdir@/matlab
|
||||
|
||||
DYNARE_VERSION = @PACKAGE_VERSION@
|
||||
DYNARE_ROOT = $(abs_top_srcdir)/matlab
|
||||
|
||||
# Under Octave we only test a subset of MOD files, because of missing features (models with unit roots, reading Excel files)
|
||||
OCTAVE_MODS = \
|
||||
|
@ -29,30 +25,36 @@ MODS = $(OCTAVE_MODS) \
|
|||
arima/mod2b.mod \
|
||||
fs2000/fs2000a.mod
|
||||
|
||||
check: check-octave check-matlab
|
||||
.PHONY: check
|
||||
EXTRA_DIST = $(MODS) \
|
||||
run_test_octave.m \
|
||||
fs2000\fsdat.m \
|
||||
bvar_a_la_sims\bvar_sample.m
|
||||
|
||||
TARGETS = check-matlab
|
||||
|
||||
if HAVE_OCTAVE
|
||||
TARGETS += check-octave
|
||||
endif
|
||||
|
||||
check-local: $(TARGETS)
|
||||
|
||||
check-octave: $(OCTAVE_MODS)
|
||||
ifdef OCTAVE
|
||||
@set -e; \
|
||||
for modfile in $(OCTAVE_MODS); do \
|
||||
GNUTERM=dumb $(OCTAVE) --norc --silent --no-history run_test_octave.m $$modfile $(DYNARE_ROOT) $(DYNARE_VERSION); \
|
||||
GNUTERM=dumb $(OCTAVE) --norc --silent --no-history run_test_octave.m $$modfile $(DYNARE_ROOT) $(PACKAGE_VERSION); \
|
||||
done
|
||||
endif
|
||||
.PHONY: check-octave
|
||||
|
||||
check-matlab: $(MODS)
|
||||
# MATLAB stuff to be added here
|
||||
.PHONY: check-matlab
|
||||
|
||||
clean:
|
||||
# Files generated by the preprocessor
|
||||
clean-local:
|
||||
rm -f $(patsubst %.mod, %.m, $(MODS)) \
|
||||
$(patsubst %.mod, %_static.m, $(MODS)) \
|
||||
$(patsubst %.mod, %_objective_static.m, $(MODS)) \
|
||||
$(patsubst %.mod, %_dynamic.m, $(MODS))
|
||||
|
||||
# Results
|
||||
rm -f $(patsubst %.mod, %_results.mat, $(MODS)) \
|
||||
$(patsubst %.mod, %_mode.mat, $(MODS)) \
|
||||
$(patsubst %.mod, %_mh_mode.mat, $(MODS)) \
|
||||
|
@ -62,25 +64,15 @@ clean:
|
|||
$(patsubst %.mod, %.log, $(MODS))
|
||||
rm -rf $(patsubst %.mod, %, $(MODS))
|
||||
|
||||
# Graphics
|
||||
rm -f $(patsubst %.mod, %*.pdf, $(MODS)) \
|
||||
$(patsubst %.mod, %*.eps, $(MODS)) \
|
||||
$(patsubst %.mod, %*.fig, $(MODS))
|
||||
|
||||
# Files generated by csminwel.m
|
||||
rm -f $(shell find -name g1.mat) \
|
||||
$(shell find -name g2.mat) \
|
||||
$(shell find -name g3.mat) \
|
||||
$(shell find -name H.dat)
|
||||
|
||||
# Generated data files
|
||||
rm -f arima/data1.m arima/data2.m
|
||||
|
||||
# Backup files
|
||||
rm -f $(shell find -name '*~')
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
# Recreate Makefile when necessary
|
||||
Makefile: Makefile.in ../config.status
|
||||
cd .. && ./config.status
|
Loading…
Reference in New Issue