# 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.4, 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 libsvm ; 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 libsvm." [LIBS="$LIBS -lsvm" ; fsvm_lib=1]) AC_CHECK_LIB(svm, svm_set_verbosity, echo "Found libsvm quiet function." [CFLAGS="$CFLAGS -DQUIETFUNC=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 <>Makefile distdir: EOF ) AC_CONFIG_FILES([extraMakefile]) AC_OUTPUT