plugins/base1/se.lu.thep.wenni/trunk/configure.ac

Code
Comments
Other
Rev Date Author Line
69 11 Feb 06 jari 1 # Process this file with autoconf to produce a configure script.
69 11 Feb 06 jari 2 #
69 11 Feb 06 jari 3 # $Id$
69 11 Feb 06 jari 4 #
95 05 Apr 06 jari 5 # Copyright (C) 2005, 2006 Jari Häkkinen, Peter Johansson
315 28 May 07 peter 6 # Copyright (C) 2007 Peter Johansson
843 01 Dec 08 jari 7 # Copyright (C) 2008 Jari Häkkinen, Peter Johansson
936 08 Jan 09 peter 8 # Copyright (C) 2009 Peter Johansson
95 05 Apr 06 jari 9 #
95 05 Apr 06 jari 10 # This file is part of WeNNI,
825 26 Nov 08 jari 11 # http://baseplugins.thep.lu.se/wiki/se.lu.thep.WeNNI
95 05 Apr 06 jari 12 #
95 05 Apr 06 jari 13 # WeNNI is free software; you can redistribute it and/or modify it
95 05 Apr 06 jari 14 # under the terms of the GNU General Public License as published by the
824 26 Nov 08 jari 15 # Free Software Foundation; either version 3 of the License, or (at
95 05 Apr 06 jari 16 # your option) any later version.
95 05 Apr 06 jari 17 #
95 05 Apr 06 jari 18 # WeNNI is distributed in the hope that it will be useful, but WITHOUT
95 05 Apr 06 jari 19 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
95 05 Apr 06 jari 20 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
95 05 Apr 06 jari 21 # for more details.
95 05 Apr 06 jari 22 #
95 05 Apr 06 jari 23 # You should have received a copy of the GNU General Public License
824 26 Nov 08 jari 24 # along with WeNNI. If not, see <http://www.gnu.org/licenses/>.
95 05 Apr 06 jari 25 #
69 11 Feb 06 jari 26 # Author: Jari Hakkinen, jari@thep.lu.se
69 11 Feb 06 jari 27 #
69 11 Feb 06 jari 28 # If you grabbed the source from subversion you should, at top-level,
69 11 Feb 06 jari 29 # execute:
855 02 Dec 08 jari 30 #   ./bootstrap
69 11 Feb 06 jari 31 #
69 11 Feb 06 jari 32
69 11 Feb 06 jari 33 AC_PREREQ(2.57)
836 28 Nov 08 peter 34 AC_INIT([wenni],[0.7pre],[jari@thep.lu.se])
69 11 Feb 06 jari 35 AC_CONFIG_SRCDIR([lib/weight.h])
69 11 Feb 06 jari 36 AC_CONFIG_AUX_DIR([autotools])
69 11 Feb 06 jari 37 AC_PREFIX_DEFAULT([/usr/local])
860 02 Dec 08 peter 38 AC_CONFIG_MACRO_DIR([m4])
69 11 Feb 06 jari 39
856 02 Dec 08 jari 40 # Build configuration parameters, change only if you know what you do
856 02 Dec 08 jari 41 BASE2CoreURL="http://base2.thep.lu.se/base/jars/2.9.0"
856 02 Dec 08 jari 42 PLUGINutilitiesURL="http://baseplugins.thep.lu.se/attachment/wiki/net.sf.basedb.pluginutilties/PluginUtilities-0.1pre.tgz?format=raw"
856 02 Dec 08 jari 43 PLUGINutilities=PluginUtilities-0.1pre
856 02 Dec 08 jari 44
69 11 Feb 06 jari 45 AM_CONFIG_HEADER([config.h])
936 08 Jan 09 peter 46 AM_INIT_AUTOMAKE([1.10 foreign])
69 11 Feb 06 jari 47
821 25 Nov 08 jari 48 # Set default programming language
821 25 Nov 08 jari 49 AC_LANG(C++)
821 25 Nov 08 jari 50
841 29 Nov 08 peter 51 # Let user overide default CXXFLAGS
841 29 Nov 08 peter 52 if test "${CXXFLAGS+set}" != set; then
841 29 Nov 08 peter 53   CXXFLAGS=""  # Setting CXXFLAGS here to prevent expansion in AC_PROG_CXX
841 29 Nov 08 peter 54 fi
841 29 Nov 08 peter 55
69 11 Feb 06 jari 56 # Checks for programs.
839 29 Nov 08 peter 57 AC_PROG_CXXCPP
69 11 Feb 06 jari 58 AC_PROG_CXX
69 11 Feb 06 jari 59 AC_PROG_INSTALL
69 11 Feb 06 jari 60 AC_PROG_LIBTOOL
837 28 Nov 08 peter 61 AC_PROG_SED
69 11 Feb 06 jari 62
844 01 Dec 08 jari 63 # existence of wget and tar should be checked
844 01 Dec 08 jari 64
841 29 Nov 08 peter 65 AM_CXXFLAGS="-Wall -pedantic"
841 29 Nov 08 peter 66 AM_CPPFLAGS="-DHAVE_INLINE=1"
319 28 May 07 peter 67 AC_ARG_ENABLE(debug,
843 01 Dec 08 jari 68               [AS_HELP_STRING([--enable-debug],
843 01 Dec 08 jari 69                               [turn on debug options and code])],
841 29 Nov 08 peter 70               [AM_CXXFLAGS="$AM_CXXFLAGS -g -O"],
841 29 Nov 08 peter 71               [AM_CXXFLAGS="$AM_CXXFLAGS -O3"
841 29 Nov 08 peter 72                AM_CPPFLAGS="$AM_CPPFLAGS -DNDEBUG -DGSL_RANGE_CHECK_OFF"])
69 11 Feb 06 jari 73
320 29 May 07 peter 74 AC_ARG_ENABLE(state,
843 01 Dec 08 jari 75               [AS_HELP_STRING([--enable-state],
843 01 Dec 08 jari 76                               [stand-alone, base1, or base2 [default=base2]])],
831 27 Nov 08 jari 77               [ if test "x$enableval" = "xstand-alone" ; then
836 28 Nov 08 peter 78                     state="stand-alone"
831 27 Nov 08 jari 79                 elif test "x$enableval" = "xbase1" ; then
836 28 Nov 08 peter 80                     state="base1"
831 27 Nov 08 jari 81                 elif test "x$enableval" = "xbase2" ; then
836 28 Nov 08 peter 82                     state="base2"
831 27 Nov 08 jari 83                 else
836 28 Nov 08 peter 84                     AC_MSG_ERROR([dnl
836 28 Nov 08 peter 85 Unknown value for `--enable-state'
836 28 Nov 08 peter 86 allowed values are: `base2', `base1', or `stand-alone'])
831 27 Nov 08 jari 87                 fi ],
836 28 Nov 08 peter 88               [ state="base2" ])
320 29 May 07 peter 89
849 01 Dec 08 peter 90 AC_DEFINE_UNQUOTED([WeNNI_STATE], ["$state"], 
849 01 Dec 08 peter 91                    [defined to configured state - base1, base2, or stand-alone])
324 31 May 07 peter 92 AM_CONDITIONAL([BASE1], [test x$state = xbase1])
324 31 May 07 peter 93 AM_CONDITIONAL([BASE2], [test x$state = xbase2])
320 29 May 07 peter 94
844 01 Dec 08 jari 95 AC_ARG_ENABLE(downloadBASE2API,
844 01 Dec 08 jari 96               [AS_HELP_STRING([--enable-downloadBASE2API=ARG],
844 01 Dec 08 jari 97                               [enable download of required BASE2 API files])],
844 01 Dec 08 jari 98               [DOWNLOADBASE2API=true],[DOWNLOADBASE2API=false])
843 01 Dec 08 jari 99 AC_ARG_WITH(basedir,[AS_HELP_STRING([--with-basedir=DIR], 
843 01 Dec 08 jari 100                                     [root directory for base installation])],
856 02 Dec 08 jari 101             [BASEDIR=$withval DOWNLOADBASE2API=false],
856 02 Dec 08 jari 102             [BASEDIR=/usr/local/base DOWNLOADBASE2API=true])
857 02 Dec 08 jari 103 AM_CONDITIONAL([DOWNLOADBASEAPI], [test $DOWNLOADBASE2API = true])
320 29 May 07 peter 104
328 07 Jun 07 peter 105 AC_ARG_WITH(plugindir,[AS_HELP_STRING([--with-plugindir=DIR],
844 01 Dec 08 jari 106                                       [the base plug-in install directory])],
328 07 Jun 07 peter 107             [PLUGINDIR=$withval],
853 01 Dec 08 jari 108             [PLUGINDIR=$bindir
855 02 Dec 08 jari 109              if (test x$state = xbase1); then
411 30 Aug 07 peter 110                PLUGINDIR="$BASEDIR/plugins/bin/wenni"
327 07 Jun 07 peter 111              elif (test x$state = xbase2); then
822 26 Nov 08 jari 112                PLUGINDIR="$BASEDIR/plugins/se/lu/thep/wenni"
327 07 Jun 07 peter 113              fi])
853 01 Dec 08 jari 114 AC_SUBST(PLUGINDIR)
327 07 Jun 07 peter 115
887 05 Dec 08 jari 116 AC_ARG_WITH(javasourceencoding,
887 05 Dec 08 jari 117             [AS_HELP_STRING([--with-javasourceencoding=ARG],
887 05 Dec 08 jari 118                             [Use ARG as Java source file character encoding [default=UTF8]])],
887 05 Dec 08 jari 119             [JAVASRCENCODING=$withval],[JAVASRCENCODING=UTF8])
887 05 Dec 08 jari 120
321 31 May 07 peter 121 if (test x$state = xbase1); then
826 26 Nov 08 jari 122   # check for BASE1 API
843 01 Dec 08 jari 123   save_CPPFLAGS=$CPPFLAGS;
843 01 Dec 08 jari 124   save_LDFLAGS=$LDFLAGS;
841 29 Nov 08 peter 125   LDFLAGS="$LDFLAGS -L$BASEDIR/lib"
841 29 Nov 08 peter 126   AC_CHECK_LIB([base], [base_finite], [BASELDFLAGS="-L$BASEDIR/lib"],
821 25 Nov 08 jari 127                [AC_MSG_FAILURE([cannot find base library])])
821 25 Nov 08 jari 128   CPPFLAGS="-I$BASEDIR/include/cxx $CPPFLAGS"
821 25 Nov 08 jari 129   AC_CHECK_HEADERS([basefile.h],[BASECPPFLAGS=-I$BASEDIR/include/cxx],
821 25 Nov 08 jari 130                [AC_MSG_FAILURE([cannot find base header files])])
843 01 Dec 08 jari 131   CPPFLAGS=$save_CPPFLAGS;
843 01 Dec 08 jari 132   LDFLAGS=$save_LDFLAGS;
821 25 Nov 08 jari 133   AC_SUBST(BASECPPFLAGS)
821 25 Nov 08 jari 134   AC_SUBST(BASELDFLAGS)
826 26 Nov 08 jari 135   # Set BASE1 plug-in name
826 26 Nov 08 jari 136   BASEPLUGINEXECNAME=$PLUGINDIR/wenni.pl
826 26 Nov 08 jari 137   AC_SUBST(BASEPLUGINEXECNAME)
834 28 Nov 08 peter 138   AC_CONFIG_FILES([base/base1/base_plugin_script/plugin_WeNNI.base])
844 01 Dec 08 jari 139 elif (test x$state = xbase2); then
860 02 Dec 08 peter 140   AC_PROG_JAVAC   
860 02 Dec 08 peter 141   AC_PROG_JAR   
887 05 Dec 08 jari 142   JAVACFLAGS="-encoding $JAVASRCENCODING"
885 05 Dec 08 jari 143   JAVACCLASSPATH="\$(builddir)"
844 01 Dec 08 jari 144   if (test $DOWNLOADBASE2API = false); then
844 01 Dec 08 jari 145     AC_CHECK_FILE([$BASEDIR/www/WEB-INF/lib/BASE2Core.jar], [],
844 01 Dec 08 jari 146                   [AC_MSG_FAILURE([cannot find BASE2Core.jar])])
868 03 Dec 08 jari 147     JAVACCLASSPATH+=$BASEDIR/www/WEB-INF/lib/BASE2Core.jar
844 01 Dec 08 jari 148     AC_CHECK_FILE([$BASEDIR/www/WEB-INF/lib/BASE2CorePlugins.jar], [],
844 01 Dec 08 jari 149                   [AC_MSG_FAILURE([cannot find BASE2CorePlugins.jar])])
884 05 Dec 08 jari 150     JAVACCLASSPATH+=":$BASEDIR/www/WEB-INF/lib/BASE2CorePlugins.jar"
856 02 Dec 08 jari 151   else
885 05 Dec 08 jari 152     JAVACCLASSPATH+=":\$(builddir)/BaseCoreAPI/BASE2CorePlugins.jar:\$(builddir)/BaseCoreAPI/BASE2Core.jar"
844 01 Dec 08 jari 153   fi
885 05 Dec 08 jari 154   JAVACCLASSPATH+=":\$(builddir)/$PLUGINutilities/$PLUGINutilities.jar"
844 01 Dec 08 jari 155   AC_SUBST(PLUGINutilities)
848 01 Dec 08 jari 156   AC_SUBST(PLUGINutilitiesURL)
856 02 Dec 08 jari 157   AC_SUBST(BASE2CoreURL)
821 25 Nov 08 jari 158   AC_SUBST(JAVACFLAGS)
868 03 Dec 08 jari 159   AC_SUBST(JAVACCLASSPATH)
321 31 May 07 peter 160 fi
321 31 May 07 peter 161
840 29 Nov 08 peter 162 AC_SEARCH_LIBS([sqrt], [m],, AC_MSG_FAILURE([cannot find math library]))
1209 23 Mar 10 peter 163 YAT_LIB_CBLAS([LIBS="$CBLAS_LIB $LIBS"], 
1209 23 Mar 10 peter 164               [AC_MSG_FAILURE([cannot find cblas library])])
841 29 Nov 08 peter 165 save_LDFLAGS="$LDFLAGS"
841 29 Nov 08 peter 166 AC_ARG_WITH(gsl,[AS_HELP_STRING([--with-gsl=DIR], [prefix for gsl files])],
841 29 Nov 08 peter 167             [GSL_CPPFLAGS="-I$withval/include"; GSL_LDFLAGS="-L$withval/lib"])
841 29 Nov 08 peter 168 LDFLAGS="$LDFLAGS $GSL_LDFLAGS"
840 29 Nov 08 peter 169 AC_SEARCH_LIBS([gsl_vector_alloc], [gsl],,
840 29 Nov 08 peter 170                AC_MSG_FAILURE([cannot find library GSL]))
841 29 Nov 08 peter 171 LDFLAGS="$save_LDFLAGS"
69 11 Feb 06 jari 172
841 29 Nov 08 peter 173 AC_SUBST(GSL_LDFLAGS)
841 29 Nov 08 peter 174 AM_CPPFLAGS="-I\$(top_srcdir)/lib $GSL_CPPFLAGS $AM_CPPFLAGS"
841 29 Nov 08 peter 175 AC_SUBST(AM_CPPFLAGS)
841 29 Nov 08 peter 176 AC_SUBST(AM_CXXFLAGS)
841 29 Nov 08 peter 177
321 31 May 07 peter 178 CPP_TOOLS_LIBPATH="lib/c++_tools"
69 11 Feb 06 jari 179 AC_SUBST(CPP_TOOLS_LIBPATH)
69 11 Feb 06 jari 180
69 11 Feb 06 jari 181 AC_CONFIG_FILES([Makefile
317 28 May 07 peter 182                  base/Makefile
317 28 May 07 peter 183                  base/base1/Makefile
317 28 May 07 peter 184                  base/base1/base_plugin_script/Makefile
317 28 May 07 peter 185                  base/base1/BaseFileConverter/Makefile
318 28 May 07 peter 186                  base/base2/Makefile
69 11 Feb 06 jari 187                  bin/Makefile
69 11 Feb 06 jari 188                  bin/NNIFileConverter/Makefile
69 11 Feb 06 jari 189                  bin/nni/Makefile
69 11 Feb 06 jari 190                  data/Makefile
69 11 Feb 06 jari 191                  lib/Makefile
69 11 Feb 06 jari 192                  lib/c++_tools/Makefile
69 11 Feb 06 jari 193                  lib/c++_tools/gslapi/Makefile
71 14 Feb 06 jari 194                  lib/c++_tools/utility/Makefile
71 14 Feb 06 jari 195                  test/Makefile])
69 11 Feb 06 jari 196
69 11 Feb 06 jari 197 AC_OUTPUT
319 28 May 07 peter 198
860 02 Dec 08 peter 199
319 28 May 07 peter 200 # Some more messages.
319 28 May 07 peter 201 AC_MSG_NOTICE([])
844 01 Dec 08 jari 202 AC_MSG_NOTICE([Ready to build WeNNI package containing])
320 29 May 07 peter 203 AC_MSG_NOTICE([])
320 29 May 07 peter 204 if (test x$state = xbase1); then
844 01 Dec 08 jari 205   AC_MSG_NOTICE([BASE1 plug-in files:])
844 01 Dec 08 jari 206   AC_MSG_NOTICE([    NNIFileConverter])
844 01 Dec 08 jari 207   AC_MSG_NOTICE([    nni])
844 01 Dec 08 jari 208   AC_MSG_NOTICE([    BaseFileConverter])
853 01 Dec 08 jari 209   AC_MSG_NOTICE([    wenni.pl])
844 01 Dec 08 jari 210   AC_MSG_NOTICE([])
844 01 Dec 08 jari 211   AC_MSG_NOTICE([WeNNI plug-in binaries will be installed in])
844 01 Dec 08 jari 212   AC_MSG_NOTICE([    $PLUGINDIR ])
844 01 Dec 08 jari 213 elif (test x$state = xbase2); then
844 01 Dec 08 jari 214   AC_MSG_NOTICE([BASE2 plug-in files:])
844 01 Dec 08 jari 215   AC_MSG_NOTICE([    nni])
844 01 Dec 08 jari 216   AC_MSG_NOTICE([    WeNNI.jar])
844 01 Dec 08 jari 217   AC_MSG_NOTICE([    $PLUGINutilities.jar])
844 01 Dec 08 jari 218   AC_MSG_NOTICE([])
853 01 Dec 08 jari 219   AC_MSG_NOTICE([If not already done, downloading])
853 01 Dec 08 jari 220   AC_MSG_NOTICE([    $PLUGINutilitiesURL])
844 01 Dec 08 jari 221   if (test $DOWNLOADBASE2API = true ); then
856 02 Dec 08 jari 222     AC_MSG_NOTICE([    BASE2 libraries from $BASE2CoreURL])
844 01 Dec 08 jari 223   else
856 02 Dec 08 jari 224     AC_MSG_NOTICE([])
844 01 Dec 08 jari 225     AC_MSG_NOTICE([Using local BASE2 API in directory])
844 01 Dec 08 jari 226     AC_MSG_NOTICE([    $BASEDIR])
844 01 Dec 08 jari 227   fi
844 01 Dec 08 jari 228   AC_MSG_NOTICE([])
844 01 Dec 08 jari 229   AC_MSG_NOTICE([WeNNI plug-in binaries will be installed in])
844 01 Dec 08 jari 230   AC_MSG_NOTICE([    $PLUGINDIR ])
844 01 Dec 08 jari 231 else
844 01 Dec 08 jari 232   AC_MSG_NOTICE([stand-alone binaries:])
844 01 Dec 08 jari 233   AC_MSG_NOTICE([    NNIFileConverter])
844 01 Dec 08 jari 234   AC_MSG_NOTICE([    nni])
853 01 Dec 08 jari 235   AC_MSG_NOTICE([])
853 01 Dec 08 jari 236   AC_MSG_NOTICE([binaries will be installed in])
853 01 Dec 08 jari 237   AC_MSG_NOTICE([    $bindir])
320 29 May 07 peter 238 fi
320 29 May 07 peter 239 AC_MSG_NOTICE([])
844 01 Dec 08 jari 240 AC_MSG_NOTICE([The following libs and flags will be used:])
844 01 Dec 08 jari 241 AC_MSG_NOTICE([+++++++++++++++++++++++++++++++++++++++++++++++])
843 01 Dec 08 jari 242 AC_MSG_NOTICE([  CPPFLAGS     = $CPPFLAGS $AM_CPPFLAGS])
843 01 Dec 08 jari 243 AC_MSG_NOTICE([  CXXFLAGS     = $CXXFLAGS $AM_CXXFLAGS])
843 01 Dec 08 jari 244 AC_MSG_NOTICE([  LDFLAGS      = $LDFLAGS])
843 01 Dec 08 jari 245 AC_MSG_NOTICE([  LIBS         = $LIBS])
821 25 Nov 08 jari 246 if (test x$state = xbase1); then
843 01 Dec 08 jari 247   AC_MSG_NOTICE([  BASECPPFLAGS = $BASECPPFLAGS])
843 01 Dec 08 jari 248   AC_MSG_NOTICE([  BASELDFLAGS  = $BASELDFLAGS])
844 01 Dec 08 jari 249 elif (test x$state = xbase2); then
868 03 Dec 08 jari 250   AC_MSG_NOTICE([  JAVACFLAGS     = $JAVACFLAGS])
868 03 Dec 08 jari 251   AC_MSG_NOTICE([  JAVACCLASSPATH = $JAVACCLASSPATH])
821 25 Nov 08 jari 252 fi
844 01 Dec 08 jari 253 AC_MSG_NOTICE([+++++++++++++++++++++++++++++++++++++++++++++++])
319 28 May 07 peter 254 AC_MSG_NOTICE([])
853 01 Dec 08 jari 255 if (test x$state = xbase1 || test x$state = xbase2); then
853 01 Dec 08 jari 256   AC_MSG_NOTICE([ Now type 'make ; make check ; make install-plugin'.])
853 01 Dec 08 jari 257 else
853 01 Dec 08 jari 258   AC_MSG_NOTICE([ Now type 'make ; make check ; make install'.])
853 01 Dec 08 jari 259 fi