source: trunk/configure.ac @ 559

Last change on this file since 559 was 559, checked in by Peter Johansson, 13 years ago

delete configure output about --enable-wctest since this option is removed

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 9.3 KB
Line 
1## Process this file with autoconf to produce a configure script.
2##
3## $Id: configure.ac 559 2008-02-09 16:23:41Z peter $
4##
5## If you grabbed the source from subversion you should, at top-level,
6## execute:
7##          ./bootstrap
8## To push subsequent changes of this file into the build scripts you
9## must issue:
10##          autoreconf
11
12# Copyright (C) 2005 Jari Häkkinen, Peter Johansson
13# Copyright (C) 2006 Jari Häkkinen
14# Copyright (C) 2007, 2008 Jari Häkkinen, Peter Johansson
15#
16# This file is part of svndigest, http://trac.thep.lu.se/svndigest
17#
18# svndigest is free software; you can redistribute it and/or modify it
19# under the terms of the GNU General Public License as published by
20# the Free Software Foundation; either version 2 of the License, or
21# (at your option) any later version.
22#
23# svndigest is distributed in the hope that it will be useful, but
24# WITHOUT ANY WARRANTY; without even the implied warranty of
25# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
26# General Public License for more details.
27#
28# You should have received a copy of the GNU General Public License
29# along with this program; if not, write to the Free Software
30# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
31# 02111-1307, USA.
32
33AC_PREREQ(2.57)
34
35
36AC_INIT([svndigest],[pre0.7],[jari@thep.lu.se])
37AC_CONFIG_SRCDIR([lib/File.h])
38AC_CONFIG_AUX_DIR([autotools])
39AC_PREFIX_DEFAULT([/usr/local])
40test $prefix = NONE && prefix=/usr/local
41
42AM_CONFIG_HEADER([config.h])
43AM_INIT_AUTOMAKE([std-options check-news])
44
45DEV=`echo $VERSION|sed 's/\([[a-z]]*\).*/\1/'`
46if test "$DEV" = "pre"; then
47  DEV="1"
48else
49  DEV="0"
50fi
51MY_MAJOR=`echo $VERSION|sed 's/[[a-z]]*\([[0-9]]*\).*/\1/'`
52MY_MINOR=`echo $VERSION|sed 's/[[a-z]]*[[0-9]]*\.\([[0-9]]*\).*/\1/'`
53if test "$MY_MINOR" = "$VERSION" || test "$MY_MAJOR" = "$VERSION" ; then
54   AC_MSG_ERROR([version number is incorrect])
55fi
56
57MY_PATCH=`echo $VERSION|sed 's/[[a-z]]*[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\).*/\1/'`
58
59if test "$MY_PATCH" = "$VERSION"; then
60   MY_PATCH="0"
61fi
62
63# AM_CONDITIONAL(DEV_BUILD, $DEV )
64AC_SUBST([VERSION_MAJOR], [$MY_MAJOR])
65AC_SUBST([VERSION_MINOR], [$MY_MINOR])
66AC_SUBST([VERSION_PATCH], [$MY_PATCH])
67AC_DEFINE_UNQUOTED([DEV_BUILD],[$DEV],
68                   [true if dev build (version starts with pre)])
69AC_DEFINE_UNQUOTED([VERSION_MAJOR], [$MY_MAJOR],
70                   [Define to the svndigest major version])
71AC_DEFINE_UNQUOTED([VERSION_MINOR], [$MY_MINOR],
72                   [Define to the svndigest minor version])
73AC_DEFINE_UNQUOTED([VERSION_PATCH], [$MY_PATCH],
74                   [Define to the svndigest patch version])
75
76
77# seems like these variables are not set with older autoconf(?)
78AC_SUBST([abs_srcdir], ["`cd $srcdir && pwd`"])
79AC_SUBST([abs_builddir], ["`pwd`"])
80
81# Set default programming language
82AC_LANG(C++)
83
84# Checks for programs.
85AC_PROG_CPP
86AC_PROG_CXX
87AC_PROG_INSTALL
88AC_PROG_LIBTOOL
89AC_PROG_RANLIB
90AC_CHECK_PROG([GNUPLOT],[gnuplot],[ok])
91
92# -Wno-long-long is needed to suppress compiler diagnostics regarding
93# using extension beyond the C++ standard (usage of non C++ standard
94# 'long long' types).
95CXXFLAGS="-Wall -pedantic -Wno-long-long"
96
97AC_ARG_ENABLE(debug,
98  [AS_HELP_STRING([--enable-debug],[turn on debug options and code])],
99  [CXXFLAGS="$CXXFLAGS -g -O"],
100  [CPPFLAGS="$CPPFLAGS -DNDEBUG" CXXFLAGS="$CXXFLAGS -O3"])
101
102# optionally prepare for building static libraries.
103AC_ARG_ENABLE(staticbin,
104  [AS_HELP_STRING([--enable-staticbin], [create a static binary,
105  at least as static as the available underlying libraries
106  allows])])
107if test "$enable_staticbin" = "yes"; then
108  case $host in
109  *-apple-darwin*)
110    # At the time of creating this libsvn_subr uses
111    # Keychain on Mac OSX. In consequence the below
112    # frameworks are needed for succesful static builds.
113    LIBS="$LIBS -framework Security"
114    LIBS="$LIBS -framework CoreFoundation"
115    LIBS="$LIBS -framework CoreServices"
116    ;;
117  esac
118  STATICFLAG=-static
119  AC_SUBST(STATICFLAG)
120fi
121
122# Apache Portable Runtime (APR) API checks
123# The next three lines are not needed as long as APR_FIND_APR is used.
124# AC_ARG_WITH(apr,
125#  [  --with-apr=DIR          prefix for installed APR or path to APR build
126#                          tree [[PREFIX]]])
127# Include APR_FIND_APR macro distributed within the APR project. If
128# the usage of the APR macro is to be omitted then the construct for
129# setting the CXXFLAGS (header file location) and LDFLAGS (linking
130# informaion) for APR must be changed. The latter can be achieved with
131# AC_SEARCH_LIBS([apr_allocator_create],[apr-0],,apr_found="no") but
132# apr-0 must be prior knowledge.
133sinclude(./build_support/find_apr.m4)
134APR_FIND_APR(,,1)
135if test "$apr_found" = "yes" ; then
136    LDFLAGS="`$apr_config --link-ld` $LDFLAGS"
137    CPPFLAGS="`$apr_config --includes` $CPPFLAGS"
138    AC_CHECK_HEADER([apr_allocator.h],,apr_found="no")
139fi
140
141# Subversion API checks
142svn_found="yes"
143AC_ARG_WITH(svn,
144  [AS_HELP_STRING([--with-svn=DIR],[prefix for svn developer files [[PREFIX]]])],
145  [ LDFLAGS="-L$withval/lib $LDFLAGS" CPPFLAGS="-I$withval/include $CPPFLAGS"])
146AC_CHECK_HEADER([subversion-1/svn_types.h],,svn_found="no")
147# The library checks below may match shared libs even when
148# --enable-staticbin is given to configure. This should probably not
149# pose any problems since in a properly installed system the shared
150# and static libraries should be the same.
151AC_SEARCH_LIBS([svn_cmdline_setup_auth_baton],[svn_subr-1],,svn_found="no")
152AC_SEARCH_LIBS([svn_ra_initialize],[svn_ra-1],,svn_found="no")
153AC_SEARCH_LIBS([svn_wc_adm_open3],[svn_wc-1],,svn_found="no")
154AC_SEARCH_LIBS([svn_diff_file_options_create],[svn_diff-1],,svn_found="no")
155AC_SEARCH_LIBS([svn_client_log3],[svn_client-1],,svn_found="no")
156
157
158# check if svnversion is installed
159have_svnversion="yes"
160AC_PATH_PROG(SVNVERSION, svnversion, have_svnversion="no")
161
162wc_found="no";
163if (test `$SVNVERSION -n '.'` != "exported"); then
164   wc_found="yes";
165fi
166AC_CHECK_FILE("lib/subversion_info.h", info_found="yes", info_found="no")
167
168# devel version should have svn WC and SVNVERSION installed
169AM_CONDITIONAL(HAVE_SVN_WC, test "$wc_found" = "yes" )
170
171
172AC_CONFIG_FILES([Makefile
173                bin/Makefile
174                lib/Makefile
175                test/Makefile])
176
177# Print failure status information about selected items, and exit if
178# fatal errors were encountered. No output will be created if
179# configure is halted prematurely.
180
181# used to trigger exit before creation of output
182all_reqs_ok="true"
183
184#
185if (test "$info_found" = "no" && test "$wc_found" = "no") ; then
186   AC_MSG_WARN([Cannot find sources (lib/subverion_info.h).])
187   if (test "$svnversion" = "no") ; then
188     AC_MSG_WARN([If you grabbed the source from the subversion repository,
189     the file will be generated automatically. However, svnversion cannot
190     be found and therefore the file cannot be generated. Please install
191     svnversion and make sure it is in your search path.])
192   else
193     AC_MSG_WARN([If you grabbed the source from the subversion repository,
194     the file will be generated automatically. However, the output from
195     svnversion was incorrect. Either your installation of svnversion is
196     is not healthy or there is something wrong with the repository.])
197   fi
198   all_reqs_ok="false"
199fi
200
201# Non-existing APR is fatal -- sub-sequent compilation will fail.
202if (test "$apr_found" = "no") ; then
203    AC_MSG_WARN([APR not found. The Apache Portable Runtime
204    (APR) library cannot be found. Please make sure APR is installed
205    and supply the appropriate --with-apr option to 'configure'.])
206    all_reqs_ok="false"
207fi
208
209# Non-existing subversion API is fatal -- sub-sequent compilation will fail.
210if (test "$svn_found" = "no") ; then
211    svn_msg="Subversion API not found. Subversion API libraries cannot
212    be found. Make sure the APIs are installed and supply the
213    appropriate --with-svn option to 'configure'."
214if (test "$apr_found" = "no") ; then
215    svn_msg="$svn_msg
216    Note, APR was not found. Failure to locate APR affects the search
217    of the subversion API. Please fix the APR problem before trying
218    to resolve the subversion related issues."
219fi
220    AC_MSG_WARN([$svn_msg])
221    all_reqs_ok="false"
222fi
223
224if (test "$all_reqs_ok" = "false") ; then
225    AC_MSG_ERROR([Some pre-requisites were not fulfilled, aborting
226    configure. Please consult the 'INSTALL' file for more information
227    about what is needed to compile svndigest and refer to above
228    warning messages. Needed files were NOT created.])
229fi
230
231# Create output.
232AC_OUTPUT
233
234# Some more messages.
235AC_MSG_NOTICE([])
236AC_MSG_NOTICE([   Ready to compile the executables of svndiget])
237AC_MSG_NOTICE([   The following flags and libs will be used:])
238AC_MSG_NOTICE([   +++++++++++++++++++++++++++++++++++++++++++++++])
239AC_MSG_NOTICE([    Preprocessor flags: CPPFLAGS=\"$CPPFLAGS\"])
240AC_MSG_NOTICE([    C++ flags:          CXXFLAGS=\"$CXXFLAGS\"])
241AC_MSG_NOTICE([    Linker flags:       LDFLAGS=\"$LDFLAGS\"])
242AC_MSG_NOTICE([    LIBS:               LIBS=\"$LIBS\"])
243AC_MSG_NOTICE([   +++++++++++++++++++++++++++++++++++++++++++++++])
244AC_MSG_NOTICE([])
245
246# Failure to locate gnuplot is not considered fatal
247if (test "$GNUPLOT" != "ok") ; then
248    AC_MSG_WARN([Gnuplot was not found. svndigest will compile
249    without gnuplot but will throw an exception at run-time. Please
250    install gnuplot (available for a wide range of operating systems
251    at http://www.gnuplot.info).])
252    AC_MSG_NOTICE([])
253fi
254
255if test "$enable_staticbin" = "yes"; then
256    AC_MSG_NOTICE([A statically linked 'svndigest' binary will be created.])
257else
258    AC_MSG_NOTICE([A dynamically linked 'svndigest' binary will be created.])
259fi
260    AC_MSG_NOTICE([])
261
262AC_MSG_NOTICE([Now type 'make ; make check'.])
263
Note: See TracBrowser for help on using the repository browser.