Drop autoconf/automake build system
parent
7b8fed192d
commit
5104759bd5
|
@ -1,66 +1 @@
|
|||
# For checking that no file has been unduly ignored, run:
|
||||
# $ git ls-files -i --exclude-per-directory=.gitignore
|
||||
# Any file that is displayed should be removed from the ignore list
|
||||
# (possibly by an exclusion rule beginning with an exclamation mark)
|
||||
|
||||
# Generic ignore rules
|
||||
*~
|
||||
*.o
|
||||
*.a
|
||||
*.fig
|
||||
\#*\#
|
||||
*.txt
|
||||
|
||||
# Build system rules
|
||||
build-aux/*
|
||||
.deps
|
||||
Makefile
|
||||
Makefile.in
|
||||
configure
|
||||
config.log
|
||||
config.status
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
TAGS
|
||||
|
||||
/src/dynare-preprocessor
|
||||
/src/dynare-preprocessor.exe
|
||||
/src/DynareBison.cc
|
||||
/src/DynareBison.hh
|
||||
/src/DynareBisonLocation.hh
|
||||
/src/FlexLexer.h
|
||||
/src/DynareFlex.cc
|
||||
/src/macro/Parser.cc
|
||||
/src/macro/Parser.hh
|
||||
/src/macro/ParserLocation.hh
|
||||
/src/macro/Tokenizer.cc
|
||||
/src/doc/
|
||||
|
||||
# Symlinks created by Dynare/MATLAB’s main Makefile.am
|
||||
/dynare-preprocessor
|
||||
/dynare-preprocessor.exe
|
||||
|
||||
# macOS stuff
|
||||
.DS_Store
|
||||
|
||||
# Doc rules
|
||||
*.pdf
|
||||
*.aux
|
||||
*.log
|
||||
*.nav
|
||||
*.out
|
||||
*.snm
|
||||
*.toc
|
||||
*.vrb
|
||||
!/doc/macroprocessor/new-design.pdf
|
||||
!/doc/macroprocessor/old-design.pdf
|
||||
|
||||
# test files
|
||||
checksum
|
||||
*.mod
|
||||
*.tex
|
||||
*.json
|
||||
+*
|
||||
|
||||
# Bison verbose output file
|
||||
*.output
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
SUBDIRS = src doc
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
EXTRA_DIST = COPYING
|
||||
|
||||
dist-hook:
|
||||
rm -rf `find $(distdir) -name '.git*'`
|
||||
|
130
configure.ac
130
configure.ac
|
@ -1,130 +0,0 @@
|
|||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
dnl Copyright © 2009-2022 Dynare Team
|
||||
dnl
|
||||
dnl This file is part of Dynare.
|
||||
dnl
|
||||
dnl Dynare is free software: you can redistribute it and/or modify
|
||||
dnl it under the terms of the GNU General Public License as published by
|
||||
dnl the Free Software Foundation, either version 3 of the License, or
|
||||
dnl (at your option) any later version.
|
||||
dnl
|
||||
dnl Dynare is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
dnl GNU General Public License for more details.
|
||||
dnl
|
||||
dnl You should have received a copy of the GNU General Public License
|
||||
dnl along with Dynare. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
AC_PREREQ([2.62])
|
||||
AC_INIT([dynare-preprocessor], [6-unstable])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_SRCDIR([src/DynareMain.cc])
|
||||
AM_INIT_AUTOMAKE([1.11 -Wall -Wno-portability foreign no-dist-gzip dist-xz tar-pax])
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
case ${host_os} in
|
||||
*mingw32*)
|
||||
# On Windows, we don't want dynamic linking
|
||||
AM_LDFLAGS="-static"
|
||||
AC_SUBST([AM_LDFLAGS])
|
||||
;;
|
||||
*cygwin*)
|
||||
AC_MSG_WARN([You are compiling for the Cygwin target. This means that the preprocessor will])
|
||||
AC_MSG_WARN([not run from MATLAB unless you add the Cygwin DLL to the path.])
|
||||
AC_MSG_WARN([This is probably not what you want. Consider using a MinGW cross-compiler.])
|
||||
;;
|
||||
esac
|
||||
|
||||
# Use C++ for testing headers
|
||||
AC_LANG([C++])
|
||||
|
||||
AM_CXXFLAGS="-std=gnu++20 -Wall -Wextra -Wold-style-cast"
|
||||
AC_SUBST([AM_CXXFLAGS])
|
||||
|
||||
# If default 'ar' is not available, try to find one with a host prefix (see ticket #145)
|
||||
AC_CHECK_PROGS([AR], [ar ${host_alias}-ar])
|
||||
|
||||
AC_PROG_RANLIB
|
||||
AM_PROG_AR
|
||||
|
||||
AM_PROG_LEX
|
||||
# Hack to get lex include dir, ticket #575
|
||||
AC_SUBST([LEXINC], [$(echo "$(dirname "$(which $LEX)")"/../include)])
|
||||
|
||||
AC_CHECK_PROG([YACC], [bison], [bison])
|
||||
if test -z "$YACC"; then
|
||||
unset YACC # AM_MISSING_PROG needs an unset variable: an empty variable won't do
|
||||
AM_MISSING_PROG([YACC], [bison])
|
||||
fi
|
||||
|
||||
# We need 1.36 because of unordered_{set,hash} used by Dynare++
|
||||
AX_BOOST_BASE([1.36], [], [AC_MSG_ERROR([Can't find Boost >= 1.36])])
|
||||
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
AC_CHECK_HEADERS([boost/graph/adjacency_list.hpp], [], [AC_MSG_ERROR([Can't find Boost Graph Library])])
|
||||
AC_CHECK_HEADERS([boost/algorithm/string/trim.hpp], [], [AC_MSG_ERROR([Can't find Boost String Library])])
|
||||
AC_CHECK_HEADERS([boost/algorithm/string/split.hpp], [], [AC_MSG_ERROR([Can't find Boost String Library])])
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
|
||||
# Don't use deprecated hash structures
|
||||
AC_DEFINE([BOOST_NO_HASH], [], [Don't use deprecated STL hash structures])
|
||||
|
||||
# Check if internal documentation can be built
|
||||
AC_CHECK_PROG([DOXYGEN], [doxygen], [doxygen])
|
||||
AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
|
||||
|
||||
# Check if user documentation can be built
|
||||
AC_ARG_ENABLE([doc], AS_HELP_STRING([--disable-doc], [disable compilation of documentation]), [], [enable_doc=yes])
|
||||
AM_CONDITIONAL([ENABLE_DOC], [test "$enable_doc" = yes])
|
||||
|
||||
if test "$enable_doc" = yes; then
|
||||
AC_CHECK_PROG([PDFLATEX], [pdflatex], [pdflatex], [no])
|
||||
test "$PDFLATEX" = no && AC_MSG_ERROR([pdflatex cannot be found. If you want to skip the compilation of the documentation, pass the --disable-doc flag.])
|
||||
AC_CHECK_PROG([BIBTEX], [bibtex], [bibtex], [no])
|
||||
test "$BIBTEX" = no && AC_MSG_ERROR([bibtex cannot be found. If you want to skip the compilation of the documentation, pass the --disable-doc flag.])
|
||||
AX_LATEX_CLASS([beamer], [ax_latex_have_beamer], [], [AC_MSG_ERROR([beamer cannot be found. If you want to skip the compilation of the documentation, pass the --disable-doc flag.])])
|
||||
fi
|
||||
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
src/Makefile
|
||||
src/macro/Makefile
|
||||
doc/Makefile
|
||||
doc/preprocessor/Makefile
|
||||
doc/macroprocessor/Makefile
|
||||
])
|
||||
|
||||
if test -n "$DOXYGEN"; then
|
||||
BUILD_INTERNAL_DOC="yes"
|
||||
else
|
||||
BUILD_INTERNAL_DOC="no (missing doxygen)"
|
||||
fi
|
||||
|
||||
if test "$enable_doc" = yes; then
|
||||
BUILD_DOC="yes"
|
||||
else
|
||||
BUILD_DOC="no"
|
||||
fi
|
||||
|
||||
AC_MSG_NOTICE([
|
||||
|
||||
The Dynare Preprocessor is now configured to build...
|
||||
|
||||
Binaries (with "make")
|
||||
Dynare preprocessor: yes
|
||||
|
||||
PDF documentation (with "make pdf"):
|
||||
Preprocessor & Macroprocessor presentations: $BUILD_DOC
|
||||
|
||||
HTML documentation (with "make html"):
|
||||
Dynare preprocessor internal doc: $BUILD_INTERNAL_DOC
|
||||
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
|
@ -1,3 +0,0 @@
|
|||
SUBDIRS = preprocessor macroprocessor
|
||||
|
||||
EXTRA_DIST = logos
|
|
@ -1,14 +0,0 @@
|
|||
if ENABLE_DOC
|
||||
pdf-local: macroprocessor.pdf
|
||||
endif
|
||||
|
||||
SRC = macroprocessor.tex 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 @@
|
|||
if ENABLE_DOC
|
||||
pdf-local: preprocessor.pdf
|
||||
endif
|
||||
|
||||
SRC = preprocessor.tex expr.png expr-sharing.png matrices.png overview.png json-preprocessor.png
|
||||
|
||||
EXTRA_DIST = $(SRC)
|
||||
|
||||
preprocessor.pdf: $(SRC)
|
||||
$(PDFLATEX) preprocessor
|
||||
$(PDFLATEX) preprocessor
|
||||
|
||||
clean-local:
|
||||
rm -f *.pdf *.toc *.aux *.log *.nav *.snm *.vrb *.out *~
|
|
@ -1,303 +0,0 @@
|
|||
# ===========================================================================
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_boost_base.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_BOOST_BASE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
#
|
||||
# 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>
|
||||
# Copyright (c) 2009 Peter Adolphs
|
||||
#
|
||||
# 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. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 49
|
||||
|
||||
# example boost program (need to pass version)
|
||||
m4_define([_AX_BOOST_BASE_PROGRAM],
|
||||
[AC_LANG_PROGRAM([[
|
||||
#include <boost/version.hpp>
|
||||
]],[[
|
||||
(void) ((void)sizeof(char[1 - 2*!!((BOOST_VERSION) < ($1))]));
|
||||
]])])
|
||||
|
||||
AC_DEFUN([AX_BOOST_BASE],
|
||||
[
|
||||
AC_ARG_WITH([boost],
|
||||
[AS_HELP_STRING([--with-boost@<:@=ARG@:>@],
|
||||
[use Boost library from a standard location (ARG=yes),
|
||||
from the specified location (ARG=<path>),
|
||||
or disable it (ARG=no)
|
||||
@<:@ARG=yes@:>@ ])],
|
||||
[
|
||||
AS_CASE([$withval],
|
||||
[no],[want_boost="no";_AX_BOOST_BASE_boost_path=""],
|
||||
[yes],[want_boost="yes";_AX_BOOST_BASE_boost_path=""],
|
||||
[want_boost="yes";_AX_BOOST_BASE_boost_path="$withval"])
|
||||
],
|
||||
[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 override library path detection,
|
||||
so use this parameter only if default library detection fails
|
||||
and you know exactly where your boost libraries are located.])],
|
||||
[
|
||||
AS_IF([test -d "$withval"],
|
||||
[_AX_BOOST_BASE_boost_lib_path="$withval"],
|
||||
[AC_MSG_ERROR([--with-boost-libdir expected directory name])])
|
||||
],
|
||||
[_AX_BOOST_BASE_boost_lib_path=""])
|
||||
|
||||
BOOST_LDFLAGS=""
|
||||
BOOST_CPPFLAGS=""
|
||||
AS_IF([test "x$want_boost" = "xyes"],
|
||||
[_AX_BOOST_BASE_RUNDETECT([$1],[$2],[$3])])
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
AC_SUBST(BOOST_LDFLAGS)
|
||||
])
|
||||
|
||||
|
||||
# convert a version string in $2 to numeric and affect to polymorphic var $1
|
||||
AC_DEFUN([_AX_BOOST_BASE_TONUMERICVERSION],[
|
||||
AS_IF([test "x$2" = "x"],[_AX_BOOST_BASE_TONUMERICVERSION_req="1.20.0"],[_AX_BOOST_BASE_TONUMERICVERSION_req="$2"])
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_req_shorten=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\.[[0-9]]*\)'`
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_req_major=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\)'`
|
||||
AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_major" = "x"],
|
||||
[AC_MSG_ERROR([You should at least specify libboost major version])])
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_req_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.\([[0-9]]*\)'`
|
||||
AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_minor" = "x"],
|
||||
[_AX_BOOST_BASE_TONUMERICVERSION_req_minor="0"])
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
|
||||
AS_IF([test "X$_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor" = "X"],
|
||||
[_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor="0"])
|
||||
_AX_BOOST_BASE_TONUMERICVERSION_RET=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req_major \* 100000 \+ $_AX_BOOST_BASE_TONUMERICVERSION_req_minor \* 100 \+ $_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor`
|
||||
AS_VAR_SET($1,$_AX_BOOST_BASE_TONUMERICVERSION_RET)
|
||||
])
|
||||
|
||||
dnl Run the detection of boost should be run only if $want_boost
|
||||
AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[
|
||||
_AX_BOOST_BASE_TONUMERICVERSION(WANT_BOOST_VERSION,[$1])
|
||||
succeeded=no
|
||||
|
||||
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
dnl On 64-bit systems check for system libraries in both lib64 and lib.
|
||||
dnl The former is specified by FHS, but e.g. Debian does not adhere to
|
||||
dnl this (as it rises problems for generic multi-arch support).
|
||||
dnl The last entry in the list is chosen by default when no libraries
|
||||
dnl are found, e.g. when only header-only libraries are installed!
|
||||
AS_CASE([${host_cpu}],
|
||||
[x86_64],[libsubdirs="lib64 libx32 lib lib64"],
|
||||
[mips*64*],[libsubdirs="lib64 lib32 lib lib64"],
|
||||
[ppc64|powerpc64|s390x|sparc64|aarch64|ppc64le|powerpc64le|riscv64|e2k],[libsubdirs="lib64 lib lib64"],
|
||||
[libsubdirs="lib"]
|
||||
)
|
||||
|
||||
dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give
|
||||
dnl them priority over the other paths since, if libs are found there, they
|
||||
dnl are almost assuredly the ones desired.
|
||||
AS_CASE([${host_cpu}],
|
||||
[i?86],[multiarch_libsubdir="lib/i386-${host_os}"],
|
||||
[armv7l],[multiarch_libsubdir="lib/arm-${host_os}"],
|
||||
[multiarch_libsubdir="lib/${host_cpu}-${host_os}"]
|
||||
)
|
||||
|
||||
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
|
||||
AS_IF([test "x$_AX_BOOST_BASE_boost_path" != "x"],[
|
||||
AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION) includes in "$_AX_BOOST_BASE_boost_path/include"])
|
||||
AS_IF([test -d "$_AX_BOOST_BASE_boost_path/include" && test -r "$_AX_BOOST_BASE_boost_path/include"],[
|
||||
AC_MSG_RESULT([yes])
|
||||
BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path/include"
|
||||
for _AX_BOOST_BASE_boost_path_tmp in $multiarch_libsubdir $libsubdirs; do
|
||||
AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION) lib path in "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp"])
|
||||
AS_IF([test -d "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp" && test -r "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp" ],[
|
||||
AC_MSG_RESULT([yes])
|
||||
BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp";
|
||||
break;
|
||||
],
|
||||
[AC_MSG_RESULT([no])])
|
||||
done],[
|
||||
AC_MSG_RESULT([no])])
|
||||
],[
|
||||
if test X"$cross_compiling" = Xyes; then
|
||||
search_libsubdirs=$multiarch_libsubdir
|
||||
else
|
||||
search_libsubdirs="$multiarch_libsubdir $libsubdirs"
|
||||
fi
|
||||
for _AX_BOOST_BASE_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$_AX_BOOST_BASE_boost_path_tmp/include/boost" && test -r "$_AX_BOOST_BASE_boost_path_tmp/include/boost" ; then
|
||||
for libsubdir in $search_libsubdirs ; do
|
||||
if ls "$_AX_BOOST_BASE_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path_tmp/$libsubdir"
|
||||
BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path_tmp/include"
|
||||
break;
|
||||
fi
|
||||
done
|
||||
])
|
||||
|
||||
dnl overwrite ld flags if we have required special directory with
|
||||
dnl --with-boost-libdir parameter
|
||||
AS_IF([test "x$_AX_BOOST_BASE_boost_lib_path" != "x"],
|
||||
[BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_lib_path"])
|
||||
|
||||
AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION)])
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([_AX_BOOST_BASE_PROGRAM($WANT_BOOST_VERSION)],[
|
||||
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
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
BOOST_CPPFLAGS=
|
||||
if test -z "$_AX_BOOST_BASE_boost_lib_path" ; then
|
||||
BOOST_LDFLAGS=
|
||||
fi
|
||||
_version=0
|
||||
if test -n "$_AX_BOOST_BASE_boost_path" ; then
|
||||
if test -d "$_AX_BOOST_BASE_boost_path" && test -r "$_AX_BOOST_BASE_boost_path"; then
|
||||
for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
V_CHECK=`expr $_version_tmp \> $_version`
|
||||
if test "x$V_CHECK" = "x1" ; then
|
||||
_version=$_version_tmp
|
||||
fi
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path/include/boost-$VERSION_UNDERSCORE"
|
||||
done
|
||||
dnl if nothing found search for layout used in Windows distributions
|
||||
if test -z "$BOOST_CPPFLAGS"; then
|
||||
if test -d "$_AX_BOOST_BASE_boost_path/boost" && test -r "$_AX_BOOST_BASE_boost_path/boost"; then
|
||||
BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path"
|
||||
fi
|
||||
fi
|
||||
dnl if we found something and BOOST_LDFLAGS was unset before
|
||||
dnl (because "$_AX_BOOST_BASE_boost_lib_path" = ""), set it here.
|
||||
if test -n "$BOOST_CPPFLAGS" && test -z "$BOOST_LDFLAGS"; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$_AX_BOOST_BASE_boost_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path/$libsubdir"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test "x$cross_compiling" != "xyes" ; then
|
||||
for _AX_BOOST_BASE_boost_path in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$_AX_BOOST_BASE_boost_path" && test -r "$_AX_BOOST_BASE_boost_path" ; then
|
||||
for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
V_CHECK=`expr $_version_tmp \> $_version`
|
||||
if test "x$V_CHECK" = "x1" ; then
|
||||
_version=$_version_tmp
|
||||
best_path=$_AX_BOOST_BASE_boost_path
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
|
||||
if test -z "$_AX_BOOST_BASE_boost_lib_path" ; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
BOOST_LDFLAGS="-L$best_path/$libsubdir"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$BOOST_ROOT" ; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; 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 "x$V_CHECK" = "x1" && test -z "$_AX_BOOST_BASE_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/$libsubdir"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([_AX_BOOST_BASE_PROGRAM($WANT_BOOST_VERSION)],[
|
||||
AC_MSG_RESULT(yes)
|
||||
succeeded=yes
|
||||
found_system=yes
|
||||
],[
|
||||
])
|
||||
AC_LANG_POP([C++])
|
||||
fi
|
||||
|
||||
if test "x$succeeded" != "xyes" ; then
|
||||
if test "x$_version" = "x0" ; then
|
||||
AC_MSG_NOTICE([[We could not detect the boost libraries (version $1 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
|
||||
# execute ACTION-IF-NOT-FOUND (if present):
|
||||
ifelse([$3], , :, [$3])
|
||||
else
|
||||
AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
|
||||
# execute ACTION-IF-FOUND (if present):
|
||||
ifelse([$2], , :, [$2])
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
|
||||
])
|
|
@ -1,68 +0,0 @@
|
|||
# ===========================================================================
|
||||
# http://www.nongnu.org/autoconf-archive/ax_latex_class.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# OBSOLETE MACRO
|
||||
#
|
||||
# Deprecated because of licensing issues. The Lesser GPL imposes licensing
|
||||
# restrictions on the generated configure script unless it is augmented
|
||||
# with an Autoconf Exception clause.
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_LATEX_CLASS(CLASSNAME,VARIABLETOSET[,ACTION-IF-FOUND[,ACTION-IF-NOT-FOUND]])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# This macros test is class CLASSNAME exists and work and set
|
||||
# VARIABLETOSET to yes or no If ACTION-IF-FOUND (and ACTION-IF-NOT-FOUND)
|
||||
# are set, do the correct action
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright © 2008 Boretti Mathieu <boretti@eig.unige.ch>
|
||||
# Copyright © 2009 Dynare Team
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# This library 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 Lesser
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
AC_DEFUN([AX_LATEX_CLASS],[
|
||||
AC_CACHE_CHECK([for usability of class $1],[ac_cv_latex_class_]translit($1,[-],[_]),[
|
||||
AX_LATEX_TEST([\documentclass{$1}
|
||||
\begin{document}
|
||||
\end{document}],[ac_cv_latex_class_]translit($1,[-],[_]))
|
||||
])
|
||||
$2=$[ac_cv_latex_class_]translit($1,[-],[_]) ; export $2;
|
||||
AC_SUBST($2)
|
||||
ifelse($#,2,[],$#,3,[
|
||||
if test "[$]$2" = "yes" ;
|
||||
then
|
||||
$3
|
||||
fi
|
||||
],$#,4,[
|
||||
ifelse($3,[],[
|
||||
if test "[$]$2" = "no" ;
|
||||
then
|
||||
$4
|
||||
fi
|
||||
],[
|
||||
if test "[$]$2" = "yes" ;
|
||||
then
|
||||
$3
|
||||
else
|
||||
$4
|
||||
fi
|
||||
])
|
||||
])
|
||||
|
||||
])
|
|
@ -1,56 +0,0 @@
|
|||
# ===========================================================================
|
||||
# http://www.nongnu.org/autoconf-archive/ax_latex_test.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# OBSOLETE MACRO
|
||||
#
|
||||
# Deprecated because of licensing issues. The Lesser GPL imposes licensing
|
||||
# restrictions on the generated configure script unless it is augmented
|
||||
# with an Autoconf Exception clause.
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_LATEX_TEST(FILEDATA,VARIABLETOSET,[NOCLEAN])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# This macros execute the latex application with FILEDATA as input and set
|
||||
# VARIABLETOSET the yes or no depending of the result if NOCLEAN is set,
|
||||
# the folder used for the test is not delete after testing.
|
||||
#
|
||||
# The macro assumes that the variable PDFLATEX is set.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright © 2008 Boretti Mathieu <boretti@eig.unige.ch>
|
||||
# Copyright © 2009 Dynare Team
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# This library 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 Lesser
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
AC_DEFUN([AX_LATEX_TEST],[
|
||||
rm -rf conftest.dir/.acltx
|
||||
AS_MKDIR_P([conftest.dir/.acltx])
|
||||
cd conftest.dir/.acltx
|
||||
m4_ifval([$2],[$2="no"; export $2;])
|
||||
cat > conftest.tex << ACLEOF
|
||||
$1
|
||||
ACLEOF
|
||||
cat conftest.tex | $PDFLATEX 2>&1 1>output m4_ifval([$2],[&& $2=yes])
|
||||
cd ..
|
||||
cd ..
|
||||
sed 's/^/| /' conftest.dir/.acltx/conftest.tex >&5
|
||||
echo "$as_me:$LINENO: executing cat conftest.tex | $PDFLATEX" >&5
|
||||
sed 's/^/| /' conftest.dir/.acltx/output >&5
|
||||
m4_ifval([$3],,[rm -rf conftest.dir/.acltx])
|
||||
])
|
100
src/Makefile.am
100
src/Makefile.am
|
@ -1,100 +0,0 @@
|
|||
SUBDIRS = macro
|
||||
|
||||
BUILT_SOURCES = DynareBison.hh DynareBisonLocation.hh DynareBison.cc DynareFlex.cc FlexLexer.h
|
||||
|
||||
bin_PROGRAMS = dynare-preprocessor
|
||||
|
||||
# We don't put BUILT_SOURCES in dynare_preprocessor_SOURCES, otherwise DynareBison.o and DynareFlex.o will be linked two times (Automake translates DynareFlex.ll and DynareBison.yy into their respective .o); so BUILT_SOURCES is in EXTRA_DIST
|
||||
dynare_preprocessor_SOURCES = \
|
||||
DynareFlex.ll \
|
||||
DynareBison.yy \
|
||||
ComputingTasks.cc \
|
||||
ComputingTasks.hh \
|
||||
EquationTags.cc \
|
||||
EquationTags.hh \
|
||||
ModelTree.cc \
|
||||
ModelTree.hh \
|
||||
StaticModel.cc \
|
||||
StaticModel.hh \
|
||||
DynamicModel.cc \
|
||||
DynamicModel.hh \
|
||||
NumericalConstants.cc \
|
||||
NumericalConstants.hh \
|
||||
NumericalInitialization.cc \
|
||||
NumericalInitialization.hh \
|
||||
Shocks.cc \
|
||||
Shocks.hh \
|
||||
SymbolTable.cc \
|
||||
SymbolTable.hh \
|
||||
SymbolList.cc \
|
||||
SymbolList.hh \
|
||||
ParsingDriver.cc \
|
||||
ParsingDriver.hh \
|
||||
DataTree.cc \
|
||||
DataTree.hh \
|
||||
ModFile.cc \
|
||||
ModFile.hh \
|
||||
ConfigFile.cc \
|
||||
ConfigFile.hh \
|
||||
Statement.cc \
|
||||
Statement.hh \
|
||||
ExprNode.cc \
|
||||
ExprNode.hh \
|
||||
VariableDependencyGraph.cc \
|
||||
VariableDependencyGraph.hh \
|
||||
DynareMain.cc \
|
||||
MacroExpandModFile.cc \
|
||||
Bytecode.cc \
|
||||
Bytecode.hh \
|
||||
ExternalFunctionsTable.cc \
|
||||
ExternalFunctionsTable.hh \
|
||||
ModelEquationBlock.hh \
|
||||
ModelEquationBlock.cc \
|
||||
WarningConsolidation.hh \
|
||||
WarningConsolidation.cc \
|
||||
ExtendedPreprocessorTypes.hh \
|
||||
SubModel.cc \
|
||||
SubModel.hh \
|
||||
CommonEnums.hh
|
||||
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
EXTRA_DIST = \
|
||||
Doxyfile \
|
||||
dynare-preprocessor-gdb.py \
|
||||
$(BUILT_SOURCES)
|
||||
|
||||
# The -I. is for <FlexLexer.h>
|
||||
dynare_preprocessor_CPPFLAGS = $(BOOST_CPPFLAGS) -I.
|
||||
dynare_preprocessor_LDFLAGS = $(AM_LDFLAGS) $(BOOST_LDFLAGS)
|
||||
# -lpthread is no longer necessary for glibc ⩾ 2.34 (i.e. Debian “bookworm” 12)
|
||||
dynare_preprocessor_LDADD = macro/libmacro.a -lpthread
|
||||
|
||||
# -Ca flag comes from hitting a hard-coded size limit.
|
||||
# Partial explanation: https://www.owlfolio.org/possibly-useful/flex-input-scanner-rules-are-too-complicated
|
||||
# There is a Debian bug report about this: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642040
|
||||
DynareFlex.cc: DynareFlex.ll
|
||||
$(LEX) -Ca -o DynareFlex.cc DynareFlex.ll
|
||||
|
||||
FlexLexer.h:
|
||||
cp $(LEXINC)/FlexLexer.h . || test -f ./FlexLexer.h
|
||||
|
||||
dynare_preprocessor-DynareFlex.$(OBJEXT): CXXFLAGS += -Wno-old-style-cast
|
||||
|
||||
# We do not use a multiple target rule for Bison, because otherwise it will be
|
||||
# run several times in parallel builds
|
||||
DynareBison.cc: DynareBison.yy
|
||||
$(YACC) -W -o $@ $<
|
||||
|
||||
DynareBison.hh DynareBisonLocation.hh: DynareBison.cc
|
||||
|
||||
all-local: $(PROGRAMS)
|
||||
|
||||
if HAVE_DOXYGEN
|
||||
html-local:
|
||||
$(DOXYGEN)
|
||||
endif
|
||||
|
||||
clean-local:
|
||||
rm -rf doc/html/
|
|
@ -1,34 +0,0 @@
|
|||
noinst_LIBRARIES = libmacro.a
|
||||
|
||||
BUILT_SOURCES = Parser.hh ParserLocation.hh Parser.cc Tokenizer.cc
|
||||
|
||||
# We don't put BUILT_SOURCES in libmacro_a_SOURCES, otherwise Parser.o and Tokenizer.o will be linked two times (Automake translates Tokenizer.ll and Parser.yy into their respective .o); so BUILT_SOURCES is in EXTRA_DIST
|
||||
libmacro_a_SOURCES = \
|
||||
Tokenizer.ll \
|
||||
Parser.yy \
|
||||
ForwardDeclarationsAndEnums.hh \
|
||||
Driver.cc \
|
||||
Driver.hh \
|
||||
Environment.cc \
|
||||
Environment.hh \
|
||||
Expressions.cc \
|
||||
Expressions.hh \
|
||||
Directives.cc \
|
||||
Directives.hh
|
||||
|
||||
EXTRA_DIST = $(BUILT_SOURCES)
|
||||
|
||||
# The -I.. is for <FlexLexer.h>
|
||||
libmacro_a_CPPFLAGS = $(BOOST_CPPFLAGS) -I..
|
||||
|
||||
Tokenizer.cc: Tokenizer.ll
|
||||
$(LEX) -o Tokenizer.cc Tokenizer.ll
|
||||
|
||||
libmacro_a-Tokenizer.$(OBJEXT): CXXFLAGS += -Wno-old-style-cast
|
||||
|
||||
# We do not use a multiple target rule for Bison, because otherwise it will be
|
||||
# run several times in parallel builds
|
||||
Parser.cc: Parser.yy
|
||||
$(YACC) -W -o $@ $<
|
||||
|
||||
Parser.hh ParserLocation.hh: Parser.cc
|
Loading…
Reference in New Issue