/[GiNaC]/configure.ac
ViewVC logotype

Contents of /configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.29 - (hide annotations)
Mon Aug 14 15:48:15 2006 UTC (6 years, 10 months ago) by vollinga
Branch: MAIN
Changes since 1.28: +3 -0 lines
Fixed generation of tutorial and reference in html/pdf/ps format [A.Sheplyakov].

1 cbauer 1.1 dnl Process this file with autoconf to produce a configure script.
2    
3     dnl GiNaC library version information.
4     dnl
5     dnl Making releases:
6 vollinga 1.23 dnl ginac_micro_version += 1;
7     dnl ginac_interface_age += 1;
8     dnl ginac_binary_age += 1;
9     dnl if any functions have been added, set ginac_interface_age to 0.
10 cbauer 1.1 dnl if backwards compatibility has been broken,
11 vollinga 1.23 dnl set ginac_binary_age and ginac_interface_age to 0.
12    
13     m4_define([ginac_major_version], [1])
14     m4_define([ginac_minor_version], [4])
15     m4_define([ginac_micro_version], [0])
16     m4_define([ginac_version], [ginac_major_version.ginac_minor_version.ginac_micro_version])
17     m4_define([ginac_release], [ginac_major_version.ginac_minor_version])
18     m4_define([ginac_interface_age], [0])
19     m4_define([ginac_binary_age], [0])
20    
21 cbauer 1.24 AC_INIT([GiNaC], ginac_version, [<ginac-list@ginac.de>])
22 vollinga 1.23 AC_PREREQ(2.52)
23     AC_CONFIG_SRCDIR(ginac/basic.cpp)
24     AC_CONFIG_HEADERS(config.h)
25     dnl This defines PACKAGE and VERSION.
26     AM_INIT_AUTOMAKE([gnu 1.7 dist-bzip2])
27 cbauer 1.1
28 vollinga 1.23 dnl Process GiNaC version information
29     GINACLIB_MAJOR_VERSION=ginac_major_version
30     GINACLIB_MINOR_VERSION=ginac_minor_version
31     GINACLIB_MICRO_VERSION=ginac_micro_version
32     GINACLIB_VERSION=ginac_version
33 cbauer 1.1 AC_SUBST(GINACLIB_MAJOR_VERSION)
34     AC_SUBST(GINACLIB_MINOR_VERSION)
35     AC_SUBST(GINACLIB_MICRO_VERSION)
36     AC_SUBST(GINACLIB_VERSION)
37    
38     dnl GiNaC archive file version information.
39     dnl
40     dnl If properties have been added, ARCHIVE_VERSION += 1, ARCHIVE_AGE += 1.
41     dnl If backwards compatibility has been broken, set ARCHIVE_AGE to 0.
42     dnl
43     dnl The version number in newly created archives will be ARCHIVE_VERSION.
44     dnl Archives version (ARCHIVE_VERSION-ARCHIVE_AGE) thru ARCHIVE_VERSION can
45     dnl be read by this version of the GiNaC library.
46    
47 cbauer 1.18 ARCHIVE_VERSION=2
48     ARCHIVE_AGE=2
49 cbauer 1.1
50     AC_SUBST(ARCHIVE_VERSION)
51     AC_SUBST(ARCHIVE_AGE)
52     AC_DEFINE_UNQUOTED(ARCHIVE_VERSION, $ARCHIVE_VERSION, [Current GiNaC archive file version number])
53     AC_DEFINE_UNQUOTED(ARCHIVE_AGE, $ARCHIVE_AGE, [GiNaC archive file version age])
54    
55     dnl libtool versioning
56 vollinga 1.23 m4_define([lt_revision], [ginac_interface_age])
57     m4_define([lt_current], [m4_eval(ginac_micro_version - ginac_interface_age)])
58     m4_define([lt_age], [m4_eval(ginac_binary_age - ginac_interface_age)])
59     LT_VERSION_INFO="lt_current:lt_revision:lt_age"
60     LT_RELEASE="ginac_release"
61 cbauer 1.1
62 vollinga 1.23 AC_SUBST(LT_VERSION_INFO)
63 cbauer 1.1 AC_SUBST(LT_RELEASE)
64    
65    
66     dnl Check for the compiler and all the utilities needed for the build.
67     AC_PROG_CXX
68     AC_PROG_CXXCPP
69     AC_PROG_INSTALL
70     AM_PROG_LIBTOOL
71     AM_PROG_LEX
72     AC_PROG_YACC
73    
74     dnl Check for data types which are needed by the hash function
75     dnl (golden_ratio_hash).
76 chrisd 1.28 AC_CHECK_SIZEOF(int)
77     AC_CHECK_SIZEOF(long)
78     AC_CHECK_SIZEOF(long long)
79     AC_CHECK_SIZEOF(long double)
80     AC_CHECK_SIZEOF(void *)
81 cbauer 1.1
82     dnl Switch to C++ language mode for the following libraries and headers.
83     AC_LANG([C++])
84    
85     dnl Check for stuff needed for building the GiNaC interactive shell (ginsh).
86     AC_CHECK_HEADERS(unistd.h)
87 kreckel 1.25 GINAC_HAVE_RUSAGE
88 cbauer 1.1 AC_CHECK_HEADERS(readline/readline.h readline/history.h)
89     if test "x${ac_cv_header_readline_readline_h}" != "xyes" -o "x${ac_cv_header_readline_history_h}" != "xyes"; then
90     GINAC_WARNING([I could not find the headers for libreadline (needed for building ginsh).])
91     fi
92     GINAC_TERMCAP
93     save_LIBS=$LIBS
94     LIBS="$LIBTERMCAP $LIBS"
95     AC_CHECK_LIB(readline, readline)
96     if test "x${ac_cv_lib_readline_readline}" = "xyes"; then
97     GINAC_LIB_READLINE_VERSION
98     else
99     GINAC_WARNING([I could not find libreadline (needed by ginsh).])
100     fi
101     GINSH_LIBS=$LIBS
102     LIBS=$save_LIBS
103     AC_SUBST(GINSH_LIBS)
104    
105     dnl Make sure all the necessary standard headers are installed on the system.
106     AC_CHECK_HEADER(iosfwd, , GINAC_ERROR([The standard <iosfwd> header file could not be found.]))
107     AC_CHECK_HEADER(iostream, , GINAC_ERROR([The standard <iostream> header file could not be found.]))
108     AC_CHECK_HEADER(vector, , GINAC_ERROR([The standard <vector> header file could not be found.]))
109     AC_CHECK_HEADER(list, , GINAC_ERROR([The standard <list> header file could not be found.]))
110     AC_CHECK_HEADER(map, , GINAC_ERROR([The standard <map> header file could not be found.]))
111     AC_CHECK_HEADER(string, , GINAC_ERROR([The standard <string> header file could not be found.]))
112     AC_CHECK_HEADER(sstream, , GINAC_ERROR([The standard <sstream> header file could not be found.]))
113     AC_CHECK_HEADER(typeinfo, , GINAC_ERROR([The standard <typeinfo> header file could not be found.]))
114     AC_CHECK_HEADER(stdexcept, , GINAC_ERROR([The standard <stdexcept> header file could not be found.]))
115     AC_CHECK_HEADER(algorithm, , GINAC_ERROR([The standard <algorithm> header file could not be found.]))
116 cbauer 1.17 AC_CHECK_HEADER(limits, , GINAC_ERROR([The standard <limits> header file could not be found.]))
117 kreckel 1.25 if test "x$CONFIG_RUSAGE" = "xno"; then
118     AC_CHECK_HEADER(ctime, , GINAC_ERROR([The standard <ctime> header file could not be found.]))
119     fi
120 cbauer 1.1
121 vollinga 1.27 dnl Check for dl library (needed for GiNaC::compile).
122     AC_CHECK_LIB(dl, dlopen,
123     [
124     DL_LIBS="-ldl"
125     AC_SUBST(DL_LIBS)
126     AC_DEFINE(HAVE_LIBDL, 1, [set to 1 if you have a working libdl installed.])
127     ],
128     GINAC_WARNING([libdl not found. GiNaC::compile will be disabled.]))
129     LIBS="$LIBS $DL_LIBS"
130    
131 cbauer 1.1 dnl We need to have Bruno Haible's CLN installed.
132     dnl (CLN versions >= 1.1.0 must have installed cln.m4 at a visible place,
133     dnl which provides this macro):
134     AC_PATH_CLN(1.1.0, [
135     LIBS="$LIBS $CLN_LIBS"
136     CPPFLAGS="$CPPFLAGS $CLN_CPPFLAGS"
137     ], GINAC_ERROR([No suitable installed version of CLN could be found.]))
138    
139     dnl Expand the cppflags and libraries needed by apps using GiNaC
140     GINACLIB_CPPFLAGS=$CPPFLAGS
141     GINACLIB_LIBS=$LIBS
142     AC_SUBST(GINACLIB_CPPFLAGS)
143     AC_SUBST(GINACLIB_LIBS)
144    
145     dnl Check for utilities needed by the different kinds of documentation.
146 kreckel 1.2 dnl Documentation needs only be built when extending it, so never mind if it
147 cbauer 1.1 dnl cannot find those helpers:
148     AC_PATH_PROG(DOXYGEN, doxygen, "")
149 vollinga 1.29 AM_CONDITIONAL(CONFIG_DOXYGEN, [test ! -z "$DOXYGEN"])
150 cbauer 1.1 AC_PATH_PROG(LATEX, latex, "")
151 cbauer 1.21 AC_PATH_PROG(PDFLATEX, pdflatex, "")
152 cbauer 1.1 AC_PATH_PROG(MAKEINDEX, makeindex, "")
153     AC_PATH_PROG(DVIPS, dvips, "")
154 vollinga 1.29 AM_CONDITIONAL(CONFIG_TEX, [test ! \( -z "$LATEX" -o -z $"PDFLATEX" -o -z "$MAKEINDEX" -o -z "$DVIPS" \)])
155 cbauer 1.1 AC_PATH_PROG(FIG2DEV, fig2dev, "")
156 vollinga 1.29 AM_CONDITIONAL(CONFIG_FIG2DEV, [test ! -z "$FIG2DEV"])
157 cbauer 1.1
158     dnl Output makefiles etc.
159     AC_CONFIG_FILES([
160     Makefile
161     GiNaC.spec
162     ginac-config
163     ginac-config.1
164 cbauer 1.19 ginac.pc
165 cbauer 1.1 ginac/Makefile
166     ginac/version.h
167     check/Makefile
168     ginsh/Makefile
169     ginsh/ginsh.1
170     tools/Makefile
171     tools/viewgar.1
172 vollinga 1.27 tools/ginac-excompiler
173 cbauer 1.1 doc/Makefile
174 vollinga 1.26 doc/examples/Makefile
175 cbauer 1.1 doc/tutorial/Makefile
176     doc/reference/Makefile
177 cbauer 1.21 doc/reference/DoxyfileHTML
178     doc/reference/DoxyfileTEX
179     doc/reference/DoxyfilePDF
180     doc/reference/Doxyfooter
181 cbauer 1.1 ])
182     AC_CONFIG_COMMANDS([default],[[chmod +x ginac-config]],[[]])
183     AC_OUTPUT
184     dnl Display a final warning if there has been a GINAC_ERROR or a GINAC_WARNING
185     GINAC_CHECK_ERRORS

Christian Bauer">Christian Bauer
ViewVC Help
Powered by ViewVC 1.1.15