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

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

Triggered by [826]. There were some problems with the Makefile.am, so
I changed to let configure (well config.status) create
plugin_WeNNI.base. references #63

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.5 KB
Line 
1# Process this file with autoconf to produce a configure script.
2#
3# $Id: configure.ac 834 2008-11-28 15:36:19Z peter $
4#
5# Copyright (C) 2005, 2006 Jari Häkkinen, Peter Johansson
6# Copyright (C) 2007 Peter Johansson
7# Copyright (C) 2008 Jari Häkkinen Peter Johansson
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],
56                               [turn on debug options and code]) ],
57              [ CXXFLAGS="$CXXFLAGS -g -O" ],
58              [ CXXFLAGS="$CXXFLAGS -O3"
59                CPPFLAGS="$CPPFLAGS -DNDEBUG -DGSL_RANGE_CHECK_OFF" ])
60
61AC_ARG_ENABLE(state,
62              [ AS_HELP_STRING([--enable-state],
63                               [stand-alone, base1, or base2 [default=base2]])],
64              [ if test "x$enableval" = "xstand-alone" ; then
65                    state=stand-alone
66                elif test "x$enableval" = "xbase1" ; then
67                    state=base1
68                elif test "x$enableval" = "xbase2" ; then
69                    state=base2
70                else
71                    echo
72                    echo "Error!"
73                    echo "Unknown value for `--enable-state'"
74                    echo "allowed values are: `base2', `base1', or `stand-alone'"
75                    exit -1
76                fi ],
77              [ state=base2 ])
78
79AM_CONDITIONAL([BASE1], [test x$state = xbase1])
80AM_CONDITIONAL([BASE2], [test x$state = xbase2])
81
82AC_ARG_WITH(basedir,[AS_HELP_STRING([--with-basedir=DIR]),
83                     [root directory for base installation])],
84            [BASEDIR=$withval],[BASEDIR=/usr/local/base])
85
86AC_ARG_WITH(plugindir,[AS_HELP_STRING([--with-plugindir=DIR],
87                      [root directory for base plug-ins])],
88            [PLUGINDIR=$withval],
89            [if (test x$state = xbase1); then
90               PLUGINDIR="$BASEDIR/plugins/bin/wenni"
91             elif (test x$state = xbase2); then
92               PLUGINDIR="$BASEDIR/plugins/se/lu/thep/wenni"
93             fi])
94
95if (test x$state = xbase1); then
96  # check for BASE1 API
97  OLD_CPPFLAGS=$CPPFLAGS;
98  OLD_LDFLAGS=$LDFLAGS;
99  LDFLAGS="-L$BASEDIR/lib"
100  AC_CHECK_LIB([base], [base_finite], [BASELDFLAGS="-L$BASEDIR/lib -lbase"],
101               [AC_MSG_FAILURE([cannot find base library])])
102  CPPFLAGS="-I$BASEDIR/include/cxx $CPPFLAGS"
103  AC_CHECK_HEADERS([basefile.h],[BASECPPFLAGS=-I$BASEDIR/include/cxx],
104               [AC_MSG_FAILURE([cannot find base header files])])
105  CPPFLAGS=$OLD_CPPFLAGS;
106  LDFLAGS=$OLD_LDFLAGS;
107  AC_SUBST(BASECPPFLAGS)
108  AC_SUBST(BASELDFLAGS)
109  # Set BASE1 plug-in name
110  BASEPLUGINEXECNAME=$PLUGINDIR/wenni.pl
111  AC_SUBST(BASEPLUGINEXECNAME)
112  AC_CONFIG_FILES([base/base1/base_plugin_script/plugin_WeNNI.base])
113fi
114if (test x$state = xbase2); then
115  AC_CHECK_FILE([$BASEDIR/www/WEB-INF/lib/BASE2Core.jar], [],
116                [AC_MSG_FAILURE([cannot find BASE2Core.jar])])
117  JAVACFLAGS=$BASEDIR/www/WEB-INF/lib/BASE2Core.jar
118  AC_CHECK_FILE([$BASEDIR/www/WEB-INF/lib/BASE2CorePlugins.jar], [],
119                [AC_MSG_FAILURE([cannot find BASE2CorePlugins.jar])])
120  JAVACFLAGS="$BASEDIR/www/WEB-INF/lib/BASE2CorePlugins.jar:$JAVACFLAGS"
121  AC_SUBST(JAVACFLAGS)
122fi
123
124AC_ARG_WITH(gsl,[AS_HELP_STRING([--with-gsl=DIR], [prefix for gsl files])],
125            [CPPFLAGS="-I$withval/include $CPPFLAGS"
126             LDFLAGS="-L$withval/lib $LDFLAGS"], [])
127
128AC_SEARCH_LIBS(sqrt, m)
129AC_SEARCH_LIBS(ATL_ctrsv, atlas, [LIBS="-lcblas $LIBS"],
130               AC_SEARCH_LIBS(cblas_sdsdot, gslcblas))
131AC_SEARCH_LIBS(gsl_vector_alloc, gsl)
132
133CPP_TOOLS_LIBPATH="lib/c++_tools"
134AC_SUBST(CPP_TOOLS_LIBPATH)
135
136AC_CONFIG_FILES([Makefile
137                 base/Makefile
138                 base/base1/Makefile
139                 base/base1/base_plugin_script/Makefile
140                 base/base1/BaseFileConverter/Makefile
141                 base/base2/Makefile
142                 bin/Makefile
143                 bin/NNIFileConverter/Makefile
144                 bin/nni/Makefile
145                 data/Makefile
146                 lib/Makefile
147                 lib/c++_tools/Makefile
148                 lib/c++_tools/gslapi/Makefile
149                 lib/c++_tools/utility/Makefile
150                 test/Makefile])
151
152AC_OUTPUT
153
154# Some more messages.
155AC_MSG_NOTICE([])
156AC_MSG_NOTICE([ Ready to build WeNNI package containing])
157AC_MSG_NOTICE([])
158AC_MSG_NOTICE([     stand-alone binaries:])
159AC_MSG_NOTICE([         NNIFileConverter])
160AC_MSG_NOTICE([         nni])
161if (test x$state = xbase1); then
162  AC_MSG_NOTICE([     BASE1 plug-in:])
163  AC_MSG_NOTICE([         BaseFileConverter])
164  AC_MSG_NOTICE([         base_plugin_script])
165fi
166if (test x$state = xbase2); then
167  AC_MSG_NOTICE([     BASE2 plug-in:])
168  AC_MSG_NOTICE([         WeNNI.jar])
169fi
170AC_MSG_NOTICE([])
171AC_MSG_NOTICE([ WeNNI package will be installed in])
172AC_MSG_NOTICE([    $PLUGINDIR ])
173AC_MSG_NOTICE([])
174AC_MSG_NOTICE([ The following libs and flags will be used:])
175AC_MSG_NOTICE([ +++++++++++++++++++++++++++++++++++++++++++++++])
176AC_MSG_NOTICE([  CPPFLAGS    =\"$CPPFLAGS\"])
177AC_MSG_NOTICE([  CXXFLAGS    =\"$CXXFLAGS\"])
178AC_MSG_NOTICE([  LDFLAGS     =\"$LDFLAGS\"])
179AC_MSG_NOTICE([  LIBS        =\"$LIBS\"])
180if (test x$state = xbase1); then
181  AC_MSG_NOTICE([  BASECPPFLAGS=\"$BASECPPFLAGS\"])
182  AC_MSG_NOTICE([  BASELDFLAGS =\"$BASELDFLAGS\"])
183fi
184if (test x$state = xbase2); then
185  AC_MSG_NOTICE([  JAVACFLAGS=\"$JAVACFLAGS\"])
186fi
187AC_MSG_NOTICE([ +++++++++++++++++++++++++++++++++++++++++++++++])
188AC_MSG_NOTICE([])
189AC_MSG_NOTICE([ Now type 'make ; make check ; make install'.])
Note: See TracBrowser for help on using the repository browser.