source: plugins/base1/se.lu.thep.wenni/trunk/configure.ac @ 827

Last change on this file since 827 was 827, checked in by Jari Häkkinen, 14 years ago

Added check for SED and some more changelog entries.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.2 KB
Line 
1# Process this file with autoconf to produce a configure script.
2#
3# $Id: configure.ac 827 2008-11-26 23:39:54Z jari $
4#
5# Copyright (C) 2005, 2006 Jari Häkkinen, Peter Johansson
6# Copyright (C) 2007 Peter Johansson
7# Copyright (C) 2008 Jari Häkkinen
8#
9# This file is part of WeNNI,
10# http://baseplugins.thep.lu.se/wiki/se.lu.thep.WeNNI
11#
12# WeNNI is free software; you can redistribute it and/or modify it
13# under the terms of the GNU General Public License as published by the
14# Free Software Foundation; either version 3 of the License, or (at
15# your option) any later version.
16#
17# WeNNI is distributed in the hope that it will be useful, but WITHOUT
18# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20# for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with WeNNI. If not, see <http://www.gnu.org/licenses/>.
24#
25# Author: Jari Hakkinen, jari@thep.lu.se
26#
27# If you grabbed the source from subversion you should, at top-level,
28# execute:
29#   ./bootstrap
30#
31
32AC_PREREQ(2.57)
33AC_INIT([[wenni]],[0.7pre],[jari@thep.lu.se])
34AC_CONFIG_SRCDIR([lib/weight.h])
35AC_CONFIG_AUX_DIR([autotools])
36AC_PREFIX_DEFAULT([/usr/local])
37
38AM_CONFIG_HEADER([config.h])
39AM_INIT_AUTOMAKE
40
41# Set default programming language
42AC_LANG(C++)
43
44# Checks for programs.
45AC_PROG_CPP
46AC_PROG_CXX
47AC_PROG_INSTALL
48AC_PROG_LIBTOOL
49AC_PROG_RANLIB
50AC_PROG_SED
51
52CXXFLAGS="-Wall -pedantic"
53CPPFLAGS="-DHAVE_INLINE=1"
54AC_ARG_ENABLE(debug,
55  [AS_HELP_STRING([--enable-debug],[turn on debug options and code])],
56  [CXXFLAGS="$CXXFLAGS -g -O"],
57  [CXXFLAGS="$CXXFLAGS -O3"
58   CPPFLAGS="$CPPFLAGS -DNDEBUG -DGSL_RANGE_CHECK_OFF"])
59
60AC_ARG_ENABLE(state,
61  [AS_HELP_STRING([--enable-state],
62  [stand-alone, base1, or base2 [default=base2]])],
63  [ if test "x$enableval" = "xstand-alone" ; then
64       state=stand-alone
65    elif test "x$enableval" = "xbase1" ; then
66      state=base1
67    elif test "x$enableval" = "xbase2" ; then
68      state=base2
69    else
70      echo
71      echo "Error!"
72      echo "Unknown value for `--enable-state'"
73      echo "allowed values are: `base2', `base1', and `stand-alone'"
74      exit -1
75   fi
76 ],
77 [state=base2]
78  )
79
80AM_CONDITIONAL([BASE1], [test x$state = xbase1])
81AM_CONDITIONAL([BASE2], [test x$state = xbase2])
82
83AC_ARG_WITH(basedir,[AS_HELP_STRING([--with-basedir=DIR]),
84                     [root directory for base installation])],
85            [BASEDIR=$withval],[BASEDIR=/usr/local/base])
86
87AC_ARG_WITH(plugindir,[AS_HELP_STRING([--with-plugindir=DIR],
88                      [root directory for base plug-ins])],
89            [PLUGINDIR=$withval],
90            [if (test x$state = xbase1); then
91               PLUGINDIR="$BASEDIR/plugins/bin/wenni"
92             elif (test x$state = xbase2); then
93               PLUGINDIR="$BASEDIR/plugins/se/lu/thep/wenni"
94             fi])
95
96if (test x$state = xbase1); then
97  # check for BASE1 API
98  OLD_CPPFLAGS=$CPPFLAGS;
99  OLD_LDFLAGS=$LDFLAGS;
100  LDFLAGS="-L$BASEDIR/lib"
101  AC_CHECK_LIB([base], [base_finite], [BASELDFLAGS="-L$BASEDIR/lib -lbase"],
102               [AC_MSG_FAILURE([cannot find base library])])
103  CPPFLAGS="-I$BASEDIR/include/cxx $CPPFLAGS"
104  AC_CHECK_HEADERS([basefile.h],[BASECPPFLAGS=-I$BASEDIR/include/cxx],
105               [AC_MSG_FAILURE([cannot find base header files])])
106  bindir="$PLUGINDIR"
107  CPPFLAGS=$OLD_CPPFLAGS;
108  LDFLAGS=$OLD_LDFLAGS;
109  AC_SUBST(BASECPPFLAGS)
110  AC_SUBST(BASELDFLAGS)
111  # Set BASE1 plug-in name
112  BASEPLUGINEXECNAME=$PLUGINDIR/wenni.pl
113  AC_SUBST(BASEPLUGINEXECNAME)
114fi
115if (test x$state = xbase2); then
116  AC_CHECK_FILE([$BASEDIR/www/WEB-INF/lib/BASE2Core.jar], [],
117                [AC_MSG_FAILURE([cannot find BASE2Core.jar])])
118  JAVACFLAGS=$BASEDIR/www/WEB-INF/lib/BASE2Core.jar             
119  AC_CHECK_FILE([$BASEDIR/www/WEB-INF/lib/BASE2CorePlugins.jar], [],
120                [AC_MSG_FAILURE([cannot find BASE2CorePlugins.jar])])
121  JAVACFLAGS="$BASEDIR/www/WEB-INF/lib/BASE2CorePlugins.jar:$JAVACFLAGS" 
122  bindir="$PLUGINDIR"
123  AC_SUBST(JAVACFLAGS)
124fi
125
126AC_ARG_WITH(gsl,[AS_HELP_STRING([--with-gsl=DIR], [prefix for gsl files])],
127            [CPPFLAGS="-I$withval/include $CPPFLAGS"
128             LDFLAGS="-L$withval/lib $LDFLAGS"], [])
129
130AC_SEARCH_LIBS(sqrt, m)
131AC_SEARCH_LIBS(ATL_ctrsv, atlas, [LIBS="-lcblas $LIBS"],
132  AC_SEARCH_LIBS(cblas_sdsdot, gslcblas))
133AC_SEARCH_LIBS(gsl_vector_alloc, gsl)
134
135CPP_TOOLS_LIBPATH="lib/c++_tools"
136AC_SUBST(CPP_TOOLS_LIBPATH)
137
138AC_CONFIG_FILES([Makefile
139                 base/Makefile
140                 base/base1/Makefile
141                 base/base1/base_plugin_script/Makefile
142                 base/base1/BaseFileConverter/Makefile
143                 base/base2/Makefile
144                 bin/Makefile
145                 bin/NNIFileConverter/Makefile
146                 bin/nni/Makefile
147                 data/Makefile
148                 lib/Makefile
149                 lib/c++_tools/Makefile
150                 lib/c++_tools/gslapi/Makefile
151                 lib/c++_tools/utility/Makefile
152                 test/Makefile])
153
154AC_OUTPUT
155
156# Some more messages.
157AC_MSG_NOTICE([])
158AC_MSG_NOTICE([ Ready to build WeNNI package containing])
159AC_MSG_NOTICE([])
160AC_MSG_NOTICE([     stand-alone binaries:])
161AC_MSG_NOTICE([         NNIFileConverter])
162AC_MSG_NOTICE([         nni])
163if (test x$state = xbase1); then
164  AC_MSG_NOTICE([     BASE1 plug-in:])
165  AC_MSG_NOTICE([         BaseFileConverter])
166  AC_MSG_NOTICE([         base_plugin_script])
167fi
168if (test x$state = xbase2); then
169  AC_MSG_NOTICE([     BASE2 plug-in:])
170  AC_MSG_NOTICE([         WeNNI.jar])
171fi
172AC_MSG_NOTICE([])
173AC_MSG_NOTICE([ WeNNI package will be installed in])
174AC_MSG_NOTICE([ $bindir])
175AC_MSG_NOTICE([])
176AC_MSG_NOTICE([ The following libs and flags will be used:])
177AC_MSG_NOTICE([ +++++++++++++++++++++++++++++++++++++++++++++++])
178AC_MSG_NOTICE([  CPPFLAGS    =\"$CPPFLAGS\"])
179AC_MSG_NOTICE([  CXXFLAGS    =\"$CXXFLAGS\"])
180AC_MSG_NOTICE([  LDFLAGS     =\"$LDFLAGS\"])
181AC_MSG_NOTICE([  LIBS        =\"$LIBS\"])
182if (test x$state = xbase1); then
183  AC_MSG_NOTICE([  BASECPPFLAGS=\"$BASECPPFLAGS\"])
184  AC_MSG_NOTICE([  BASELDFLAGS =\"$BASELDFLAGS\"])
185fi
186if (test x$state = xbase2); then
187  AC_MSG_NOTICE([  JAVACFLAGS=\"$JAVACFLAGS\"])
188fi
189AC_MSG_NOTICE([ +++++++++++++++++++++++++++++++++++++++++++++++])
190AC_MSG_NOTICE([])
191AC_MSG_NOTICE([ Now type 'make ; make check ; make install'.])
Note: See TracBrowser for help on using the repository browser.