1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
# Copyright (c) 2006 Rudi Cilibrasi, Rulers of the RHouse
# All rights reserved. cilibrar@cilibrar.com
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# # Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# # Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# # Neither the name of the RHouse nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE RULERS AND CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE RULERS AND CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AC_INIT(main.cpp)
AC_CANONICAL_SYSTEM
AC_ARG_PROGRAM
AM_INIT_AUTOMAKE(libsvm-ruby, 2.8.2, cilibrar@cilibrar.com)
AC_LANG_CPLUSPLUS
AC_PROG_CXX
AC_CHECK_PROG(MKTEMP, mktemp, mktemp)
AC_CHECK_PROG(RUBY, ruby, ruby)
fsvm_h=0
fsvm_lib=0
CPPFLAGS="$CPPFLAGS -I/usr/include/libsvm-1.0"
if test -z "$RUBY"; then
AC_CHECK_PROG(RUBY, ruby1.8, ruby1.8)
fi
if test -z "$RUBY"; then
echo "Cannot find ruby nor ruby1.8, exitting..."
exit 1
fi
AC_CHECK_PROGS(PKGCONFIG, pkg-config)
if ! test "x$PKGCONFIG" = "x" ; then
for i in svm ; do
if $PKGCONFIG --exists $i ; then
CPPFLAGS="$CPPFLAGS `pkg-config $i --cflags`"
LDFLAGS="$LDFLAGS `pkg-config $i --libs`"
else
echo -n
fi
done
fi
CURTMPDIR=`mktemp -d`
case "${target}" in
*-*-cygwin*)
echo "Building for Cygwin : ${target}"
CFLAGS="$CFLAGS -DWINCHOICE -I /usr/local/include -I /usr/local/include/SDL"
CPPFLAGS="$CFLAGS"
LDFLAGS="-L/lib -L/usr/local/lib"
# LIBS="$LIBS -lgdi32 -lkernel32 -luser32"
;;
*-*-mingw32*)
echo "Building for cross-compilation to MinGW : ${target}"
btarget="i586-mingw32msvc"
CC="${btarget}-gcc"
CPP="${btarget}-cpp"
LD="${btarget}-ld"
AR="${btarget}-ar"
# TODO: add the LIBS: -lwsock32 -luser32 (and maybe -lgcc) stuff
RANLIB="${btarget}-ranlib"
unset btarget
;;
*-*-linux*)
echo "Building for Linux"
CPPFLAGS="$CPPFLAGS -DLINUX"
LDFLAGS="-L/lib -L/usr/local/lib -L/usr/lib"
AC_DEFINE(LINUX, 1, "Linux")
;;
*)
echo "Building for target: ${target}"
esac
if test "x$CC" == "xgcc";
then
CFLAGS="$CFLAGS -fno-strict-aliasing"
fi
AC_CHECK_LIB(svm, main,
echo "Found libcomplearn."
[LIBS="$LIBS -lsvm" ; fsvm_lib=1])
AC_CHECK_HEADER([libsvm/svm.h], [fsvm_h=1 ; echo "Found libsvm/svm.h"])
if test ${fsvm_h} -eq 0; then
echo "Error, cannot find LIBSVM svm.h header."
exit 1
fi
if test ${fsvm_lib} -eq 0; then
echo "Error, cannot find svm library."
exit 1
fi
export CFLAGS
export CPPFLAGS
export LDFLAGS
( $RUBY extconf.rb
cat <<EOF >>Makefile
distdir:
EOF
)
AC_CONFIG_FILES([extraMakefile])
AC_OUTPUT
|